lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 5 Dec 2011 12:30:57 -0800
From:	Greg KH <greg@...ah.com>
To:	"Wouter M. Koolen" <W.M.Koolen-Wijkstra@....nl>
Cc:	gregkh@...e.de, linux-usb@...r.kernel.org,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [usb] kernel BUG at arch/x86/mm/physaddr.c:15

On Fri, Dec 02, 2011 at 11:28:47AM +0000, Wouter M. Koolen wrote:
> Hi Greg,
> 
> (get_maintainer.pl points to you, but that may be too general.
> Please forward as necessary)

No, this works :)

> I am hitting this one every once in a while during boot:
> 
> kernel BUG at arch/x86/mm/physaddr.c:15!
> invalid opcode: 0000 [#1] SMP
> CPU 0
> Modules linked in: isight_firmware(+) usbhid hid
> snd_hda_codec_realtek snd_hda_intel snd_hda_codec snd_hwde
> p arc4 snd_pcm_oss snd_mixer_oss sr_mod b43 snd_pcm cdrom mac80211
> cfg80211 rfkill rng_core snd_seq uhci_hcd ehci_hcd ssb firewire_ohci
> snd_
> timer snd_seq_device firewire_core mmc_core snd soundcore applesmc
> input_polldev crc_itu_t usbcore sky2 snd_page_alloc i2c_i801 pcspkr
> ac pr
> ocessor evdev battery power_supply apple_bl ext4 mbcache jbd2 crc16
> sd_mod crc_t10dif ata_piix libata scsi_mod
> 
> Pid: 454, comm: modprobe Not tainted 3.1.4.debug+ #38 Apple Inc.
> MacBook4,1/Mac-F22788A9
> RIP: 0010:[<ffffffff81027112>]  [<ffffffff81027112>] __phys_addr+0x62/0x70
> RSP: 0018:ffff88006f425ab8  EFLAGS: 00010212
> RAX: 000000002022b02e RBX: ffff88006f510740 RCX: 0000000000000001
> RDX: 0000000000000000 RSI: 000000006f4e6c77 RDI: ffffffffa022b02e
> RBP: ffff88006f425ab8 R08: 0000000000000001 R09: 0000000000000000
> R10: 0000000000000000 R11: 0000000000000000 R12: ffff880070ec14b8
> R13: ffff88007addd090 R14: 0000000000000001 R15: ffffffffa022b02e
> FS:  00007f6463aca700(0000) GS:ffff88007da00000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> CR2: 00007f9e0066a520 CR3: 000000006f422000 CR4: 00000000000006f0
> DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
> DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
> Process modprobe (pid: 454, threadinfo ffff88006f424000, task
> ffff880070f5a100)
> Stack:
> ffff88006f425b18 ffffffffa017c7f5 ffff88006f425af8 0000000000000001
> ffffffffa0194e48 ffffffff81008470 ffffffff8108cabe ffff88006f510740
> 000000000000012c ffff880070ec14b8 0000000000000010 0000000000000001
> Call Trace:
> [<ffffffffa017c7f5>] usb_hcd_map_urb_for_dma+0x3d5/0x480 [usbcore]
> [<ffffffff81008470>] ? nommu_map_sg+0xf0/0xf0
> [<ffffffff8108cabe>] ? is_module_address+0x1e/0x30
> [<ffffffffa017c9cd>] usb_hcd_submit_urb+0x12d/0x680 [usbcore]
> [<ffffffffa017d99c>] usb_submit_urb+0xec/0x300 [usbcore]
> [<ffffffffa017ee06>] usb_start_wait_urb+0x76/0x110 [usbcore]
> [<ffffffffa017f105>] usb_control_msg+0xd5/0x110 [usbcore]
> [<ffffffffa022a0c5>] isight_firmware_load+0xb5/0x2d8 [isight_firmware]

Ick, ok, can you try the patch here and let me know if that solves it or
not?

thanks,

greg k-h

diff --git a/drivers/usb/misc/isight_firmware.c b/drivers/usb/misc/isight_firmware.c
index fe1d443..8f725f6 100644
--- a/drivers/usb/misc/isight_firmware.c
+++ b/drivers/usb/misc/isight_firmware.c
@@ -55,8 +55,9 @@ static int isight_firmware_load(struct usb_interface *intf,
 
 	ptr = firmware->data;
 
+	buf[0] = 0x01;
 	if (usb_control_msg
-	    (dev, usb_sndctrlpipe(dev, 0), 0xa0, 0x40, 0xe600, 0, "\1", 1,
+	    (dev, usb_sndctrlpipe(dev, 0), 0xa0, 0x40, 0xe600, 0, buf, 1,
 	     300) != 1) {
 		printk(KERN_ERR
 		       "Failed to initialise isight firmware loader\n");
@@ -100,8 +101,9 @@ static int isight_firmware_load(struct usb_interface *intf,
 		}
 	}
 
+	buf[0] = 0x00;
 	if (usb_control_msg
-	    (dev, usb_sndctrlpipe(dev, 0), 0xa0, 0x40, 0xe600, 0, "\0", 1,
+	    (dev, usb_sndctrlpipe(dev, 0), 0xa0, 0x40, 0xe600, 0, buf, 1,
 	     300) != 1) {
 		printk(KERN_ERR "isight firmware loading completion failed\n");
 		ret = -ENODEV;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