linux_dsm_epyc7002/drivers/scsi/osd
Logan Gunthorpe ac1ddc584e scsi: utilize new cdev_device_add helper function
This driver did not set kobj.parent so it likely suffered from
a potential use after free race if the user unregistered the
device while it was in use.

This was not so straightforward a conversion but I think this patch
cleans up its probe's error path significantly.

This patch adds device_initialize, which is required for
cdev_device_add. Then it switches to put_device instead of kfree as
recommended by device_initialize's documentation. This removes a lot
from the error path which was already in __remove.
A couple things needed to be re-ordered to be entirely correct, though.
ida_remove is also moved out of __remove and into unregister to
simplify things and follow the pattern other devices are using.

This also drop an extra unnecessary get_device/put_device in the code.

Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-03-21 06:44:33 +01:00
..
Kbuild Boaz Harrosh - Fix broken email address 2014-10-19 20:22:32 +03:00
Kconfig Boaz Harrosh - Fix broken email address 2014-10-19 20:22:32 +03:00
osd_debug.h Boaz Harrosh - Fix broken email address 2014-10-19 20:22:32 +03:00
osd_initiator.c lib/vsprintf.c: remove %Z support 2017-02-27 18:43:47 -08:00
osd_uld.c scsi: utilize new cdev_device_add helper function 2017-03-21 06:44:33 +01:00