In the Linux kernel, the following vulnerability has been resolved: 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.
https://git.kernel.org/stable/c/c4b2e35df919d99bbbed033c2fa0b607f9f463b5
https://git.kernel.org/stable/c/82e68432668ae75b4c814d160f6987ecb0681273
https://git.kernel.org/stable/c/82e5481428faf11c79b9c094dd24a1849bbf64ac
https://git.kernel.org/stable/c/361412dae1690d4b5df6f92fc943cdc773c95cbc
https://git.kernel.org/stable/c/2f5fd31b2f24b9b8a80ab566fd8c4e1e94cb4339
https://git.kernel.org/stable/c/22511eefa61db26e12c97dd7ada3071dbdfcb004
https://git.kernel.org/stable/c/139abd4c626a6f7ce02789ed5f73aa2256e0542b
https://git.kernel.org/stable/c/0f63c0ddc2ea20d783d29243f4dbe0f9e95dfdec
https://git.kernel.org/stable/c/02cd3032b154fa02fdf90e7467abaeed889330b2