rpms/kernel/F-9 linux-2.6-drm-fix-master-perm.patch, NONE, 1.1 kernel.spec, 1.632, 1.633

Dave Airlie (airlied) fedora-extras-commits at redhat.com
Thu May 1 09:40:23 UTC 2008


Author: airlied

Update of /cvs/pkgs/rpms/kernel/F-9
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv11629

Modified Files:
	kernel.spec 
Added Files:
	linux-2.6-drm-fix-master-perm.patch 
Log Message:
* Thu May 01 2008 Dave Airlie <airlied at redhat.com> 2.6.25-14
- fix radeon fast-user-switch oops + i915 breadcrumb oops


linux-2.6-drm-fix-master-perm.patch:

--- NEW FILE linux-2.6-drm-fix-master-perm.patch ---
diff --git a/drivers/char/drm/drm_ioctl.c b/drivers/char/drm/drm_ioctl.c
index e35126a..3b69b74 100644
--- a/drivers/char/drm/drm_ioctl.c
+++ b/drivers/char/drm/drm_ioctl.c
@@ -308,6 +308,9 @@ int drm_setversion(struct drm_device *dev, void *data, struct drm_file *file_pri
 	struct drm_set_version *sv = data;
 	int if_version, retcode = 0;
 
+	if (!file_priv->is_master)
+		return -EPERM;
+
 	if (sv->drm_di_major != -1) {
 		if (sv->drm_di_major != DRM_IF_MAJOR ||
 		    sv->drm_di_minor < 0 || sv->drm_di_minor > DRM_IF_MINOR) {
diff --git a/drivers/char/drm/i915_dma.c b/drivers/char/drm/i915_dma.c
index 9ca655d..1733c78 100644
--- a/drivers/char/drm/i915_dma.c
+++ b/drivers/char/drm/i915_dma.c
@@ -510,7 +510,7 @@ static int i915_emit_box(struct drm_device *dev,
 void i915_emit_breadcrumb(struct drm_device *dev)
 {
 	struct drm_i915_private *dev_priv = dev->dev_private;
-	struct drm_i915_master_private *master_priv = dev->primary->master->driver_priv;
+	struct drm_i915_master_private *master_priv;
 	RING_LOCALS;
 
 	if (++dev_priv->counter > BREADCRUMB_MASK) {
@@ -518,8 +518,11 @@ void i915_emit_breadcrumb(struct drm_device *dev)
 		DRM_DEBUG("Breadcrumb counter wrapped around\n");
 	}
 
-	if (master_priv->sarea_priv)
-		master_priv->sarea_priv->last_enqueue = dev_priv->counter;
+	if (dev->primary && dev->primary->master) {
+		master_priv = dev->primary->master->driver_priv;
+		if (master_priv->sarea_priv)
+			master_priv->sarea_priv->last_enqueue = dev_priv->counter;
+	}
 
 	BEGIN_LP_RING(4);
 	OUT_RING(CMD_STORE_DWORD_IDX);


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-9/kernel.spec,v
retrieving revision 1.632
retrieving revision 1.633
diff -u -r1.632 -r1.633
--- kernel.spec	1 May 2008 02:02:17 -0000	1.632
+++ kernel.spec	1 May 2008 09:39:44 -0000	1.633
@@ -638,6 +638,7 @@
 Patch1807: linux-2.6-drm-radeon-fix-oops.patch
 Patch1808: linux-2.6-drm-radeon-fix-oops2.patch
 Patch1809: linux-2.6-drm-modesetting-oops-fixes.patch
+Patch1810: linux-2.6-drm-fix-master-perm.patch
 
 # kludge to make ich9 e1000 work
 Patch2000: linux-2.6-e1000-ich9.patch
@@ -1190,6 +1191,7 @@
 ApplyPatch linux-2.6-drm-radeon-fix-oops.patch
 ApplyPatch linux-2.6-drm-radeon-fix-oops2.patch
 ApplyPatch linux-2.6-drm-modesetting-oops-fixes.patch
+ApplyPatch linux-2.6-drm-fix-master-perm.patch
 
 # ext4dev stable patch queue, slated for 2.6.25
 #ApplyPatch linux-2.6-ext4-stable-queue.patch
@@ -1805,6 +1807,9 @@
 %kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL}.xen -e /etc/ld.so.conf.d/kernelcap-%{KVERREL}.xen.conf %{with_xen} xen
 
 %changelog
+* Thu May 01 2008 Dave Airlie <airlied at redhat.com> 2.6.25-14
+- fix radeon fast-user-switch oops + i915 breadcrumb oops
+
 * Wed Apr 30 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.25-13
 - Fix drive detection on some Macbook models (#439398)
 - Fix oops in RAID code (#441765)




More information about the fedora-extras-commits mailing list