All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Khalid Aziz <khalid.aziz@oracle.com>,
	Pierre Uszynski <pierre@rahul.net>,
	James Bottomley <JBottomley@Parallels.com>
Subject: [PATCH 3.11 31/94] SCSI: BusLogic: Fix an oops when intializing multimaster adapter
Date: Fri,  8 Nov 2013 22:51:37 -0800	[thread overview]
Message-ID: <20131109065206.429623340@linuxfoundation.org> (raw)
In-Reply-To: <20131109065204.252462489@linuxfoundation.org>

3.11-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Khalid Aziz <khalid.aziz@oracle.com>

commit 6541932ea2f7de0b0c5203decf666b143ad5fa33 upstream.

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>
Reported-by: Pierre Uszynski <pierre@rahul.net>
Tested-by: Pierre Uszynski <pierre@rahul.net>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/scsi/BusLogic.c |   16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

--- a/drivers/scsi/BusLogic.c
+++ b/drivers/scsi/BusLogic.c
@@ -696,7 +696,7 @@ static int __init blogic_init_mm_probein
 	while ((pci_device = pci_get_device(PCI_VENDOR_ID_BUSLOGIC,
 					PCI_DEVICE_ID_BUSLOGIC_MULTIMASTER,
 					pci_device)) != NULL) {
-		struct blogic_adapter *adapter = adapter;
+		struct blogic_adapter *host_adapter = adapter;
 		struct blogic_adapter_info adapter_info;
 		enum blogic_isa_ioport mod_ioaddr_req;
 		unsigned char bus;
@@ -744,9 +744,9 @@ static int __init blogic_init_mm_probein
 		   known and enabled, note that the particular Standard ISA I/O
 		   Address should not be probed.
 		 */
-		adapter->io_addr = io_addr;
-		blogic_intreset(adapter);
-		if (blogic_cmd(adapter, BLOGIC_INQ_PCI_INFO, NULL, 0,
+		host_adapter->io_addr = io_addr;
+		blogic_intreset(host_adapter);
+		if (blogic_cmd(host_adapter, BLOGIC_INQ_PCI_INFO, NULL, 0,
 				&adapter_info, sizeof(adapter_info)) ==
 				sizeof(adapter_info)) {
 			if (adapter_info.isa_port < 6)
@@ -762,7 +762,7 @@ static int __init blogic_init_mm_probein
 		   I/O Address assigned at system initialization.
 		 */
 		mod_ioaddr_req = BLOGIC_IO_DISABLE;
-		blogic_cmd(adapter, BLOGIC_MOD_IOADDR, &mod_ioaddr_req,
+		blogic_cmd(host_adapter, BLOGIC_MOD_IOADDR, &mod_ioaddr_req,
 				sizeof(mod_ioaddr_req), NULL, 0);
 		/*
 		   For the first MultiMaster Host Adapter enumerated,
@@ -779,12 +779,12 @@ static int __init blogic_init_mm_probein
 
 			fetch_localram.offset = BLOGIC_AUTOSCSI_BASE + 45;
 			fetch_localram.count = sizeof(autoscsi_byte45);
-			blogic_cmd(adapter, BLOGIC_FETCH_LOCALRAM,
+			blogic_cmd(host_adapter, BLOGIC_FETCH_LOCALRAM,
 					&fetch_localram, sizeof(fetch_localram),
 					&autoscsi_byte45,
 					sizeof(autoscsi_byte45));
-			blogic_cmd(adapter, BLOGIC_GET_BOARD_ID, NULL, 0, &id,
-					sizeof(id));
+			blogic_cmd(host_adapter, BLOGIC_GET_BOARD_ID, NULL, 0,
+					&id, sizeof(id));
 			if (id.fw_ver_digit1 == '5')
 				force_scan_order =
 					autoscsi_byte45.force_scan_order;



  parent reply	other threads:[~2013-11-09  7:16 UTC|newest]

Thread overview: 102+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-09  6:51 [PATCH 3.11 00/94] 3.11.8-stable review Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 01/94] usb: musb: start musb on the udc side, too Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 02/94] usb-storage: add quirk for mandatory READ_CAPACITY_16 Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 03/94] USB: support new huawei devices in option.c Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 04/94] USB: quirks.c: add one device that cannot deal with suspension Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 05/94] USB: quirks: add touchscreen that is dazzeled by remote wakeup Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 06/94] USB: serial: ftdi_sio: add id for Z3X Box device Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 07/94] xhci: Dont enable/disable RWE on bus suspend/resume Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 08/94] cifs: Fix inability to write files >2GB to SMB2/3 shares Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 09/94] x86: Update UV3 hub revision ID Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 10/94] cpufreq: s3c64xx: Rename index to driver_data Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 11/94] cpufreq / intel_pstate: Fix max_perf_pct on resume Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 12/94] bcache: Fixed incorrect order of arguments to bio_alloc_bioset() Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 13/94] HID: wiimote: add LEGO-wiimote VID Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 14/94] cgroup: fix to break the while loop in cgroup_attach_task() correctly Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 15/94] mac80211: correctly close cancelled scans Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 16/94] mac80211: drop spoofed packets in ad-hoc mode Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 17/94] mac80211: use sta_info_get_bss() for nl80211 tx and client probing Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 18/94] mac80211: update sta->last_rx on acked tx frames Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 19/94] mac80211: fix crash if bitrate calculation goes wrong Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 20/94] ath9k: fix tx queue scheduling after channel changes Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 21/94] cfg80211: use the correct macro to check for active monitor support Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 22/94] cfg80211: fix warning when using WEXT for IBSS Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 23/94] mwifiex: fix SDIO interrupt lost issue Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 24/94] rtlwifi: rtl8192cu: Fix error in pointer arithmetic Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 25/94] iwlwifi: mvm: call ieee80211_scan_completed when needed Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 26/94] iwlwifi: pcie: add SKUs for 6000, 6005 and 6235 series Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 27/94] jfs: fix error path in ialloc Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 28/94] can: at91-can: fix device to driver data mapping for platform devices Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 29/94] can: flexcan: fix mx28 detection by rearanging OF match table Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 30/94] can: flexcan: flexcan_chip_start: fix regression, mark one MB for TX and abort pending TX Greg Kroah-Hartman
2013-11-09  6:51 ` Greg Kroah-Hartman [this message]
2013-11-09  6:51 ` [PATCH 3.11 32/94] SCSI: sd: call blk_pm_runtime_init before add_disk Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 33/94] ecryptfs: Fix memory leakage in keystore.c Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 34/94] eCryptfs: fix 32 bit corruption issue Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 35/94] raid5: set bio bi_vcnt 0 for discard request Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 36/94] raid5: avoid finding "discard" stripe Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 37/94] libata: make ata_eh_qc_retry() bump scmd->allowed on bogus failures Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 38/94] Revert "rt2x00pci: Use PCI MSIs whenever possible" Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 39/94] Revert "epoll: use freezable blocking call" Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 40/94] Revert "select: " Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 41/94] md: avoid deadlock when md_set_badblocks Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 42/94] md: Fix skipping recovery for read-only arrays Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 43/94] target: Fix assignment of LUN in tracepoints Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 44/94] target/pscsi: fix return value check Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 45/94] vhost/scsi: Fix incorrect usage of get_user_pages_fast write parameter Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 46/94] clockevents: Sanitize ticks to nsec conversion Greg Kroah-Hartman
2013-11-09  6:51   ` Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 47/94] parisc: Do not crash 64bit SMP kernels on machines with >= 4GB RAM Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 48/94] scripts/kallsyms: filter symbols not in kernel address space Greg Kroah-Hartman
2013-11-09  6:51   ` Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 49/94] ARC: Incorrect mm reference used in vmalloc fault handler Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 50/94] ALSA: hda - Add missing initial vmaster hook at build_controls callback Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 51/94] ALSA: hda - Fix unbalanced runtime PM refcount after S3/S4 Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 52/94] ALSA: hda - Add a fixup for ASUS N76VZ Greg Kroah-Hartman
2013-11-09  6:51 ` [PATCH 3.11 53/94] ALSA: fix oops in snd_pcm_info() caused by ASoC DPCM Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 54/94] ASoC: wm_hubs: Add missing break in hp_supply_event() Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 55/94] ASoC: dapm: Fix source list debugfs outputs Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 56/94] staging: ozwpan: prevent overflow in oz_cdev_write() Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 57/94] Staging: bcm: info leak in ioctl Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 58/94] Staging: sb105x: info leak in mp_get_count() Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 59/94] staging: wlags49_h2: buffer overflow setting station name Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 60/94] uml: check length in exitcode_proc_write() Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 61/94] xtensa: dont use alternate signal stack on threads Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 62/94] mm: make generic_access_phys available for modules Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 63/94] uio: provide vm access to UIO_MEM_PHYS maps Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 65/94] lib/scatterlist.c: dont flush_kernel_dcache_page on slab page Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 66/94] aacraid: missing capable() check in compat ioctl Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 67/94] clk: fixup argument order when setting VCO parameters Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 68/94] clk: nomadik: set all timers to use 2.4 MHz TIMCLK Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 69/94] mm: numa: Do not account for a hinting fault if we raced Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 70/94] mm: Wait for THP migrations to complete during NUMA hinting faults Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 71/94] mm: Prevent parallel splits during THP migration Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 72/94] mm: numa: Sanitize task_numa_fault() callsites Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 73/94] mm: Close races between THP migration and PMD numa clearing Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 74/94] mm: Account for a THP NUMA hinting update as one PTE update Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 75/94] mm: /proc/pid/pagemap: inspect _PAGE_SOFT_DIRTY only on present pages Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 76/94] mm/pagewalk.c: fix walk_page_range() access of wrong PTEs Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 77/94] drm/vmwgfx: Dont put resources with invalid ids on lru list Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 78/94] drm/vmwgfx: Dont kill clients on VT switch Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 79/94] drm/i915: split aux_clock_divider logic in a separated function for reuse Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 80/94] drm/i915: Retry DP aux_ch communications with a different clock after failure Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 81/94] drm: Prevent overwriting from userspace underallocating core ioctl structs Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 82/94] drm: Pad drm_mode_get_connector to 64-bit boundary Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 83/94] drm/radeon/atom: workaround vbios bug in transmitter table on rs780 Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 84/94] drm/radeon: make missing smc ucode non-fatal (r7xx-SI) Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 85/94] drm/i915: Add HSW CRT output readout support Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 86/94] drm/i915: Add support for pipe_bpp readout Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 87/94] drm/i915: No LVDS hardware on Intel D410PT and D425KT Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 88/94] drm/i915: Fix the PPT fdi lane bifurcate state handling on ivb Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 89/94] mutex: Avoid gcc version dependent __builtin_constant_p() usage Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 90/94] seq_file: always update file->f_pos in seq_lseek() Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 91/94] NTB: Add Error Handling in ntb_device_setup Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 92/94] NTB: Correct Number of Scratch Pad Registers Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 93/94] NTB: Correct USD/DSD Identification Greg Kroah-Hartman
2013-11-09  6:52 ` [PATCH 3.11 94/94] NTB: Correct debugfs to work with more than 1 NTB Device Greg Kroah-Hartman
2013-11-09 17:00 ` [PATCH 3.11 00/94] 3.11.8-stable review Guenter Roeck
2013-11-09 17:12   ` Greg Kroah-Hartman
2013-11-10 12:11 ` Satoru Takeuchi
2013-11-10 15:15   ` Greg Kroah-Hartman
2013-11-11 17:57 ` Shuah Khan
2013-11-11 22:51   ` Greg Kroah-Hartman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20131109065206.429623340@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=JBottomley@Parallels.com \
    --cc=khalid.aziz@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pierre@rahul.net \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.