From patchwork Fri Jan 12 06:04:32 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Subash Abhinov Kasiviswanathan X-Patchwork-Id: 859523 X-Patchwork-Delegate: pablo@netfilter.org Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netfilter-devel-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=codeaurora.org header.i=@codeaurora.org header.b="H8aU7Sap"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=codeaurora.org header.i=@codeaurora.org header.b="FG9EpjFw"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zHsfD2Q2dz9t3p for ; Fri, 12 Jan 2018 17:04:52 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751958AbeALGEv (ORCPT ); Fri, 12 Jan 2018 01:04:51 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:43420 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751786AbeALGEu (ORCPT ); Fri, 12 Jan 2018 01:04:50 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 0AA9A6030F; Fri, 12 Jan 2018 06:04:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1515737090; bh=Btl28DqeHf3878oYmhLmi2LAZbOKIEbIZa1S/wTBQgY=; h=From:To:Cc:Subject:Date:From; b=H8aU7Sapax0sf9XZPg6XtFjr+390qK7/RFUWjbYrgnMz7ejf9G9hr8wMFufwUxqXs 0yuMcyFDZ5YayHKVlho6PBCtTRkNxsQiAk/8d9UCLC51f8Nuiekm/YuMcGnpHKvOK5 JIxY3UgeuYo/zYXfG9/BS5pv6C7d6MwsTUhZhBV4= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED, T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0 Received: from subashab-lnx.qualcomm.com (unknown [129.46.15.92]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: subashab@codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id EB8ED6030F; Fri, 12 Jan 2018 06:04:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1515737089; bh=Btl28DqeHf3878oYmhLmi2LAZbOKIEbIZa1S/wTBQgY=; h=From:To:Cc:Subject:Date:From; b=FG9EpjFwP9G46W2k+EHhG/MTTwbZ6eMPqKe6a2QL2BrwtRRpOGSzu6IjFHfbiTdck UY4JfSMuKJ+S6gSWBGEh9sagUgnavSrrDagcYAgvbamfedOLZlHYDLVTmu1hP2iqvW KkSXoiBPPGStM7azOLxxuTFsHFV9ubr8buvL9bfs= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org EB8ED6030F Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=subashab@codeaurora.org From: Subash Abhinov Kasiviswanathan To: pablo@netfilter.org, netfilter-devel@vger.kernel.org, fw@strlen.de Cc: Subash Abhinov Kasiviswanathan Subject: [PATCH nf-next] netfilter: nf_defrag: Fix compiler errors Date: Thu, 11 Jan 2018 23:04:32 -0700 Message-Id: <1515737073-32344-1-git-send-email-subashab@codeaurora.org> X-Mailer: git-send-email 1.9.1 Sender: netfilter-devel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netfilter-devel@vger.kernel.org Since packet_raw is now no longer const and referenced in __init, make it __refdata. Also, reference conntrack state only if conntrack is enabled. These are fixes for errors reported by kbuild test robot. Fixes: 902d6a4c2a4f411 ("netfilter: nf_defrag: Skip defrag if NOTRACK is set") Reported-by: kbuild test robot Signed-off-by: Subash Abhinov Kasiviswanathan --- net/ipv4/netfilter/iptable_raw.c | 2 +- net/ipv4/netfilter/nf_defrag_ipv4.c | 6 +++++- net/ipv6/netfilter/ip6table_raw.c | 2 +- net/ipv6/netfilter/nf_defrag_ipv6_hooks.c | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/net/ipv4/netfilter/iptable_raw.c b/net/ipv4/netfilter/iptable_raw.c index d5a1200..3892f20 100644 --- a/net/ipv4/netfilter/iptable_raw.c +++ b/net/ipv4/netfilter/iptable_raw.c @@ -17,7 +17,7 @@ MODULE_PARM_DESC(raw_before_defrag, "Enable raw table before defrag"); module_param(raw_before_defrag, bool, 0000); -static struct xt_table packet_raw = { +static struct xt_table packet_raw __refdata = { .name = "raw", .valid_hooks = RAW_VALID_HOOKS, .me = THIS_MODULE, diff --git a/net/ipv4/netfilter/nf_defrag_ipv4.c b/net/ipv4/netfilter/nf_defrag_ipv4.c index cbd987f..6a9fa7e 100644 --- a/net/ipv4/netfilter/nf_defrag_ipv4.c +++ b/net/ipv4/netfilter/nf_defrag_ipv4.c @@ -78,9 +78,13 @@ static unsigned int ipv4_conntrack_defrag(void *priv, if (skb_nfct(skb) && !nf_ct_is_template((struct nf_conn *)skb_nfct(skb))) return NF_ACCEPT; #endif + + if (skb->_nfct == IP_CT_UNTRACKED) + return NF_ACCEPT; #endif + /* Gather fragments. */ - if (skb->_nfct != IP_CT_UNTRACKED && ip_is_fragment(ip_hdr(skb))) { + if (ip_is_fragment(ip_hdr(skb))) { enum ip_defrag_users user = nf_ct_defrag_user(state->hook, skb); diff --git a/net/ipv6/netfilter/ip6table_raw.c b/net/ipv6/netfilter/ip6table_raw.c index 3df7383..a881a55 100644 --- a/net/ipv6/netfilter/ip6table_raw.c +++ b/net/ipv6/netfilter/ip6table_raw.c @@ -16,7 +16,7 @@ MODULE_PARM_DESC(raw_before_defrag, "Enable raw table before defrag"); module_param(raw_before_defrag, bool, 0000); -static struct xt_table packet_raw = { +static struct xt_table packet_raw __refdata = { .name = "raw", .valid_hooks = RAW_VALID_HOOKS, .me = THIS_MODULE, diff --git a/net/ipv6/netfilter/nf_defrag_ipv6_hooks.c b/net/ipv6/netfilter/nf_defrag_ipv6_hooks.c index 87b503a..c87b483 100644 --- a/net/ipv6/netfilter/nf_defrag_ipv6_hooks.c +++ b/net/ipv6/netfilter/nf_defrag_ipv6_hooks.c @@ -63,10 +63,10 @@ static unsigned int ipv6_defrag(void *priv, /* Previously seen (loopback)? */ if (skb_nfct(skb) && !nf_ct_is_template((struct nf_conn *)skb_nfct(skb))) return NF_ACCEPT; -#endif if (skb->_nfct == IP_CT_UNTRACKED) return NF_ACCEPT; +#endif err = nf_ct_frag6_gather(state->net, skb, nf_ct6_defrag_user(state->hook, skb));