]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
fixes for 5.0
authorSasha Levin <sashal@kernel.org>
Mon, 8 Apr 2019 23:16:07 +0000 (19:16 -0400)
committerSasha Levin <sashal@kernel.org>
Mon, 8 Apr 2019 23:16:07 +0000 (19:16 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
queue-5.0/drm-i915-gvt-do-not-let-pin-count-of-shadow-mm-go-ne.patch [new file with mode: 0644]
queue-5.0/kbuild-pkg-use-f-srctree-makefile-to-recurse-to-top-.patch [new file with mode: 0644]
queue-5.0/series [new file with mode: 0644]

diff --git a/queue-5.0/drm-i915-gvt-do-not-let-pin-count-of-shadow-mm-go-ne.patch b/queue-5.0/drm-i915-gvt-do-not-let-pin-count-of-shadow-mm-go-ne.patch
new file mode 100644 (file)
index 0000000..12bc9d4
--- /dev/null
@@ -0,0 +1,41 @@
+From d2ba856293cd3eeb44d6feb008a1ed5750322997 Mon Sep 17 00:00:00 2001
+From: Yan Zhao <yan.y.zhao@intel.com>
+Date: Wed, 27 Mar 2019 00:55:45 -0400
+Subject: drm/i915/gvt: do not let pin count of shadow mm go negative
+
+[ Upstream commit 663a50ceac75c2208d2ad95365bc8382fd42f44d ]
+
+shadow mm's pin count got increased in workload preparation phase, which
+is after workload scanning.
+it will get decreased in complete_current_workload() anyway after
+workload completion.
+Sometimes, if a workload meets a scanning error, its shadow mm pin count
+will not get increased but will get decreased in the end.
+This patch lets shadow mm's pin count not go below 0.
+
+Fixes: 2707e4446688 ("drm/i915/gvt: vGPU graphics memory virtualization")
+Cc: zhenyuw@linux.intel.com
+Cc: stable@vger.kernel.org #4.14+
+Signed-off-by: Yan Zhao <yan.y.zhao@intel.com>
+Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/gpu/drm/i915/gvt/gtt.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/i915/gvt/gtt.c b/drivers/gpu/drm/i915/gvt/gtt.c
+index c7103dd2d8d5..563ab8590061 100644
+--- a/drivers/gpu/drm/i915/gvt/gtt.c
++++ b/drivers/gpu/drm/i915/gvt/gtt.c
+@@ -1942,7 +1942,7 @@ void _intel_vgpu_mm_release(struct kref *mm_ref)
+  */
+ void intel_vgpu_unpin_mm(struct intel_vgpu_mm *mm)
+ {
+-      atomic_dec(&mm->pincount);
++      atomic_dec_if_positive(&mm->pincount);
+ }
+ /**
+-- 
+2.19.1
+
diff --git a/queue-5.0/kbuild-pkg-use-f-srctree-makefile-to-recurse-to-top-.patch b/queue-5.0/kbuild-pkg-use-f-srctree-makefile-to-recurse-to-top-.patch
new file mode 100644 (file)
index 0000000..7ba0ac3
--- /dev/null
@@ -0,0 +1,118 @@
+From fcad46d1a1dbbd314ba7b4ffe91c36373acd6a75 Mon Sep 17 00:00:00 2001
+From: Masahiro Yamada <yamada.masahiro@socionext.com>
+Date: Thu, 14 Feb 2019 12:05:14 +0900
+Subject: kbuild: pkg: use -f $(srctree)/Makefile to recurse to top Makefile
+
+[ Upstream commit 175209cce23d6b0669ed5366add2517e26cd75cd ]
+
+'$(MAKE) KBUILD_SRC=' changes the working directory back and forth
+between objtree and srctree.
+
+It is better to recurse to the top-level Makefile directly.
+
+Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ scripts/package/Makefile |  4 ++--
+ scripts/package/builddeb | 10 +++++-----
+ scripts/package/buildtar |  2 +-
+ scripts/package/mkdebian |  6 ++++--
+ 4 files changed, 12 insertions(+), 10 deletions(-)
+
+diff --git a/scripts/package/Makefile b/scripts/package/Makefile
+index 453fecee62f0..aa39c2b5e46a 100644
+--- a/scripts/package/Makefile
++++ b/scripts/package/Makefile
+@@ -59,7 +59,7 @@ rpm-pkg: FORCE
+ # binrpm-pkg
+ # ---------------------------------------------------------------------------
+ binrpm-pkg: FORCE
+-      $(MAKE) KBUILD_SRC=
++      $(MAKE) -f $(srctree)/Makefile
+       $(CONFIG_SHELL) $(MKSPEC) prebuilt > $(objtree)/binkernel.spec
+       +rpmbuild $(RPMOPTS) --define "_builddir $(objtree)" --target \
+               $(UTS_MACHINE) -bb $(objtree)/binkernel.spec
+@@ -102,7 +102,7 @@ clean-dirs += $(objtree)/snap/
+ # tarball targets
+ # ---------------------------------------------------------------------------
+ tar%pkg: FORCE
+-      $(MAKE) KBUILD_SRC=
++      $(MAKE) -f $(srctree)/Makefile
+       $(CONFIG_SHELL) $(srctree)/scripts/package/buildtar $@
+ clean-dirs += $(objtree)/tar-install/
+diff --git a/scripts/package/builddeb b/scripts/package/builddeb
+index f43a274f4f1d..8ac25d10a6ad 100755
+--- a/scripts/package/builddeb
++++ b/scripts/package/builddeb
+@@ -86,12 +86,12 @@ cp "$($MAKE -s -f $srctree/Makefile image_name)" "$tmpdir/$installed_image_path"
+ if grep -q "^CONFIG_OF_EARLY_FLATTREE=y" $KCONFIG_CONFIG ; then
+       # Only some architectures with OF support have this target
+       if [ -d "${srctree}/arch/$SRCARCH/boot/dts" ]; then
+-              $MAKE KBUILD_SRC= INSTALL_DTBS_PATH="$tmpdir/usr/lib/$packagename" dtbs_install
++              $MAKE -f $srctree/Makefile INSTALL_DTBS_PATH="$tmpdir/usr/lib/$packagename" dtbs_install
+       fi
+ fi
+ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then
+-      INSTALL_MOD_PATH="$tmpdir" $MAKE KBUILD_SRC= modules_install
++      INSTALL_MOD_PATH="$tmpdir" $MAKE -f $srctree/Makefile modules_install
+       rm -f "$tmpdir/lib/modules/$version/build"
+       rm -f "$tmpdir/lib/modules/$version/source"
+       if [ "$ARCH" = "um" ] ; then
+@@ -113,14 +113,14 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then
+               # resign stripped modules
+               MODULE_SIG_ALL="$(grep -s '^CONFIG_MODULE_SIG_ALL=y' $KCONFIG_CONFIG || true)"
+               if [ -n "$MODULE_SIG_ALL" ]; then
+-                      INSTALL_MOD_PATH="$tmpdir" $MAKE KBUILD_SRC= modules_sign
++                      INSTALL_MOD_PATH="$tmpdir" $MAKE -f $srctree/Makefile modules_sign
+               fi
+       fi
+ fi
+ if [ "$ARCH" != "um" ]; then
+-      $MAKE headers_check KBUILD_SRC=
+-      $MAKE headers_install KBUILD_SRC= INSTALL_HDR_PATH="$libc_headers_dir/usr"
++      $MAKE -f $srctree/Makefile headers_check
++      $MAKE -f $srctree/Makefile headers_install INSTALL_HDR_PATH="$libc_headers_dir/usr"
+ fi
+ # Install the maintainer scripts
+diff --git a/scripts/package/buildtar b/scripts/package/buildtar
+index d624a07a4e77..cfd2a4a3fe42 100755
+--- a/scripts/package/buildtar
++++ b/scripts/package/buildtar
+@@ -57,7 +57,7 @@ dirs=boot
+ # Try to install modules
+ #
+ if grep -q '^CONFIG_MODULES=y' "${KCONFIG_CONFIG}"; then
+-      make ARCH="${ARCH}" O="${objtree}" KBUILD_SRC= INSTALL_MOD_PATH="${tmpdir}" modules_install
++      make ARCH="${ARCH}" -f ${srctree}/Makefile INSTALL_MOD_PATH="${tmpdir}" modules_install
+       dirs="$dirs lib"
+ fi
+diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
+index edcad61fe3cd..f030961c5165 100755
+--- a/scripts/package/mkdebian
++++ b/scripts/package/mkdebian
+@@ -205,13 +205,15 @@ EOF
+ cat <<EOF > debian/rules
+ #!$(command -v $MAKE) -f
++srctree ?= .
++
+ build:
+       \$(MAKE) KERNELRELEASE=${version} ARCH=${ARCH} \
+-      KBUILD_BUILD_VERSION=${revision} KBUILD_SRC=
++      KBUILD_BUILD_VERSION=${revision} -f \$(srctree)/Makefile
+ binary-arch:
+       \$(MAKE) KERNELRELEASE=${version} ARCH=${ARCH} \
+-      KBUILD_BUILD_VERSION=${revision} KBUILD_SRC= intdeb-pkg
++      KBUILD_BUILD_VERSION=${revision} -f \$(srctree)/Makefile intdeb-pkg
+ clean:
+       rm -rf debian/*tmp debian/files
+-- 
+2.19.1
+
diff --git a/queue-5.0/series b/queue-5.0/series
new file mode 100644 (file)
index 0000000..bec5d53
--- /dev/null
@@ -0,0 +1,2 @@
+drm-i915-gvt-do-not-let-pin-count-of-shadow-mm-go-ne.patch
+kbuild-pkg-use-f-srctree-makefile-to-recurse-to-top-.patch