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:	Sat, 10 Jan 2009 23:51:00 +0000
From:	Richard Purdie <rpurdie@...ux.intel.com>
To:	Dave Airlie <airlied@...il.com>
Cc:	Dave Airlie <airlied@...ux.ie>, dri-devel@...ts.sf.net,
	linux-kernel@...r.kernel.org
Subject: Re: [git pull] drm

On Sun, 2009-01-11 at 09:04 +1000, Dave Airlie wrote:
> On Sat, Jan 10, 2009 at 7:58 PM, Richard Purdie <rpurdie@...ux.intel.com> wrote:
> > I have a question though, where in the i915 driver is
> > master_priv->sarea_priv assigned a value? or master_priv->sarea for that
> > matter? As far as I can tell those pointers are never assigned values?
> > Is there a drm_getsarea() call missing?
> >
> > Perhaps my patch fixes things since sarea and sarea_priv are given a
> > value?
> >
> 
> Does the attached patch work?

If its fixed to compile, it fixes the problem. I don't know if your
making this against some other tree or it was just a typo so I've
attached the fixed version that worked for me below.

> Somehow this code was tested on DRI2 which needs no sarea, and we missed the bit
> to setup the DRI1 sarea, this patch should dtrt.

Makes sense, thanks.


[PATCH] drm/i915: setup sarea properly in master_priv

If we are running DRI1 userspace, we really need to set the sarea up
properly.

Signed-off-by: Richard Purdie <rpurdie@...ux.intel.com>

diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index 62a4bf7..868f574 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -177,6 +177,14 @@ static int i915_initialize(struct drm_device * dev, drm_i915_init_t * init)
 	drm_i915_private_t *dev_priv = dev->dev_private;
 	struct drm_i915_master_private *master_priv = dev->primary->master->driver_priv;
 
+	master_priv->sarea = drm_getsarea(dev);
+	if (master_priv->sarea) {
+		master_priv->sarea_priv = (drm_i915_sarea_t *)
+			((u8 *)master_priv->sarea->handle + init->sarea_priv_offset);
+	} else {
+		DRM_DEBUG("sarea not found assuming DRI2 userspace\n");
+	}
+
 	if (init->ring_size != 0) {
 		if (dev_priv->ring.ring_obj != NULL) {
 			i915_dma_cleanup(dev);

--
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