cxl: fix possible null-ptr-deref in cxl_guest_init_afu|adapter()
In the Linux kernel, the following vulnerability has been resolved: 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.
02 / AFFECTED SOFTWARE
Affected packages
03 / CONNECTIONS
Connected vulnerabilities
04 / EVIDENCE
Source records
In the Linux kernel, the following vulnerability has been resolved: 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.
05 / REFERENCES
Further evidence
- https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
- https://git.kernel.org/stable/c/170e8c2d2b61e15e7f7cfeded81bc1e959a15ed8
- https://git.kernel.org/stable/c/1ae581696b7a799afa39a664c4b721569643f58a
- https://git.kernel.org/stable/c/60b2ed21a65f3f5318666ccd765c3507991370cf
- https://git.kernel.org/stable/c/61c80d1c3833e196256fb060382db94f24d3d9a7
- https://git.kernel.org/stable/c/96fba6fb95bdede80583c262ac185da09661f264
- https://git.kernel.org/stable/c/ab44c182353be101c3be9465e1d15d42130c53c4
- https://git.kernel.org/stable/c/b32559ee4e6667c5c3daf4ec5454c277d1f255d2
- https://git.kernel.org/stable/c/d775a1da5a52b4f4bb02f2707ba420d1bec48dbb
- https://git.kernel.org/stable/c/e5021bbf11b024cc65ea1e84c377df484183be4b
- https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/50xxx/CVE-2022-50481.json
- https://nvd.nist.gov/vuln/detail/CVE-2022-50481