Re: [mtd:mtd/next 10/11] drivers/mtd/mtdoops.c:244:39: warning: format specifies type 'long' but the argument has type 'unsigned int'

From: Miquel Raynal
Date: Mon Apr 25 2022 - 04:18:31 EST


Hi Jean-Marc,

jmeurin@xxxxxxxxxx wrote on Fri, 22 Apr 2022 12:10:13 -0700:

> Hi Miquel,
>
> On Fri, Apr 22, 2022 at 2:17 AM Miquel Raynal <miquel.raynal@xxxxxxxxxxx> wrote:
> >
> > Hi Jean-Marc,
> >
> > jmeurin@xxxxxxxxxx wrote on Thu, 21 Apr 2022 15:22:26 -0700:
> >
> > > On Thu, Apr 21, 2022 at 6:48 AM Miquel Raynal <miquel.raynal@xxxxxxxxxxx> wrote:
> > > >
> > > > Hi Jean-Marc,
> > > >
> > > > lkp@xxxxxxxxx wrote on Thu, 21 Apr 2022 21:22:47 +0800:
> > > >
> > > > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/next
> > > > > head: f812679fab605b3d5b853ed24a81dabb222ea23a
> > > > > commit: 0629fcef16d703d384f76cb2c2c3a119a9149a34 [10/11] mtd: mtdoops: Create a header structure for the saved mtdoops.
> > > > > config: hexagon-randconfig-r045-20220420 (https://download.01.org/0day-ci/archive/20220421/202204212106.9R1ylUB7-lkp@xxxxxxxxx/config)
> > > > > compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project bac6cd5bf85669e3376610cfc4c4f9ca015e7b9b)
> > > > > reproduce (this is a W=1 build):
> > > > > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> > > > > chmod +x ~/bin/make.cross
> > > > > # https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git/commit/?id=0629fcef16d703d384f76cb2c2c3a119a9149a34
> > > > > git remote add mtd https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git
> > > > > git fetch --no-tags mtd mtd/next
> > > > > git checkout 0629fcef16d703d384f76cb2c2c3a119a9149a34
> > > > > # save the config file
> > > > > mkdir build_dir && cp config build_dir/.config
> > > > > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/mtd/
> > > > >
> > > > > If you fix the issue, kindly add following tag as appropriate
> > > > > Reported-by: kernel test robot <lkp@xxxxxxxxx>
> > > > >
> > > > > All warnings (new ones prefixed by >>):
> > > > >
> > > > > >> drivers/mtd/mtdoops.c:244:39: warning: format specifies type 'long' but the argument has type 'unsigned int' [-Wformat]
> > > > > page * record_size, retlen, sizeof(hdr), ret);
> > > > > ^~~~~~~~~~~
> > > > > include/linux/printk.h:446:60: note: expanded from macro 'printk'
> > > > > #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__)
> > > > > ~~~ ^~~~~~~~~~~
> > > > > include/linux/printk.h:418:19: note: expanded from macro 'printk_index_wrap'
> > > > > _p_func(_fmt, ##__VA_ARGS__); \
> > > > > ~~~~ ^~~~~~~~~~~
> > > > > 1 warning generated.
> > > >
> > > > I've dropped the series for now. Please have a look at the reports and
> > > > propose a new version when this is fixed?
> > >
> > > Sorry about that, I had made that change based on this suggestion
> > > https://lore.kernel.org/all/202203310648.it4f2xXD-lkp@xxxxxxxxx/ :-)
> >
> > Did you verify with
> >
> > > > > # save the config file
> > > > > mkdir build_dir && cp config build_dir/.config
> > > > > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/mtd/
> >
> > That the errors were actually gone? You seem to suggest that you didn't
> > :)
>
> I did run it. I believe the issue is because the field is a size_t so
> when building 64 bits like the first bot on v2, the %ld suggestion
> compiled but then it failed the hexagon build (which I'm guessing is
> 32 bit). Using %zu in v4 builds both versions (ARCH=x86_64 and
> hexagon). I should have double checked the bot suggestion and noticed
> this was a sizeof / size_t field, sorry about that.

No problem at all, it often happens to me as well.

Thanks,
Miquèl