[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <05e851b2-a569-4311-b95b-e1ac94d4db5c@oracle.com>
Date: Tue, 22 Jul 2025 10:07:06 -0400
From: Chuck Lever <chuck.lever@...cle.com>
To: Christoph Hellwig <hch@...radead.org>,
Sergey Bashirov <sergeybashirov@...il.com>
Cc: Jeff Layton <jlayton@...nel.org>, NeilBrown <neil@...wn.name>,
Olga Kornievskaia <okorniev@...hat.com>, Dai Ngo <Dai.Ngo@...cle.com>,
Tom Talpey <tom@...pey.com>, linux-nfs@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] NFSD: Rework encoding and decoding of nfsd4_deviceid
On 7/22/25 1:36 AM, Christoph Hellwig wrote:
> On Mon, Jul 21, 2025 at 05:48:55PM +0300, Sergey Bashirov wrote:
>> Compilers may optimize the layout of C structures,
>
> By interpreting the standard in the most hostile way: yes.
> In practice: no.
Earnest question: Is NFSD/XDR properly insulated against the "randomize
structure layout" option?
> Just about every file system on-disk format and every network wire
> protocol depends on the compiler not "optimizing" properly padded
> C structures.
It's an intrinsic assumption that is not documented in the code or
anywhere else. IMO that is a latent banana peel.
While not urgent, this is a defensive change and it improves code
portability amongst compilers and languages (eg, Rust).
--
Chuck Lever
Powered by blists - more mailing lists