Re: printk format "%4.4s"

From: Benny Halevy
Date: Mon Sep 17 2007 - 04:16:57 EST


On Sep 17, 2007, 2:57 +0200, shinkoi2005a <shinkoi2005a@xxxxxxxxx> wrote:
> Hi, all
>
> I have a question about printk format.
>
> Can printk format use "%4.4s"?

Yes it can.
The precision part of the format determines the max number
of characters to copy from the string.
The 4 byte signature array might not null terminated
so you must use the .4 in the format otherwise vsnprintf
might look over the buffer for the terminating '\0'.

> This format is used following source.
>
> #############
> drivers/acpi/tables/tbinstal.c
> ACPI_ERROR((AE_INFO,
> "Table has invalid signature [%4.4s], must be SSDT, PSDT or OEMx",
> table_desc->pointer->signature));
>
> ##############
> At least, my dmesg is buggy output like that..

Hmm, looks like you should believe the error messages
rather than blaming the code for buggy output ;-)

Like it says, the table seems corrupt, has invalid signature
and checksum.

>
> ##############
> $ dmesg
> (snip)
> ACPI Warning (tbutils-0158): Incorrect checksum in table [ ^E礑 - 00, should b
> e F6 [20070126]
> ACPI Error (tbinstal-0134): Table has invalid signature [ ^E礑, must be SSDT, P
> SDT or OEMx [20070126]
> (snip)
> ##############
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/