Re: [PATCH] x86: split e820 reserved entries record to late v4 -fix v7

From: H. Peter Anvin
Date: Mon Oct 13 2008 - 17:15:30 EST


This is a multi-part message in MIME format.Tony Luck wrote:
On Thu, Sep 4, 2008 at 12:22 PM, Yinghai Lu <yhlu.kernel@xxxxxxxxx> wrote:
On Thu, Sep 4, 2008 at 12:16 PM, Andrew Morton
<akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
On Thu, 4 Sep 2008 21:04:57 +0200
Ingo Molnar <mingo@xxxxxxx> wrote:

+ printk(KERN_DEBUG " __reserve_region_with_split: (%s) [%llx, %llx], res: (%s) [%llx, %llx]\n",
+ conflict->name, conflict->start, conflict->end,
+ name, start, end);
start and end have type resource_size_t. Such types CANNOT be printed
unless cast to a known type.

Because there is a %s following an incorrect %lld, the above code will
crash the machine.
should just remove those lines.

This didn't happen. These lines are still in the version that went into
Linus' tree over the weekend for 2.6.28. On the ia64 build they spit
out a bunch of warnings:

kernel/resource.c:554: warning: format '%llx' expects type 'long long
unsigned int', but argument 3 has type 'resource_size_t'

Ditto for args 4, 6 and 7 on the same line.


Here is a fix... currently running standard tests on it.

-hpa