Description
In the Linux kernel, the following vulnerability has been resolved: xfrm: fix refcount leak in xfrm_migrate_policy_find syzkaller reported a memory leak in xfrm_policy_alloc: BUG: memory leak unreferenced object 0xffff888114d79000 (size 1024): comm "syz.1.17", pid 931 ... xfrm_policy_alloc+0xb3/0x4b0 net/xfrm/xfrm_policy.c:432 The root cause is a double call to xfrm_pol_hold_rcu() in xfrm_migrate_policy_find(). The lookup function already returns a policy with held reference, making the second call redundant. Remove the redundant xfrm_pol_hold_rcu() call to fix the refcount imbalance and prevent the memory leak. Found by Linux Verification Center (linuxtesting.org) with Syzkaller.
Product status
563d5ca93e883b9dcb4b7dc8967ac569fd91820d (git) before 21e235a36cfb6d145cefb10728f12f5dc5412f54
563d5ca93e883b9dcb4b7dc8967ac569fd91820d (git) before 836ee1b0426ea3db31531e9581cc32f513d24e32
563d5ca93e883b9dcb4b7dc8967ac569fd91820d (git) before 70c2a89a3bc207c3bfbf6f21bb439809e0a4a27a
563d5ca93e883b9dcb4b7dc8967ac569fd91820d (git) before 83317cce60a032c49480dcdabe146435bd689d03
6.12
Any version before 6.12
6.12.83 (semver)
6.18.24 (semver)
6.19.14 (semver)
7.0 (original_commit_for_fix)
References
git.kernel.org/...c/21e235a36cfb6d145cefb10728f12f5dc5412f54
git.kernel.org/...c/836ee1b0426ea3db31531e9581cc32f513d24e32
git.kernel.org/...c/70c2a89a3bc207c3bfbf6f21bb439809e0a4a27a
git.kernel.org/...c/83317cce60a032c49480dcdabe146435bd689d03