]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - include/net/cls_cgroup.h
Merge branch 'merge-spi' of git://git.secretlab.ca/git/linux-2.6
[karo-tx-linux.git] / include / net / cls_cgroup.h
index 726cc353640988bd6fed9361f74cb8ef6dfbb9ce..ef6c24a529e1a23188a27b60a0d6e73e84fb7003 100644 (file)
@@ -27,11 +27,17 @@ struct cgroup_cls_state
 #ifdef CONFIG_NET_CLS_CGROUP
 static inline u32 task_cls_classid(struct task_struct *p)
 {
+       int classid;
+
        if (in_interrupt())
                return 0;
 
-       return container_of(task_subsys_state(p, net_cls_subsys_id),
-                           struct cgroup_cls_state, css)->classid;
+       rcu_read_lock();
+       classid = container_of(task_subsys_state(p, net_cls_subsys_id),
+                              struct cgroup_cls_state, css)->classid;
+       rcu_read_unlock();
+
+       return classid;
 }
 #else
 extern int net_cls_subsys_id;