diff options
author | Yang Yingliang <[email protected]> | 2022-11-11 22:54:40 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <[email protected]> | 2022-11-23 20:03:31 +0100 |
commit | 02cd3032b154fa02fdf90e7467abaeed889330b2 (patch) | |
tree | 740deb0fa9db65946d6ed87bb4f7cbc03ce1f0db /lib/mpi/mpi-sub-ui.c | |
parent | 61c80d1c3833e196256fb060382db94f24d3d9a7 (diff) |
cxl: fix possible null-ptr-deref in cxl_pci_init_afu|adapter()
If device_register() fails in cxl_pci_afu|adapter(), the device
is not added, device_unregister() can not be called in the error
path, otherwise it will cause a null-ptr-deref because of removing
not added device.
As comment of device_register() says, it should use put_device() to give
up the reference in the error path. So split device_unregister() into
device_del() and put_device(), then goes to put dev when register fails.
Fixes: f204e0b8cedd ("cxl: Driver code for powernv PCIe based cards for userspace access")
Signed-off-by: Yang Yingliang <[email protected]>
Acked-by: Frederic Barrat <[email protected]>
Acked-by: Andrew Donnellan <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'lib/mpi/mpi-sub-ui.c')
0 files changed, 0 insertions, 0 deletions