Re: oops while booting with recent git kernel

From: Yinghai Lu
Date: Fri Oct 24 2008 - 20:19:29 EST


On Fri, Oct 24, 2008 at 3:29 PM, Rafael J. Wysocki <rjw@xxxxxxx> wrote:
> On Tuesday, 14 of October 2008, Vegard Nossum wrote:
>> On Sun, Oct 12, 2008 at 12:27 PM, Arkadiusz Miskiewicz
>> <a.miskiewicz@xxxxxxxxx> wrote:
>> >
>> > Not sure if it's worth to report this before all initial merges happen but
>> > here it is anyway.
>> >
>> > git kernel with latest commit:
>> > commit fd048088306656824958e7783ffcee27e241b361
>> > Date: Sat Oct 11 13:23:48 2008 -0700
>> >
>> > booted on thinkpad z60m results with such oops:
>> > http://carme.pld-linux.org/~arekm/img_2325_small.png
>> >
>> > Config used:
>> > http://carme.pld-linux.org/~arekm/img_2325_small.config
>>
>> Thanks for the report.
>>
>> It seems to be an instance of this (known bad) code:
>> http://lkml.org/lkml/2008/9/4/386
>>
>> So hopefully it will be fixed soon.
>
> Has it been fixed, actually?

should be fixed by in upstream.. already

commit 1cf44baad76b6f20f95ece397c6f643320aa44c9
Author: Ingo Molnar <mingo@xxxxxxx>
Date: Thu Sep 4 21:26:06 2008 +0200

IO resources: fix/remove printk

Andrew Morton noticed that the printk in kernel/resource.c was buggy:

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

... and it's probably quite unneeded as well, so remove it.

Reported-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

diff --git a/kernel/resource.c b/kernel/resource.c
index 414d6fc..fc59dcc 100644
--- a/kernel/resource.c
+++ b/kernel/resource.c
@@ -549,13 +549,9 @@ static void __init
__reserve_region_with_split(struct resource *root,
}

if (!res) {
- printk(KERN_DEBUG " __reserve_region_with_split:
(%s) [%llx, %llx], res: (%s) [%llx, %llx]\n",
- conflict->name, conflict->start, conflict->end,
- name, start, end);
-
/* failed, split and try again */

- /* conflict coverred whole area */
+ /* conflict covered whole area */
if (conflict->start <= start && conflict->end >= end)
return;


Reported-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

diff --git a/kernel/resource.c b/kernel/resource.c
index 414d6fc..fc59dcc 100644
--- a/kernel/resource.c
+++ b/kernel/resource.c
@@ -549,13 +549,9 @@ static void __init
__reserve_region_with_split(struct resource *root,
}

if (!res) {
- printk(KERN_DEBUG " __reserve_region_with_split:
(%s) [%llx, %llx], res: (%s) [%llx, %llx]\n",
- conflict->name, conflict->start, conflict->end,
- name, start, end);
-
/* failed, split and try again */

- /* conflict coverred whole area */
+ /* conflict covered whole area */
if (conflict->start <= start && conflict->end >= end)
return;
--
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/