From: David Miller <davem@davemloft.net>
To: bdschuym@pandora.be
Cc: netdev@vger.kernel.org, davidn@davidnewall.com,
bridge@lists.linux-foundation.org, fw@strlen.de,
stephen@networkplumber.org, netfilter-devel@vger.kernel.org
Subject: Re: Revert 462fb2af9788a82a534f8184abfde31574e1cfa0 (bridge : Sanitize skb before it enters the IP stack)
Date: Wed, 21 May 2014 16:18:41 -0400 (EDT) [thread overview]
Message-ID: <20140521.161841.1806439174351824310.davem@davemloft.net> (raw)
In-Reply-To: <537CF5A2.3080401@pandora.be>
From: Bart De Schuymer <bdschuym@pandora.be>
Date: Wed, 21 May 2014 20:51:14 +0200
> David Newall schreef op 21/05/2014 9:49:
>>> An alternative would be to make sure that the data pointed to by IPCB
>>> and BR_INPUT_SKB_CB don't overlap. If this were the case, we could
>>> indeed just revert the commit that was referred to.
>>
>> They are identical spaces, but you imply a good point: the cb area is
>> possibly being used, simultaneously, for two, incompatible
>> purposes. Yet
>> another argument for divorcing bridge of ip logic.
>
> There's no reason why they should overlap in the cb: it's 48 bytes
> big, so big enough to hold both struct br_input_skb_cb and struct
> inet_skb_parm. The original problem was introduced when
> BR_INPUT_SKB_CB was introduced (around Feb 27, 2010), so fixing
> BR_INPUT_SKB_CB seems most appropriate to me.
So you are suggesting the patch below will fix everything?
> As for your other remark: as I've said before, if you don't like
> bridge-netfilter then don't compile it into your kernel.
That's never a good argument, please stop making it.
%99.999999999 of users get their kernels from distributions and
they are all going to enable basically every feature available.
We never should have added bridging netfilter to the tree in the
first place, I wish I had better judgment back then.
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
index 06811d7..2300def 100644
--- a/net/bridge/br_private.h
+++ b/net/bridge/br_private.h
@@ -18,6 +18,7 @@
#include <linux/netpoll.h>
#include <linux/u64_stats_sync.h>
#include <net/route.h>
+#include <net/ip.h>
#include <linux/if_vlan.h>
#define BR_HASH_BITS 8
@@ -297,6 +298,7 @@ struct net_bridge
};
struct br_input_skb_cb {
+ struct inet_skb_parm ip;
struct net_device *brdev;
#ifdef CONFIG_BRIDGE_IGMP_SNOOPING
int igmp;
next prev parent reply other threads:[~2014-05-21 20:18 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <537621AC.1060409@davidnewall.com>
[not found] ` <5379FFFD.1050705@davidnewall.com>
[not found] ` <20140519140119.GA24523@breakpoint.cc>
[not found] ` <537A12EA.4060604@davidnewall.com>
2014-05-19 17:09 ` Revert 462fb2af9788a82a534f8184abfde31574e1cfa0 (bridge : Sanitize skb before it enters the IP stack) Florian Westphal
2014-05-19 20:49 ` Bart De Schuymer
2014-05-21 7:49 ` David Newall
2014-05-21 18:51 ` Bart De Schuymer
2014-05-21 20:18 ` David Miller [this message]
2014-05-22 18:57 ` Bart De Schuymer
2014-05-24 18:00 ` David Miller
2014-05-24 5:56 ` David Newall
2014-05-24 17:43 ` David Miller
2014-05-25 2:32 ` David Newall
2014-05-25 3:02 ` David Miller
2014-05-25 6:37 ` David Newall
2014-05-27 8:55 ` David Laight
2014-05-29 22:34 ` David Miller
2014-05-30 9:17 ` David Newall
2014-05-31 0:46 ` David Miller
2014-05-31 6:13 ` David Newall
2014-05-31 6:37 ` David Miller
2014-05-22 3:50 ` David Newall
2014-05-22 18:57 ` Bart De Schuymer
2014-05-20 3:57 ` David Newall
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140521.161841.1806439174351824310.davem@davemloft.net \
--to=davem@davemloft.net \
--cc=bdschuym@pandora.be \
--cc=bridge@lists.linux-foundation.org \
--cc=davidn@davidnewall.com \
--cc=fw@strlen.de \
--cc=netdev@vger.kernel.org \
--cc=netfilter-devel@vger.kernel.org \
--cc=stephen@networkplumber.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).