From: Yang Yingliang Date: Thu, 13 Aug 2020 20:29:16 +0000 (+0000) Subject: cgroup: add missing skcd->no_refcnt check in cgroup_sk_clone() X-Git-Tag: v4.14.194~181 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=1bfba2f4270c64c912756fc76621bbce959ddf2e;p=users%2Fdwmw2%2Flinux.git cgroup: add missing skcd->no_refcnt check in cgroup_sk_clone() Add skcd->no_refcnt check which is missed when backporting ad0f75e5f57c ("cgroup: fix cgroup_sk_alloc() for sk_clone_lock()"). This patch is needed in stable-4.9, stable-4.14 and stable-4.19. Signed-off-by: Yang Yingliang Signed-off-by: Sasha Levin --- diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c index a2fed8fbd2bde..ada060e628ce3 100644 --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c @@ -5827,6 +5827,8 @@ void cgroup_sk_clone(struct sock_cgroup_data *skcd) { /* Socket clone path */ if (skcd->val) { + if (skcd->no_refcnt) + return; /* * We might be cloning a socket which is left in an empty * cgroup and the cgroup might have already been rmdir'd.