On Mon, Mar 22, 2021 at 4:55 AM Arnd Bergmann <a...@kernel.org> wrote: > > From: Arnd Bergmann <a...@arndb.de> > > Clang doesn't like format strings that truncate a 32-bit > value to something shorter: > > kernel/locking/lockdep.c:709:4: error: format specifies type 'short' but the > argument has type 'int' [-Werror,-Wformat] > > In this case, the warning is a slightly questionable, as it could realize > that both class->wait_type_outer and class->wait_type_inner are in fact > 8-bit struct members, even though the result of the ?: operator becomes an > 'int'. > > However, there is really no point in printing the number as a 16-bit > 'short' rather than either an 8-bit or 32-bit number, so just change > it to a normal %d.
Thanks for the patch! Reviewed-by: Nick Desaulniers <ndesaulni...@google.com> > > Fixes: de8f5e4f2dc1 ("lockdep: Introduce wait-type checks") > Signed-off-by: Arnd Bergmann <a...@arndb.de> > --- > kernel/locking/lockdep.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c > index 70bf3e48eae3..bb3b0bc6ee17 100644 > --- a/kernel/locking/lockdep.c > +++ b/kernel/locking/lockdep.c > @@ -705,7 +705,7 @@ static void print_lock_name(struct lock_class *class) > > printk(KERN_CONT " ("); > __print_lock_name(class); > - printk(KERN_CONT "){%s}-{%hd:%hd}", usage, > + printk(KERN_CONT "){%s}-{%d:%d}", usage, > class->wait_type_outer ?: class->wait_type_inner, > class->wait_type_inner); > } > -- > 2.29.2 > -- Thanks, ~Nick Desaulniers