mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-22 12:39:14 -04:00
| Filename | Latest commit message | Latest commit date |
|---|---|---|
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>
|
||
| .. | ||
| cpm_uart | ||
| jsm | ||
| 8250.c | ||
| 8250.h | ||
| 8250_accent.c | ||
| 8250_acorn.c | ||
| 8250_au1x00.c | ||
| 8250_boca.c | ||
| 8250_early.c | ||
| 8250_exar_st16c554.c | ||
| 8250_fourport.c | ||
| 8250_gsc.c | ||
| 8250_hp300.c | ||
| 8250_hub6.c | ||
| 8250_mca.c | ||
| 8250_pci.c | ||
| 8250_pnp.c | ||
| 21285.c | ||
| 68328serial.c | ||
| 68328serial.h | ||
| 68360serial.c | ||
| amba-pl010.c | ||
| amba-pl011.c | ||
| atmel_serial.c | ||
| atmel_serial.h | ||
| clps711x.c | ||
| crisv10.c | ||
| crisv10.h | ||
| dz.c | ||
| dz.h | ||
| icom.c | ||
| icom.h | ||
| imx.c | ||
| ioc3_serial.c | ||
| ioc4_serial.c | ||
| ip22zilog.c | ||
| ip22zilog.h | ||
| Kconfig | ||
| m32r_sio.c | ||
| m32r_sio.h | ||
| m32r_sio_reg.h | ||
| Makefile | ||
| mcfserial.c | ||
| mcfserial.h | ||
| mpc52xx_uart.c | ||
| mpsc.c | ||
| mux.c | ||
| netx-serial.c | ||
| of_serial.c | ||
| pmac_zilog.c | ||
| pmac_zilog.h | ||
| pnx8xxx_uart.c | ||
| pxa.c | ||
| s3c2410.c | ||
| sa1100.c | ||
| serial_core.c | ||
| serial_cs.c | ||
| serial_lh7a40x.c | ||
| serial_txx9.c | ||
| sh-sci.c | ||
| sh-sci.h | ||
| sn_console.c | ||
| suncore.c | ||
| suncore.h | ||
| sunhv.c | ||
| sunsab.c | ||
| sunsab.h | ||
| sunsu.c | ||
| sunzilog.c | ||
| sunzilog.h | ||
| uartlite.c | ||
| v850e_uart.c | ||
| vr41xx_siu.c | ||