linux/drivers/mtd
Anton Vorontsov edcb3b1486 mtd: m25p80: fix null pointer dereference bug
This patch fixes the following oops, observed with MTD_PARTITIONS=n:

m25p80 spi32766.0: m25p80 (1024 Kbytes)
Unable to handle kernel paging request for data at address 0x00000008
Faulting instruction address: 0xc03a54b0
Oops: Kernel access of bad area, sig: 11 [#1]
Modules linked in:
NIP: c03a54b0 LR: c03a5494 CTR: c01e98b8
REGS: ef82bb60 TRAP: 0300   Not tainted  (2.6.31-rc4-00167-g4733fd3)
MSR: 00029000 <EE,ME,CE>  CR: 24022022  XER: 20000000
DEAR: 00000008, ESR: 00000000
TASK = ef82c000[1] 'swapper' THREAD: ef82a000
GPR00: 00000000 ef82bc10 ef82c000 0000002e 00001eb8 ffffffff c01e9824 00000036
GPR08: c054ed40 c0542a08 00001eb8 00004000 22022022 1001a1a0 3ff8fd00 00000000
GPR16: 00000000 00000001 00000000 00000000 ef82bddc c0530000 efbef500 ef8356d0
GPR24: 00000000 ef8356d0 00000000 efbf7a00 c0530ec4 ffffffed efbf5300 c0541f98
NIP [c03a54b0] m25p_probe+0x22c/0x354
LR [c03a5494] m25p_probe+0x210/0x354
Call Trace:
[ef82bc10] [c03a5494] m25p_probe+0x210/0x354 (unreliable)
[ef82bca0] [c024e37c] spi_drv_probe+0x2c/0x3c
[ef82bcb0] [c01f1afc] driver_probe_device+0xa4/0x178
[ef82bcd0] [c01f06e8] bus_for_each_drv+0x6c/0xa8
[ef82bd00] [c01f1a34] device_attach+0x84/0xa8
...

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2009-09-03 13:58:02 +01:00
..
chips mtd: CFI 1.0 and CFI 1.1 2009-06-05 17:55:10 +01:00
devices mtd: m25p80: fix null pointer dereference bug 2009-09-03 13:58:02 +01:00
lpddr [MTD] [LPDDR] qinfo_probe depends on lpddr 2009-01-11 10:42:32 +00:00
maps Remove zero-length file drivers/mtd/maps/sbc8240.c 2009-08-12 06:29:57 -04:00
nand [ARM] Orion NAND: Make asm volatile avoid GCC pushing ldrd out of the loop 2009-08-24 11:56:00 -04:00
onenand mtd: OneNAND: OMAP2/3: free GPMC CS on module removal 2009-08-03 14:22:16 +01:00
tests trivial: NULL noise: drivers/mtd/tests/mtd_*test.c 2009-03-30 15:22:04 +02:00
ubi UBI: compatible fallback in absense of sequence numbers 2009-07-24 20:08:52 +03:00
afs.c MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
ar7part.c [MTD] mtdpart: Make all partition parsers return allocated array 2009-03-20 18:55:17 +00:00
cmdlinepart.c mtd: cmdlineparts: Use 64-bit format when printing a debug message. 2009-06-25 08:18:12 +01:00
ftl.c [MTD] Remove strange u_int32_t types from FTL 2008-12-10 14:06:42 +00:00
inftlcore.c mtd: Use BLOCK_NIL consistently in NFTL/INFTL 2009-06-27 09:22:10 +01:00
inftlmount.c [MTD] we don't need no misc devices 2009-03-20 13:16:26 +00:00
internal.h NOMMU: Present backing device capabilities for MTD chardevs 2009-03-24 09:00:19 +00:00
Kconfig trivial: mtd: fix Kconfig comment about 'armflash' 2009-06-12 18:01:45 +02:00
Makefile NOMMU: Present backing device capabilities for MTD chardevs 2009-03-24 09:00:19 +00:00
mtd_blkdevs.c mtd: blkdevs: do not forget to get MTD devices 2009-08-03 14:20:26 +01:00
mtdbdi.c NOMMU: Present backing device capabilities for MTD chardevs 2009-03-24 09:00:19 +00:00
mtdblock_ro.c MTD/JFFS2: remove CVS keywords 2008-06-04 17:50:17 +01:00
mtdblock.c mtd: mtdblock: introduce mtdblks_lock 2009-08-03 14:25:00 +01:00
mtdchar.c mtd: Fix pointer handling in compat ioctls to use compat_ptr() 2009-05-29 16:09:08 +01:00
mtdconcat.c NOMMU: Add support for direct mapping through mtdconcat if possible 2009-03-24 09:01:08 +00:00
mtdcore.c mtd: fix the conversion from dev to mtd_info 2009-08-03 14:16:01 +01:00
mtdcore.h
mtdoops.c [MTD] mtdoops: fix a bit of spin lock usage 2009-03-20 18:39:25 +00:00
mtdpart.c [MTD] Remove option for add_mtd_partitions() to not register partitions. 2009-05-26 16:45:44 +01:00
mtdsuper.c Convert obvious places to deactivate_locked_super() 2009-05-09 10:49:40 -04:00
nftlcore.c mtd: Use BLOCK_NIL consistently in NFTL/INFTL 2009-06-27 09:22:10 +01:00
nftlmount.c [MTD] update internal API to support 64-bit device size 2008-12-10 13:37:21 +00:00
ofpart.c [MTD] ofpart: Check name property to determine partition nodes. 2009-03-24 14:04:20 +00:00
redboot.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-11 14:36:25 +01:00
rfd_ftl.c [MTD] remove private wrapper of endian helpers in rfd_ftl.c 2008-12-10 15:39:09 +00:00
ssfdc.c [MTD] update internal API to support 64-bit device size 2008-12-10 13:37:21 +00:00