Re: [PATCH 1/3] arch/x86: Use offsetof

From: Ingo Molnar
Date: Sun Dec 30 2007 - 08:55:32 EST



* H. Peter Anvin <hpa@xxxxxxxxx> wrote:

>>> The right way to do it is:
>>>
>>> memset(&info.vm86plus, 0, sizeof info.vm86plus);
>>
>> If it's just one field _and_ we don't have padding we want to zero out -
>> certainly...
>
> It is - [comments removed for clarity]:
>
> struct kernel_vm86_struct {
> struct kernel_vm86_regs regs;
> #define VM86_TSS_ESP0 flags
> unsigned long flags;
> unsigned long screen_bitmap;
> unsigned long cpu_type;
> struct revectored_struct int_revectored;
> struct revectored_struct int21_revectored;
> struct vm86plus_info_struct vm86plus;
> struct pt_regs *regs32;
> };

hm, i'm wondering why it was done in such a complex way. Clearing a
struct field is always done via sizeof. Maybe we lost some alignment
assumption somewhere along the line?

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/