Re: [PATCH] x86: tell the world boot_params is 16-byte aligned

From: H. Peter Anvin
Date: Fri May 08 2015 - 12:28:36 EST

NAK. This could break in the case of careless bootloaders...

On May 8, 2015 9:23:52 AM PDT, Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> wrote:
>On Fri, May 08 2015, Borislav Petkov <bp@xxxxxxxxx> wrote:
>> On Fri, May 08, 2015 at 03:42:33PM +0200, Rasmus Villemoes wrote:
>>> It doesn't matter much, but this disassembly makes me cry a little
>>> ffffffff81f21223 <copy_bootdata>:
>>> ffffffff81f21223: 55 push %rbp
>>> ffffffff81f21224: 48 c7 c0 40 c2 02 82 mov
>>> ffffffff81f2122b: 48 89 fe mov %rdi,%rsi
>>> ffffffff81f2122e: a8 01 test $0x1,%al
>>> The reason is that boot_params is defined with
>>> __attribute__((aligned(16))) in boot/main.c, but other translation
>>> units only see the packed attribute on the definition of struct
>>> boot_params, so assume the worst. Making the de facto alignment
>> Wouldn't it be better if we put both attributes together, i.e.:
>Sure, putting it on the type works as well. Either way is fine with me.

Sent from my mobile phone. Please pardon brevity and lack of formatting.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at