cgroup: net_cls: Do not define task_cls_classid() when not selected

task_cls_classid() should not be defined in case the configuration is
CONFIG_NET_CLS_CGROUP=n. The reason is that in a following patch the
net_cls_subsys_id will only be defined if CONFIG_NET_CLS_CGROUP!=n.
When net_cls is not built at all a callee should only get an empty
task_cls_classid() without any references to net_cls_subsys_id.

Signed-off-by: Daniel Wagner <daniel.wagner@bmw-carit.de>
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Li Zefan <lizefan@huawei.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Cc: Gao feng <gaofeng@cn.fujitsu.com>
Cc: Jamal Hadi Salim <jhs@mojatatu.com>
Cc: John Fastabend <john.r.fastabend@intel.com>
Cc: netdev@vger.kernel.org
Cc: cgroups@vger.kernel.org
This commit is contained in:
Daniel Wagner 2012-09-12 16:12:02 +02:00 committed by Tejun Heo
parent f341980771
commit 8fb974c937
2 changed files with 8 additions and 5 deletions

View File

@ -17,7 +17,7 @@
#include <linux/hardirq.h> #include <linux/hardirq.h>
#include <linux/rcupdate.h> #include <linux/rcupdate.h>
#ifdef CONFIG_CGROUPS #if IS_ENABLED(CONFIG_NET_CLS_CGROUP)
struct cgroup_cls_state struct cgroup_cls_state
{ {
struct cgroup_subsys_state css; struct cgroup_subsys_state css;
@ -26,7 +26,7 @@ struct cgroup_cls_state
extern void sock_update_classid(struct sock *sk); extern void sock_update_classid(struct sock *sk);
#ifdef CONFIG_NET_CLS_CGROUP #if IS_BUILTIN(CONFIG_NET_CLS_CGROUP)
static inline u32 task_cls_classid(struct task_struct *p) static inline u32 task_cls_classid(struct task_struct *p)
{ {
int classid; int classid;
@ -41,7 +41,8 @@ static inline u32 task_cls_classid(struct task_struct *p)
return classid; return classid;
} }
#else #elif IS_MODULE(CONFIG_NET_CLS_CGROUP)
extern int net_cls_subsys_id; extern int net_cls_subsys_id;
static inline u32 task_cls_classid(struct task_struct *p) static inline u32 task_cls_classid(struct task_struct *p)
@ -63,7 +64,7 @@ static inline u32 task_cls_classid(struct task_struct *p)
return classid; return classid;
} }
#endif #endif
#else #else /* !CGROUP_NET_CLS_CGROUP */
static inline void sock_update_classid(struct sock *sk) static inline void sock_update_classid(struct sock *sk)
{ {
} }
@ -72,5 +73,5 @@ static inline u32 task_cls_classid(struct task_struct *p)
{ {
return 0; return 0;
} }
#endif #endif /* CGROUP_NET_CLS_CGROUP */
#endif /* _NET_CLS_CGROUP_H */ #endif /* _NET_CLS_CGROUP_H */

View File

@ -1223,6 +1223,7 @@ static void sk_prot_free(struct proto *prot, struct sock *sk)
} }
#ifdef CONFIG_CGROUPS #ifdef CONFIG_CGROUPS
#if IS_ENABLED(CONFIG_NET_CLS_CGROUP)
void sock_update_classid(struct sock *sk) void sock_update_classid(struct sock *sk)
{ {
u32 classid; u32 classid;
@ -1234,6 +1235,7 @@ void sock_update_classid(struct sock *sk)
sk->sk_classid = classid; sk->sk_classid = classid;
} }
EXPORT_SYMBOL(sock_update_classid); EXPORT_SYMBOL(sock_update_classid);
#endif
void sock_update_netprioidx(struct sock *sk, struct task_struct *task) void sock_update_netprioidx(struct sock *sk, struct task_struct *task)
{ {