On Tue, May 08, 2007 at 11:45:47AM -0700, H. Peter Anvin wrote: > Alexander van Heukelum wrote: > > > > Oh! A padding hole in a struct! That could be a problem. If the freeze > > is after decompression, could you test if this makes it work again? > > > > The correct fix is to apply __attribute__((packed)) to this structure.
Yeah, I thought about that possibility too, but the struct didn't need that (in my opinion ugly) annotation before. Oh well, here you go. Greetings, Alexander --- Commit 89ec4c238e7a3d7e660291f3f1a8181381baad77 introduced a discrepancy between the struct screen_info which is used by the C code, and the PARAM_* offsets which are used in the real-mode kernel. As hpa suggests, adding __attribute__((packed)) to the struct fixes it. Signed-off-by: Alexander van Heukelum <[EMAIL PROTECTED]> --- diff --git a/include/linux/screen_info.h b/include/linux/screen_info.h index b02308e..4a7c24b 100644 --- a/include/linux/screen_info.h +++ b/include/linux/screen_info.h @@ -44,7 +44,7 @@ struct screen_info { u32 capabilities; /* 0x36 */ /* 0x3a -- 0x3b reserved for future expansion */ /* 0x3c -- 0x3f micro stack for relocatable kernels */ -}; +} __attribute__((packed)); extern struct screen_info screen_info; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/