Re: printk issue - bug?

From: Roland Dreier
Date: Sat Mar 07 2009 - 18:52:38 EST


> printk("PAGE_SIZE is 0x%X\n", PAGE_SIZE);
> printk("Offset is 0x%X, PAGE_SIZE is 0x%X, readlen is 0x%X\n", offset,
> PAGE_SIZE, readlen)
>
> Output is:
>
> [ 162.603348] PAGE_SIZE is 0x1000
> [ 162.607473] Offset is 0x0, PAGE_SIZE is 0x0, readlen is 0x1000
>
> ie PAGE_SIZE is incorrectly reported in the second printk (these are
> consecutive lines of code)
>
> offset is loff_t and readlen is unsigned long.

ie offset is a 64-bit type but the printk format for it is %x, which
presumably only consumes 32 bits on SH4? Seems like your code is buggy
and you ignored a compiler warning about printk format mismatch?

- R.
--
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/