diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h
index b8ad1ea9958608174530f97951fba1a628dc9749..8f78073d7caaa278017232112f0d3da05aa0d4c0 100644
--- a/include/linux/cgroup.h
+++ b/include/linux/cgroup.h
@@ -530,6 +530,7 @@ static inline struct cgroup_subsys_state *task_subsys_state(
 {
 	return rcu_dereference_check(task->cgroups->subsys[subsys_id],
 				     rcu_read_lock_held() ||
+				     lockdep_is_held(&task->alloc_lock) ||
 				     cgroup_lock_is_held());
 }