]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/blobdiff - include/net/netprio_cgroup.h
net: wrap sock->sk_cgrp_prioidx and ->sk_classid inside a struct
[mirror_ubuntu-disco-kernel.git] / include / net / netprio_cgroup.h
index f2a9597ff53c089cb3aa4a810e6286355c9f194c..604190596cde8c1b2cc719800b32ab98803df41d 100644 (file)
@@ -25,8 +25,6 @@ struct netprio_map {
        u32 priomap[];
 };
 
-void sock_update_netprioidx(struct sock *sk);
-
 static inline u32 task_netprioidx(struct task_struct *p)
 {
        struct cgroup_subsys_state *css;
@@ -38,13 +36,25 @@ static inline u32 task_netprioidx(struct task_struct *p)
        rcu_read_unlock();
        return idx;
 }
+
+static inline void sock_update_netprioidx(struct sock_cgroup_data *skcd)
+{
+       if (in_interrupt())
+               return;
+
+       sock_cgroup_set_prioidx(skcd, task_netprioidx(current));
+}
+
 #else /* !CONFIG_CGROUP_NET_PRIO */
+
 static inline u32 task_netprioidx(struct task_struct *p)
 {
        return 0;
 }
 
-#define sock_update_netprioidx(sk)
+static inline void sock_update_netprioidx(struct sock_cgroup_data *skcd)
+{
+}
 
 #endif /* CONFIG_CGROUP_NET_PRIO */
 #endif  /* _NET_CLS_CGROUP_H */