[PATCH] kexec: x86: struct x86_linux_param_header should be packed

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

 



On Thu, Sep 05, 2013 at 04:48:20PM +0800, WANG Chao wrote:
> On 08/05/13 at 01:35pm, Vivek Goyal wrote:
> > I think struct x86_linux_param_header should be packed. Strange that we
> > did not do it so far. 
> > 
> > Without packing struct size was 3824 (decimal) on my x86_64 machine. With
> > packing it is 3820. I think there was a padding of 4 bytes at the end. So
> > it should be harmless.
> > 
> > I tried to introduce more fields and that introduced padding in the
> > middle of structure and kexec stopped working and that's how I got to
> > know that bootparam is not packed.
> 
> In this case that's true and x86_linux_param_header should be packed.
> 
> One more thing is,
> in include/x86/x86-linux.h, we already define PACKED macro:
>  #define PACKED __attribute__((packed))
> But within x86-linux.h, both PACKED_and __attribute__((packed)) are used.
> 
> PACKED isn't used much time and __attribute__((packed)) is quite simple
> and straightforward. Maybe it's time we can remove the macro and use
> __attribute__((packed)) directly.
> 
> I can send another patch to address this if anyone thinks it's a good
> idea.

I think there is really no need to use macro PACKED. So making the code
uniform does not hurt.

Thanks
Vivek



[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux