bugzilla-daemon at freedesktop.org
2013-Aug-22 22:57 UTC
[Nouveau] [Bug 68456] New: kernel NULL pointer dereference on 'modprobe nouveau'
https://bugs.freedesktop.org/show_bug.cgi?id=68456
Priority: medium
Bug ID: 68456
Assignee: nouveau at lists.freedesktop.org
Summary: kernel NULL pointer dereference on 'modprobe
nouveau'
QA Contact: xorg-team at lists.x.org
Severity: normal
Classification: Unclassified
OS: All
Reporter: hpdeifel at gmx.de
Hardware: Other
Status: NEW
Version: git
Component: Driver/nouveau
Product: xorg
Loading the nouveau module leads to an instant crash. I was advised on #nouveau
to try the config option NvI2C=1, which worked. But the default config is
nevertheless broken. I have a "GeForce 7600 GT" card and use the
latest (commit
3b56bba6) kernel from anongit.freedesktop.org master which seems to be rebased
onto linux-3.11-rc6.
Here is the generated backtrace:
kernel: BUG: unable to handle kernel NULL pointer dereference at
(null)
kernel: IP: [<ffffffffa028e94b>] nouveau_i2c_pre_xfer+0xf/0x1d [nouveau]
kernel: PGD 0
kernel: Oops: 0000 [#1] SMP
kernel: Modules linked in: nouveau(+) video mxm_wmi i2c_algo_bit ttm
drm_kms_helper drm hwmon_vid i2c_core usbhid usb_storage kvm_amd kvm pcspkr
ohci_pci snd_hda_codec_via ohci_hcd ehci_pci k10temp r8169 snd_hda_intel
ehci_hcd wmi snd_hda_codec snd_pcm snd_page_alloc snd_timer snd acpi_cpufreq
mperf processor thermal_sys hwmon
kernel: CPU: 0 PID: 439 Comm: kworker/0:1 Not tainted 3.11.0-rc6-g3b56bba #2
kernel: Hardware name: System manufacturer System Product Name/M4A77TD, BIOS
0305 09/10/2009
kernel: Workqueue: events work_for_cpu_fn
kernel: task: ffff88012aff2050 ti: ffff88012ab4a000 task.ti: ffff88012ab4a000
kernel: RIP: 0010:[<ffffffffa028e94b>] [<ffffffffa028e94b>]
nouveau_i2c_pre_xfer+0xf/0x1d [nouveau]
kernel: RSP: 0018:ffff88012ab4b918 EFLAGS: 00010286
kernel: RAX: 0000000000000000 RBX: ffff880128fb7800 RCX: 0000000000000000
kernel: RDX: ffff880128fb7800 RSI: ffffffffa01ebdf5 RDI: ffff88012a2ba800
kernel: RBP: ffff88012a98ecc0 R08: 000000000000000a R09: 00000000fffffffb
kernel: R10: 0000000000000000 R11: ffff880123900001 R12: ffff88012a2ba820
kernel: R13: ffffffffa01ebdf5 R14: ffffffffa02f80c0 R15: ffff88012a98ef00
kernel: FS: 00007f273a9c0780(0000) GS:ffff88012fc00000(0000)
knlGS:0000000000000000
kernel: CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
kernel: CR2: 0000000000000000 CR3: 0000000001527000 CR4: 00000000000007f0
kernel: Stack:
kernel: 0000000000000000 ffffffffa026871a ffff880128fb7800 ffff88012a98ecc0
kernel: ffff88012a2ba800 ffff88012a2ba820 ffffffffa02f80c0 ffffffffa028ed5a
kernel: 0000000000000020 ffff88012ab4ba7c ffff88012ab4b9e0 0000000000000000
kernel: Call Trace:
kernel: [<ffffffffa026871a>] ? __i2c_bit_add_bus+0x2a/0x2b3 [i2c_algo_bit]
kernel: [<ffffffffa028ed5a>] ? nouveau_i2c_port_create_+0x136/0x18a
[nouveau]
kernel: [<ffffffffa02900b4>] ? nv04_i2c_port_ctor+0x2b/0x5c [nouveau]
kernel: [<ffffffffa027fa84>] ? dcb_i2c_entry+0x24/0x48 [nouveau]
kernel: [<ffffffffa027b00f>] ? nouveau_object_ctor+0x2b/0xb7 [nouveau]
kernel: [<ffffffffa028f030>] ? nouveau_i2c_create_+0xce/0x1de [nouveau]
kernel: [<ffffffffa0279ad3>] ? nouveau_event_create+0x1d/0x5e [nouveau]
kernel: [<ffffffffa029007b>] ? nv04_i2c_ctor+0x1f/0x2d [nouveau]
kernel: [<ffffffffa027b00f>] ? nouveau_object_ctor+0x2b/0xb7 [nouveau]
kernel: [<ffffffffa029b461>] ? nouveau_devobj_ctor+0x52f/0x5a3 [nouveau]
kernel: [<ffffffffa027b00f>] ? nouveau_object_ctor+0x2b/0xb7 [nouveau]
kernel: [<ffffffffa027b81e>] ? nouveau_object_new+0x162/0x20e [nouveau]
kernel: [<ffffffffa02c9c87>] ? nouveau_drm_load+0x154/0x565 [nouveau]
kernel: [<ffffffffa020c455>] ? drm_get_minor+0x196/0x1e8 [drm]
kernel: [<ffffffffa020e08b>] ? drm_get_pci_dev+0x141/0x243 [drm]
kernel: [<ffffffff811a762c>] ? __pci_set_master+0x22/0x6d
kernel: [<ffffffffa02c9656>] ? nouveau_drm_probe+0x1cb/0x1ee [nouveau]
kernel: [<ffffffff811aa8de>] ? local_pci_probe+0x34/0x5b
kernel: [<ffffffff8105350e>] ? work_for_cpu_fn+0xb/0x11
kernel: [<ffffffff8105502d>] ? process_one_work+0x1c1/0x2c8
kernel: [<ffffffff8105514c>] ? process_scheduled_works+0x18/0x25
kernel: [<ffffffff81055875>] ? worker_thread+0x1eb/0x29b
kernel: [<ffffffff8105568a>] ? manage_workers.isra.25+0x1ae/0x1ae
kernel: [<ffffffff81059f28>] ? kthread+0xad/0xb5
kernel: [<ffffffff81059e7b>] ? __kthread_parkme+0x5e/0x5e
kernel: [<ffffffff813b0d6c>] ? ret_from_fork+0x7c/0xb0
kernel: [<ffffffff81059e7b>] ? __kthread_parkme+0x5e/0x5e
kernel: Code: 48 81 c6 80 dc 00 00 e8 69 fd f0 e0 8b 44 24 08 48 83 c4 10 5b c3
e9 10 f2 ff ff 90 51 48 8b 47 18 48 8b 38 48 8b 87 50 03 00 00 <48> 8b 00
48 85
c0 74 02 ff d0 31 c0 5a c3 48 8b 87 50 03 00 00
kernel: RIP [<ffffffffa028e94b>] nouveau_i2c_pre_xfer+0xf/0x1d [nouveau]
kernel: RSP <ffff88012ab4b918>
kernel: CR2: 0000000000000000
kernel: ---[ end trace 451adc65612b1d9f ]---
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.freedesktop.org/archives/nouveau/attachments/20130822/b063cc05/attachment.html>
bugzilla-daemon at freedesktop.org
2013-Aug-22 23:00 UTC
[Nouveau] [Bug 68456] [NV4B] null deref on load, NvI2C=1 makes it work
https://bugs.freedesktop.org/show_bug.cgi?id=68456
Ilia Mirkin <imirkin at alum.mit.edu> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|kernel NULL pointer |[NV4B] null deref on load,
|dereference on 'modprobe |NvI2C=1 makes it work
|nouveau' |
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.freedesktop.org/archives/nouveau/attachments/20130822/534ab946/attachment.html>
bugzilla-daemon at freedesktop.org
2013-Aug-23 01:13 UTC
[Nouveau] [Bug 68456] [NV4B] null deref on load, NvI2C=1 makes it work
https://bugs.freedesktop.org/show_bug.cgi?id=68456 --- Comment #1 from Ilia Mirkin <imirkin at alum.mit.edu> --- The code decodes to 1c: 51 push %rcx 1d: 48 8b 47 18 mov 0x18(%rdi),%rax 21: 48 8b 38 mov (%rax),%rdi 24: 48 8b 87 50 03 00 00 mov 0x350(%rdi),%rax 2b:* 48 8b 00 mov (%rax),%rax <-- trapping instruction 2e: 48 85 c0 test %rax,%rax 31: 74 02 je 0x35 33: ff d0 callq *%rax 35: 31 c0 xor %eax,%eax 37: 5a pop %rdx 38: c3 retq Which means that port->func is NULL. Still trying to work out exactly how that happens. -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/nouveau/attachments/20130823/22dcb389/attachment.html>
bugzilla-daemon at freedesktop.org
2013-Aug-23 01:46 UTC
[Nouveau] [Bug 68456] [NV4B] null deref on load, NvI2C=1 makes it work
https://bugs.freedesktop.org/show_bug.cgi?id=68456 --- Comment #2 from Ilia Mirkin <imirkin at alum.mit.edu> --- Created attachment 84484 --> https://bugs.freedesktop.org/attachment.cgi?id=84484&action=edit pass i2c functions into create func Can you give this patch a shot? It compiles, but I haven't tested it beyond that. Should fix the null deref. But it might still not work. (Obviously without the NvI2C=1 thing.) BTW, how are you hitting this? Did you set something in i2c like bit_test=1? -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/nouveau/attachments/20130823/ea090b90/attachment.html>
bugzilla-daemon at freedesktop.org
2013-Aug-23 16:54 UTC
[Nouveau] [Bug 68456] [NV4B] null deref on load, NvI2C=1 makes it work
https://bugs.freedesktop.org/show_bug.cgi?id=68456 --- Comment #3 from Hans-Peter Deifel <hpdeifel at gmx.de> --- Your patch did work, thank you very much. I could load the module and use it for a few hours without problems. I had indeed set bit_test=1 for i2c_algo_bit although I had forgotten about it. -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/nouveau/attachments/20130823/47fcd1a8/attachment.html>
bugzilla-daemon at freedesktop.org
2013-Sep-26 23:06 UTC
[Nouveau] [Bug 68456] [NV4B] null deref on load, NvI2C=1 makes it work
https://bugs.freedesktop.org/show_bug.cgi?id=68456
Ilia Mirkin <imirkin at alum.mit.edu> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #4 from Ilia Mirkin <imirkin at alum.mit.edu> ---
This patch should now be in 3.12-rc1.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.freedesktop.org/archives/nouveau/attachments/20130926/f7877d37/attachment.html>