From: Sachin Sanap <sachin.sanap.1gb@gmail.com>
To: Bart De Schuymer <bdschuym@pandora.be>
Cc: Jan Engelhardt <jengelh@medozas.de>,
Patrick McHardy <kaber@trash.net>, Peter Volkov <pva@gentoo.org>,
Netfilter Developer Mailing List
<netfilter-devel@vger.kernel.org>
Subject: Re: ebtables broken for kernel above 2.6.28
Date: Fri, 19 Jun 2009 11:46:54 +0530 [thread overview]
Message-ID: <17923cc80906182316s6b3d794g3d61394877a28264@mail.gmail.com> (raw)
In-Reply-To: <4A3A6C57.6080403@pandora.be>
The ebtables code looks to be inspired by the iptables code. In case
of iptables the IPT_MIN_ALIGN is defined as
#define IPT_MIN_ALIGN (__alignof__(struct ipt_entry))
and in case of ebtables the EBT_MIN_ALIGN is defined as
#define EBT_MIN_ALIGN (__alignof__(struct ebt_entry_target))
So if ebtables fail, iptables should also fail for the same case. But
the differece here clear from the comment in the iptables code
/* ipt_entry has pointers and u_int64_t's in it, so if you align to
it, you'll also align to any crazy matches and targets someone
might write */
That might not be the case with ebtables, struct ebt_entry_target.
cheers,
-Sachin Sanap
On Thu, Jun 18, 2009 at 10:03 PM, Bart De Schuymer<bdschuym@pandora.be> wrote:
> Jan Engelhardt schreef:
>>
>> Patrick McHardy wrote on 2009-06-02 12:20:45:
>>
>>>
>>> Jan Engelhardt wrote:
>>>
>>>>
>>>> Since the kernel uses xt_align already, it's best for userspace to do
>>>> the same.
>>>>
>>>
>>> But that doesn't work for older kernels. Please don't dismiss
>>> compatibility issues that easily. Sometimes things unfortunately
>>> do slip through, but I expect people to do their best to fix the
>>> problem properly when this happens.
>>>
>>
>> I compiled myself an ARM crosscompiler, just to see what's going on. Not
>> that I could run the binaries, but I could at least look at the objdump
>> output. The first impression was: "the state before the supposed regression
>> was introduced could not have worked on ARM in the first place had I run
>> this".
>>
>> It turns out that ebtables is completely unusable on at least three arches
>> with given ABI configurations even if things were still calculated against
>> ebt_replace instead of _xt_align. One case has been verified by me since
>> it's consumer hardware, and it surprises me the Debian project has not found
>> this earlier, because they actually produced one affected binary
>> distribution in the past (x86 with k64_u32).
>>
>> Affected arches are all with k64_u32. (Perhaps almost all — I did not
>> recall seeing it on sparc64, and, as I am just checking up on ebtables's
>> Makefile, it has a hack for sparc.) The other configuration I see problems
>> in is a (rather normal) k32_u32 ARM setup with a kernel compiled with
>> CONFIG_EABI=no.
>>
>> The userspace patch proposed by Sachin Nasap is, IMHO, one to fix the
>> alignment problems (both old and recent) in one clap.
>>
>
> Thanks, I'll have a look at it this weekend.
>
> cheers,
> Bart
>
>
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2009-06-19 6:16 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-16 23:08 ebtables broken for kernel above 2.6.28 Jan Engelhardt
2009-06-18 16:33 ` Bart De Schuymer
2009-06-19 4:40 ` sachin sanap
2009-06-19 6:16 ` Sachin Sanap [this message]
2009-06-21 15:16 ` Bart De Schuymer
[not found] <17923cc80905280124t4ed6cf7m87f91e4444146697@mail.gmail.com>
[not found] ` <4A1EB783.4090801@pandora.be>
2009-05-29 5:51 ` Fwd: " sachin sanap
2009-05-29 10:02 ` Jan Engelhardt
2009-05-29 11:14 ` sachin sanap
2009-05-29 16:20 ` Bart De Schuymer
2009-05-29 17:16 ` Jan Engelhardt
2009-06-02 12:20 ` Patrick McHardy
2009-06-05 13:35 ` Jan Engelhardt
2009-06-05 13:38 ` Patrick McHardy
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=17923cc80906182316s6b3d794g3d61394877a28264@mail.gmail.com \
--to=sachin.sanap.1gb@gmail.com \
--cc=bdschuym@pandora.be \
--cc=jengelh@medozas.de \
--cc=kaber@trash.net \
--cc=netfilter-devel@vger.kernel.org \
--cc=pva@gentoo.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).