Skip to contentSkip to conversation

fix address passing of unknown_bootoption

PATCH In review Michael Buesch 3 participants 6 messages Nov 7, 2004 – Nov 8, 2004

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 fix address passing of unknown_bootoption

Hi Andrew,

Addresses of functions are returned by their name without parantheses. Remove an & in main.c

Sorry for the attachment. My mailer is currently broken and corrupts diffs.

BTW:
I have two strange oopses. Can the additional & be the reason for the oopses? They look very strange to me, hmm.

Unable to handle kernel paging request at virtual address 00020800
 printing eip:
00020800
*pde = 00000000
Oops: 0000 [#1]
SMP 
Modules linked in: ipv6 ohci_hcd tuner tvaudio msp3400 bttv video_buf btcx_risc nvidia ehci_hcd uhci_hcd usbcore intel_agp agpgart evdev
CPU:    0
EIP:    0060:[<00020800>]    Tainted: P   VLI
EFLAGS: 00010296   (2.6.9-ck3-ac6-nozeroram) 

EIP is at 0x20800
eax: 00000001 ebx: b03e6000 ecx: 00000001 edx: 00000084
esi: 00099100 edi: b01020a7 ebp: 00459007 esp: b03e7fec
ds: 007b es: 007b ss: 0068
Process swapper (pid: 0, threadinfo=b03e6000 task=b034bac0)

Stack: b03e881c 000000d9 b03e8310 b04132a0 b0100211 
Call Trace:
 [<b03e881c>] start_kernel+0x139/0x152
 [<b03e8310>] unknown_bootoption+0x0/0x171
Code:  Bad EIP value.
 <0>Kernel panic - not syncing: Attempted to kill the idle task!


Unable to handle kernel paging request at virtual address 00099108
 printing eip:
b01020a7
*pde = 00000000
Oops: 0000 [#1]
SMP 
Modules linked in: nvidia ohci_hcd tuner tvaudio msp3400 bttv video_buf btcx_risc ehci_hcd uhci_hcd usbcore intel_agp agpgart evdev
CPU:    0
EIP:    0060:[<b01020a7>]    Tainted: P   VLI
EFLAGS: 00010292   (2.6.9-ck2-ac4-nozeroram) 

EIP is at cpu_idle+0x2e/0x3c
eax: 00000001 ebx: 00099100 ecx: 00000000 edx: 0000001d
esi: 00000000 edi: 00000008 ebp: 004f3007 esp: b0477fe8
ds: 007b es: 007b ss: 0068
Process swapper (pid: 0, threadinfo=b0476000 task=b03ccac0)

Stack: 00020800 b047881c 000000dd b0478310 b04a62a0 b0100211 
Call Trace:
 [<b047881c>] start_kernel+0x139/0x152
 [<b0478310>] unknown_bootoption+0x0/0x171
Code: e0 ff ff 21 e3 eb 24 8b 0d 80 56 4a b0 b8 1a 20 10 b0 8b 15 a0 e5 3c b0 85 c9 0f 44 c8 8b 43 10 c1 e0 07 89 90 04 ea 4a b0 ff d1 <8b> 43 08 a8 08 74 d5 e8 0d a9 26 00 eb f2 56 53 fb ba 00 e0 ff 
 <0>Kernel panic - not syncing: Attempted to kill the idle task!

Index: init/main.c
===================================================================
RCS file: /home/mb/develop/linux/rsync/linux-2.5/init/main.c,v retrieving revision 1.156

main.c +1 -1
diff -u -p -r1.156 main.c
@@ -506,7 +506,7 @@ asmlinkage void __init start_kernel(void
 	parse_early_param();
 	parse_args("Booting kernel", command_line, __start___param,
 		   __stop___param - __start___param,
-		   &unknown_bootoption);
+		   unknown_bootoption);
 	sort_main_extable();
 	trap_init();
 	rcu_init();
#1 lore raw
Quoted 5 lines · Michael Buesch

Hi Andrew,

Addresses of functions are returned by their name without parantheses. Remove an & in main.c

Using `&' in fornt of a function name when passing the function's address is unnecessary and is kinda dorky, but your patch shouldn't change generated code.

Quoted 38 lines
Unable to handle kernel paging request at virtual address 00020800
 printing eip:
00020800
*pde = 00000000
Oops: 0000 [#1]
SMP 
Modules linked in: ipv6 ohci_hcd tuner tvaudio msp3400 bttv video_buf btcx_risc nvidia ehci_hcd uhci_hcd usbcore intel_agp agpgart evdev
CPU:    0
EIP:    0060:[<00020800>]    Tainted: P   VLI
EFLAGS: 00010296   (2.6.9-ck3-ac6-nozeroram) 

EIP is at 0x20800
eax: 00000001 ebx: b03e6000 ecx: 00000001 edx: 00000084
esi: 00099100 edi: b01020a7 ebp: 00459007 esp: b03e7fec
ds: 007b es: 007b ss: 0068
Process swapper (pid: 0, threadinfo=b03e6000 task=b034bac0)

Stack: b03e881c 000000d9 b03e8310 b04132a0 b0100211 
Call Trace:
 [<b03e881c>] start_kernel+0x139/0x152
 [<b03e8310>] unknown_bootoption+0x0/0x171
Code:  Bad EIP value.
 <0>Kernel panic - not syncing: Attempted to kill the idle task!


Unable to handle kernel paging request at virtual address 00099108
 printing eip:
b01020a7
*pde = 00000000
Oops: 0000 [#1]
SMP 
Modules linked in: nvidia ohci_hcd tuner tvaudio msp3400 bttv video_buf btcx_risc ehci_hcd uhci_hcd usbcore intel_agp agpgart evdev
CPU:    0
EIP:    0060:[<b01020a7>]    Tainted: P   VLI
EFLAGS: 00010292   (2.6.9-ck2-ac4-nozeroram) 

EIP is at cpu_idle+0x2e/0x3c
eax: 00000001 ebx: 00099100 ecx: 00000000 edx: 0000001d
esi: 00000000 edi: 00000008 ebp: 004f3007 esp: b0477fe8
ds: 007b es: 007b ss: 0068
Process swapper (pid: 0, threadinfo=b0476000 task=b03ccac0)

Quoted 6 lines
Stack: 00020800 b047881c 000000dd b0478310 b04a62a0 b0100211 
Call Trace:
 [<b047881c>] start_kernel+0x139/0x152
 [<b0478310>] unknown_bootoption+0x0/0x171
Code: e0 ff ff 21 e3 eb 24 8b 0d 80 56 4a b0 b8 1a 20 10 b0 8b 15 a0 e5 3c b0 85 c9 0f 44 c8 8b 43 10 c1 e0 07 89 90 04 ea 4a b0 ff d1 <8b> 43 08 a8 08 74 d5 e8 0d a9 26 00 eb f2 56 53 fb ba 00 e0 ff 
 <0>Kernel panic - not syncing: Attempted to kill the idle task!

hm, I don't know what happened there. Maybe the value of pm_idle in cpu_idle() is garbage. Or maybe not.

#2 lore raw
Quoted 52 lines · Andrew Morton
Quoted 4 lines · Michael Buesch

Hi Andrew,

Addresses of functions are returned by their name without parantheses. Remove an & in main.c

Using `&' in fornt of a function name when passing the function's address is unnecessary and is kinda dorky, but your patch shouldn't change generated code.

Quoted 29 lines
Unable to handle kernel paging request at virtual address 00020800
printing eip:
00020800
*pde = 00000000
Oops: 0000 [#1]
SMP Modules linked in: ipv6 ohci_hcd tuner tvaudio msp3400 bttv video_buf btcx_risc nvidia ehci_hcd uhci_hcd usbcore intel_agp agpgart evdev
CPU:    0
EIP:    0060:[<00020800>]    Tainted: P   VLI
EFLAGS: 00010296   (2.6.9-ck3-ac6-nozeroram) EIP is at 0x20800
eax: 00000001   ebx: b03e6000   ecx: 00000001   edx: 00000084
esi: 00099100   edi: b01020a7   ebp: 00459007   esp: b03e7fec
ds: 007b   es: 007b   ss: 0068
Process swapper (pid: 0, threadinfo=b03e6000 task=b034bac0)
Stack: b03e881c 000000d9 b03e8310 b04132a0 b0100211 Call Trace:
[<b03e881c>] start_kernel+0x139/0x152
[<b03e8310>] unknown_bootoption+0x0/0x171
Code:  Bad EIP value.

<0>Kernel panic - not syncing: Attempted to kill the idle task!

Unable to handle kernel paging request at virtual address 00099108
printing eip:
b01020a7
*pde = 00000000
Oops: 0000 [#1]
SMP Modules linked in: nvidia ohci_hcd tuner tvaudio msp3400 bttv video_buf btcx_risc ehci_hcd uhci_hcd usbcore intel_agp agpgart evdev
CPU:    0
EIP:    0060:[<b01020a7>]    Tainted: P   VLI
EFLAGS: 00010292   (2.6.9-ck2-ac4-nozeroram) EIP is at cpu_idle+0x2e/0x3c
Quoted 8 lines
eax: 00000001   ebx: 00099100   ecx: 00000000   edx: 0000001d
esi: 00000000   edi: 00000008   ebp: 004f3007   esp: b0477fe8
ds: 007b   es: 007b   ss: 0068
Process swapper (pid: 0, threadinfo=b0476000 task=b03ccac0)
Stack: 00020800 b047881c 000000dd b0478310 b04a62a0 b0100211 Call Trace:
[<b047881c>] start_kernel+0x139/0x152
[<b0478310>] unknown_bootoption+0x0/0x171
Code: e0 ff ff 21 e3 eb 24 8b 0d 80 56 4a b0 b8 1a 20 10 b0 8b 15 a0 e5 3c b0 85 c9 0f 44 c8 8b 43 10 c1 e0 07 89 90 04 ea 4a b0 ff d1 <8b> 43 08 a8 08 74 d5 e8 0d a9 26 00 eb f2 56 53 fb ba 00 e0 ff <0>Kernel panic - not syncing: Attempted to kill the idle task!
Quoted 2 lines

hm, I don't know what happened there. Maybe the value of pm_idle in cpu_idle() is garbage. Or maybe not.

Zwane and someone else had patches for that happening IIRC a month or 2 back.
I can dig them out if wanted... Michael, want to try?

Signature · 1 line
~Randy
#3 lore raw

Quoting "Randy.Dunlap" <[email protected]>:

Quoted 6 lines
Quoted 2 lines

hm, I don't know what happened there. Maybe the value of pm_idle in cpu_idle() is garbage. Or maybe not.

Zwane and someone else had patches for that happening IIRC a month or 2 back.
I can dig them out if wanted... Michael, want to try?

Yes, sure. Please.

oh, one second before pressing the send button for this mail I had another panic. 8-}

Unable to handle kernel paging request at virtual address 00020800
 printing eip:
00020800
*pde = 00000000
Oops: 0000 [#1]
SMP 
Modules linked in: ipv6 ohci_hcd tuner tvaudio msp3400 bttv video_buf btcx_risc nvidia ehci_hcd uhci_hcd usbcore intel_agp agpgart evdev
CPU:    0
EIP:    0060:[<00020800>]    Tainted: P   VLI
EFLAGS: 00010296   (2.6.9-ck3-ac6-nozeroram) 

EIP is at 0x20800
eax: 00000001 ebx: b03e8000 ecx: 00000001 edx: 00000001
esi: 00099100 edi: b01020a7 ebp: 0045c007 esp: b03e9fec
ds: 007b es: 007b ss: 0068
Process swapper (pid: 0, threadinfo=b03e8000 task=b034cac0)

Stack: b03ea81c 000000db b03ea310 b04162a0 b0100211 
Call Trace:
 [<b03ea81c>] start_kernel+0x139/0x152
 [<b03ea310>] unknown_bootoption+0x0/0x171
Code:  Bad EIP value.
 <0>Kernel panic - not syncing: Attempted to kill the idle task!
#4 lore raw
Quoted 5 lines · Michael Buesch

Quoting "Randy.Dunlap" <[email protected]>:

Quoted 3 lines
Quoted 2 lines

hm, I don't know what happened there. Maybe the value of pm_idle in cpu_idle() is garbage. Or maybe not.

Quoted 7 lines
Quoted 3 lines

Zwane and someone else had patches for that happening IIRC a month or 2 back.
I can dig them out if wanted... Michael, want to try?

Yes, sure. Please.

OK, there are several patches flying around that may fix this. or maybe not...

And I don't know what it already in -ckX -acN either, so they might not apply cleanly. (also checking -mm now....)

From BlaisorBlade:
http://marc.theaimsgroup.com/?l=acpi4linux&m=109441393614805&w=2

From Shaohua Li:
http://marc.theaimsgroup.com/?l=linux-kernel&m=109470272821630&w=2

From Zwane (update of above):
http://marc.theaimsgroup.com/?l=acpi4linux&m=109473286622679&w=2

Signature · 1 line
~Randy
#5 lore raw

Quoting "Randy.Dunlap" <[email protected]>:

Quoted 20 lines
Quoted 5 lines · Michael Buesch

Quoting "Randy.Dunlap" <[email protected]>:

Quoted 3 lines
Quoted 2 lines

hm, I don't know what happened there. Maybe the value of pm_idle in cpu_idle() is garbage. Or maybe not.

Quoted 7 lines
Quoted 3 lines

Zwane and someone else had patches for that happening IIRC a month or 2 back.
I can dig them out if wanted... Michael, want to try?

Yes, sure. Please.

OK, there are several patches flying around that may fix this. or maybe not...

And I don't know what it already in -ckX -acN either, so they might not apply cleanly. (also checking -mm now....)

Quoted 8 lines

From BlaisorBlade:
http://marc.theaimsgroup.com/?l=acpi4linux&m=109441393614805&w=2

From Shaohua Li:
http://marc.theaimsgroup.com/?l=linux-kernel&m=109470272821630&w=2

From Zwane (update of above):
http://marc.theaimsgroup.com/?l=acpi4linux&m=109473286622679&w=2

Already applied. (Don't know. Maybe ck or ac did it). Must be something else going on here. :(

Thanks for digging them out, anyway.