public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* printk format "%4.4s"
@ 2007-09-17  0:57 shinkoi2005a
  2007-09-17  8:16 ` Benny Halevy
  0 siblings, 1 reply; 2+ messages in thread
From: shinkoi2005a @ 2007-09-17  0:57 UTC (permalink / raw)
  To: linux-kernel

Hi, all

I have a question about printk format.

Can printk format use "%4.4s"?
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..

##############
$ 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)
##############


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: printk format "%4.4s"
  2007-09-17  0:57 printk format "%4.4s" shinkoi2005a
@ 2007-09-17  8:16 ` Benny Halevy
  0 siblings, 0 replies; 2+ messages in thread
From: Benny Halevy @ 2007-09-17  8:16 UTC (permalink / raw)
  To: shinkoi2005a; +Cc: linux-kernel

On Sep 17, 2007, 2:57 +0200, shinkoi2005a <shinkoi2005a@gmail.com> 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@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-09-17  8:16 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-17  0:57 printk format "%4.4s" shinkoi2005a
2007-09-17  8:16 ` Benny Halevy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox