summaryrefslogtreecommitdiffstats
path: root/drivers/staging
diff options
context:
space:
mode:
authorYang Yingliang <yangyingliang@huawei.com>2022-11-11 22:54:40 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-11-23 20:03:31 +0100
commit02cd3032b154fa02fdf90e7467abaeed889330b2 (patch)
tree740deb0fa9db65946d6ed87bb4f7cbc03ce1f0db /drivers/staging
parent61c80d1c3833e196256fb060382db94f24d3d9a7 (diff)
downloadlinux-02cd3032b154fa02fdf90e7467abaeed889330b2.tar.gz
linux-02cd3032b154fa02fdf90e7467abaeed889330b2.tar.bz2
linux-02cd3032b154fa02fdf90e7467abaeed889330b2.zip
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 <yangyingliang@huawei.com> Acked-by: Frederic Barrat <fbarrat@linux.ibm.com> Acked-by: Andrew Donnellan <ajd@linux.ibm.com> Link: https://lore.kernel.org/r/20221111145440.2426970-2-yangyingliang@huawei.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging')
0 files changed, 0 insertions, 0 deletions