forked from AUR/linux-vfio
		
	3.19.3-3
This commit is contained in:
		
							
								
								
									
										6
									
								
								.SRCINFO
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								.SRCINFO
									
									
									
									
									
								
							@@ -1,6 +1,6 @@
 | 
			
		||||
pkgbase = linux-vfio
 | 
			
		||||
	pkgver = 3.19.3
 | 
			
		||||
	pkgrel = 1
 | 
			
		||||
	pkgrel = 3
 | 
			
		||||
	url = http://www.kernel.org/
 | 
			
		||||
	arch = i686
 | 
			
		||||
	arch = x86_64
 | 
			
		||||
@@ -19,6 +19,8 @@ pkgbase = linux-vfio
 | 
			
		||||
	source = config.x86_64
 | 
			
		||||
	source = linux.preset
 | 
			
		||||
	source = change-default-console-loglevel.patch
 | 
			
		||||
	source = 0001-fix-btrfs-mount-deadlock.patch
 | 
			
		||||
	source = 0001-fixup-drm.patch
 | 
			
		||||
	source = override_for_missing_acs_capabilities.patch
 | 
			
		||||
	source = i915_317.patch
 | 
			
		||||
	sha256sums = be42511fe5321012bb4a2009167ce56a9e5fe362b4af43e8c371b3666859806c
 | 
			
		||||
@@ -29,6 +31,8 @@ pkgbase = linux-vfio
 | 
			
		||||
	sha256sums = 59830f47c1be39f874640d762dca55f972aca549a7a65ba2f1dac184251dabb2
 | 
			
		||||
	sha256sums = f0d90e756f14533ee67afda280500511a62465b4f76adcc5effa95a40045179c
 | 
			
		||||
	sha256sums = 1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99
 | 
			
		||||
	sha256sums = 5967cf53cb9db9f070e8f346c3d7045748e4823a7fe2ee330acd18c9d02bbb77
 | 
			
		||||
	sha256sums = 911872ef7000af471e649aaeb3490094a0b4c1514ca1024757ca2e90ac1d2a3d
 | 
			
		||||
	sha256sums = 7320b4abc2918cfb0cb084330a7470887e9a9cfb6496381460bcf4085eb62e0f
 | 
			
		||||
	sha256sums = f86ce528b63f198b84c4d8d92d35329aa4000d462217dc2db03bac5eb693cf19
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										43
									
								
								0001-fix-btrfs-mount-deadlock.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								0001-fix-btrfs-mount-deadlock.patch
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,43 @@
 | 
			
		||||
From 9c4f61f01d269815bb7c37be3ede59c5587747c6 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: David Sterba <dsterba@suse.cz>
 | 
			
		||||
Date: Fri, 2 Jan 2015 19:12:57 +0100
 | 
			
		||||
Subject: btrfs: simplify insert_orphan_item
 | 
			
		||||
 | 
			
		||||
We can search and add the orphan item in one go,
 | 
			
		||||
btrfs_insert_orphan_item will find out if the item already exists.
 | 
			
		||||
 | 
			
		||||
Signed-off-by: David Sterba <dsterba@suse.cz>
 | 
			
		||||
 | 
			
		||||
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
 | 
			
		||||
index 5be45c1..25a1c36 100644
 | 
			
		||||
--- a/fs/btrfs/tree-log.c
 | 
			
		||||
+++ b/fs/btrfs/tree-log.c
 | 
			
		||||
@@ -1254,21 +1254,13 @@ out:
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 static int insert_orphan_item(struct btrfs_trans_handle *trans,
 | 
			
		||||
-			      struct btrfs_root *root, u64 offset)
 | 
			
		||||
+			      struct btrfs_root *root, u64 ino)
 | 
			
		||||
 {
 | 
			
		||||
 	int ret;
 | 
			
		||||
-	struct btrfs_path *path;
 | 
			
		||||
-
 | 
			
		||||
-	path = btrfs_alloc_path();
 | 
			
		||||
-	if (!path)
 | 
			
		||||
-		return -ENOMEM;
 | 
			
		||||
 
 | 
			
		||||
-	ret = btrfs_find_item(root, path, BTRFS_ORPHAN_OBJECTID,
 | 
			
		||||
-			offset, BTRFS_ORPHAN_ITEM_KEY, NULL);
 | 
			
		||||
-	if (ret > 0)
 | 
			
		||||
-		ret = btrfs_insert_orphan_item(trans, root, offset);
 | 
			
		||||
-
 | 
			
		||||
-	btrfs_free_path(path);
 | 
			
		||||
+	ret = btrfs_insert_orphan_item(trans, root, ino);
 | 
			
		||||
+	if (ret == -EEXIST)
 | 
			
		||||
+		ret = 0;
 | 
			
		||||
 
 | 
			
		||||
 	return ret;
 | 
			
		||||
 }
 | 
			
		||||
