From patchwork Fri Jan 15 09:15:57 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Samir Bellabes X-Patchwork-Id: 42959 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 58676B7CC1 for ; Fri, 15 Jan 2010 20:16:16 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754859Ab0AOJQF (ORCPT ); Fri, 15 Jan 2010 04:16:05 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1756172Ab0AOJQE (ORCPT ); Fri, 15 Jan 2010 04:16:04 -0500 Received: from bob75-7-88-160-5-175.fbx.proxad.net ([88.160.5.175]:46833 "EHLO cerbere.dyndns.info" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751937Ab0AOJQA (ORCPT ); Fri, 15 Jan 2010 04:16:00 -0500 Received: by cerbere.dyndns.info (Postfix, from userid 501) id 08D8683D7; Fri, 15 Jan 2010 10:15:57 +0100 (CET) From: Samir Bellabes To: Patrick McHardy Cc: linux-security-module@vger.kernel.org, jamal , Evgeniy Polyakov , Neil Horman , netdev@vger.kernel.org, netfilter-devel@vger.kernel.org Subject: Re: [RFC 7/9] snet: introduce snet_netlink.c and snet_netlink.h References: <1262437456-24476-1-git-send-email-sam@synack.fr> <1262437456-24476-8-git-send-email-sam@synack.fr> <4B420464.3040301@trash.net> Date: Fri, 15 Jan 2010 10:15:57 +0100 In-Reply-To: <4B420464.3040301@trash.net> (Patrick McHardy's message of "Mon, 04 Jan 2010 16:08:20 +0100") Message-ID: User-Agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.4 (gnu/linux) MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Patrick McHardy writes: >> +static struct genl_ops snet_genl_ops[] = { >> + { >> + .cmd = SNET_C_VERSION, >> + .flags = GENL_ADMIN_PERM, >> + .policy = snet_genl_policy, >> + .doit = snet_nl_version, >> + .dumpit = NULL, > > The NULL initializations aren't neccessary. > [...] Instead of dropping lines with the NULL initializations, I reduced the code with a declaration macro Patricks, thanks sam commit f8539d466dbe081b35f6813cfedd91947615bee9 Author: Samir Bellabes Date: Fri Jan 15 09:53:09 2010 +0100 snet: reducing code by using macros to define snet_genl_ops This patch introduces the macro SNET_GENL_OPS. This reduces the code of the declaration struct genl_ops snet_genl_ops[] Signed-off-by: Samir Bellabes --- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/security/snet/snet_netlink.c b/security/snet/snet_netlink.c index e108e7a..ba6a26d 100644 --- a/security/snet/snet_netlink.c +++ b/security/snet/snet_netlink.c @@ -400,70 +400,33 @@ out: return ret; } +#define SNET_GENL_OPS(_cmd, _flags, _policy, _op, _opname) \ + { \ + .cmd = _cmd, \ + .flags = _flags, \ + .policy = _policy, \ + ._op = snet_nl_##_opname, \ + } + static struct genl_ops snet_genl_ops[] = { - { - .cmd = SNET_C_VERSION, - .flags = GENL_ADMIN_PERM, - .policy = snet_genl_policy, - .doit = snet_nl_version, - .dumpit = NULL, - }, - { - .cmd = SNET_C_REGISTER, - .flags = GENL_ADMIN_PERM, - .policy = snet_genl_policy, - .doit = snet_nl_register, - .dumpit = NULL, - }, - { - .cmd = SNET_C_UNREGISTER, - .flags = GENL_ADMIN_PERM, - .policy = snet_genl_policy, - .doit = snet_nl_unregister, - .dumpit = NULL, - }, - { - .cmd = SNET_C_INSERT, - .flags = GENL_ADMIN_PERM, - .policy = snet_genl_policy, - .doit = snet_nl_insert, - .dumpit = NULL, - }, - { - .cmd = SNET_C_REMOVE, - .flags = GENL_ADMIN_PERM, - .policy = snet_genl_policy, - .doit = snet_nl_remove, - .dumpit = NULL, - }, - { - .cmd = SNET_C_FLUSH, - .flags = GENL_ADMIN_PERM, - .policy = snet_genl_policy, - .doit = snet_nl_flush, - .dumpit = NULL, - }, - { - .cmd = SNET_C_LIST, - .flags = GENL_ADMIN_PERM, - .policy = snet_genl_policy, - .doit = NULL, - .dumpit = snet_nl_list, - }, - { - .cmd = SNET_C_VERDICT, - .flags = GENL_ADMIN_PERM, - .policy = snet_genl_policy, - .doit = snet_nl_verdict, - .dumpit = NULL, - }, - { - .cmd = SNET_C_VERDICT_DELAY, - .flags = GENL_ADMIN_PERM, - .policy = snet_genl_policy, - .doit = snet_nl_verdict_delay, - .dumpit = NULL, - }, + SNET_GENL_OPS(SNET_C_VERSION, GENL_ADMIN_PERM, snet_genl_policy, + doit, version), + SNET_GENL_OPS(SNET_C_REGISTER, GENL_ADMIN_PERM, snet_genl_policy, + doit, register), + SNET_GENL_OPS(SNET_C_UNREGISTER, GENL_ADMIN_PERM, snet_genl_policy, + doit, unregister), + SNET_GENL_OPS(SNET_C_INSERT, GENL_ADMIN_PERM, snet_genl_policy, + doit, insert), + SNET_GENL_OPS(SNET_C_REMOVE, GENL_ADMIN_PERM, snet_genl_policy, + doit, remove), + SNET_GENL_OPS(SNET_C_FLUSH, GENL_ADMIN_PERM, snet_genl_policy, + doit, flush), + SNET_GENL_OPS(SNET_C_REGISTER, GENL_ADMIN_PERM, snet_genl_policy, + dumpit, list), + SNET_GENL_OPS(SNET_C_REGISTER, GENL_ADMIN_PERM, snet_genl_policy, + doit, verdict), + SNET_GENL_OPS(SNET_C_VERDICT_DELAY, GENL_ADMIN_PERM, snet_genl_policy, + doit, verdict_delay), }; static __init int snet_netlink_init(void)