forked from Minki/linux
fdc30b3d44
I encountered the following kernel panic. The cause of this problem was NULL pointer access in check_modem_status() in 8250.c. I confirmed this problem is fixed by the attached patch, but I don't know this is the correct fix. sadc[4378]: NaT consumption 2216203124768 [1] Modules linked in: binfmt_misc dm_mirror dm_mod thermal processor fan container button sg e100 eepro100 mii ehci_hcd ohci_hcd Pid: 4378, CPU 0, comm: sadc psr : 00001210085a2010 ifs : 8000000000000289 ip : [<a000000100482071>] Not tainted ip is at check_modem_status+0xf1/0x360 Call Trace: [<a000000100013940>] show_stack+0x40/0xa0 [<a0000001000145a0>] show_regs+0x840/0x880 [<a0000001000368e0>] die+0x1c0/0x2c0 [<a000000100036a30>] die_if_kernel+0x50/0x80 [<a000000100037c40>] ia64_fault+0x11e0/0x1300 [<a00000010000bdc0>] ia64_leave_kernel+0x0/0x280 [<a000000100482070>] check_modem_status+0xf0/0x360 [<a000000100482300>] serial8250_get_mctrl+0x20/0xa0 [<a000000100478170>] uart_read_proc+0x250/0x860 [<a0000001001c16d0>] proc_file_read+0x1d0/0x4c0 [<a0000001001394b0>] vfs_read+0x1b0/0x300 [<a000000100139cd0>] sys_read+0x70/0xe0 [<a00000010000bc20>] ia64_ret_from_syscall+0x0/0x20 [<a000000000010620>] __kernel_syscall_via_break+0x0/0x20 Fix the possible NULL pointer access in check_modem_status() in 8250.c. The check_modem_status() would access 'info' member of uart_port structure, but it is not initialized before uart_open() is called. The check_modem_status() can be called through /proc/tty/driver/serial before uart_open() is called. Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com> Signed-off-by: Taku Izumi <izumi2005@soft.fujitsu.com> Cc: Russell King <rmk@arm.linux.org.uk> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
||
---|---|---|
.. | ||
acorn | ||
acpi | ||
amba | ||
ata | ||
atm | ||
auxdisplay | ||
base | ||
block | ||
bluetooth | ||
cdrom | ||
char | ||
clocksource | ||
connector | ||
cpufreq | ||
crypto | ||
dio | ||
dma | ||
edac | ||
eisa | ||
fc4 | ||
firmware | ||
hid | ||
hwmon | ||
i2c | ||
ide | ||
ieee1394 | ||
infiniband | ||
input | ||
isdn | ||
kvm | ||
leds | ||
macintosh | ||
mca | ||
md | ||
media | ||
message | ||
mfd | ||
misc | ||
mmc | ||
mtd | ||
net | ||
nubus | ||
oprofile | ||
parisc | ||
parport | ||
pci | ||
pcmcia | ||
pnp | ||
ps3 | ||
rapidio | ||
rtc | ||
s390 | ||
sbus | ||
scsi | ||
serial | ||
sh | ||
sn | ||
spi | ||
tc | ||
telephony | ||
usb | ||
video | ||
w1 | ||
zorro | ||
Kconfig | ||
Makefile |