-- 
 | 
			
		||||
cgit v0.10.2
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										70
									
								
								0001-fixup-drm.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								0001-fixup-drm.patch
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,70 @@
 | 
			
		||||
From 8218c3f4df3bb1c637c17552405039a6dd3c1ee1 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Daniel Vetter <daniel.vetter@ffwll.ch>
 | 
			
		||||
Date: Fri, 27 Feb 2015 12:58:13 +0100
 | 
			
		||||
Subject: drm: Fixup racy refcounting in plane_force_disable
 | 
			
		||||
 | 
			
		||||
Originally it was impossible to be dropping the last refcount in this
 | 
			
		||||
function since there was always one around still from the idr. But in
 | 
			
		||||
 | 
			
		||||
commit 83f45fc360c8e16a330474860ebda872d1384c8c
 | 
			
		||||
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
 | 
			
		||||
Date:   Wed Aug 6 09:10:18 2014 +0200
 | 
			
		||||
 | 
			
		||||
    drm: Don't grab an fb reference for the idr
 | 
			
		||||
 | 
			
		||||
we've switched to weak references, broke that assumption but forgot to
 | 
			
		||||
fix it up.
 | 
			
		||||
 | 
			
		||||
Since we still force-disable planes it's only possible to hit this
 | 
			
		||||
when racing multiple rmfb with fbdev restoring or similar evil things.
 | 
			
		||||
As long as userspace is nice it's impossible to hit the BUG_ON.
 | 
			
		||||
 | 
			
		||||
But the BUG_ON would most likely be hit from fbdev code, which usually
 | 
			
		||||
invovles the console_lock besides all modeset locks. So very likely
 | 
			
		||||
we'd never get the bug reports if this was hit in the wild, hence
 | 
			
		||||
better be safe than sorry and backport.
 | 
			
		||||
 | 
			
		||||
Spotted by Matt Roper while reviewing other patches.
 | 
			
		||||
 | 
			
		||||
[airlied: pull this back into 4.0 - the oops happens there]
 | 
			
		||||
 | 
			
		||||
Cc: stable@vger.kernel.org
 | 
			
		||||
Cc: Matt Roper <matthew.d.roper@intel.com>
 | 
			
		||||
Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
 | 
			
		||||
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
 | 
			
		||||
Signed-off-by: Dave Airlie <airlied@redhat.com>
 | 
			
		||||
 | 
			
		||||
diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
 | 
			
		||||
index f6d04c7..679b10e 100644
 | 
			
		||||
--- a/drivers/gpu/drm/drm_crtc.c
 | 
			
		||||
+++ b/drivers/gpu/drm/drm_crtc.c
 | 
			
		||||
@@ -525,17 +525,6 @@ void drm_framebuffer_reference(struct drm_framebuffer *fb)
 | 
			
		||||
 }
 | 
			
		||||
 EXPORT_SYMBOL(drm_framebuffer_reference);
 | 
			
		||||
 
 | 
			
		||||
-static void drm_framebuffer_free_bug(struct kref *kref)
 | 
			
		||||
-{
 | 
			
		||||
-	BUG();
 | 
			
		||||
-}
 | 
			
		||||
-
 | 
			
		||||
-static void __drm_framebuffer_unreference(struct drm_framebuffer *fb)
 | 
			
		||||
-{
 | 
			
		||||
-	DRM_DEBUG("%p: FB ID: %d (%d)\n", fb, fb->base.id, atomic_read(&fb->refcount.refcount));
 | 
			
		||||
-	kref_put(&fb->refcount, drm_framebuffer_free_bug);
 | 
			
		||||
-}
 | 
			
		||||
