From: Sasha Levin Date: Mon, 8 Apr 2019 23:16:07 +0000 (-0400) Subject: fixes for 5.0 X-Git-Tag: v4.9.169~55 X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fkernel%2Fstable-queue.git;a=commitdiff_plain;h=f143d13bee28d06082f71e90e4f2b950ebf46b7f fixes for 5.0 Signed-off-by: Sasha Levin --- 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 index 0000000000..12bc9d4596 --- /dev/null +++ b/queue-5.0/drm-i915-gvt-do-not-let-pin-count-of-shadow-mm-go-ne.patch @@ -0,0 +1,41 @@ +From d2ba856293cd3eeb44d6feb008a1ed5750322997 Mon Sep 17 00:00:00 2001 +From: Yan Zhao +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 +Signed-off-by: Zhenyu Wang +Signed-off-by: Sasha Levin +--- + 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 index 0000000000..7ba0ac3afd --- /dev/null +++ b/queue-5.0/kbuild-pkg-use-f-srctree-makefile-to-recurse-to-top-.patch @@ -0,0 +1,118 @@ +From fcad46d1a1dbbd314ba7b4ffe91c36373acd6a75 Mon Sep 17 00:00:00 2001 +From: Masahiro Yamada +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 +Signed-off-by: Sasha Levin +--- + 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 < 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 index 0000000000..bec5d53641 --- /dev/null +++ b/queue-5.0/series @@ -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