aboutsummaryrefslogtreecommitdiff
path: root/net/netfilter/nf_conntrack_proto_generic.c
diff options
context:
space:
mode:
authorKevin Hilman <khilman@linaro.org>2015-06-04 14:39:36 -0700
committerKevin Hilman <khilman@linaro.org>2015-06-04 14:39:36 -0700
commit1a621b34f2a4bf8495bf801cd0024f063d561472 (patch)
tree89578d425f3c5f538bebaceec4257339430b8a93 /net/netfilter/nf_conntrack_proto_generic.c
parent131b3aa7c04250554e4d303bc90f798bf21423dd (diff)
parent361e3f0276d666faa6a785f610ffc8b7c541d478 (diff)
Merge branch 'linux-linaro-lsk-v3.14' into linux-linaro-lsk-v3.14-rt
* linux-linaro-lsk-v3.14: (218 commits) configs: linaro-base: enable ZRAM features arm64: errata: add workaround for cortex-a53 erratum #845719 Linux 3.14.43 kvm: arm64: vgic: fix hyp panic with 64k pages on juno platform arm64: kvm: use inner-shareable barriers for inner-shareable maintenance KVM: ARM: vgic: Fix the overlap check action about setting the GICD & GICC base address. KVM: arm/arm64: vgic: fix GICD_ICFGR register accesses ARM: KVM: trap VM system registers until MMU and caches are ON ARM: KVM: add world-switch for AMAIR{0,1} ARM: KVM: introduce per-vcpu HYP Configuration Register ARM: KVM: fix ordering of 64bit coprocessor accesses ARM: KVM: fix handling of trapped 64bit coprocessor accesses ARM: KVM: force cache clean on page fault when caches are off arm64: KVM: flush VM pages before letting the guest enable caches ARM: KVM: introduce kvm_p*d_addr_end arm64: KVM: trap VM system registers until MMU and caches are ON arm64: KVM: allows discrimination of AArch32 sysreg access arm64: KVM: force cache clean on page fault when caches are off deal with deadlock in d_walk() ACPICA: Utilities: Cleanup to remove useless ACPI_PRINTF/FORMAT_xxx helpers. ... Conflicts: kernel/softirq.c
Diffstat (limited to 'net/netfilter/nf_conntrack_proto_generic.c')
-rw-r--r--net/netfilter/nf_conntrack_proto_generic.c26
1 files changed, 25 insertions, 1 deletions
diff --git a/net/netfilter/nf_conntrack_proto_generic.c b/net/netfilter/nf_conntrack_proto_generic.c
index d25f29377648..957c1db66652 100644
--- a/net/netfilter/nf_conntrack_proto_generic.c
+++ b/net/netfilter/nf_conntrack_proto_generic.c
@@ -14,6 +14,30 @@
static unsigned int nf_ct_generic_timeout __read_mostly = 600*HZ;
+static bool nf_generic_should_process(u8 proto)
+{
+ switch (proto) {
+#ifdef CONFIG_NF_CT_PROTO_SCTP_MODULE
+ case IPPROTO_SCTP:
+ return false;
+#endif
+#ifdef CONFIG_NF_CT_PROTO_DCCP_MODULE
+ case IPPROTO_DCCP:
+ return false;
+#endif
+#ifdef CONFIG_NF_CT_PROTO_GRE_MODULE
+ case IPPROTO_GRE:
+ return false;
+#endif
+#ifdef CONFIG_NF_CT_PROTO_UDPLITE_MODULE
+ case IPPROTO_UDPLITE:
+ return false;
+#endif
+ default:
+ return true;
+ }
+}
+
static inline struct nf_generic_net *generic_pernet(struct net *net)
{
return &net->ct.nf_ct_proto.generic;
@@ -67,7 +91,7 @@ static int generic_packet(struct nf_conn *ct,
static bool generic_new(struct nf_conn *ct, const struct sk_buff *skb,
unsigned int dataoff, unsigned int *timeouts)
{
- return true;
+ return nf_generic_should_process(nf_ct_protonum(ct));
}
#if IS_ENABLED(CONFIG_NF_CT_NETLINK_TIMEOUT)