Project

General

Profile

Bug #4363

gpioapu causes kernel panic at boot on some hardware

Added by Chris Buechler about 4 years ago. Updated almost 4 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
Operating System
Target version:
Start date:
02/01/2015
Due date:
% Done:

0%

Estimated time:
Affected Version:
2.2
Affected Architecture:

Description

At least two people have reported issues with 2.2-RELEASE not booting on their hardware, stopping with a kernel panic along the lines of:

gpioapu0: Environment returned (null).

Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address   = 0x0
fault code              = supervisor read, page not present
instruction pointer     = 0x20:0xc0da8cf0
stack pointer           = 0x28:0xc2420c28
frame pointer           = 0x28:0xc2420c34
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 0 (swapper)
[ thread pid 0 tid 100000 ]
Stopped at      strncmp+0x20:   movzbl  0(%esi),%ebx
db> trace
Tracing pid 0 tid 100000 td 0xc209d460
strncmp(0,c13a8aed,3,c2420c54,88,...) at strncmp+0x20/frame 0xc2420c34
gpioapu_probe(c6966380,c67d9858,c1df84e4,c69663bc,0,...) at gpioapu_probe+0x4e/frame 0xc2420c6c
device_probe_child(c691bd80,c6966380,0,0,0,...) at device_probe_child+0x181/frame 0xc2420ca4
device_probe(c6966380,c6966380,c2420d24,c0c81c52,c6966380,...) at device_probe+0x41/frame 0xc2420cc8
device_probe_and_attach(c6966380,c1e0020c,0,c1df8460,c65ea680,...) at device_probe_and_attach+0x12/fr              ame 0xc2420cd8
isa_probe_children(c691bd80) at isa_probe_children+0x112/frame 0xc2420d24
configure(0,0,2,0,c15f4784,...) at configure+0x1b/frame 0xc2420d30
mi_startup() at mi_startup+0xe7/frame 0xc2420d58
begin() at begin+0x2c
db> bt
Tracing pid 0 tid 100000 td 0xc209d460
strncmp(0,c13a8aed,3,c2420c54,88,...) at strncmp+0x20/frame 0xc2420c34
gpioapu_probe(c6966380,c67d9858,c1df84e4,c69663bc,0,...) at gpioapu_probe+0x4e/frame 0xc2420c6c
device_probe_child(c691bd80,c6966380,0,0,0,...) at device_probe_child+0x181/frame 0xc2420ca4
device_probe(c6966380,c6966380,c2420d24,c0c81c52,c6966380,...) at device_probe+0x41/frame 0xc2420cc8
device_probe_and_attach(c6966380,c1e0020c,0,c1df8460,c65ea680,...) at device_probe_and_attach+0x12/fr              ame 0xc2420cd8
isa_probe_children(c691bd80) at isa_probe_children+0x112/frame 0xc2420d24
configure(0,0,2,0,c15f4784,...) at configure+0x1b/frame 0xc2420d30
mi_startup() at mi_startup+0xe7/frame 0xc2420d58
begin() at begin+0x2c
db>

https://forum.pfsense.org/index.php?topic=87382.0
https://forum.pfsense.org/index.php?topic=20095.msg480948#msg480948

At least a couple of them reported this regressed between early January 2.2-RC snapshots and release, which fits the timeline of where gpioapu was added.

History

#1 Updated by Ermal Lu├ži about 4 years ago

  • Status changed from New to Feedback

gpioapu corrected to avoid comparison with NULL in strncmp.

#2 Updated by Chris Buechler almost 4 years ago

  • Status changed from Feedback to Resolved

confirmed fixed

Also available in: Atom PDF