scsi: core: Store owner from modules with scsi_register_driver()
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Thu, 28 Mar 2024 20:45:45 +0000 (21:45 +0100)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sat, 6 Apr 2024 00:58:25 +0000 (20:58 -0400)
commit65a09ba2693681da53099a0f41b7fb6d5ebbead5
tree4689b3b655587f9bebe8575bc612e835720c003a
parent4e64bbba5352382feb2b6041b26eeb69e96949a9
scsi: core: Store owner from modules with scsi_register_driver()

Modules registering driver with scsi_driver_register() might forget to set
.owner field.  The field is used by some of other kernel parts for
reference counting (try_module_get()), so it is expected that drivers will
set it.

Solve the problem by moving this task away from the drivers to the core
scsi code, just like we did for platform_driver in commit 9447057eaff8
("platform_device: use a macro instead of platform_driver_register").

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240328-b4-module-owner-scsi-v1-1-c86cb4f6e91c@linaro.org
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/scsi_sysfs.c
include/scsi/scsi_driver.h