In the Linux kernel, the following vulnerability has been resolved: kcm: fix strp_init() order and cleanup strp_init() is called just a few lines above this csk->sk_user_data check, it also initializes strp->work etc., therefore, it is unnecessary to call strp_done() to cancel the freshly initialized work. And if sk_user_data is already used by KCM, psock->strp should not be touched, particularly strp->work state, so we need to move strp_init() after the csk->sk_user_data check. This also makes a lockdep warning reported by syzbot go away.
https://git.kernel.org/stable/c/f865976baa85915c7672f351b74d5974b93215f6
https://git.kernel.org/stable/c/a8a0c321319ad64a5427d6172cd9c23b4d6ca1e8
https://git.kernel.org/stable/c/8fc29ff3910f3af08a7c40a75d436b5720efe2bf
https://git.kernel.org/stable/c/55fb8c3baa8071c5d533a9ad48624e44e2a04ef5
https://git.kernel.org/stable/c/473f394953216614087f4179e55cdf0cf616a13b
https://git.kernel.org/stable/c/1b6666964ca1de93a7bf06e122bcf3616dbd33a9
https://git.kernel.org/stable/c/0946ff31d1a8778787bf6708beb20f38715267cc