--- /dev/null
+From 66445a82dda5d883a57096b7157d80e4cec417e2 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Thu, 13 Aug 2020 20:33:42 +0000
+Subject: cgroup: add missing skcd->no_refcnt check in cgroup_sk_clone()
+
+From: Yang Yingliang <yangyingliang@huawei.com>
+
+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>
+---
+ kernel/cgroup/cgroup.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
+index 6ae98c714edd6..2a879d34bbe58 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.
+--
+2.25.1
+