In the Linux kernel, the following vulnerability has been resolved: module: ensure that kobject_put() is safe for module type kobjects In 'lookup_or_create_module_kobject()', an internal kobject is created using 'module_ktype'. So call to 'kobject_put()' on error handling path causes an attempt to use an uninitialized completion pointer in 'module_kobject_release()'. In this scenario, we just want to release kobject without an extra synchronization required for a regular module unloading process, so adding an extra check whether 'complete()' is actually required makes 'kobject_put()' safe.
https://git.kernel.org/stable/c/faa9059631d3491d699c69ecf512de9e1a3d6649
https://git.kernel.org/stable/c/f1c71b4bd721a4ea21da408806964b10468623f2
https://git.kernel.org/stable/c/d63851049f412cdfadaeef7a7eaef5031d11c1e9
https://git.kernel.org/stable/c/a6aeb739974ec73e5217c75a7c008a688d3d5cf1
https://git.kernel.org/stable/c/9e7b49ce4f9d0cb5b6e87db9e07a2fb9e754b0dd
https://git.kernel.org/stable/c/31d8df3f303c3ae9115230820977ef8c35c88808