Re: [PATCH] issei: Fix size_t printk specifier in heci_{write,read}_buf()
From: Nathan Chancellor
Date: Tue Jul 28 2026 - 17:50:51 EST
On Tue, Jul 28, 2026 at 02:43:37PM +0200, Manuel Ebner wrote:
> On Tue, 2026-07-21 at 14:32 -0700, Nathan Chancellor wrote:
> > When building for 32-bit platforms, for which 'size_t' is
> > 'unsigned int', there are a couple of warnings around incorrect printk
> > specifiers:
> >
> > In file included from drivers/misc/issei/hw_heci.c:7:
> > drivers/misc/issei/hw_heci.c: In function 'heci_write_hbuf':
> > drivers/misc/issei/hw_heci.c:374:37: error: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Werror=format=]
> > 374 | dev_err(&idev->dev, "Data size %zu not aligned to slot size %lu\n",
> > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > ...
> > drivers/misc/issei/hw_heci.c:374:79: note: format string is defined here
> > 374 | dev_err(&idev->dev, "Data size %zu not aligned to slot size %lu\n",
> > | ~~^
> > | |
> > | long unsigned int
> > | %u
> > drivers/misc/issei/hw_heci.c: In function 'heci_read_hbuf':
> > drivers/misc/issei/hw_heci.c:404:37: error: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'unsigned int' [-Werror=format=]
> > 404 | dev_err(&idev->dev, "Data size %zu not aligned to slot size %lu\n",
> > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > ...
> > drivers/misc/issei/hw_heci.c:404:79: note: format string is defined here
> > 404 | dev_err(&idev->dev, "Data size %zu not aligned to slot size %lu\n",
> > | ~~^
> > | |
> > | long unsigned int
> > | %u
> > cc1: all warnings being treated as errors
>
> I had the same errors and eight notes:
>
> In file included from drivers/misc/issei/hw_heci.c:7:
> drivers/misc/issei/hw_heci.c: In function ‘heci_write_hbuf’:
> drivers/misc/issei/hw_heci.c:374:37: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘unsigned int’ [-Werror=format=]
> 374 | dev_err(&idev->dev, "Data size %zu not aligned to slot size %lu\n",
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ./include/linux/dev_printk.h:110:30: note: in definition of macro ‘dev_printk_index_wrap’
> 110 | _p_func(dev, fmt, ##__VA_ARGS__); \
> | ^~~
> ./include/linux/dev_printk.h:154:56: note: in expansion of macro ‘dev_fmt’
> 154 | dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
> | ^~~~~~~
> drivers/misc/issei/hw_heci.c:374:17: note: in expansion of macro ‘dev_err’
> 374 | dev_err(&idev->dev, "Data size %zu not aligned to slot size %lu\n",
> | ^~~~~~~
> drivers/misc/issei/hw_heci.c:374:79: note: format string is defined here
> 374 | dev_err(&idev->dev, "Data size %zu not aligned to slot size %lu\n",
> | ~~^
> | |
> | long unsigned int
> | %u
> drivers/misc/issei/hw_heci.c: In function ‘heci_read_hbuf’:
> drivers/misc/issei/hw_heci.c:404:37: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘unsigned int’ [-Werror=format=]
> 404 | dev_err(&idev->dev, "Data size %zu not aligned to slot size %lu\n",
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ./include/linux/dev_printk.h:110:30: note: in definition of macro ‘dev_printk_index_wrap’
> 110 | _p_func(dev, fmt, ##__VA_ARGS__); \
> | ^~~
> ./include/linux/dev_printk.h:154:56: note: in expansion of macro ‘dev_fmt’
> 154 | dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
> | ^~~~~~~
> drivers/misc/issei/hw_heci.c:404:17: note: in expansion of macro ‘dev_err’
> 404 | dev_err(&idev->dev, "Data size %zu not aligned to slot size %lu\n",
> | ^~~~~~~
> drivers/misc/issei/hw_heci.c:404:79: note: format string is defined here
> 404 | dev_err(&idev->dev, "Data size %zu not aligned to slot size %lu\n",
> | ~~^
> | |
> | long unsigned int
> | %u
> cc1: all warnings being treated as errors
>
> Can the notes be improved? If so please advice.
I manually trimmed the notes in the commit message because I think they
are mostly noise, hence the '...'.
Thanks for the review!
--
Cheers,
Nathan