Khalid Aziz
6541932ea2
[SCSI] BusLogic: Fix an oops when intializing multimaster adapter
This fixes an oops caused by buslogic driver when initializing a BusLogic
MultiMaster adapter. Initialization code used scope of a variable
incorrectly which created a NULL pointer. Oops message is below:
BUG: unable to handle kernel NULL pointer dereference at 0000000c
IP: [<c150c137>] blogic_init_mm_probeinfo.isra.17+0x20a/0x583
*pde = 00000000
Oops: 002 [#1] PREEMPT SMP
Modules linked in:
CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.11.1.puz1 #1
Hardware name: /Canterwood, BIOS 6.00 PG 05/16/2003
task: f7050000 ti: f7054000 task.ti: f7054000
EIP: 0060:[<c150c137>] EFLAGS: 00010246 CPU:1
EIP is at blogic_init_mm_probeinfo.isra.17+0x20a/0x583
EAX: 00000013 EBX: 00000000 ECX: 00000000 EDX: f8001000
ESI: f71cb800 EDI: f7388000 EBP: 00007800 ESP: f7055c84
DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
CR0: 8005003b CR2: 0000000c CR3: 0154f000 CR4: 000007d0
Stack:
0000001c 00000000 c11a59f6 f7055c98 00008130 ffffffff ffffffff 00000000
00000003 00000000 00000000 00000000 00000013 f8001000 00000001 000003d0
00000000 00000000 00000000 c14e3f84 f78803c8 00000000 f738c000 000000e9
Call Trace:
[<c11a59f6>] ? pci_get_subsys+0x33/0x38
[<c150c4fb>] ? blogic_init_probeinfo_list+0x4b/0x19e
[<c108d593>] ? __alloc_pages_nodemask+0xe3/0x623
[<c108d593>] ? __alloc_pages_nodemask+0xe3/0x623
[<c10fb99e>] ? sysfs_link_sibling+0x61/0x8d
[<c10b0519>] ? kmem_cache_alloc+0x8b/0xb5
[<c150cce5>] ? blogic_init+0xa1/0x10e8
[<c10fc0a8>] ? sysfs_add_one+0x10/0x9d
[<c10fc18a>] ? sysfs_addrm_finish+0x12/0x85
[<c10fca37>] ? sysfs_do_create_link_sd+0x9d/0x1b4
[<c117c272>] ? blk_register_queue+0x69/0xb3
[<c10fcb68>] ? sysfs_create_link+0x1a/0x2c
[<c1181a07>] ? add_disk+0x1a1/0x3c7
[<c138737b>] ? klist_next+0x60/0xc3
[<c122cc3a>] ? scsi_dh_detach+0x68/0x68
[<c1213e36>] ? bus_for_each_dev+0x51/0x61
[<c1000356>] ? do_one_initcall+0x22/0x12c
[<c10f3688>] ? __proc_create+0x8c/0xba
[<c150cc44>] ? blogic_setup+0x5f6/0x5f6
[<c14e94aa>] ? repair_env_string+0xf/0x4d
[<c14e949b>] ? do_early_param+0x71/0x71
[<c103efaa>] ? parse_args+0x21f/0x33d
[<c14e9a54>] ? kernel_init_freeable+0xdf/0x17d
[<c14e949b>] ? do_early_param+0x71/0x71
[<c1388b64>] ? kernel_init+0x8/0xc0
[<c1392222>] ? ret_from_kernel_thread+0x6/0x28
[<c1392227>] ? ret_from_kernel_thread+0x1b/0x28
[<c1388b5c>] ? rest_init+0x6c/0x6c
Code: 89 44 24 10 0f b6 44 24 3d 89 44 24 0c c7 44 24 08 00 00 00 00 c7 44 24 04 38 62 46 c1 c7 04 24 02 00 00 00 e8 78 13 d2 ff 31 db <89> 6b 0c b0 20 89 ea ee
c7 44 24 08 04 00 00 00 8d 44 24 4c 89
EIP: [<c150c137>] blogic_init_mm_probeinfo.isra.17+0x20a/0x583 SS:ESP 0068:f7055c84
CR2: 000000000000000c
---[ end trace 17f45f5196d40487 ]---
Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009
Signed-off-by: Khalid Aziz <khalid.aziz@oracle.com>
Cc: <stable@vger.kernel.org> # 3.11.x
Reported-by: Pierre Uszynski <pierre@rahul.net>
Tested-by: Pierre Uszynski <pierre@rahul.net>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2013-10-16 13:57:14 +01:00
..
2013-07-04 12:30:30 -07:00
2013-09-10 14:48:16 -07:00
2013-05-28 12:02:12 +02:00
2013-06-04 11:15:59 -07:00
2012-08-20 14:51:24 -07:00
2013-04-09 14:13:27 -04:00
2013-07-03 16:07:41 -07:00
2013-09-06 09:36:28 -07:00
2013-09-18 12:24:32 -04:00
2013-09-18 12:24:32 -04:00
2013-06-04 11:16:28 -07:00
2013-08-20 13:06:40 +02:00
2013-04-11 16:00:31 -07:00
2011-07-26 16:49:47 -07:00
2013-09-06 11:22:35 -07:00
2013-07-13 17:41:21 -07:00
2013-09-11 15:59:25 -07:00
2013-09-06 11:41:34 -07:00
2013-08-26 12:51:30 +04:00
2013-07-13 08:22:56 +04:00
2013-06-04 11:15:59 -07:00
2013-09-15 17:41:30 -04:00
2013-09-15 17:41:30 -04:00
2013-09-03 07:27:58 -07:00
2013-09-06 11:42:53 -07:00
2013-07-23 15:23:08 -07:00
2013-07-25 16:34:39 -07:00
2013-04-09 14:13:21 -04:00
2013-09-03 15:48:06 -07:00
2013-09-12 16:11:45 -07:00
2013-09-03 07:27:57 -07:00
2013-04-09 14:13:15 -04:00
2013-09-06 16:08:37 -07:00
2013-02-22 23:31:31 -05:00
2011-03-31 11:26:23 -03:00
2013-02-22 23:31:31 -05:00
2013-06-24 16:32:22 -07:00
2011-03-31 11:26:23 -03:00
2011-03-31 11:26:23 -03:00
2012-03-28 18:30:03 +01:00
2011-03-31 11:26:23 -03:00
2013-01-03 15:57:01 -08:00
2013-04-09 14:13:15 -04:00
2013-06-24 19:44:18 +02:00
2013-06-24 19:44:18 +02:00
2013-04-09 14:13:22 -04:00
2013-04-09 14:13:22 -04:00
2012-06-28 11:44:36 +02:00
2013-04-09 14:13:23 -04:00
2013-04-09 14:13:28 -04:00
2013-04-09 14:13:29 -04:00
2013-04-09 14:13:29 -04:00
2013-04-09 14:13:29 -04:00
2013-04-09 14:13:24 -04:00
2013-10-16 13:57:14 +01:00
2013-06-26 18:32:47 -07:00
2013-01-03 15:57:01 -08:00
2013-02-27 19:10:18 -08:00
2013-07-09 22:52:29 +01:00
2013-04-09 14:13:24 -04:00
2011-03-31 11:26:23 -03:00
2013-01-03 15:57:01 -08:00
2013-04-09 14:13:24 -04:00
2013-04-09 14:13:17 -04:00
2013-04-09 14:13:17 -04:00
2013-09-03 07:27:58 -07:00
2011-05-01 10:22:40 -05:00
2013-08-01 18:08:34 -07:00
2013-08-01 18:08:34 -07:00
2013-01-03 15:57:01 -08:00
2013-06-26 18:32:47 -07:00
2013-04-09 14:13:17 -04:00
2013-04-09 14:13:16 -04:00
2013-04-09 14:13:16 -04:00
2013-04-09 14:13:16 -04:00
2013-04-09 14:13:16 -04:00
2013-04-09 14:13:15 -04:00
2013-02-06 12:18:56 -08:00
2012-05-10 09:19:39 +01:00
2013-09-15 17:41:30 -04:00
2013-08-26 12:51:31 +04:00
2013-01-03 15:57:01 -08:00
2012-11-27 08:59:43 +04:00
2013-04-09 14:13:16 -04:00
2013-04-09 14:13:25 -04:00
2013-01-03 15:57:01 -08:00
2011-03-31 11:26:23 -03:00
2013-08-26 12:51:32 +04:00
2013-08-26 12:51:32 +04:00
2013-04-09 14:13:27 -04:00
2013-04-09 14:13:27 -04:00
2012-01-03 22:54:55 -05:00
2013-04-11 16:55:04 -07:00
2013-01-03 15:57:01 -08:00
2013-09-03 15:48:06 -07:00
2013-01-03 15:57:01 -08:00
2013-07-09 18:24:39 -07:00
2013-08-26 18:53:49 +04:00
2011-10-31 19:31:24 -04:00
2012-03-28 18:30:03 +01:00
2013-01-03 15:57:01 -08:00
2013-04-09 14:13:17 -04:00
2013-04-09 14:13:17 -04:00
2013-09-03 07:27:58 -07:00
2013-06-05 13:49:36 -06:00
2013-04-29 15:41:57 -04:00
2012-03-28 18:30:03 +01:00
2013-01-03 15:57:01 -08:00
2013-04-09 14:13:15 -04:00
2013-04-15 14:30:44 -06:00
2013-04-15 14:30:44 -06:00
2012-03-28 18:30:03 +01:00
2013-04-09 14:13:17 -04:00
2013-04-09 14:13:17 -04:00
2013-01-03 15:57:01 -08:00
2013-01-03 15:57:01 -08:00
2011-05-10 10:16:21 +02:00
2013-06-19 17:53:35 +02:00
2011-03-31 11:26:23 -03:00
2012-03-28 18:30:03 +01:00
2011-03-31 11:26:23 -03:00
2013-04-09 14:13:17 -04:00
2013-04-09 14:13:17 -04:00
2013-06-18 13:48:45 +02:00
2012-02-21 11:40:37 +01:00
2013-04-09 14:13:17 -04:00
2013-01-03 15:57:01 -08:00
2013-01-03 15:57:01 -08:00
2013-01-03 15:57:01 -08:00
2013-01-03 15:57:01 -08:00
2013-09-03 07:28:08 -07:00
2013-06-24 13:00:10 -07:00
2013-08-26 18:52:27 +04:00
2011-10-31 19:31:23 -04:00
2013-09-03 18:19:53 -07:00
2013-03-28 14:27:24 -04:00
2013-06-03 21:49:52 +02:00
2012-07-20 09:05:54 +01:00
2013-05-31 15:16:51 -04:00
2013-06-24 13:00:10 -07:00
2013-08-26 18:52:27 +04:00
2011-10-31 19:31:23 -04:00
2011-05-01 10:20:10 -05:00
2011-05-24 12:38:36 -04:00
2013-07-03 16:07:41 -07:00
2013-08-23 13:08:30 -04:00
2012-12-01 10:08:41 +00:00
2012-05-10 09:06:12 +01:00
2012-11-30 17:40:33 -08:00
2013-08-02 13:20:21 -07:00
2012-01-03 22:54:07 -05:00
2013-05-02 15:37:03 -07:00
2013-09-11 09:44:00 -07:00
2013-06-26 17:56:18 -07:00
2011-06-29 12:14:25 -05:00
2013-09-03 07:28:10 -07:00
2013-01-03 15:57:01 -08:00
2013-01-03 15:57:01 -08:00
2013-01-03 15:57:01 -08:00
2011-10-31 19:31:24 -04:00
2013-05-07 02:16:21 -04:00
2011-07-21 14:15:58 -07:00
2013-08-21 10:10:50 -07:00
2012-09-14 17:59:29 +01:00
2013-01-03 15:57:01 -08:00
2013-08-02 11:34:30 +08:00
2013-05-04 14:50:16 -04:00
2012-03-28 18:30:03 +01:00
2013-05-04 14:50:16 -04:00
2013-05-04 14:50:16 -04:00
2013-01-03 15:57:01 -08:00
2013-01-03 15:57:01 -08:00
2013-01-03 15:57:01 -08:00
2013-04-09 14:13:17 -04:00
2013-04-09 14:13:17 -04:00
2013-01-03 15:57:01 -08:00
2012-03-28 18:30:03 +01:00
2012-03-28 18:30:03 +01:00
2013-08-01 11:37:19 +09:30
2013-01-03 15:57:01 -08:00
2012-03-27 08:26:36 +01:00
2013-04-09 14:13:15 -04:00
2013-04-09 14:13:15 -04:00
2013-04-09 14:13:15 -04:00
2013-01-03 15:57:01 -08:00
2013-01-03 15:57:01 -08:00