Re: Fwd: ebtables broken for kernel above 2.6.28

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Jun 14, 2009 at 11:12 PM, Jan Engelhardt<jengelh@xxxxxxxxxx> wrote:
> On Friday 2009-05-29 13:14, sachin sanap wrote:
>
>>Sorry dint inform you earlier that iam on 32bit ARM machine.
>>The real problem is the kernel is computing the alignment on
>>__alignof__(struct _xt_align) and the userspace ebtables is computing
>>it on __alignof__(struct ebt_entry_target) , which are two different
>>structs.
>>
>>I have the following patch for ebtables-v2.0.8-2 that fixes this.
>>@@ -37,7 +38,7 @@
>> #define EXEC_STYLE_DAEMON      1
>>
>> #ifndef EBT_MIN_ALIGN
>>-#define EBT_MIN_ALIGN (__alignof__(struct ebt_entry_target))
>>+#define EBT_MIN_ALIGN (__alignof__(struct _xt_align))
>> #endif
>> #define EBT_ALIGN(s) (((s) + (EBT_MIN_ALIGN-1)) & ~(EBT_MIN_ALIGN-1))
>> #define ERRORMSG_MAXLEN 128
>
> Can you run this, just to give me a better understanding of ARM32?
>
>
> #include <stdio.h>
> #include <stdint.h>
> #define p(t) \
>        printf(#t ": %zu\n", __alignof__(t));
>
> int main(void)
> {
>        p(uint8_t);
>        p(uint16_t);
>        p(uint32_t);
>        p(uint64_t);
>        p(float);
>        p(double);
>        p(void *);
>        p(void (*)(void));
> }
>
Here is the output from ARM

uint8_t: 1
uint16_t: 2
uint32_t: 4
uint64_t: 8
float: 4
double: 8
void *: 4
void (*)(void): 4

I have CONFIG_AEABI=y

-Sachin Sanap
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netfitler Users]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux