Re: [PATCH v2] statx: optimize copy of struct statx to userspace

From: Eric Biggers
Date: Sat Mar 11 2017 - 23:10:57 EST


On Sun, Mar 12, 2017 at 02:29:27AM +0000, Al Viro wrote:
>
> Oh, I agree that multiple __put_user() are wrong; I also agree that bulk copy is
> the right approach (when we get the unsafe stuff right, we can revisit that, but
> I suspect that on quite a few architectures a bulk copy will still give better
> time, no matter what).
>
> > If padding is a concern at all (AFAICS it's not actually an issue now with
> > struct statx, but people tend to have different opinions on how careful they
> > want to be with padding), then I think we'll just have to start by memsetting
> > the whole struct to 0.
>
> My point is simply that it's worth a comment in that code.

Okay, thanks. I'll add a comment about the padding assumption, and I think I'll
take the suggestion to use a designated initializer. Then at least all *fields*
get initialized by default. And if in the future someone wants to conditionally
initialize fields, then they can use ?: or they can do it after the initializer.
Either way, at least they won't be able to forget to zero some field.

- Eric