Messages in this thread | | | Date | Sun, 28 Jun 2009 13:56:37 +0400 | From | Evgeniy Polyakov <> | Subject | Re: [PATCH] headers_check fix: linux/netfilter/xt_osf.h |
| |
On Sun, Jun 28, 2009 at 12:00:07AM +0200, Sam Ravnborg (sam@ravnborg.org) wrote: > What about the other potential issues in the same file? > struct xt_osf_opt { > __u16 kind, length; > struct xt_osf_wc wc; > }; > > Do we know that struct xt_osf_wc is always aligned at a two byte > address also on 64 bit?
Why 2 bytes? It is 4 bytes aligned everywhere everytime.
> Do we know that sizeof(struct xt_osf_opt) is the same > on all platforms?
Yes.
> struct xt_osf_user_finger { > struct xt_osf_wc wss; > > __u8 ttl, df; > __u16 ss, mss; > __u16 opt_num; > > char genre[MAXGENRELEN]; > char version[MAXGENRELEN]; > char subtype[MAXGENRELEN]; > > /* MAX_IPOPTLEN is maximum if all options are NOPs or EOLs */ > struct xt_osf_opt opt[MAX_IPOPTLEN]; > }; > > Do we know that opt[MAX_IPOPTLEN] always start at the same offset > with different architectures?
Yes.
> struct xt_osf_nlmsg { > struct xt_osf_user_finger f; > struct iphdr ip; > struct tcphdr tcp; > }; > > We do not knwo struct iphdr/tcphdr - missing include. > Do we know the alignment of the above structs? > Are they always the same on all archs?
You won't believe...
-- Evgeniy Polyakov
| |