lkml.org 
[lkml]   [2018]   [May]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH] doc: botching-up-ioctls: Make it clearer why structs must be padded
Date
Daniel Vetter <daniel.vetter@ffwll.ch> writes:

> This came up in discussions when reviewing drm patches.
>
> Cc: Eric Anholt <eric@anholt.net>
> Cc: linux-doc@vger.kernel.org
> Cc: Jonathan Corbet <corbet@lwn.net>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
>
> --
>
> Aside: I wonder whether we shouldn't move this to some other place and
> rst-ify it? Any good suggestions?
> -Daniel
> ---
> Documentation/ioctl/botching-up-ioctls.txt | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/ioctl/botching-up-ioctls.txt b/Documentation/ioctl/botching-up-ioctls.txt
> index d02cfb48901c..883fb034bd04 100644
> --- a/Documentation/ioctl/botching-up-ioctls.txt
> +++ b/Documentation/ioctl/botching-up-ioctls.txt
> @@ -73,7 +73,9 @@ will have a second iteration or at least an extension for any given interface.
> future extensions is going right down the gutters since someone will submit
> an ioctl struct with random stack garbage in the yet unused parts. Which
> then bakes in the ABI that those fields can never be used for anything else
> - but garbage.
> + but garbage. This is also the reason why you must explicitly pad all
> + structures, even if you never use them in an array - the padding the compiler
> + might insert could contain garbage.

I hadn't realized that we had this document in git, or I probably would
have written this patch. I think this makes it clear enough how I got
vc4 and v3d wrong. Thanks!

Reviewed-by: Eric Anholt <eric@anholt.net>
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2018-05-02 18:57    [W:1.642 / U:0.860 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site