Thread (7 messages) 7 messages, 4 authors, 2008-03-03

Re: [PATCH (resend)][EBTABLES]: Fix alignment checks in ebt_among.ko module.

From: Patrick McHardy <hidden>
Date: 2008-02-29 12:48:49
Also in: netfilter-devel

Pavel Emelyanov wrote:
I've sent this patch some days ago to Bart, but with no answer...

When trying to do

	# ebtables -A FORWARD --among-src 0:12:34:56:78:9a=192.168.0.10 -j ACCEPT

on x86_64 box the ebt_among->check() callback warns me that

	ebtables: among: wrong size: 1060 against expected 1056, rounded to 1056

Checking the ebtables sources, I found that the alignment is done
differently in the tool and the kernel. Tool makes it like this:

	EBT_ALIGN(sizeof(struct ebt_among_info)) + X

while the kernel module like this:

	EBT_ALIGN(sizeof(struct ebt_among_info) + X)

So the suggested fix is to move the alignment in the kernel. After
the fix the rule is added and appears in the ebtables -L output.

It seems the kernel is correct and userspace is doing it
wrong, so I think userspace should be fixed instead.
The problem with your patch is that is causes misalignment
for following structures that contain u64 members.

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help