[PATCH v1] acpi_table: Fix coverity defect in acpi_write_spcr
Patrick Rudolph
patrick.rudolph at 9elements.com
Wed Oct 30 11:15:01 CET 2024
Hi Tom,
On Tue, Oct 29, 2024 at 3:53 AM Tom Rini <trini at konsulko.com> wrote:
>
> On Mon, Oct 28, 2024 at 05:27:14PM -0600, Tom Rini wrote:
> > On Mon, 28 Oct 2024 09:08:35 +0100, Patrick Rudolph wrote:
> >
> > > Fix "Integer handling issues (SIGN_EXTENSION)" in newly added code:
> > > Cast serial_info.reg_offset to u64 to prevent an integer overflow when
> > > shifted too many bits to the left. Currently this never happens as the
> > > shift is supposed to be less than 4.
> >
> > Applied to u-boot/master, thanks!
>
> "I'll just bend my rules and apply this before release, it'll be fine" I
> said to myself. But:
> sandbox: + sandbox
> +(sandbox) In file included from include/linux/printk.h:4,
> +(sandbox) from include/linux/kernel.h:5,
> +(sandbox) from include/linux/libfdt_env.h:13,
> +(sandbox) from include/linux/libfdt.h:6,
> +(sandbox) from include/fdtdec.h:17,
> +(sandbox) from include/dm/ofnode.h:11,
> +(sandbox) from include/dm/device.h:13,
> +(sandbox) from include/dm.h:13,
> +(sandbox) from lib/acpi/acpi_table.c:10:
> +(sandbox) lib/acpi/acpi_table.c: In function ‘acpi_write_spcr’:
> +(sandbox) lib/acpi/acpi_table.c:498:15: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 8 has type ‘u64’ {aka ‘long long unsigned int’} [-Werror=format=]
> +(sandbox) 498 | debug("UART type %u @ %lx\n", spcr->interface_type, serial_address);
> +(sandbox) | ^~~~~~~~~~~~~~~~~~~~~~
> +(sandbox) include/log.h:159:21: note: in definition of macro ‘pr_fmt’
> +(sandbox) 159 | #define pr_fmt(fmt) fmt
> +(sandbox) | ^~~
> +(sandbox) include/log.h:260:17: note: in expansion of macro ‘log’
> +(sandbox) 260 | log(LOG_CATEGORY, \
> +(sandbox) | ^~~
> +(sandbox) include/log.h:282:9: note: in expansion of macro ‘debug_cond’
> +(sandbox) 282 | debug_cond(_DEBUG, fmt, ##args)
> +(sandbox) | ^~~~~~~~~~
> +(sandbox) lib/acpi/acpi_table.c:498:9: note: in expansion of macro ‘debug’
> +(sandbox) | ^~~~~
> +(sandbox) lib/acpi/acpi_table.c:498:33: note: format string is defined here
> +(sandbox) | ~~^
> +(sandbox) | |
> +(sandbox) | long unsigned int
> +(sandbox) | %llx
> +(sandbox) cc1: all warnings being treated as errors
> +(sandbox) make[3]: *** [scripts/Makefile.build:256: lib/acpi/acpi_table.o] Error 1
> +(sandbox) make[2]: *** [scripts/Makefile.build:398: lib/acpi] Error 2
> +(sandbox) make[1]: *** [Makefile:1914: lib] Error 2
> +(sandbox) make: *** [Makefile:177: sub-make] Error 2
>
Appologies, I only build tested it on a single board.
Will send an updated version.
> And most other platforms too. I'm reverting this for now, and if someone
> is packaging v2025.01-rc1 too, just do that too. Sorry.
>
> --
> Tom
More information about the U-Boot
mailing list