* [PATCH] ebtables match inverted in 2.6.28? (Was: Re: ebtables match inverted in 2.6.28?) [not found] <84ee33570812311400m5492af64n45c645a13fe91c2c@mail.gmail.com> @ 2009-01-01 3:16 ` Matthew Helsley 2009-01-12 5:14 ` Patrick McHardy 0 siblings, 1 reply; 5+ messages in thread From: Matthew Helsley @ 2009-01-01 3:16 UTC (permalink / raw) To: Matt Cross; +Cc: LKML, netfilter-devel On Wed, 2008-12-31 at 17:00 -0500, Matt Cross wrote: > I think the work to move ebtables to use xtables broke ebtables. > Specifically, in commit 8cc784eec6676b58e7f60419c88179aaa97bf71c the > return value of the match functions was inverted so that they return 1 > (true) on matches instead of EBT_MATCH (0), and vice versa (look in > ebt_ip.c). The logic in ebtables.c (ebt_do_table() and > EBT_MATCH_ITERATE()) expect match functions to return 0 for matches. > > The patch at the end of this message fixes the problem, but seems a > little hacky to me. Who's the right person to address this? > > -Matt I suspect the right place to send this is: netfilter-devel@vger.kernel.org The subject line should indicate that you've contributed a patch otherwise you may not get a quick response (I've modified it accordingly). For more on submitting patches you can read Documentation/SubmittingPatches and Documentation/SubmitChecklist Cheers, -Matt Helsley > > --- linux-2.6.28.orig/net/bridge/netfilter/ebtables.c 2008-12-24 > 18:26:37.000000000 -0500 > +++ linux-2.6.28/net/bridge/netfilter/ebtables.c 2008-12-31 > 16:17:44.000000000 -0500 > @@ -80,7 +80,7 @@ > { > par->match = m->u.match; > par->matchinfo = m->data; > - return m->u.match->match(skb, par); > + return !m->u.match->match(skb, par); > } > > static inline int ebt_dev_check(char *entry, const struct net_device *device) > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] ebtables match inverted in 2.6.28? (Was: Re: ebtables match inverted in 2.6.28?) 2009-01-01 3:16 ` [PATCH] ebtables match inverted in 2.6.28? (Was: Re: ebtables match inverted in 2.6.28?) Matthew Helsley @ 2009-01-12 5:14 ` Patrick McHardy 2009-01-12 7:43 ` Jan Engelhardt 0 siblings, 1 reply; 5+ messages in thread From: Patrick McHardy @ 2009-01-12 5:14 UTC (permalink / raw) To: matthltc; +Cc: Matt Cross, LKML, netfilter-devel, Jan Engelhardt Matthew Helsley wrote: > On Wed, 2008-12-31 at 17:00 -0500, Matt Cross wrote: >> I think the work to move ebtables to use xtables broke ebtables. >> Specifically, in commit 8cc784eec6676b58e7f60419c88179aaa97bf71c the >> return value of the match functions was inverted so that they return 1 >> (true) on matches instead of EBT_MATCH (0), and vice versa (look in >> ebt_ip.c). The logic in ebtables.c (ebt_do_table() and >> EBT_MATCH_ITERATE()) expect match functions to return 0 for matches. >> >> The patch at the end of this message fixes the problem, but seems a >> little hacky to me. Who's the right person to address this? Jan, could you have a look at this please? >> --- linux-2.6.28.orig/net/bridge/netfilter/ebtables.c 2008-12-24 >> 18:26:37.000000000 -0500 >> +++ linux-2.6.28/net/bridge/netfilter/ebtables.c 2008-12-31 >> 16:17:44.000000000 -0500 >> @@ -80,7 +80,7 @@ >> { >> par->match = m->u.match; >> par->matchinfo = m->data; >> - return m->u.match->match(skb, par); >> + return !m->u.match->match(skb, par); >> } ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] ebtables match inverted in 2.6.28? (Was: Re: ebtables match inverted in 2.6.28?) 2009-01-12 5:14 ` Patrick McHardy @ 2009-01-12 7:43 ` Jan Engelhardt 2009-01-12 7:54 ` Patrick McHardy 0 siblings, 1 reply; 5+ messages in thread From: Jan Engelhardt @ 2009-01-12 7:43 UTC (permalink / raw) To: Patrick McHardy; +Cc: matthltc, Matt Cross, LKML, netfilter-devel On Monday 2009-01-12 06:14, Patrick McHardy wrote: > Matthew Helsley wrote: >> On Wed, 2008-12-31 at 17:00 -0500, Matt Cross wrote: >>> I think the work to move ebtables to use xtables broke ebtables. >>> Specifically, in commit 8cc784eec6676b58e7f60419c88179aaa97bf71c the >>> return value of the match functions was inverted so that they return 1 >>> (true) on matches instead of EBT_MATCH (0), and vice versa (look in >>> ebt_ip.c). The logic in ebtables.c (ebt_do_table() and >>> EBT_MATCH_ITERATE()) expect match functions to return 0 for matches. >>> >>> The patch at the end of this message fixes the problem, but seems a >>> little hacky to me. Who's the right person to address this? > > Jan, could you have a look at this please? That seemds indeed so. Patch is both for 2.6.29-running and 2.6.28. parent 1e8ca9528de86bdb2d73fbdfb27a10131bb5c593 (v2.6.29-rc1-21-g1e8ca95) commit cc46eb3e855b7c1f628e934e01b97f4f2642973e Author: Jan Engelhardt <jengelh@medozas.de> Date: Mon Jan 12 08:40:22 2009 +0100 netfilter: ebtables: fix inversion in match code Signed-off-by: Jan Engelhardt <jengelh@medozas.de> --- net/bridge/netfilter/ebtables.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/net/bridge/netfilter/ebtables.c b/net/bridge/netfilter/ebtables.c index fa108c4..9f46235 100644 --- a/net/bridge/netfilter/ebtables.c +++ b/net/bridge/netfilter/ebtables.c @@ -79,7 +79,7 @@ static inline int ebt_do_match (struct ebt_entry_match *m, { par->match = m->u.match; par->matchinfo = m->data; - return m->u.match->match(skb, par); + return m->u.match->match(skb, par) ? EBT_MATCH : EBT_NOMATCH; } static inline int ebt_dev_check(char *entry, const struct net_device *device) -- # Created with git-export-patch ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] ebtables match inverted in 2.6.28? (Was: Re: ebtables match inverted in 2.6.28?) 2009-01-12 7:43 ` Jan Engelhardt @ 2009-01-12 7:54 ` Patrick McHardy 2009-01-13 21:20 ` Matt Helsley 0 siblings, 1 reply; 5+ messages in thread From: Patrick McHardy @ 2009-01-12 7:54 UTC (permalink / raw) To: Jan Engelhardt; +Cc: matthltc, Matt Cross, LKML, netfilter-devel [-- Attachment #1: Type: text/plain, Size: 845 bytes --] Jan Engelhardt wrote: >>> On Wed, 2008-12-31 at 17:00 -0500, Matt Cross wrote: >>>> I think the work to move ebtables to use xtables broke ebtables. >>>> Specifically, in commit 8cc784eec6676b58e7f60419c88179aaa97bf71c the >>>> return value of the match functions was inverted so that they return 1 >>>> (true) on matches instead of EBT_MATCH (0), and vice versa (look in >>>> ebt_ip.c). The logic in ebtables.c (ebt_do_table() and >>>> EBT_MATCH_ITERATE()) expect match functions to return 0 for matches. >>>> >> Jan, could you have a look at this please? > > That seemds indeed so. > Patch is both for 2.6.29-running and 2.6.28. > > netfilter: ebtables: fix inversion in match code Applied, thanks. When fixing regressions please state the commit ID and subject of the patch introducing the breakage and also who reported it. Like this. [-- Attachment #2: 01.diff --] [-- Type: text/x-patch, Size: 1032 bytes --] commit c6b52c688ecf03adb82724299b97701528821ca5 Author: Jan Engelhardt <jengelh@medozas.de> Date: Mon Jan 12 08:52:08 2009 +0100 netfilter: ebtables: fix inversion in match code Commit 8cc784ee (netfilter: change return types of match functions for ebtables extensions) broke ebtables matches by inverting the sense of match/nomatch. Reported-by: Matt Cross <matthltc@us.ibm.com> Signed-off-by: Jan Engelhardt <jengelh@medozas.de> Signed-off-by: Patrick McHardy <kaber@trash.net> diff --git a/net/bridge/netfilter/ebtables.c b/net/bridge/netfilter/ebtables.c index 8a8743d..820252a 100644 --- a/net/bridge/netfilter/ebtables.c +++ b/net/bridge/netfilter/ebtables.c @@ -79,7 +79,7 @@ static inline int ebt_do_match (struct ebt_entry_match *m, { par->match = m->u.match; par->matchinfo = m->data; - return m->u.match->match(skb, par); + return m->u.match->match(skb, par) ? EBT_MATCH : EBT_NOMATCH; } static inline int ebt_dev_check(char *entry, const struct net_device *device) ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] ebtables match inverted in 2.6.28? (Was: Re: ebtables match inverted in 2.6.28?) 2009-01-12 7:54 ` Patrick McHardy @ 2009-01-13 21:20 ` Matt Helsley 0 siblings, 0 replies; 5+ messages in thread From: Matt Helsley @ 2009-01-13 21:20 UTC (permalink / raw) To: Patrick McHardy; +Cc: Jan Engelhardt, Matt Cross, LKML, netfilter-devel On Mon, 2009-01-12 at 08:54 +0100, Patrick McHardy wrote: > commit c6b52c688ecf03adb82724299b97701528821ca5 > Author: Jan Engelhardt <jengelh@medozas.de> > Date: Mon Jan 12 08:52:08 2009 +0100 > > netfilter: ebtables: fix inversion in match code > > Commit 8cc784ee (netfilter: change return types of match functions > for ebtables extensions) broke ebtables matches by inverting the > sense of match/nomatch. > > Reported-by: Matt Cross <matthltc@us.ibm.com> Argh, I totally skimmed past this mistake earlier! Should be: Reported-by: Matt Cross <matt.cross@gmail.com> I just directed Matt Cross to the appropriate mailing list. Cheers, -Matt Helsley ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2009-01-13 21:20 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <84ee33570812311400m5492af64n45c645a13fe91c2c@mail.gmail.com> 2009-01-01 3:16 ` [PATCH] ebtables match inverted in 2.6.28? (Was: Re: ebtables match inverted in 2.6.28?) Matthew Helsley 2009-01-12 5:14 ` Patrick McHardy 2009-01-12 7:43 ` Jan Engelhardt 2009-01-12 7:54 ` Patrick McHardy 2009-01-13 21:20 ` Matt Helsley
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).