On Fri, 2020-11-06 at 23:55 -0800, Nick Desaulniers wrote: > Clang is more aggressive about -Wformat warnings when the format flag > specifies a type smaller than the parameter. Fixes 8 instances of: > > warning: format specifies type 'unsigned short' but the argument has > type 'int' [-Wformat] Likely clang's -Wformat message is still bogus. Wasn't that going to be fixed? Integer promotions are already done on these types to int anyway. Didn't we have this discussion last year? https://lore.kernel.org/lkml/CAKwvOd=mqzj2pAZEUsW-M_62xn4pijpCJmP=B1h_-wEb0NeZsA@xxxxxxxxxxxxxx/ https://lore.kernel.org/lkml/CAHk-=wgoxnmsj8GEVFJSvTwdnWm8wVJthefNk2n6+4TC=20e0Q@xxxxxxxxxxxxxx/ https://lore.kernel.org/lkml/a68114afb134b8633905f5a25ae7c4e6799ce8f1.camel@xxxxxxxxxxx/ Look at commit cbacb5ab0aa0 ("docs: printk-formats: Stop encouraging use of unnecessary %h[xudi] and %hh[xudi]") The "h" and "hh" things should never be used. The only reason for them being used if if you have an "int", but you want to print it out as a "char" (and honestly, that is a really bad reason, you'd be better off just using a proper cast to make the code more obvious). So if what you have a "char" (or unsigned char) you should always just print it out as an "int", knowing that the compiler already did the proper type conversion. > diff --git a/net/netfilter/nf_conntrack_standalone.c b/net/netfilter/nf_conntrack_standalone.c [] > @@ -50,38 +50,38 @@ print_tuple(struct seq_file *s, const struct nf_conntrack_tuple *tuple, > > > switch (l4proto->l4proto) { > case IPPROTO_ICMP: > - seq_printf(s, "type=%u code=%u id=%u ", > + seq_printf(s, "type=%u code=%u id=%hu ", etc...