summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorYang Yingliang <yangyingliang@huawei.com>2020-08-13 20:33:42 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-08-19 08:14:47 +0200
commit38de4308c5c3319ae9c815b6d6aa8d2b5804bace (patch)
tree4bd73ee8c9e3abe7ee6c0391ea4020cad31f3606 /kernel
parent37274b5c9b88b7dd7ba1f4ecc947be64815a8a50 (diff)
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 <yangyingliang@huawei.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/cgroup/cgroup.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
index 6ae98c714edd..2a879d34bbe5 100644
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -5957,6 +5957,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.