2006-02-27 22:50:49

by Chris Wright

[permalink] [raw]
Subject: [patch 04/39] [PATCH] [BRIDGE]: netfilter missing symbol has_bridge_parent

-stable review patch. If anyone has any objections, please let us know.
------------------

5dce971acf2ae20c80d5e9d1f6bbf17376870911 in Linus' tree,
otherwise known as bridge-netfilter-races-on-device-removal.patch in
2.5.15.4 removed has_bridge_parent, however this symbol is still
called with NETFILTER_DEBUG is enabled.

This patch uses the already seeded realoutdev value to detect if a parent
exists, and if so, the value of the parent.

Signed-Off-By: Horms <[email protected]>
Acked-by: Stephen Hemminger <[email protected]>
Signed-off-by: Chris Wright <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---

net/bridge/br_netfilter.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)

--- linux-2.6.15.4.orig/net/bridge/br_netfilter.c
+++ linux-2.6.15.4/net/bridge/br_netfilter.c
@@ -794,8 +794,8 @@ static unsigned int br_nf_post_routing(u
print_error:
if (skb->dev != NULL) {
printk("[%s]", skb->dev->name);
- if (has_bridge_parent(skb->dev))
- printk("[%s]", bridge_parent(skb->dev)->name);
+ if (realoutdev)
+ printk("[%s]", realoutdev->name);
}
printk(" head:%p, raw:%p, data:%p\n", skb->head, skb->mac.raw,
skb->data);

--


2006-02-28 05:01:19

by Simon Horman

[permalink] [raw]
Subject: Re: [patch 04/39] [PATCH] [BRIDGE]: netfilter missing symbol has_bridge_parent

On Mon, Feb 27, 2006 at 02:32:04PM -0800, Chris Wright wrote:
> -stable review patch. If anyone has any objections, please let us know.
> ------------------
>
> 5dce971acf2ae20c80d5e9d1f6bbf17376870911 in Linus' tree,
> otherwise known as bridge-netfilter-races-on-device-removal.patch in
> 2.5.15.4 removed has_bridge_parent, however this symbol is still
> called with NETFILTER_DEBUG is enabled.
>
> This patch uses the already seeded realoutdev value to detect if a parent
> exists, and if so, the value of the parent.
>
> Signed-Off-By: Horms <[email protected]>
> Acked-by: Stephen Hemminger <[email protected]>
> Signed-off-by: Chris Wright <[email protected]>
> Signed-off-by: Greg Kroah-Hartman <[email protected]>
> ---
>
> net/bridge/br_netfilter.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> --- linux-2.6.15.4.orig/net/bridge/br_netfilter.c
> +++ linux-2.6.15.4/net/bridge/br_netfilter.c
> @@ -794,8 +794,8 @@ static unsigned int br_nf_post_routing(u
> print_error:
> if (skb->dev != NULL) {
> printk("[%s]", skb->dev->name);
> - if (has_bridge_parent(skb->dev))
> - printk("[%s]", bridge_parent(skb->dev)->name);
> + if (realoutdev)
> + printk("[%s]", realoutdev->name);
> }
> printk(" head:%p, raw:%p, data:%p\n", skb->head, skb->mac.raw,
> skb->data);
>
> --

I double checked, and that is the aggregate fix that was added
to Linus' tree, it should solve the problem at hand.

--
Horms