Re: [PATCH] PCI: pciehp: Always protect pciehp_disable_slot() with hotplug mutex

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/04/2015 06:59 PM, Rajat Jain wrote:
Geez... I wonder how did I miss it. Thanks for fixing this.
Looks good to me.

Hi Rajat,

easy to miss. I only found it accidentally.

Thanks a lot for the review!

Guenter

Reviewed-by: Rajat Jain <rajatxjain@xxxxxxxxx <mailto:rajatxjain@xxxxxxxxx>>

On Sun, Nov 1, 2015 at 1:58 PM, Guenter Roeck <linux@xxxxxxxxxxxx <mailto:linux@xxxxxxxxxxxx>> wrote:

    When called from pciehp_sysfs_disable_slot(), the call to
    pciehp_disable_slot() was not protected by the hotplug mutex.

    Cc: Rajat Jain <rajatxjain@xxxxxxxxx <mailto:rajatxjain@xxxxxxxxx>>
    Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx <mailto:linux@xxxxxxxxxxxx>>
    ---
      drivers/pci/hotplug/pciehp_ctrl.c | 2 ++
      1 file changed, 2 insertions(+)

    diff --git a/drivers/pci/hotplug/pciehp_ctrl.c b/drivers/pci/hotplug/pciehp_ctrl.c
    index 4c8f4cde6854..880978b6d534 100644
    --- a/drivers/pci/hotplug/pciehp_ctrl.c
    +++ b/drivers/pci/hotplug/pciehp_ctrl.c
    @@ -511,7 +511,9 @@ int pciehp_sysfs_disable_slot(struct slot *p_slot)
             case STATIC_STATE:
                     p_slot->state = POWEROFF_STATE;
                     mutex_unlock(&p_slot->lock);
    +               mutex_lock(&p_slot->hotplug_lock);
                     retval = pciehp_disable_slot(p_slot);
    +               mutex_unlock(&p_slot->hotplug_lock);
                     mutex_lock(&p_slot->lock);
                     p_slot->state = STATIC_STATE;
                     break;
    --
    2.1.4



--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux