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.
https://git.kernel.org/stable/c/e5021bbf11b024cc65ea1e84c377df484183be4b
https://git.kernel.org/stable/c/d775a1da5a52b4f4bb02f2707ba420d1bec48dbb
https://git.kernel.org/stable/c/b32559ee4e6667c5c3daf4ec5454c277d1f255d2
https://git.kernel.org/stable/c/ab44c182353be101c3be9465e1d15d42130c53c4
https://git.kernel.org/stable/c/96fba6fb95bdede80583c262ac185da09661f264
https://git.kernel.org/stable/c/61c80d1c3833e196256fb060382db94f24d3d9a7
https://git.kernel.org/stable/c/60b2ed21a65f3f5318666ccd765c3507991370cf
https://git.kernel.org/stable/c/1ae581696b7a799afa39a664c4b721569643f58a
https://git.kernel.org/stable/c/170e8c2d2b61e15e7f7cfeded81bc1e959a15ed8