On Wed, Oct 24, 2018 at 1:37 AM Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> wrote: > > On Mon, 22 Oct 2018, ndesaulniers@xxxxxxxxxx wrote: > > Fixes the warning reported by Clang: > > security/keys/trusted.c:146:17: warning: passing an object that > > undergoes default > > argument promotion to 'va_start' has undefined behavior [-Wvarargs] > > va_start(argp, h3); > > ^ > > security/keys/trusted.c:126:37: note: parameter of type 'unsigned > > char' is declared here > > unsigned char *h2, unsigned char h3, ...) > > ^ > > Specifically, it seems that both the C90 (4.8.1.1) and C11 (7.16.1.4) > > standards explicitly call this out as undefined behavior: > > > > The parameter parmN is the identifier of the rightmost parameter in > > the variable parameter list in the function definition (the one just > > before the ...). If the parameter parmN is declared with ... or with a > > type that is not compatible with the type that results after > > application of the default argument promotions, the behavior is > > undefined. > > > > Link: https://github.com/ClangBuiltLinux/linux/issues/41 > > Link: https://www.eskimo.com/~scs/cclass/int/sx11c.html > > Suggested-by: David Laight <David.Laight@xxxxxxxxxx> > > Suggested-by: Denis Kenzior <denkenz@xxxxxxxxx> > > Suggested-by: James Bottomley <jejb@xxxxxxxxxxxxxxxxxx> > > Suggested-by: Nathan Chancellor <natechancellor@xxxxxxxxx> > > Signed-off-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> > > Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> > > /Jarkko Bumping the maintainers if this isn't already picked up? -- Thanks, ~Nick Desaulniers