From patchwork Tue Oct 18 13:57:38 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sven Eckelmann X-Patchwork-Id: 16738 X-Patchwork-Delegate: sw@simonwunderlich.de Return-Path: X-Original-To: patchwork@open-mesh.org Delivered-To: patchwork@open-mesh.org Received: from open-mesh.org (localhost [IPv6:::1]) by open-mesh.org (Postfix) with ESMTP id 5F97983053; Tue, 18 Oct 2016 15:58:11 +0200 (CEST) Authentication-Results: open-mesh.org; dmarc=none header.from=narfation.org Authentication-Results: open-mesh.org; dkim=fail reason="verification failed; unprotected key" header.d=narfation.org header.i=@narfation.org header.b=JZdpjDSM; dkim-adsp=fail (unprotected policy); dkim-atps=neutral Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=2001:4d88:2000:7::2; helo=v3-1039.vlinux.de; envelope-from=sven@narfation.org; receiver=b.a.t.m.a.n@lists.open-mesh.org Authentication-Results: open-mesh.org; dmarc=pass header.from=narfation.org Received: from v3-1039.vlinux.de (narfation.org [IPv6:2001:4d88:2000:7::2]) by open-mesh.org (Postfix) with ESMTPS id 71B6D8304B for ; Tue, 18 Oct 2016 15:57:54 +0200 (CEST) Received: from sven-desktop.home.narfation.org (p2003007C6F65A2FE1DF6D8826931E1EC.dip0.t-ipconnect.de [IPv6:2003:7c:6f65:a2fe:1df6:d882:6931:e1ec]) by v3-1039.vlinux.de (Postfix) with ESMTPSA id 0EF261C8001; Tue, 18 Oct 2016 15:57:54 +0200 (CEST) Authentication-Results: v3-1039.vlinux.de; dmarc=none header.from=narfation.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=narfation.org; s=20121; t=1476799074; bh=hrCP41wEFjlLWr3iviemMhSVDbdAqkacni9qdI+usCI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JZdpjDSMXCiSce4mMk7SRSimtybYD6Jv5XJWfFeq4vTPCQ/a4VU4q5JSQPSQzR/fD Knv+CmoH3/GiTaxwGSiPXF9XJJbYqdKglymuKIrdZnePyGMpH9rjn2qiZtoM+XJ3hU dS9BtNaZHatwskUcWLZmSUQOTMuJsHOMHiRQIBYg= From: Sven Eckelmann To: b.a.t.m.a.n@lists.open-mesh.org Date: Tue, 18 Oct 2016 15:57:38 +0200 Message-Id: <20161018135743.3705-3-sven@narfation.org> X-Mailer: git-send-email 2.9.3 In-Reply-To: <2219629.dYY2ZvZvNG@bentobox> References: <2219629.dYY2ZvZvNG@bentobox> Subject: [B.A.T.M.A.N.] [PATCH v3 3/8] batman-adv: compat: Port netlink port hack to coccinelle X-BeenThere: b.a.t.m.a.n@lists.open-mesh.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: The list for a Better Approach To Mobile Ad-hoc Networking List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: The list for a Better Approach To Mobile Ad-hoc Networking Errors-To: b.a.t.m.a.n-bounces@lists.open-mesh.org Sender: "B.A.T.M.A.N" Signed-off-by: Sven Eckelmann --- v3: - no changes v2: - new patch --- compat-include/linux/netlink.h | 20 +++++++------------- compat-include/net/genetlink.h | 11 +++++++++++ compat-patches/0001-netlink-portid.cocci | 17 +++++++++++++++++ compat.h | 6 ------ 4 files changed, 35 insertions(+), 19 deletions(-) create mode 100644 compat-patches/0001-netlink-portid.cocci diff --git a/compat-include/linux/netlink.h b/compat-include/linux/netlink.h index 4f2185d..ca2bdf0 100644 --- a/compat-include/linux/netlink.h +++ b/compat-include/linux/netlink.h @@ -26,19 +26,13 @@ #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 7, 0) -#include - -struct batadv_netlink_skb_parms { - struct ucred creds; /* Skb credentials */ - union { - __u32 portid; - __u32 pid; - }; - __u32 dst_group; -}; - -#undef NETLINK_CB -#define NETLINK_CB(skb) (*(struct batadv_netlink_skb_parms *)&((skb)->cb)) +#define netlink_notify_portid(__notify) (__notify->pid) +#define NETLINK_CB_PORTID(__skb) NETLINK_CB(__skb).pid + +#else + +#define netlink_notify_portid(__notify) (__notify->portid) +#define NETLINK_CB_PORTID(__skb) NETLINK_CB(__skb).portid #endif /* < KERNEL_VERSION(3, 7, 0) */ diff --git a/compat-include/net/genetlink.h b/compat-include/net/genetlink.h index 72a8991..6a287e6 100644 --- a/compat-include/net/genetlink.h +++ b/compat-include/net/genetlink.h @@ -24,6 +24,17 @@ #include #include_next +#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 7, 0) + +#define genl_info_snd_portid(__genl_info) (__genl_info->snd_pid) + +#else + +#define genl_info_snd_portid(__genl_info) (__genl_info->snd_portid) + +#endif /* < KERNEL_VERSION(3, 7, 0) */ + + #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0) #include diff --git a/compat-patches/0001-netlink-portid.cocci b/compat-patches/0001-netlink-portid.cocci new file mode 100644 index 0000000..5fc504e --- /dev/null +++ b/compat-patches/0001-netlink-portid.cocci @@ -0,0 +1,17 @@ +@@ +struct netlink_notify *notify; +@@ +-notify->portid ++netlink_notify_portid(notify) + +@@ +struct genl_info *info; +@@ +-info->snd_portid ++genl_info_snd_portid(info) + +@@ +expression skb; +@@ +-NETLINK_CB(skb).portid ++NETLINK_CB_PORTID(skb) diff --git a/compat.h b/compat.h index d987577..78de7ea 100644 --- a/compat.h +++ b/compat.h @@ -67,12 +67,6 @@ static int __batadv_interface_kill_vid(struct net_device *dev, __be16 proto,\ #endif /* < KERNEL_VERSION(3, 3, 0) */ -#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 7, 0) - -#define snd_portid snd_pid - -#endif /* < KERNEL_VERSION(3, 7, 0) */ - #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 9, 0) #define batadv_interface_set_mac_addr(x, y) \