diff options
author | Patrick McHardy <kaber@trash.net> | 2009-11-06 11:04:00 -0500 |
---|---|---|
committer | Patrick McHardy <kaber@trash.net> | 2009-11-06 11:04:00 -0500 |
commit | dee5817e88ac8195e5938d6671f434a071e35698 (patch) | |
tree | 7697b0bf04c23f6b0c3dad9755a9a7c9b668365f | |
parent | 76ac894080019c6619d3c3bf615db42a43a77f32 (diff) |
netfilter: remove unneccessary checks from netlink notifiers
The NETLINK_URELEASE notifier is only invoked for bound sockets, so
there is no need to check ->pid again.
Signed-off-by: Patrick McHardy <kaber@trash.net>
-rw-r--r-- | net/ipv4/netfilter/ip_queue.c | 3 | ||||
-rw-r--r-- | net/ipv6/netfilter/ip6_queue.c | 3 | ||||
-rw-r--r-- | net/netfilter/nfnetlink_log.c | 3 | ||||
-rw-r--r-- | net/netfilter/nfnetlink_queue.c | 3 |
4 files changed, 4 insertions, 8 deletions
diff --git a/net/ipv4/netfilter/ip_queue.c b/net/ipv4/netfilter/ip_queue.c index 9811a456fb5d..9f0787091951 100644 --- a/net/ipv4/netfilter/ip_queue.c +++ b/net/ipv4/netfilter/ip_queue.c | |||
@@ -497,8 +497,7 @@ ipq_rcv_nl_event(struct notifier_block *this, | |||
497 | { | 497 | { |
498 | struct netlink_notify *n = ptr; | 498 | struct netlink_notify *n = ptr; |
499 | 499 | ||
500 | if (event == NETLINK_URELEASE && | 500 | if (event == NETLINK_URELEASE && n->protocol == NETLINK_FIREWALL) { |
501 | n->protocol == NETLINK_FIREWALL && n->pid) { | ||
502 | write_lock_bh(&queue_lock); | 501 | write_lock_bh(&queue_lock); |
503 | if ((n->net == &init_net) && (n->pid == peer_pid)) | 502 | if ((n->net == &init_net) && (n->pid == peer_pid)) |
504 | __ipq_reset(); | 503 | __ipq_reset(); |
diff --git a/net/ipv6/netfilter/ip6_queue.c b/net/ipv6/netfilter/ip6_queue.c index a82016fd5d65..47a3623e7119 100644 --- a/net/ipv6/netfilter/ip6_queue.c +++ b/net/ipv6/netfilter/ip6_queue.c | |||
@@ -499,8 +499,7 @@ ipq_rcv_nl_event(struct notifier_block *this, | |||
499 | { | 499 | { |
500 | struct netlink_notify *n = ptr; | 500 | struct netlink_notify *n = ptr; |
501 | 501 | ||
502 | if (event == NETLINK_URELEASE && | 502 | if (event == NETLINK_URELEASE && n->protocol == NETLINK_IP6_FW) { |
503 | n->protocol == NETLINK_IP6_FW && n->pid) { | ||
504 | write_lock_bh(&queue_lock); | 503 | write_lock_bh(&queue_lock); |
505 | if ((n->net == &init_net) && (n->pid == peer_pid)) | 504 | if ((n->net == &init_net) && (n->pid == peer_pid)) |
506 | __ipq_reset(); | 505 | __ipq_reset(); |
diff --git a/net/netfilter/nfnetlink_log.c b/net/netfilter/nfnetlink_log.c index f900dc3194af..3aa66b2f9e87 100644 --- a/net/netfilter/nfnetlink_log.c +++ b/net/netfilter/nfnetlink_log.c | |||
@@ -666,8 +666,7 @@ nfulnl_rcv_nl_event(struct notifier_block *this, | |||
666 | { | 666 | { |
667 | struct netlink_notify *n = ptr; | 667 | struct netlink_notify *n = ptr; |
668 | 668 | ||
669 | if (event == NETLINK_URELEASE && | 669 | if (event == NETLINK_URELEASE && n->protocol == NETLINK_NETFILTER) { |
670 | n->protocol == NETLINK_NETFILTER && n->pid) { | ||
671 | int i; | 670 | int i; |
672 | 671 | ||
673 | /* destroy all instances for this pid */ | 672 | /* destroy all instances for this pid */ |
diff --git a/net/netfilter/nfnetlink_queue.c b/net/netfilter/nfnetlink_queue.c index 7a9dec9fb822..7e3fa410641e 100644 --- a/net/netfilter/nfnetlink_queue.c +++ b/net/netfilter/nfnetlink_queue.c | |||
@@ -574,8 +574,7 @@ nfqnl_rcv_nl_event(struct notifier_block *this, | |||
574 | { | 574 | { |
575 | struct netlink_notify *n = ptr; | 575 | struct netlink_notify *n = ptr; |
576 | 576 | ||
577 | if (event == NETLINK_URELEASE && | 577 | if (event == NETLINK_URELEASE && n->protocol == NETLINK_NETFILTER) { |
578 | n->protocol == NETLINK_NETFILTER && n->pid) { | ||
579 | int i; | 578 | int i; |
580 | 579 | ||
581 | /* destroy all instances for this pid */ | 580 | /* destroy all instances for this pid */ |