Re: [PATCH] atm: ambassador: remove h from printk format specifier

From: Jakub Kicinski
Date: Fri Dec 18 2020 - 13:03:49 EST


On Thu, 17 Dec 2020 14:03:07 -0800 Tom Rix wrote:
> On 12/17/20 9:28 AM, Jakub Kicinski wrote:
> > On Thu, 17 Dec 2020 05:17:24 -0800 Tom Rix wrote:
> >> On 12/16/20 4:45 PM, Jakub Kicinski wrote:
> >>> On Tue, 15 Dec 2020 06:22:28 -0800 trix@xxxxxxxxxx wrote:
> >>>> From: Tom Rix <trix@xxxxxxxxxx>
> >>>>
> >>>> See Documentation/core-api/printk-formats.rst.
> >>>> h should no longer be used in the format specifier for printk.
> >>>>
> >>>> Signed-off-by: Tom Rix <trix@xxxxxxxxxx>
> >>> That's for new code I assume?
> >>>
> >>> What's the harm in leaving this ancient code be?
> >> This change is part of a tree wide cleanup.
> > What's the purpose of the "clean up"? Why is it making the code better?
> >
> > This is a quote from your change:
> >
> > - PRINTK (KERN_NOTICE, "debug bitmap is %hx", debug &= DBG_MASK);
> > + PRINTK (KERN_NOTICE, "debug bitmap is %x", debug &= DBG_MASK);
> >
> > Are you sure that the use of %hx is the worst part of that line?
>
> In this case, it means this bit of code is compliant with the %h checker in checkpatch.
>
> why you are seeing this change for %hx and not the horrible debug &= or the old PRINTK macro is because the change was mechanical.
>
> leveraging the clang build and a special fixit for %h, an allyesconfig for x86_64 cleans this problem from most of the tree in about an hour.  atm/ was just one of the places it hit, there are about 100 more.
>
> If you want the debug &= fixed, i can do that.

No, the opposite of that. I would like to see fewer patches touching
prehistoric code for little to no gain :(

> The macro is a treewide problem and i can add that to the treewide cleanups i am planning.