lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110919061059.GJ2203@ZenIV.linux.org.uk>
Date:	Mon, 19 Sep 2011 07:10:59 +0100
From:	Al Viro <viro@...IV.linux.org.uk>
To:	Ian Kent <raven@...maw.net>
Cc:	Thomas Meyer <thomas@...3r.de>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	dhowells@...hat.com
Subject: Re: [PATCH] Force same size of struct autofs_v5_packet on x86 and
 x86_64

On Mon, Sep 19, 2011 at 11:52:48AM +0800, Ian Kent wrote:

> > btw. where are the padding bytes are added? how to tell gcc to display
> > this?
> 
> It's also been a long time since I looked into this so I don't remember
> the processor alignment details.
> 
> Not sure if there is a compiler option that would report this, sorry,
> anyone else?

Padding is added in the very end.  The thing is, it's not a misaligned
field per se; they all have a natural alignment in there.  It's that
__u64 ino has alignment 8 on amd64 and alignment 4 on i386.  So the alignment
requirements for the entire structure are different - on amd64 the address
of the entire thing must be a multiple of 8 and on i386 it can be any multiple
of 4.  IOW, on i386 you can just put them one after another in e.g. an array
(the size without any padding is 300 bytes) and on amd64 you need 4 bytes
of padding added between them.  I.e. sizeof needs to go up by 4, with the
padding added in the end.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