[coreboot] [PATCH] Check the printk format string against the arguments
Uwe Hermann
uwe at hermann-uwe.de
Tue Jan 6 01:03:41 CET 2009
On Mon, Jan 05, 2009 at 02:03:04PM +0100, Carl-Daniel Hailfinger wrote:
> Check the printk format string against the matching arguments. We have
> this type of checking in the v3 code since ages, but v2 will happily
> compile any code with bogus printk format strings and/or parameters.
> This can cause real bugs and at least needs to emit a warning, if not an
> error. Go with a warning for now since most of the flagged format
> strings are wrong but harmless in a 32-bit x86 environment.
[...]
> Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>
If this is abuild-tested, it's:
Acked-by: Uwe Hermann <uwe at hermann-uwe.de>
(Please make sure we don't get some romcc compile trouble because of
the __attribute__)
> Index: LinuxBIOSv2-printk_format/src/include/console/console.h
> ===================================================================
> --- LinuxBIOSv2-printk_format/src/include/console/console.h (Revision 3845)
> +++ LinuxBIOSv2-printk_format/src/include/console/console.h (Arbeitskopie)
> @@ -27,7 +27,7 @@
> extern struct console_driver econsole_drivers[];
>
> extern int console_loglevel;
> -int do_printk(int msg_level, const char *fmt, ...);
> +int do_printk(int msg_level, const char *fmt, ...) __attribute__((format(printf, 2, 3)));
>
> #define printk_emerg(fmt, arg...) do_printk(BIOS_EMERG ,fmt, ##arg)
> #define printk_alert(fmt, arg...) do_printk(BIOS_ALERT ,fmt, ##arg)
Uwe.
--
http://www.hermann-uwe.de | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
More information about the coreboot
mailing list