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>] [day] [month] [year] [list]
Message-ID: <20151118113054.3d4c702d@canb.auug.org.au>
Date:	Wed, 18 Nov 2015 11:30:54 +1100
From:	Stephen Rothwell <sfr@...b.auug.org.au>
To:	Daniel Vetter <daniel.vetter@...ll.ch>,
	<intel-gfx@...ts.freedesktop.org>,
	<dri-devel@...ts.freedesktop.org>
Cc:	linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
	Ville Syrjälä <ville.syrjala@...ux.intel.com>,
	Jani Nikula <jani.nikula@...el.com>,
	Lukas Wunner <lukas@...ner.de>
Subject: linux-next: manual merge of the drm-intel tree with the
 drm-intel-fixes tree

Hi all,

Today's linux-next merge of the drm-intel tree got a conflict in:

  drivers/gpu/drm/i915/intel_display.c

between commit:

  76dc3769d7c3 ("drm/i915: Don't clobber the addfb2 ioctl params")

from the drm-intel-fixes tree and commit:

  dcb1394e74e3 ("drm/i915: On fb alloc failure, unref gem object where it gets refed")

from the drm-intel tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@...b.auug.org.au

diff --cc drivers/gpu/drm/i915/intel_display.c
index 8f80bbeb1313,4cfcd3eea7d8..000000000000
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@@ -2398,26 -2385,23 +2394,25 @@@ intel_pin_and_fence_fb_obj(struct drm_p
  	 * framebuffer compression.  For simplicity, we always install
  	 * a fence as the cost is not that onerous.
  	 */
 -	ret = i915_gem_object_get_fence(obj);
 -	if (ret == -EDEADLK) {
 -		/*
 -		 * -EDEADLK means there are no free fences
 -		 * no pending flips.
 -		 *
 -		 * This is propagated to atomic, but it uses
 -		 * -EDEADLK to force a locking recovery, so
 -		 * change the returned error to -EBUSY.
 -		 */
 -		ret = -EBUSY;
 -		goto err_unpin;
 -	} else if (ret)
 -		goto err_unpin;
 +	if (view.type == I915_GGTT_VIEW_NORMAL) {
 +		ret = i915_gem_object_get_fence(obj);
 +		if (ret == -EDEADLK) {
 +			/*
 +			 * -EDEADLK means there are no free fences
 +			 * no pending flips.
 +			 *
 +			 * This is propagated to atomic, but it uses
 +			 * -EDEADLK to force a locking recovery, so
 +			 * change the returned error to -EBUSY.
 +			 */
 +			ret = -EBUSY;
 +			goto err_unpin;
 +		} else if (ret)
 +			goto err_unpin;
  
 -	i915_gem_object_pin_fence(obj);
 +		i915_gem_object_pin_fence(obj);
 +	}
  
- 	dev_priv->mm.interruptible = true;
  	intel_runtime_pm_put(dev_priv);
  	return 0;
  
@@@ -14369,17 -14560,21 +14583,22 @@@ static int intel_framebuffer_init(struc
  static struct drm_framebuffer *
  intel_user_framebuffer_create(struct drm_device *dev,
  			      struct drm_file *filp,
 -			      struct drm_mode_fb_cmd2 *mode_cmd)
 +			      struct drm_mode_fb_cmd2 *user_mode_cmd)
  {
+ 	struct drm_framebuffer *fb;
  	struct drm_i915_gem_object *obj;
 +	struct drm_mode_fb_cmd2 mode_cmd = *user_mode_cmd;
  
  	obj = to_intel_bo(drm_gem_object_lookup(dev, filp,
 -						mode_cmd->handles[0]));
 +						mode_cmd.handles[0]));
  	if (&obj->base == NULL)
  		return ERR_PTR(-ENOENT);
  
- 	return intel_framebuffer_create(dev, &mode_cmd, obj);
 -	fb = intel_framebuffer_create(dev, mode_cmd, obj);
++	fb = intel_framebuffer_create(dev, &mode_cmd, obj);
+ 	if (IS_ERR(fb))
+ 		drm_gem_object_unreference_unlocked(&obj->base);
+ 
+ 	return fb;
  }
  
  #ifndef CONFIG_DRM_FBDEV_EMULATION
--
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