diff options
author | Yang Yingliang <[email protected]> | 2022-11-11 22:54:39 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <[email protected]> | 2022-11-23 20:03:31 +0100 |
commit | 61c80d1c3833e196256fb060382db94f24d3d9a7 (patch) | |
tree | cd51545e24f5944114df5cc9199526a153fddb9a /lib/mpi/mpi-sub-ui.c | |
parent | fa1ba41c17cd786925720bc1a9554d6c6624923d (diff) |
cxl: fix possible null-ptr-deref in cxl_guest_init_afu|adapter()
If device_register() fails in cxl_register_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: 14baf4d9c739 ("cxl: Add guest-specific code")
Signed-off-by: Yang Yingliang <[email protected]>
Acked-by: Andrew Donnellan <[email protected]>
Acked-by: Frederic Barrat <[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