From patchwork Wed Sep 12 14:12:02 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Wagner X-Patchwork-Id: 183383 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 07DBC2C007B for ; Thu, 13 Sep 2012 00:13:27 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758964Ab2ILOMv (ORCPT ); Wed, 12 Sep 2012 10:12:51 -0400 Received: from hotel311.server4you.de ([85.25.146.15]:33132 "EHLO hotel311.server4you.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758111Ab2ILOMM (ORCPT ); Wed, 12 Sep 2012 10:12:12 -0400 Received: from candlejack.bmw-carit.intra (mail.bmw-carit.de [62.245.222.98]) (Authenticated sender: wagi) by hotel311.server4you.de (Postfix) with ESMTPSA id 3EF74CBE11A; Wed, 12 Sep 2012 16:12:08 +0200 (CEST) From: Daniel Wagner To: netdev@vger.kernel.org, cgroups@vger.kernel.org Cc: Daniel Wagner , Gao feng , Jamal Hadi Salim , John Fastabend , Li Zefan , Neil Horman Subject: [PATCH v4 2/8] cgroup: net_cls: Do not define task_cls_classid() when not selected Date: Wed, 12 Sep 2012 16:12:02 +0200 Message-Id: <1347459128-32236-3-git-send-email-wagi@monom.org> X-Mailer: git-send-email 1.7.12.315.g682ce8b In-Reply-To: <1347459128-32236-1-git-send-email-wagi@monom.org> References: <1347459128-32236-1-git-send-email-wagi@monom.org> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Daniel Wagner 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 Acked-by: Tejun Heo Cc: Gao feng Cc: Jamal Hadi Salim Cc: John Fastabend Cc: Li Zefan Cc: Neil Horman Cc: netdev@vger.kernel.org Cc: cgroups@vger.kernel.org Acked-by: Li Zefan --- include/net/cls_cgroup.h | 11 ++++++----- net/core/sock.c | 2 ++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/include/net/cls_cgroup.h b/include/net/cls_cgroup.h index e88527a..9bd5db9 100644 --- a/include/net/cls_cgroup.h +++ b/include/net/cls_cgroup.h @@ -17,7 +17,7 @@ #include #include -#ifdef CONFIG_CGROUPS +#if IS_ENABLED(CONFIG_NET_CLS_CGROUP) struct cgroup_cls_state { struct cgroup_subsys_state css; @@ -26,7 +26,7 @@ struct cgroup_cls_state 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) { int classid; @@ -41,7 +41,8 @@ static inline u32 task_cls_classid(struct task_struct *p) return classid; } -#else +#elif IS_MODULE(CONFIG_NET_CLS_CGROUP) + extern int net_cls_subsys_id; 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; } #endif -#else +#else /* !CGROUP_NET_CLS_CGROUP */ 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; } -#endif +#endif /* CGROUP_NET_CLS_CGROUP */ #endif /* _NET_CLS_CGROUP_H */ diff --git a/net/core/sock.c b/net/core/sock.c index 8f67ced..82cadc6 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -1223,6 +1223,7 @@ static void sk_prot_free(struct proto *prot, struct sock *sk) } #ifdef CONFIG_CGROUPS +#if IS_ENABLED(CONFIG_NET_CLS_CGROUP) void sock_update_classid(struct sock *sk) { u32 classid; @@ -1234,6 +1235,7 @@ void sock_update_classid(struct sock *sk) sk->sk_classid = classid; } EXPORT_SYMBOL(sock_update_classid); +#endif void sock_update_netprioidx(struct sock *sk, struct task_struct *task) {