Bug 28626 - Oops: kernel NULL pointer dereference in nouveau_connector_get_modes
Summary: Oops: kernel NULL pointer dereference in nouveau_connector_get_modes
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/nouveau (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Nouveau Project
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-20 09:26 UTC by Albert Damen
Modified: 2010-06-21 03:43 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
dmesg with the oops (68.30 KB, text/plain)
2010-06-20 09:26 UTC, Albert Damen
no flags Details
Suggested patch (849 bytes, patch)
2010-06-20 09:29 UTC, Albert Damen
no flags Details | Splinter Review

Description Albert Damen 2010-06-20 09:26:57 UTC
Created attachment 36380 [details]
dmesg with the oops

Booting with nouveau/linux-2.6 from git results in a kernel oops:
[    3.817681] BUG: unable to handle kernel NULL pointer dereference at 0000000000000060
[    3.818051] IP: [<ffffffffa01128b0>] nouveau_connector_get_modes+0x180/0x410 [nouveau]
Please see attached dmesg for the full oops.

System environment:
-- chipset: intel PM965 + G86 [GeForce 8400M GT]
-- system architecture: 64-bit
-- xf86-video-nouveau: git, db98ad2363 (20 June)
-- xserver: 1.7.5
-- libdrm: 2.4.20
-- kernel: 2.6.34 + nouveau/linux from git: 48f4092e87
-- Machine: laptop, Sony Vaio FZ21-M
-- Display connector: LVDS (1280x800) + HDMI (1680x1050)

Reverting commit "drm/nouveau: move LVDS detection back to connector detect() time" solved the oops.
Further debugging showed nv_encoder was NULL in nouveau_connector_get_modes.
Attached patch solves the problem for me.
Comment 1 Albert Damen 2010-06-20 09:29:17 UTC
Created attachment 36381 [details] [review]
Suggested patch
Comment 2 Francisco Jerez 2010-06-21 03:43:19 UTC
(In reply to comment #0)
> Reverting commit "drm/nouveau: move LVDS detection back to connector detect()
> time" solved the oops.
> Further debugging showed nv_encoder was NULL in nouveau_connector_get_modes.
> Attached patch solves the problem for me.

Thanks, that's the right thing to do, pushed.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.