* [NETFILTER 00/02]: Netfilter fixes
@ 2006-08-12 0:25 Patrick McHardy
2006-08-12 0:25 ` [NETFILTER 01/02]: {arp, ip, ip6}_tables: proper error recovery in initialization path Patrick McHardy
` (2 more replies)
0 siblings, 3 replies; 13+ messages in thread
From: Patrick McHardy @ 2006-08-12 0:25 UTC (permalink / raw)
To: davem; +Cc: netfilter-devel, Patrick McHardy
Hi Dave,
following are two more fixes for 2.6.18. The ulog patch fixes an old
crash in ulog that has hit quite a few people so far. I'm going to push
it to -stable as well.
Please apply, thanks.
net/bridge/netfilter/ebt_ulog.c | 6 +++
net/ipv4/netfilter/arp_tables.c | 54 +++++++++++++++++++++++--------
net/ipv4/netfilter/ip_tables.c | 66 +++++++++++++++++++++++++++++---------
net/ipv4/netfilter/ipt_ULOG.c | 10 +++++
net/ipv6/netfilter/ip6_tables.c | 68 +++++++++++++++++++++++++++++-----------
net/netfilter/nfnetlink_log.c | 6 +++
6 files changed, 162 insertions(+), 48 deletions(-)
Mark Huang:
[NETFILTER]: ulog: fix panic on SMP kernels
Patrick McHardy:
[NETFILTER]: {arp,ip,ip6}_tables: proper error recovery in init path
^ permalink raw reply [flat|nested] 13+ messages in thread
* [NETFILTER 01/02]: {arp, ip, ip6}_tables: proper error recovery in initialization path
2006-08-12 0:25 [NETFILTER 00/02]: Netfilter fixes Patrick McHardy
@ 2006-08-12 0:25 ` Patrick McHardy
2006-08-12 0:25 ` [NETFILTER 02/02]: ulog: fix panic on SMP kernels Patrick McHardy
2006-08-12 0:30 ` [NETFILTER 00/02]: Netfilter fixes David Miller
2 siblings, 0 replies; 13+ messages in thread
From: Patrick McHardy @ 2006-08-12 0:25 UTC (permalink / raw)
To: davem; +Cc: netfilter-devel, Patrick McHardy
[NETFILTER]: {arp,ip,ip6}_tables: proper error recovery in init path
Neither of {arp,ip,ip6}_tables cleans up behind itself when something goes
wrong during initialization.
Noticed by Rennie deGraaf <degraaf@cpsc.ucalgary.ca>
Signed-off-by: Patrick McHardy <kaber@trash.net>
---
commit 85b125c30937bf0ef9fad5f4c3b4eab4588d4580
tree fc1796384ca7e973256f16095339c86b2a808c02
parent afe7e5033e79c86de718cb7fce5961a50b1352d3
author Patrick McHardy <kaber@trash.net> Fri, 11 Aug 2006 18:10:00 +0200
committer Patrick McHardy <kaber@trash.net> Fri, 11 Aug 2006 18:10:00 +0200
net/ipv4/netfilter/arp_tables.c | 27 ++++++++++++++++++++-------
net/ipv4/netfilter/ip_tables.c | 33 +++++++++++++++++++++++++--------
net/ipv6/netfilter/ip6_tables.c | 34 +++++++++++++++++++++++++---------
3 files changed, 70 insertions(+), 24 deletions(-)
diff --git a/net/ipv4/netfilter/arp_tables.c b/net/ipv4/netfilter/arp_tables.c
index 80c73ca..df4854c 100644
--- a/net/ipv4/netfilter/arp_tables.c
+++ b/net/ipv4/netfilter/arp_tables.c
@@ -1170,21 +1170,34 @@ static int __init arp_tables_init(void)
{
int ret;
- xt_proto_init(NF_ARP);
+ ret = xt_proto_init(NF_ARP);
+ if (ret < 0)
+ goto err1;
/* Noone else will be downing sem now, so we won't sleep */
- xt_register_target(&arpt_standard_target);
- xt_register_target(&arpt_error_target);
+ ret = xt_register_target(&arpt_standard_target);
+ if (ret < 0)
+ goto err2;
+ ret = xt_register_target(&arpt_error_target);
+ if (ret < 0)
+ goto err3;
/* Register setsockopt */
ret = nf_register_sockopt(&arpt_sockopts);
- if (ret < 0) {
- duprintf("Unable to register sockopts.\n");
- return ret;
- }
+ if (ret < 0)
+ goto err4;
printk("arp_tables: (C) 2002 David S. Miller\n");
return 0;
+
+err4:
+ xt_unregister_target(&arpt_error_target);
+err3:
+ xt_unregister_target(&arpt_standard_target);
+err2:
+ xt_proto_fini(NF_ARP);
+err1:
+ return ret;
}
static void __exit arp_tables_fini(void)
diff --git a/net/ipv4/netfilter/ip_tables.c b/net/ipv4/netfilter/ip_tables.c
index fc5bdd5..f316ff5 100644
--- a/net/ipv4/netfilter/ip_tables.c
+++ b/net/ipv4/netfilter/ip_tables.c
@@ -2239,22 +2239,39 @@ static int __init ip_tables_init(void)
{
int ret;
- xt_proto_init(AF_INET);
+ ret = xt_proto_init(AF_INET);
+ if (ret < 0)
+ goto err1;
/* Noone else will be downing sem now, so we won't sleep */
- xt_register_target(&ipt_standard_target);
- xt_register_target(&ipt_error_target);
- xt_register_match(&icmp_matchstruct);
+ ret = xt_register_target(&ipt_standard_target);
+ if (ret < 0)
+ goto err2;
+ ret = xt_register_target(&ipt_error_target);
+ if (ret < 0)
+ goto err3;
+ ret = xt_register_match(&icmp_matchstruct);
+ if (ret < 0)
+ goto err4;
/* Register setsockopt */
ret = nf_register_sockopt(&ipt_sockopts);
- if (ret < 0) {
- duprintf("Unable to register sockopts.\n");
- return ret;
- }
+ if (ret < 0)
+ goto err5;
printk("ip_tables: (C) 2000-2006 Netfilter Core Team\n");
return 0;
+
+err5:
+ xt_unregister_match(&icmp_matchstruct);
+err4:
+ xt_unregister_target(&ipt_error_target);
+err3:
+ xt_unregister_target(&ipt_standard_target);
+err2:
+ xt_proto_fini(AF_INET);
+err1:
+ return ret;
}
static void __exit ip_tables_fini(void)
diff --git a/net/ipv6/netfilter/ip6_tables.c b/net/ipv6/netfilter/ip6_tables.c
index f26898b..c9d6b23 100644
--- a/net/ipv6/netfilter/ip6_tables.c
+++ b/net/ipv6/netfilter/ip6_tables.c
@@ -1398,23 +1398,39 @@ static int __init ip6_tables_init(void)
{
int ret;
- xt_proto_init(AF_INET6);
+ ret = xt_proto_init(AF_INET6);
+ if (ret < 0)
+ goto err1;
/* Noone else will be downing sem now, so we won't sleep */
- xt_register_target(&ip6t_standard_target);
- xt_register_target(&ip6t_error_target);
- xt_register_match(&icmp6_matchstruct);
+ ret = xt_register_target(&ip6t_standard_target);
+ if (ret < 0)
+ goto err2;
+ ret = xt_register_target(&ip6t_error_target);
+ if (ret < 0)
+ goto err3;
+ ret = xt_register_match(&icmp6_matchstruct);
+ if (ret < 0)
+ goto err4;
/* Register setsockopt */
ret = nf_register_sockopt(&ip6t_sockopts);
- if (ret < 0) {
- duprintf("Unable to register sockopts.\n");
- xt_proto_fini(AF_INET6);
- return ret;
- }
+ if (ret < 0)
+ goto err5;
printk("ip6_tables: (C) 2000-2006 Netfilter Core Team\n");
return 0;
+
+err5:
+ xt_unregister_match(&icmp6_matchstruct);
+err4:
+ xt_unregister_target(&ip6t_error_target);
+err3:
+ xt_unregister_target(&ip6t_standard_target);
+err2:
+ xt_proto_fini(AF_INET6);
+err1:
+ return ret;
}
static void __exit ip6_tables_fini(void)
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [NETFILTER 02/02]: ulog: fix panic on SMP kernels
2006-08-12 0:25 [NETFILTER 00/02]: Netfilter fixes Patrick McHardy
2006-08-12 0:25 ` [NETFILTER 01/02]: {arp, ip, ip6}_tables: proper error recovery in initialization path Patrick McHardy
@ 2006-08-12 0:25 ` Patrick McHardy
2006-08-12 0:30 ` [NETFILTER 00/02]: Netfilter fixes David Miller
2 siblings, 0 replies; 13+ messages in thread
From: Patrick McHardy @ 2006-08-12 0:25 UTC (permalink / raw)
To: davem; +Cc: netfilter-devel, Patrick McHardy
[NETFILTER]: ulog: fix panic on SMP kernels
Fix kernel panic on various SMP machines. The culprit is a null
ub->skb in ulog_send(). If ulog_timer() has already been scheduled on
one CPU and is spinning on the lock, and ipt_ulog_packet() flushes the
queue on another CPU by calling ulog_send() right before it exits,
there will be no skbuff when ulog_timer() acquires the lock and calls
ulog_send(). Cancelling the timer in ulog_send() doesn't help because
it has already been scheduled and is running on the first CPU.
Similar problem exists in ebt_ulog.c and nfnetlink_log.c.
Signed-off-by: Mark Huang <mlhuang@cs.princeton.edu>
Signed-off-by: Patrick McHardy <kaber@trash.net>
---
commit 005dbeb54700681d8770c3c76ac452387cabe1e1
tree 1d452a2166403710ed576640b6a4d92456a4b69a
parent 85b125c30937bf0ef9fad5f4c3b4eab4588d4580
author Mark Huang <mlhuang@cs.princeton.edu> Fri, 11 Aug 2006 19:39:00 +0200
committer Patrick McHardy <kaber@trash.net> Fri, 11 Aug 2006 19:39:00 +0200
net/bridge/netfilter/ebt_ulog.c | 3 +++
net/ipv4/netfilter/ipt_ULOG.c | 5 +++++
net/netfilter/nfnetlink_log.c | 3 +++
3 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/net/bridge/netfilter/ebt_ulog.c b/net/bridge/netfilter/ebt_ulog.c
index 02693a2..9f950db 100644
--- a/net/bridge/netfilter/ebt_ulog.c
+++ b/net/bridge/netfilter/ebt_ulog.c
@@ -74,6 +74,9 @@ static void ulog_send(unsigned int nlgro
if (timer_pending(&ub->timer))
del_timer(&ub->timer);
+ if (!ub->skb)
+ return;
+
/* last nlmsg needs NLMSG_DONE */
if (ub->qlen > 1)
ub->lastnlh->nlmsg_type = NLMSG_DONE;
diff --git a/net/ipv4/netfilter/ipt_ULOG.c b/net/ipv4/netfilter/ipt_ULOG.c
index d7dd7fe..d46fd67 100644
--- a/net/ipv4/netfilter/ipt_ULOG.c
+++ b/net/ipv4/netfilter/ipt_ULOG.c
@@ -115,6 +115,11 @@ static void ulog_send(unsigned int nlgro
del_timer(&ub->timer);
}
+ if (!ub->skb) {
+ DEBUGP("ipt_ULOG: ulog_send: nothing to send\n");
+ return;
+ }
+
/* last nlmsg needs NLMSG_DONE */
if (ub->qlen > 1)
ub->lastnlh->nlmsg_type = NLMSG_DONE;
diff --git a/net/netfilter/nfnetlink_log.c b/net/netfilter/nfnetlink_log.c
index 61cdda4..b59d3b2 100644
--- a/net/netfilter/nfnetlink_log.c
+++ b/net/netfilter/nfnetlink_log.c
@@ -366,6 +366,9 @@ __nfulnl_send(struct nfulnl_instance *in
if (timer_pending(&inst->timer))
del_timer(&inst->timer);
+ if (!inst->skb)
+ return 0;
+
if (inst->qlen > 1)
inst->lastnlh->nlmsg_type = NLMSG_DONE;
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [NETFILTER 00/02]: Netfilter fixes
2006-08-12 0:25 [NETFILTER 00/02]: Netfilter fixes Patrick McHardy
2006-08-12 0:25 ` [NETFILTER 01/02]: {arp, ip, ip6}_tables: proper error recovery in initialization path Patrick McHardy
2006-08-12 0:25 ` [NETFILTER 02/02]: ulog: fix panic on SMP kernels Patrick McHardy
@ 2006-08-12 0:30 ` David Miller
2 siblings, 0 replies; 13+ messages in thread
From: David Miller @ 2006-08-12 0:30 UTC (permalink / raw)
To: kaber; +Cc: netfilter-devel
From: Patrick McHardy <kaber@trash.net>
Date: Sat, 12 Aug 2006 02:25:35 +0200 (MEST)
> following are two more fixes for 2.6.18. The ulog patch fixes an old
> crash in ulog that has hit quite a few people so far. I'm going to push
> it to -stable as well.
>
> Please apply, thanks.
Both applied, thanks Patrick.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [NETFILTER 00/02]: Netfilter fixes
@ 2007-01-15 9:22 Patrick McHardy
0 siblings, 0 replies; 13+ messages in thread
From: Patrick McHardy @ 2007-01-15 9:22 UTC (permalink / raw)
To: davem; +Cc: netfilter-devel, Patrick McHardy
Hi Dave,
following are two netfilter fixes for 2.6.20, fixing a memory leak in
ctnetlink and a compile failure of the state match on PPC.
Please apply, thanks.
include/net/netfilter/nf_conntrack_compat.h | 1 +
net/ipv4/netfilter/ip_conntrack_netlink.c | 2 +-
net/netfilter/nf_conntrack_netlink.c | 2 +-
3 files changed, 3 insertions(+), 2 deletions(-)
Mikael Pettersson:
[NETFILTER]: fix xt_state compile failure
Patrick McHardy:
[NETFILTER]: ctnetlink: fix leak in ctnetlink_create_conntrack error path
^ permalink raw reply [flat|nested] 13+ messages in thread
* [NETFILTER 00/02]: Netfilter fixes
@ 2007-02-03 1:46 Patrick McHardy
2007-02-03 3:34 ` David Miller
0 siblings, 1 reply; 13+ messages in thread
From: Patrick McHardy @ 2007-02-03 1:46 UTC (permalink / raw)
To: davem; +Cc: netfilter-devel, Patrick McHardy
Hi Dave,
following are two more netfilter fixes for 2.6.20, fixing H.323 compilation with
IPV6=m and NF_CONNTRACK_H323=y (Adrian's patch) and another compile failure with
NF_CONNTRACK_MARK=n (same for IP_NF_CONNTRACK_MARK=n).
Please apply, thanks.
net/ipv4/netfilter/ip_conntrack_netlink.c | 2 ++
net/netfilter/Kconfig | 2 +-
net/netfilter/nf_conntrack_netlink.c | 2 ++
3 files changed, 5 insertions(+), 1 deletion(-)
Adrian Bunk:
[NETFILTER]: nf_conntrack_h323: fix compile error with CONFIG_IPV6=m, CONFIG_NF_CONNTRACK_H323=y
Max Kellermann:
[NETFILTER]: ctnetlink: fix compile failure with NF_CONNTRACK_MARK=n
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [NETFILTER 00/02]: Netfilter fixes
2007-02-03 1:46 Patrick McHardy
@ 2007-02-03 3:34 ` David Miller
0 siblings, 0 replies; 13+ messages in thread
From: David Miller @ 2007-02-03 3:34 UTC (permalink / raw)
To: kaber; +Cc: netfilter-devel
From: Patrick McHardy <kaber@trash.net>
Date: Sat, 3 Feb 2007 02:46:22 +0100 (MET)
> Hi Dave,
>
> following are two more netfilter fixes for 2.6.20, fixing H.323 compilation with
> IPV6=m and NF_CONNTRACK_H323=y (Adrian's patch) and another compile failure with
> NF_CONNTRACK_MARK=n (same for IP_NF_CONNTRACK_MARK=n).
>
> Please apply, thanks.
Applied, thanks Patrick.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [NETFILTER 00/02]: Netfilter fixes
@ 2007-06-22 11:47 Patrick McHardy
2007-06-22 21:11 ` David Miller
0 siblings, 1 reply; 13+ messages in thread
From: Patrick McHardy @ 2007-06-22 11:47 UTC (permalink / raw)
To: davem; +Cc: netfilter-devel, Patrick McHardy
Hi Dave,
following are two netfilter fixes for 2.6.22, adding a few new SIP message
types that are necessary to get Jerome's setup working, and a patch to
forbid changing helpers of an existing connection to avoid races while
changing the helper private area.
Please apply, thanks.
net/netfilter/nf_conntrack_netlink.c | 3 +--
net/netfilter/nf_conntrack_sip.c | 3 +++
2 files changed, 4 insertions(+), 2 deletions(-)
Jerome Borsboom (1):
[NETFILTER]: nf_conntrack_sip: add missing message types containing RTP info
Yasuyuki Kozakai (1):
[NETFILTER]: nfctnetlink: Don't allow to change helper
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [NETFILTER 00/02]: Netfilter fixes
2007-06-22 11:47 Patrick McHardy
@ 2007-06-22 21:11 ` David Miller
0 siblings, 0 replies; 13+ messages in thread
From: David Miller @ 2007-06-22 21:11 UTC (permalink / raw)
To: kaber; +Cc: netfilter-devel
From: Patrick McHardy <kaber@trash.net>
Date: Fri, 22 Jun 2007 13:47:30 +0200 (MEST)
> Hi Dave,
>
> following are two netfilter fixes for 2.6.22, adding a few new SIP message
> types that are necessary to get Jerome's setup working, and a patch to
> forbid changing helpers of an existing connection to avoid races while
> changing the helper private area.
>
> Please apply, thanks.
Both patches applied, thanks Patrick!
^ permalink raw reply [flat|nested] 13+ messages in thread
* [NETFILTER 00/02]: Netfilter fixes
@ 2007-09-09 22:20 Patrick McHardy
0 siblings, 0 replies; 13+ messages in thread
From: Patrick McHardy @ 2007-09-09 22:20 UTC (permalink / raw)
To: davem; +Cc: netfilter-devel, Patrick McHardy
Hi Dave,
these patches fix an incorrect warning message in IPv4 connection tracking
and the module unload deadlock notices by Neil Horman.
Please apply, thanks.
include/linux/netfilter.h | 5 +--
net/bridge/netfilter/ebtables.c | 1 +
net/ipv4/ipvs/ip_vs_ctl.c | 1 +
net/ipv4/netfilter/arp_tables.c | 1 +
net/ipv4/netfilter/ip_tables.c | 1 +
net/ipv4/netfilter/nf_conntrack_l3proto_ipv4.c | 11 ++----
net/ipv6/netfilter/ip6_tables.c | 1 +
net/netfilter/nf_sockopt.c | 36 +++++++----------------
8 files changed, 22 insertions(+), 35 deletions(-)
Neil Horman (1):
[NETFILTER]: Fix/improve deadlock condition on module removal netfilter
Patrick McHardy (1):
[NETFILTER]: nf_conntrack_ipv4: fix "Frag of proto ..." messages
^ permalink raw reply [flat|nested] 13+ messages in thread
* [NETFILTER 00/02]: Netfilter fixes
@ 2007-10-11 16:44 Patrick McHardy
0 siblings, 0 replies; 13+ messages in thread
From: Patrick McHardy @ 2007-10-11 16:44 UTC (permalink / raw)
To: davem; +Cc: Patrick McHardy, netfilter-devel
Hi Dave,
following are two netfilter fixes, adding missing IPv6 module aliases
to a few matches and targets and fixing TCP conntrack connection
reopening. I'll also push the conntrack patch to -stable once it
hits upstream.
Please apply. thanks.
net/netfilter/nf_conntrack_proto_tcp.c | 35 ++++++++++++-------------------
net/netfilter/xt_CLASSIFY.c | 1 +
net/netfilter/xt_CONNMARK.c | 1 +
net/netfilter/xt_NOTRACK.c | 1 +
net/netfilter/xt_connbytes.c | 1 +
net/netfilter/xt_connmark.c | 1 +
net/netfilter/xt_dccp.c | 1 +
net/netfilter/xt_sctp.c | 1 +
net/netfilter/xt_tcpmss.c | 1 +
9 files changed, 22 insertions(+), 21 deletions(-)
Jan Engelhardt (1):
[NETFILTER]: x_tables: add missing ip6t_modulename aliases
Jozsef Kadlecsik (1):
[NETFILTER]: nf_conntrack_tcp: fix connection reopening
^ permalink raw reply [flat|nested] 13+ messages in thread
* [NETFILTER 00/02]: Netfilter fixes
@ 2007-10-18 10:12 Patrick McHardy
0 siblings, 0 replies; 13+ messages in thread
From: Patrick McHardy @ 2007-10-18 10:12 UTC (permalink / raw)
To: davem; +Cc: Patrick McHardy, netfilter-devel
Hi Dave,
these two patches contain a follow-up fix to the TCP conntrack connection
reopening problem and a fix for the sctp match, which uses ARRAY_SIZE on
a pointer instead of an array.
Please apply, thanks.
include/linux/netfilter/xt_sctp.h | 13 +++++--------
net/netfilter/nf_conntrack_proto_tcp.c | 11 +++++++----
net/netfilter/xt_sctp.c | 18 ++++++++----------
3 files changed, 20 insertions(+), 22 deletions(-)
Jozsef Kadlecsik (1):
[NETFILTER]: nf_conntrack_tcp: fix connection reopening fix
Li Zefan (1):
[NETFILTER]: xt_sctp: fix mistake to pass a pointer where array is required
^ permalink raw reply [flat|nested] 13+ messages in thread
* [NETFILTER 00/02]: Netfilter fixes
@ 2007-12-11 17:42 Patrick McHardy
0 siblings, 0 replies; 13+ messages in thread
From: Patrick McHardy @ 2007-12-11 17:42 UTC (permalink / raw)
To: davem; +Cc: Patrick McHardy, netfilter-devel
Hi Dave,
these two patches fix a missing bit on conntrack entries with master
connections created through ctnetlink and some brokeness in the
iptables compat code, causing it to use pointers dumped to userspace
and copied back again to the kernel without any checks for validity.
Pleasy apply, thanks.
net/ipv4/netfilter/ip_tables.c | 57 +++++++--------------------------
net/netfilter/nf_conntrack_netlink.c | 4 ++-
net/netfilter/x_tables.c | 8 +++-
3 files changed, 21 insertions(+), 48 deletions(-)
Pablo Neira Ayuso (1):
[NETFILTER]: ctnetlink: set expected bit for related conntracks
Patrick McHardy (1):
[NETFILTER]: ip_tables: fix compat copy race
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2007-12-11 17:42 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-12 0:25 [NETFILTER 00/02]: Netfilter fixes Patrick McHardy
2006-08-12 0:25 ` [NETFILTER 01/02]: {arp, ip, ip6}_tables: proper error recovery in initialization path Patrick McHardy
2006-08-12 0:25 ` [NETFILTER 02/02]: ulog: fix panic on SMP kernels Patrick McHardy
2006-08-12 0:30 ` [NETFILTER 00/02]: Netfilter fixes David Miller
-- strict thread matches above, loose matches on Subject: below --
2007-01-15 9:22 Patrick McHardy
2007-02-03 1:46 Patrick McHardy
2007-02-03 3:34 ` David Miller
2007-06-22 11:47 Patrick McHardy
2007-06-22 21:11 ` David Miller
2007-09-09 22:20 Patrick McHardy
2007-10-11 16:44 Patrick McHardy
2007-10-18 10:12 Patrick McHardy
2007-12-11 17:42 Patrick McHardy
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.