All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
To: Alex Chiang <achiang@hp.com>,
	Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>,
	jbarnes@virtuousgeek.org,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Matthew Wilcox <matthew@wil.cx>,
	Andrew Morton <akpm@linux-foundation.org>,
	kristen.c.accardi@intel.com, greg@kroah.com, lenb@kernel.org,
	pbadari@us.ibm.com, linux-pci@vger.kernel.org,
	pcihpd-discuss@lists.sourceforge.net,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/4, v14] PCI, ACPI: Physical PCI slot objects
Date: Tue, 10 Jun 2008 12:12:26 +0900	[thread overview]
Message-ID: <484DF11A.7000306@jp.fujitsu.com> (raw)
In-Reply-To: <484DEF46.7080106@jp.fujitsu.com>

Kenji Kaneshige wrote:
> Alex Chiang wrote:
>> * Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>:

(snip.)

> Thank you for explanation. I understood.
> 
> But I have one concern about the behavior when pci slot driver is not
> loaded. My patch (a86161b3134465f) prevents the kernel trace dump
> because of duplicate kobject add that would happen in the following two
> cases, though (b) is not described in the header of the patch (sorry).
> 
>   (a) multiple driver attempt to handle the same slot.
> 
>   (b) one or more driver attempt to register multiple slots with the
>       same name (This can happen if broken platform assigns the same
>       slot number to multiple hotplug slots, for example).
> 
> With your patch, duplicate kobject add in case (b) is not prevented.
> That is my concern.
> 
> I made a below patch to prevent (b), please take a look. And could you
> please consider merging it to "[PATCH 2/3] Introduce pci_slot" in your
> latest series.
> 
> Thanks,
> Kenji Kaneshige
> 
> 
> ---
>  drivers/pci/hotplug/pci_hotplug_core.c |   16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> Index: 20080610/drivers/pci/hotplug/pci_hotplug_core.c
> ===================================================================
> --- 20080610.orig/drivers/pci/hotplug/pci_hotplug_core.c
> +++ 20080610/drivers/pci/hotplug/pci_hotplug_core.c
> @@ -555,6 +555,7 @@ int pci_hp_register(struct hotplug_slot 
>  {
>  	int result;
>  	struct pci_slot *pci_slot;
> +	struct hotplug_slot *tmp;
>  
>  	if (slot == NULL)
>  		return -ENODEV;
> @@ -567,6 +568,21 @@ int pci_hp_register(struct hotplug_slot 
>  	}
>  
>  	/*
> +	 * Prevent registering multiple hotplug slots with the same name.
> +	 */
> +	spin_lock(&pci_hotplug_slot_list_lock);
> +	list_for_each_entry(tmp, &pci_hotplug_slot_list, slot_list) {
> +		pci_slot = tmp->pci_slot;
> +		if (pci_slot->bus == bus && pci_slot->number == slot_nr)
> +			continue;
> +		if (!strcmp(tmp->name, slot->name)) {
> +			spin_unlock(&pci_hotplug_slot_list_lock);
> +			return -EEXIST;
> +		}
> +	}
> +	spin_unlock(&pci_hotplug_slot_list_lock);
> +
> +	/*
>  	 * No problems if we call this interface from both ACPI_PCI_SLOT
>  	 * driver and call it here again. If we've already created the
>  	 * pci_slot, the interface will simply bump the refcount.
> 
>

Please note that I made this patch against linux-next with your
latest three patches applied.

Thanks,
Kenji Kaneshige



  reply	other threads:[~2008-06-10  3:22 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-04 20:08 [PATCH 0/4, v14] PCI, ACPI: Physical PCI slot objects Alex Chiang
2008-06-04 20:14 ` [PATCH] fakephp: Construct one fakephp slot per PCI slot Alex Chiang
2008-06-04 20:16 ` [PATCH] kobject: Export kobject_rename for pci_hotplug_core Alex Chiang
2008-06-04 23:55   ` Greg KH
2008-06-05  5:48   ` Andrew Morton
2008-06-05  6:05     ` Kenji Kaneshige
2008-06-05  6:33       ` Andrew Morton
2008-06-05 15:11         ` Alex Chiang
2008-06-06  4:07           ` Benjamin Herrenschmidt
2008-06-06  4:51             ` Alex Chiang
2008-06-06 23:20               ` Benjamin Herrenschmidt
2008-06-04 20:16 ` [PATCH] PCI: Introduce pci_slot Alex Chiang
2008-06-04 20:18 ` [PATCH] ACPI: PCI slot detection driver Alex Chiang
2008-06-10 18:24   ` Len Brown
2008-06-10 21:17     ` Alex Chiang
2008-06-05  2:32 ` [PATCH 0/4, v14] PCI, ACPI: Physical PCI slot objects Kenji Kaneshige
2008-06-05  3:07   ` Alex Chiang
2008-06-05  3:20     ` Kenji Kaneshige
2008-06-09  8:08 ` Kenji Kaneshige
2008-06-09 22:11   ` Alex Chiang
2008-06-10  3:04     ` Kenji Kaneshige
2008-06-10  3:12       ` Kenji Kaneshige [this message]
2008-06-10 19:24         ` Jesse Barnes
2008-06-10 21:19           ` Alex Chiang
2008-06-10 17:34       ` Alex Chiang
2008-06-11  1:48         ` Kenji Kaneshige
2008-06-11  2:53           ` Alex Chiang
2008-06-11  6:29             ` Kenji Kaneshige

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=484DF11A.7000306@jp.fujitsu.com \
    --to=kaneshige.kenji@jp.fujitsu.com \
    --cc=achiang@hp.com \
    --cc=akpm@linux-foundation.org \
    --cc=benh@kernel.crashing.org \
    --cc=greg@kroah.com \
    --cc=jbarnes@virtuousgeek.org \
    --cc=kristen.c.accardi@intel.com \
    --cc=lenb@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=matthew@wil.cx \
    --cc=pbadari@us.ibm.com \
    --cc=pcihpd-discuss@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.