-
 | 
			
		||||
 /**
 | 
			
		||||
  * drm_framebuffer_unregister_private - unregister a private fb from the lookup idr
 | 
			
		||||
  * @fb: fb to unregister
 | 
			
		||||
@@ -1320,7 +1309,7 @@ void drm_plane_force_disable(struct drm_plane *plane)
 | 
			
		||||
 		return;
 | 
			
		||||
 	}
 | 
			
		||||
 	/* disconnect the plane from the fb and crtc: */
 | 
			
		||||
-	__drm_framebuffer_unreference(plane->old_fb);
 | 
			
		||||
+	drm_framebuffer_unreference(plane->old_fb);
 | 
			
		||||
 	plane->old_fb = NULL;
 | 
			
		||||
 	plane->fb = NULL;
 | 
			
		||||
 	plane->crtc = NULL;
 | 
			
		||||
-- 
 | 
			
		||||
cgit v0.10.2
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										13
									
								
								PKGBUILD
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								PKGBUILD
									
									
									
									
									
								
							@@ -3,7 +3,7 @@
 | 
			
		||||
pkgbase=linux-vfio
 | 
			
		||||
_srcname=linux-3.19
 | 
			
		||||
pkgver=3.19.3
 | 
			
		||||
pkgrel=1
 | 
			
		||||
pkgrel=3
 | 
			
		||||
arch=('i686' 'x86_64')
 | 
			
		||||
url="http://www.kernel.org/"
 | 
			
		||||
license=('GPL2')
 | 
			
		||||
@@ -18,6 +18,8 @@ source=("https://www.kernel.org/pub/linux/kernel/v3.x/${_srcname}.tar.xz"
 | 
			
		||||
        # standard config files for mkinitcpio ramdisk
 | 
			
		||||
        'linux.preset'
 | 
			
		||||
        'change-default-console-loglevel.patch'
 | 
			
		||||
        '0001-fix-btrfs-mount-deadlock.patch'
 | 
			
		||||
        '0001-fixup-drm.patch'
 | 
			
		||||
        'override_for_missing_acs_capabilities.patch'
 | 
			
		||||
        'i915_317.patch'
 | 
			
		||||
        )
 | 
			
		||||
@@ -29,6 +31,8 @@ sha256sums=('be42511fe5321012bb4a2009167ce56a9e5fe362b4af43e8c371b3666859806c'
 | 
			
		||||
            '59830f47c1be39f874640d762dca55f972aca549a7a65ba2f1dac184251dabb2'
 | 
			
		||||
            'f0d90e756f14533ee67afda280500511a62465b4f76adcc5effa95a40045179c'
 | 
			
		||||
            '1256b241cd477b265a3c2d64bdc19ffe3c9bbcee82ea3994c590c2c76e767d99'
 | 
			
		||||
            '5967cf53cb9db9f070e8f346c3d7045748e4823a7fe2ee330acd18c9d02bbb77'
 | 
			
		||||
            '911872ef7000af471e649aaeb3490094a0b4c1514ca1024757ca2e90ac1d2a3d'
 | 
			
		||||
            '7320b4abc2918cfb0cb084330a7470887e9a9cfb6496381460bcf4085eb62e0f'
 | 
			
		||||
            'f86ce528b63f198b84c4d8d92d35329aa4000d462217dc2db03bac5eb693cf19')
 | 
			
		||||
validpgpkeys=(
 | 
			
		||||
@@ -51,6 +55,13 @@ prepare() {
 | 
			
		||||
  # remove this when a Kconfig knob is made available by upstream
 | 
			
		||||
  # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
 | 
			
		||||
  patch -p1 -i "${srcdir}/change-default-console-loglevel.patch"
 | 
			
		||||
 | 
			
		||||
  # fix #44495 and #44385 deadlock on btrfs mount
 | 
			
		||||
  # https://btrfs.wiki.kernel.org/index.php/Gotchas
 | 
			
		||||
  patch -Np1 -i "${srcdir}/0001-fix-btrfs-mount-deadlock.patch"
 | 
			
		||||
 | 
			
		||||
  # fix #44491
 | 
			
		||||
  patch -Np1 -i "${srcdir}/0001-fixup-drm.patch"
 | 
			
		||||
  
 | 
			
		||||
  if [ "${CARCH}" = "x86_64" ]; then
 | 
			
		||||
    cat "${srcdir}/config.x86_64" > ./.config
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user