Bug 21908

Summary: SIGSEGV when no kernel DRM present
Product: xorg Reporter: Ilia Sotnikov <hostcc>
Component: Driver/nouveauAssignee: Nouveau Project <nouveau>
Status: RESOLVED WONTFIX QA Contact: Xorg Project Team <xorg-team>
Severity: major    
Priority: medium    
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Patch for SIGSEGV when no kernel-side DRM is present none

Description Ilia Sotnikov 2009-05-24 03:58:52 UTC
Created attachment 26165 [details] [review]
Patch for SIGSEGV when no kernel-side DRM is present

The nouveau driver (from git on 13/04/2009) experienced SIGSEGV when no kernel-side DRM is present.
The component version:
xserver: 1.5.3
libdrm: 2.4.9
xf86-video-nouveau: git from 13/04/2009

The problem was narrowed down to nv_driver.c:NVMapMemSW() - the function declares 'struct nouveau_device', which in fact, should be 'struct nouveau_device_priv' for DRM related functions to work properly.

The crashes were related to the accesses to 'mm_enabled' field of 'struct nouveau_device_priv', which points to a garbage when only 'struct nouveau_device' declared.

Attached patch (against git from 13/04/2009) solved the problem.
Comment 1 Pekka Paalanen 2009-08-09 09:36:06 UTC
Nowadays Nouveau cannot work without DRM, since it uses the memory management (GEM+TTM) even in NoAccel mode. Non-DRM mode is gone by commit http://cgit.freedesktop.org/nouveau/xf86-video-nouveau/commit/?id=f8ac9e35bd20391f923c5c5ccc509251ea23a4c5

Therefore closing this report, thanks.

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.