Re: [PATCH 4.19 105/116] bpf: Explicitly memset the bpf_attr structure

From: Pavel Machek
Date: Thu Apr 02 2020 - 15:53:28 EST


Hi!

> > Should we fix gcc, instead?
>
> Also, this is allowed in the C standard, and both clang and gcc
> sometimes emit code that does not clear padding in structures. Changing
> the compiler to not do this would be wonderful, but we still have to
> live with this for the next 10 years as those older compilers age-out.

I agree C standard allows this. It allows to even worse stuff.

I was just surprised that gcc does that.. and that I did not know
about this trap. I was probably telling people to do = {} for
structure init...

Should we get "= {}" warning for checkpatch?

Is it fair to replace "= {}" with memset() as soon as it is returned
to userland, without testing that gcc "miscompiles" this particular
example?

Best regards,
Pavel
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

Attachment: signature.asc
Description: PGP signature