[Tux3] [PATCH 03/10] Fix ileaf aligment
Daniel Phillips
phillips at phunq.net
Fri Oct 17 02:50:07 PDT 2008
On Friday 17 October 2008 02:43, OGAWA Hirofumi wrote:
>
> On 64bit cpus, there is hole here.
>
> ---
>
> user/test/ileaf.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff -puN user/test/ileaf.c~ileaf-aligment-fix user/test/ileaf.c
> --- tux3/user/test/ileaf.c~ileaf-aligment-fix 2008-10-16 01:20:42.000000000 +0900
> +++ tux3-hirofumi/user/test/ileaf.c 2008-10-16 01:20:42.000000000 +0900
> @@ -18,7 +18,7 @@
> #define iattr_included_from_ileaf
> #include "iattr.c"
>
> -struct ileaf { u16 magic, count; inum_t ibase; char table[]; };
> +struct ileaf { u16 magic, count; u32 pad; inum_t ibase; char table[]; };
>
> /*
> * inode leaf format
Good catch. A better way to fix this is using gcc attribute packed,
which is done by the Tux3 macro PACKED:
struct ileaf { u16 magic, count; inum_t ibase; char table[]; } PACKED;
We need to check all structs used for on-disk layout and make sure they
are all declared packed.
Regards,
Daniel
_______________________________________________
Tux3 mailing list
Tux3 at tux3.org
http://tux3.org/cgi-bin/mailman/listinfo/tux3
More information about the Tux3
mailing list