Messages in this thread | ![/](/images/icornerl.gif) | | Date | Sun, 30 Dec 2007 14:54:58 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH 1/3] arch/x86: Use offsetof |
| |
* H. Peter Anvin <hpa@zytor.com> 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
| ![\](/images/icornerr.gif) |