Hello community,

here is the log from the commit of package kernel-source for openSUSE:Factory 
checked in at 2017-07-17 09:15:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-source (Old)
 and      /work/SRC/openSUSE:Factory/.kernel-source.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kernel-source"

Mon Jul 17 09:15:12 2017 rev:372 rq:509108 version:4.12.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-source/dtb-aarch64.changes        
2017-07-03 09:35:55.163580312 +0200
+++ /work/SRC/openSUSE:Factory/.kernel-source.new/dtb-aarch64.changes   
2017-07-17 09:15:19.308756220 +0200
@@ -1,0 +2,69 @@
+Mon Jul 10 09:29:07 CEST 2017 - jsl...@suse.cz
+
+- fs/fcntl: f_setown, avoid undefined behaviour (bnc#1006180).
+- fs/fcntl: f_setown, allow returning error (bnc#1006180).
+- commit c67ada2
+
+-------------------------------------------------------------------
+Mon Jul 10 09:25:05 CEST 2017 - jsl...@suse.cz
+
+- x86/entry/64: Refactor IRQ stacks and make them NMI-safe
+  (bnc#1018348).
+- x86/entry/64: Initialize the top of the IRQ stack before
+  switching stacks (bnc#1018348).
+- x86/dumpstack: fix occasionally missing registers (bnc#1018348).
+- x86/dumpstack: fix interrupt and exception stack boundary checks
+  (bnc#1018348).
+  Update ORC to v3.
+- commit dca9bfc
+
+-------------------------------------------------------------------
+Mon Jul 10 09:12:02 CEST 2017 - jsl...@suse.cz
+
+- Refresh
+  patches.suse/0001-objtool-Move-checking-code-to-check.c.patch.
+- Refresh
+  patches.suse/0002-objtool-x86-Add-several-functions-and-files-to-the-o.patch.
+- Refresh
+  patches.suse/0003-objtool-Implement-stack-validation-2.0.patch.
+- Refresh
+  patches.suse/0004-objtool-Silence-warnings-for-functions-which-use-IRE.patch.
+  Update upstream status.
+- commit f413050
+
+-------------------------------------------------------------------
+Mon Jul 10 08:49:23 CEST 2017 - jsl...@suse.cz
+
+- rpm/kernel-docs.spec.in: temporary fix for 4.12 and later
+  There is a little DocBook in 4.12 and none in 4.13. So remove creating
+  the link.
+- commit 1d6ee3e
+
+-------------------------------------------------------------------
+Tue Jul  4 10:49:11 CEST 2017 - jsl...@suse.cz
+
+- Refresh
+  patches.fixes/tty-handle-the-case-where-we-cannot-restore-a-line-d.patch.
+  Update upstream status.
+- commit 50443d0
+
+-------------------------------------------------------------------
+Tue Jul  4 08:03:22 CEST 2017 - jsl...@suse.cz
+
+- Update to 4.12-final.
+- commit f35ee68
+
+-------------------------------------------------------------------
+Mon Jul  3 11:36:04 CEST 2017 - jsl...@suse.cz
+
+- objtool: Silence warnings for functions which use IRET
+  (bnc#1018348).
+- Update config files.
+- Refresh
+  patches.suse/0002-dwarf-do-not-throw-away-unwind-info.patch.
+  Push the new version of unDWARF unwinder which is now called Orc. The
+  first 4 patches were accepted to the -tip tree, so they are marked
+  appropriatelly.
+- commit 48ca048
+
+-------------------------------------------------------------------
@@ -7,0 +77,12 @@
+Tue Jun 27 10:58:37 CEST 2017 - ti...@suse.de
+
+- config/x86_64: Align 8250 serial configs for many ports (bsc#1024449)
+- commit 7a8608e
+
+-------------------------------------------------------------------
+Mon Jun 26 17:10:55 CEST 2017 - je...@suse.com
+
+- Update to 4.12-rc7.
+- commit aec31ef
+
+-------------------------------------------------------------------
@@ -13,0 +95,9 @@
+Sun Jun 25 21:17:28 CEST 2017 - afaer...@suse.de
+
+- config: ARM: Consistently enable SPI_GPIO
+  Bit-banging is needed when a SoC doesn't support native SPI or when such
+  drivers are missing. SPI_GPIO was enabled for armv6hl and armv7hl default,
+  but missing for armv7hl lpae and arm64. Set CONFIG_SPI_GPIO=m consistently.
+- commit 8750062
+
+-------------------------------------------------------------------
@@ -26,0 +117,7 @@
+Thu Jun 22 22:48:39 CEST 2017 - je...@suse.com
+
+- reiserfs: don't preallocate blocks for extended attributes
+  (bsc#990682).
+- commit ffd9401
+
+-------------------------------------------------------------------
@@ -41,0 +139,33 @@
+Thu Jun 22 16:44:14 CEST 2017 - je...@suse.com
+
+- config: VGACON_SOFT_SCROLLBACK_SIZE=128 (FATE#307471).
+  This doubles the scrollback buffer on VGA consoles with only a little
+  bit of memory cost.
+- commit b8a18f3
+
+-------------------------------------------------------------------
+Thu Jun 22 09:56:51 CEST 2017 - jsl...@suse.cz
+
+- x86/unwind: add undwarf unwinder (bnc#1018348).
+- Refresh
+  patches.suse/0001-objtool-move-checking-code-to-check.c.patch.
+- Refresh patches.suse/0003-objtool-stack-validation-2.0.patch.
+- Refresh
+  patches.suse/0004-objtool-add-undwarf-debuginfo-generation.patch.
+- Delete
+  patches.suse/0008-extable-rename-sortextable-script-to-sorttable.patch.
+- Delete
+  patches.suse/0009-extable-add-undwarf-table-sorting-ability-to-sorttab.patch.
+- Delete patches.suse/0010-x86-unwind-add-undwarf-unwinder.patch.
+  Refresh the UNDWARF unwinder according to usptream reviews. And add
+  few fixes fro DRAP sequences again and handle more exceptions.
+- commit 31d141e
+
+-------------------------------------------------------------------
+Tue Jun 20 20:58:13 CEST 2017 - je...@suse.com
+
+- btrfs: serialize subvolume mounts with potentially mismatching
+  rw flags (bsc#951844 bsc#1024015).
+- commit 638ee5d
+
+-------------------------------------------------------------------
@@ -48,0 +179,13 @@
+Tue Jun 20 16:26:53 CEST 2017 - jjo...@suse.de
+
+- Update config files.
+- config.conf: Added s390x zfcpdump kernel
+- commit 5162e6c
+
+-------------------------------------------------------------------
+Tue Jun 20 14:22:42 CEST 2017 - je...@suse.com
+
+- Update to 4.12-rc6.
+- commit 4d2b302
+
+-------------------------------------------------------------------
@@ -55,0 +199,6 @@
+Tue Jun 20 12:17:15 CEST 2017 - mma...@suse.com
+
+- Only set CONFIG_GCC_PLUGINS=y in kernel-syzkaller (boo#1043591)
+- commit 1fffb22
+
+-------------------------------------------------------------------
@@ -110,0 +260,7 @@
+Mon Jun 12 18:40:31 CEST 2017 - je...@suse.com
+
+- Update to 4.12-rc5.
+- Eliminated 1 patch.
+- commit 270295f
+
+-------------------------------------------------------------------
@@ -159,0 +316,36 @@
+Wed Jun  7 10:08:05 CEST 2017 - mkube...@suse.cz
+
+- Update upstream reference:
+  patches.fixes/virtio_net-lower-limit-on-buffer-size.patch.
+- commit 922d3e3
+
+-------------------------------------------------------------------
+Tue Jun  6 12:45:39 CEST 2017 - jsl...@suse.cz
+
+- tty: handle the case where we cannot restore a line discipline
+  (bnc#1042878).
+- commit 9273e2f
+
+-------------------------------------------------------------------
+Tue Jun  6 12:41:20 CEST 2017 - mkube...@suse.cz
+
+- usb/early: Remove trace_printk() callers in xhci-dbc
+  (bsc#1042295).
+- commit 52a1432
+
+-------------------------------------------------------------------
+Tue Jun  6 12:27:55 CEST 2017 - mkube...@suse.cz
+
+- virtio_net: lower limit on buffer size (bsc#1042717).
+- commit a3aa4ed
+
+-------------------------------------------------------------------
+Tue Jun  6 11:15:29 CEST 2017 - jsl...@suse.cz
+
+- Update config files.
+  Disable CONFIG_DRM_I915_WERROR, i.e. -Werror in i915. It causes build
+  failures in -syzkaller flavor due to a bit oversized frames:
+  drivers/gpu/drm/i915/intel_dpll_mgr.c:1548:1: error: the frame size of 2240 
bytes is larger than 2048 bytes
++++ 333 more lines (skipped)
++++ between /work/SRC/openSUSE:Factory/kernel-source/dtb-aarch64.changes
++++ and /work/SRC/openSUSE:Factory/.kernel-source.new/dtb-aarch64.changes
dtb-armv6l.changes: same change
dtb-armv7l.changes: same change
kernel-64kb.changes: same change
kernel-debug.changes: same change
kernel-default.changes: same change
kernel-docs.changes: same change
kernel-lpae.changes: same change
kernel-obs-build.changes: same change
kernel-obs-qa.changes: same change
kernel-pae.changes: same change
kernel-source.changes: same change
kernel-syms.changes: same change
kernel-syzkaller.changes: same change
kernel-vanilla.changes: same change
kernel-zfcpdump.changes: same change

Old:
----
  linux-4.11.tar.xz

New:
----
  linux-4.12.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ dtb-aarch64.spec ++++++
--- /var/tmp/diff_new_pack.8z95hY/_old  2017-07-17 09:15:56.103577696 +0200
+++ /var/tmp/diff_new_pack.8z95hY/_new  2017-07-17 09:15:56.107577133 +0200
@@ -16,8 +16,8 @@
 #
 
 
-%define srcversion 4.11
-%define patchversion 4.11.8
+%define srcversion 4.12
+%define patchversion 4.12.0
 %define variant %{nil}
 
 %include %_sourcedir/kernel-spec-macros
@@ -29,9 +29,9 @@
 %(chmod +x 
%_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb})
 
 Name:           dtb-aarch64
-Version:        4.11.8
+Version:        4.12.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g42bd7a0
+Release:        <RELEASE>.gae25ff8
 %else
 Release:        0
 %endif
@@ -338,6 +338,7 @@
 %build
 source=linux-%srcversion
 cp $source/COPYING .
+SRCDIR=`pwd`/$source
 mkdir pp
 PPDIR=`pwd`/pp
 export DTC_FLAGS="-R 4 -p 0x1000"
@@ -349,7 +350,7 @@
 for dts in al/*.dts allwinner/*.dts altera/*.dts amd/*.dts amlogic/*.dts 
apm/*.dts arm/*.dts broadcom/*.dts cavium/*.dts exynos/*.dts freescale/*.dts 
hisilicon/*.dts lg/*.dts marvell/*.dts mediatek/*.dts nvidia/*.dts qcom/*.dts 
renesas/*.dts rockchip/*.dts socionext/*.dts sprd/*.dts xilinx/*.dts zte/*.dts 
; do
     target=${dts%*.dts}
     mkdir -p $PPDIR/$(dirname $target)
-    cpp -x assembler-with-cpp -undef -D__DTS__ -nostdinc -I. -I./include/ -P 
$target.dts -o $PPDIR/$target.dts
+    cpp -x assembler-with-cpp -undef -D__DTS__ -nostdinc -I. 
-I$SRCDIR/include/ -I$SRCDIR/scripts/dtc/include-prefixes/ -P $target.dts -o 
$PPDIR/$target.dts
     dtc $DTC_FLAGS -I dts -O dtb -i ./$(dirname $target) -o $PPDIR/$target.dtb 
$PPDIR/$target.dts
 done
 

++++++ dtb-armv6l.spec ++++++
--- /var/tmp/diff_new_pack.8z95hY/_old  2017-07-17 09:15:56.135573193 +0200
+++ /var/tmp/diff_new_pack.8z95hY/_new  2017-07-17 09:15:56.139572630 +0200
@@ -16,8 +16,8 @@
 #
 
 
-%define srcversion 4.11
-%define patchversion 4.11.8
+%define srcversion 4.12
+%define patchversion 4.12.0
 %define variant %{nil}
 
 %include %_sourcedir/kernel-spec-macros
@@ -29,9 +29,9 @@
 %(chmod +x 
%_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb})
 
 Name:           dtb-armv6l
-Version:        4.11.8
+Version:        4.12.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g42bd7a0
+Release:        <RELEASE>.gae25ff8
 %else
 Release:        0
 %endif
@@ -135,6 +135,7 @@
 %build
 source=linux-%srcversion
 cp $source/COPYING .
+SRCDIR=`pwd`/$source
 mkdir pp
 PPDIR=`pwd`/pp
 export DTC_FLAGS="-R 4 -p 0x1000"
@@ -146,7 +147,7 @@
 for dts in bcm2835*.dts ; do
     target=${dts%*.dts}
     mkdir -p $PPDIR/$(dirname $target)
-    cpp -x assembler-with-cpp -undef -D__DTS__ -nostdinc -I. -I./include/ -P 
$target.dts -o $PPDIR/$target.dts
+    cpp -x assembler-with-cpp -undef -D__DTS__ -nostdinc -I. 
-I$SRCDIR/include/ -I$SRCDIR/scripts/dtc/include-prefixes/ -P $target.dts -o 
$PPDIR/$target.dts
     dtc $DTC_FLAGS -I dts -O dtb -i ./$(dirname $target) -o $PPDIR/$target.dtb 
$PPDIR/$target.dts
 done
 

++++++ dtb-armv7l.spec ++++++
--- /var/tmp/diff_new_pack.8z95hY/_old  2017-07-17 09:15:56.167568690 +0200
+++ /var/tmp/diff_new_pack.8z95hY/_new  2017-07-17 09:15:56.171568127 +0200
@@ -16,8 +16,8 @@
 #
 
 
-%define srcversion 4.11
-%define patchversion 4.11.8
+%define srcversion 4.12
+%define patchversion 4.12.0
 %define variant %{nil}
 
 %include %_sourcedir/kernel-spec-macros
@@ -29,9 +29,9 @@
 %(chmod +x 
%_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb})
 
 Name:           dtb-armv7l
-Version:        4.11.8
+Version:        4.12.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g42bd7a0
+Release:        <RELEASE>.gae25ff8
 %else
 Release:        0
 %endif
@@ -506,6 +506,7 @@
 %build
 source=linux-%srcversion
 cp $source/COPYING .
+SRCDIR=`pwd`/$source
 mkdir pp
 PPDIR=`pwd`/pp
 export DTC_FLAGS="-R 4 -p 0x1000"
@@ -517,7 +518,7 @@
 for dts in am335x-*.dts am3517*.dts am57xx-*.dts armada-370-*.dts 
armada-375-*.dts armada-385-*.dts armada-388-*.dts armada-398-*.dts 
armada-xp-*.dts bcm2836*.dts dove-*.dts exynos4*.dts exynos5*.dts imx5*.dts 
imx6*.dts imx7*.dts keystone-*.dts meson6-*.dts meson8-*.dts meson8b-*.dts 
omap3*.dts omap4*.dts omap5*.dts qcom-*.dts rk3*.dts socfpga_*.dts ste-*.dts 
sun4i-*.dts sun5i-*.dts sun6i-*.dts sun7i-*.dts sun8i-*.dts sun9i-*.dts 
tegra20-*.dts tegra30-*.dts tegra114-*.dts tegra124-*.dts vexpress-*.dts 
vf500-*.dts vf610-*.dts xenvm-*.dts zynq-*.dts ; do
     target=${dts%*.dts}
     mkdir -p $PPDIR/$(dirname $target)
-    cpp -x assembler-with-cpp -undef -D__DTS__ -nostdinc -I. -I./include/ -P 
$target.dts -o $PPDIR/$target.dts
+    cpp -x assembler-with-cpp -undef -D__DTS__ -nostdinc -I. 
-I$SRCDIR/include/ -I$SRCDIR/scripts/dtc/include-prefixes/ -P $target.dts -o 
$PPDIR/$target.dts
     dtc $DTC_FLAGS -I dts -O dtb -i ./$(dirname $target) -o $PPDIR/$target.dtb 
$PPDIR/$target.dts
 done
 

++++++ kernel-64kb.spec ++++++
--- /var/tmp/diff_new_pack.8z95hY/_old  2017-07-17 09:15:56.203563624 +0200
+++ /var/tmp/diff_new_pack.8z95hY/_new  2017-07-17 09:15:56.207563061 +0200
@@ -17,8 +17,8 @@
 # needssslcertforbuild
 
 
-%define srcversion 4.11
-%define patchversion 4.11.8
+%define srcversion 4.12
+%define patchversion 4.12.0
 %define variant %{nil}
 %define vanilla_only 0
 
@@ -58,9 +58,9 @@
 Summary:        Kernel with 64kb PAGE_SIZE
 License:        GPL-2.0
 Group:          System/Kernel
-Version:        4.11.8
+Version:        4.12.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g42bd7a0
+Release:        <RELEASE>.gae25ff8
 %else
 Release:        0
 %endif

kernel-debug.spec: same change
kernel-default.spec: same change
++++++ kernel-docs.spec ++++++
--- /var/tmp/diff_new_pack.8z95hY/_old  2017-07-17 09:15:56.299550114 +0200
+++ /var/tmp/diff_new_pack.8z95hY/_new  2017-07-17 09:15:56.303549552 +0200
@@ -16,7 +16,7 @@
 #
 
 
-%define patchversion 4.11.8
+%define patchversion 4.12.0
 %define variant %{nil}
 
 %include %_sourcedir/kernel-spec-macros
@@ -42,9 +42,9 @@
 Summary:        Kernel Documentation (man pages)
 License:        GPL-2.0
 Group:          Documentation/Man
-Version:        4.11.8
+Version:        4.12.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g42bd7a0
+Release:        <RELEASE>.gae25ff8
 %else
 Release:        0
 %endif
@@ -147,7 +147,7 @@
     done
 fi
 
-ln -s %{_mandir}/man9/request_threaded_irq.9.gz 
$RPM_BUILD_ROOT%{_mandir}/man9/request_irq.9.gz
+#ln -s %{_mandir}/man9/request_threaded_irq.9.gz 
$RPM_BUILD_ROOT%{_mandir}/man9/request_irq.9.gz
 
 install -d $RPM_BUILD_ROOT%{_datadir}/doc/kernel/pdf
 cp -a pdf/Documentation/DocBook/*.pdf 
$RPM_BUILD_ROOT%{_datadir}/doc/kernel/pdf || true

++++++ kernel-lpae.spec ++++++
--- /var/tmp/diff_new_pack.8z95hY/_old  2017-07-17 09:15:56.327546174 +0200
+++ /var/tmp/diff_new_pack.8z95hY/_new  2017-07-17 09:15:56.331545612 +0200
@@ -17,8 +17,8 @@
 # needssslcertforbuild
 
 
-%define srcversion 4.11
-%define patchversion 4.11.8
+%define srcversion 4.12
+%define patchversion 4.12.0
 %define variant %{nil}
 %define vanilla_only 0
 
@@ -58,9 +58,9 @@
 Summary:        Kernel for LPAE enabled systems
 License:        GPL-2.0
 Group:          System/Kernel
-Version:        4.11.8
+Version:        4.12.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g42bd7a0
+Release:        <RELEASE>.gae25ff8
 %else
 Release:        0
 %endif

++++++ kernel-obs-build.spec ++++++
--- /var/tmp/diff_new_pack.8z95hY/_old  2017-07-17 09:15:56.363541108 +0200
+++ /var/tmp/diff_new_pack.8z95hY/_new  2017-07-17 09:15:56.363541108 +0200
@@ -19,7 +19,7 @@
 
 #!BuildIgnore: post-build-checks
 
-%define patchversion 4.11.8
+%define patchversion 4.12.0
 %define variant %{nil}
 %define vanilla_only 0
 
@@ -57,9 +57,9 @@
 Summary:        package kernel and initrd for OBS VM builds
 License:        GPL-2.0
 Group:          SLES
-Version:        4.11.8
+Version:        4.12.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g42bd7a0
+Release:        <RELEASE>.gae25ff8
 %else
 Release:        0
 %endif

++++++ kernel-obs-qa.spec ++++++
--- /var/tmp/diff_new_pack.8z95hY/_old  2017-07-17 09:15:56.395536605 +0200
+++ /var/tmp/diff_new_pack.8z95hY/_new  2017-07-17 09:15:56.395536605 +0200
@@ -17,7 +17,7 @@
 # needsrootforbuild
 
 
-%define patchversion 4.11.8
+%define patchversion 4.12.0
 %define variant %{nil}
 
 %include %_sourcedir/kernel-spec-macros
@@ -36,9 +36,9 @@
 Summary:        Basic QA tests for the kernel
 License:        GPL-2.0
 Group:          SLES
-Version:        4.11.8
+Version:        4.12.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g42bd7a0
+Release:        <RELEASE>.gae25ff8
 %else
 Release:        0
 %endif

++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.8z95hY/_old  2017-07-17 09:15:56.423532665 +0200
+++ /var/tmp/diff_new_pack.8z95hY/_new  2017-07-17 09:15:56.423532665 +0200
@@ -17,8 +17,8 @@
 # needssslcertforbuild
 
 
-%define srcversion 4.11
-%define patchversion 4.11.8
+%define srcversion 4.12
+%define patchversion 4.12.0
 %define variant %{nil}
 %define vanilla_only 0
 
@@ -58,9 +58,9 @@
 Summary:        Kernel with PAE Support
 License:        GPL-2.0
 Group:          System/Kernel
-Version:        4.11.8
+Version:        4.12.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g42bd7a0
+Release:        <RELEASE>.gae25ff8
 %else
 Release:        0
 %endif

++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.8z95hY/_old  2017-07-17 09:15:56.447529288 +0200
+++ /var/tmp/diff_new_pack.8z95hY/_new  2017-07-17 09:15:56.451528725 +0200
@@ -17,8 +17,8 @@
 # icecream 0
 
 
-%define srcversion 4.11
-%define patchversion 4.11.8
+%define srcversion 4.12
+%define patchversion 4.12.0
 %define variant %{nil}
 %define vanilla_only 0
 
@@ -30,9 +30,9 @@
 Summary:        The Linux Kernel Sources
 License:        GPL-2.0
 Group:          Development/Sources
-Version:        4.11.8
+Version:        4.12.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g42bd7a0
+Release:        <RELEASE>.gae25ff8
 %else
 Release:        0
 %endif

++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.8z95hY/_old  2017-07-17 09:15:56.475525347 +0200
+++ /var/tmp/diff_new_pack.8z95hY/_new  2017-07-17 09:15:56.479524784 +0200
@@ -24,10 +24,10 @@
 Summary:        Kernel Symbol Versions (modversions)
 License:        GPL-2.0
 Group:          Development/Sources
-Version:        4.11.8
+Version:        4.12.0
 %if %using_buildservice
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g42bd7a0
+Release:        <RELEASE>.gae25ff8
 %else
 Release:        0
 %endif

++++++ kernel-syzkaller.spec ++++++
--- /var/tmp/diff_new_pack.8z95hY/_old  2017-07-17 09:15:56.503521407 +0200
+++ /var/tmp/diff_new_pack.8z95hY/_new  2017-07-17 09:15:56.503521407 +0200
@@ -17,8 +17,8 @@
 # needssslcertforbuild
 
 
-%define srcversion 4.11
-%define patchversion 4.11.8
+%define srcversion 4.12
+%define patchversion 4.12.0
 %define variant %{nil}
 %define vanilla_only 0
 
@@ -58,9 +58,9 @@
 Summary:        Kernel used for fuzzing by syzkaller
 License:        GPL-2.0
 Group:          System/Kernel
-Version:        4.11.8
+Version:        4.12.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g42bd7a0
+Release:        <RELEASE>.gae25ff8
 %else
 Release:        0
 %endif

kernel-vanilla.spec: same change
kernel-zfcpdump.spec: same change
++++++ config.sh ++++++
--- /var/tmp/diff_new_pack.8z95hY/_old  2017-07-17 09:15:56.815477502 +0200
+++ /var/tmp/diff_new_pack.8z95hY/_new  2017-07-17 09:15:56.819476939 +0200
@@ -1,5 +1,5 @@
 # The version of the main tarball to use
-SRCVERSION=4.11
+SRCVERSION=4.12
 # variant of the kernel-source package, either empty or "-rt"
 VARIANT=
 # buildservice projects to build the kernel against

++++++ config.tar.bz2 ++++++
++++ 8974 lines of diff (skipped)

++++++ dtb.spec.in.in ++++++
--- /var/tmp/diff_new_pack.8z95hY/_old  2017-07-17 09:15:57.227419524 +0200
+++ /var/tmp/diff_new_pack.8z95hY/_new  2017-07-17 09:15:57.227419524 +0200
@@ -65,6 +65,7 @@
 %build
 source=linux-%srcversion
 cp $source/COPYING .
+SRCDIR=`pwd`/$source
 mkdir pp
 PPDIR=`pwd`/pp
 export DTC_FLAGS="-R 4 -p 0x1000"
@@ -76,7 +77,7 @@
 for dts in $ALL_SUPPORTED_DTB; do
     target=${dts%*.dts}
     mkdir -p $PPDIR/$(dirname $target)
-    cpp -x assembler-with-cpp -undef -D__DTS__ -nostdinc -I. -I./include/ -P 
$target.dts -o $PPDIR/$target.dts
+    cpp -x assembler-with-cpp -undef -D__DTS__ -nostdinc -I. 
-I$SRCDIR/include/ -I$SRCDIR/scripts/dtc/include-prefixes/ -P $target.dts -o 
$PPDIR/$target.dts
     dtc $DTC_FLAGS -I dts -O dtb -i ./$(dirname $target) -o $PPDIR/$target.dtb 
$PPDIR/$target.dts
 done
 

++++++ kernel-docs.spec.in ++++++
--- /var/tmp/diff_new_pack.8z95hY/_old  2017-07-17 09:15:57.371399260 +0200
+++ /var/tmp/diff_new_pack.8z95hY/_new  2017-07-17 09:15:57.371399260 +0200
@@ -147,7 +147,7 @@
     done
 fi
 
-ln -s %{_mandir}/man9/request_threaded_irq.9.gz 
$RPM_BUILD_ROOT%{_mandir}/man9/request_irq.9.gz
+#ln -s %{_mandir}/man9/request_threaded_irq.9.gz 
$RPM_BUILD_ROOT%{_mandir}/man9/request_irq.9.gz
 
 install -d $RPM_BUILD_ROOT%{_datadir}/doc/kernel/pdf
 cp -a pdf/Documentation/DocBook/*.pdf 
$RPM_BUILD_ROOT%{_datadir}/doc/kernel/pdf || true

++++++ linux-4.11.tar.xz -> linux-4.12.tar.xz ++++++
/work/SRC/openSUSE:Factory/kernel-source/linux-4.11.tar.xz 
/work/SRC/openSUSE:Factory/.kernel-source.new/linux-4.12.tar.xz differ: char 8, 
line 1

++++++ patches.apparmor.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.apparmor/apparmor-basic-networking-rules-4.11-rc1.patch 
new/patches.apparmor/apparmor-basic-networking-rules-4.11-rc1.patch
--- old/patches.apparmor/apparmor-basic-networking-rules-4.11-rc1.patch 
2017-03-07 16:07:46.000000000 +0100
+++ new/patches.apparmor/apparmor-basic-networking-rules-4.11-rc1.patch 
2017-05-29 15:03:41.000000000 +0200
@@ -12,11 +12,13 @@
 
 Signed-off-by: Jeff Mahoney <je...@suse.com>
 ---
- security/apparmor/include/net.h |    4 ++--
- security/apparmor/lsm.c         |    2 +-
- security/apparmor/net.c         |   39 ++++++++++++++++++++-------------------
+ security/apparmor/include/net.h |  4 ++--
+ security/apparmor/lsm.c         |  2 +-
+ security/apparmor/net.c         | 39 ++++++++++++++++++++-------------------
  3 files changed, 23 insertions(+), 22 deletions(-)
 
+diff --git a/security/apparmor/include/net.h b/security/apparmor/include/net.h
+index cb8a12109b7a..2f40d7e54398 100644
 --- a/security/apparmor/include/net.h
 +++ b/security/apparmor/include/net.h
 @@ -32,9 +32,9 @@ struct aa_net {
@@ -31,9 +33,11 @@
  
  static inline void aa_free_net_rules(struct aa_net *new)
  {
+diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
+index b83cbd494e17..758ddf4a0791 100644
 --- a/security/apparmor/lsm.c
 +++ b/security/apparmor/lsm.c
-@@ -683,7 +683,7 @@ static int apparmor_socket_shutdown(stru
+@@ -683,7 +683,7 @@ static int apparmor_socket_shutdown(struct socket *sock, 
int how)
  {
        struct sock *sk = sock->sk;
  
@@ -41,10 +45,12 @@
 +      return aa_revalidate_sk(OP_SHUTDOWN, sk);
  }
  
- static struct security_hook_list apparmor_hooks[] = {
+ static struct security_hook_list apparmor_hooks[] __lsm_ro_after_init = {
+diff --git a/security/apparmor/net.c b/security/apparmor/net.c
+index 003dd18c61a5..ac9622de8b6d 100644
 --- a/security/apparmor/net.c
 +++ b/security/apparmor/net.c
-@@ -37,12 +37,12 @@ static void audit_cb(struct audit_buffer
+@@ -37,12 +37,12 @@ static void audit_cb(struct audit_buffer *ab, void *va)
                audit_log_format(ab, "\"unknown(%d)\"", sa->u.net->family);
        }
        audit_log_format(ab, " sock_type=");
@@ -61,7 +67,7 @@
  }
  
  /**
-@@ -57,8 +57,9 @@ static void audit_cb(struct audit_buffer
+@@ -57,8 +57,9 @@ static void audit_cb(struct audit_buffer *ab, void *va)
   *
   * Returns: %0 or sa->error else other errorcode on failure
   */
@@ -73,7 +79,7 @@
  {
        int audit_type = AUDIT_APPARMOR_AUTO;
        struct common_audit_data sa;
-@@ -70,25 +71,25 @@ static int audit_net(struct aa_profile *
+@@ -70,25 +71,25 @@ static int audit_net(struct aa_profile *profile, int op, 
u16 family, int type,
                sa.type = LSM_AUDIT_DATA_NONE;
        }
        /* todo fill in socket addr info */
@@ -107,7 +113,7 @@
  
                if (denied & kill_mask)
                        audit_type = AUDIT_APPARMOR_KILL;
-@@ -96,10 +97,10 @@ static int audit_net(struct aa_profile *
+@@ -96,10 +97,10 @@ static int audit_net(struct aa_profile *profile, int op, 
u16 family, int type,
                if ((denied & quiet_mask) &&
                    AUDIT_MODE(profile) != AUDIT_NOQUIET &&
                    AUDIT_MODE(profile) != AUDIT_ALL)
@@ -120,7 +126,7 @@
  }
  
  /**
-@@ -112,8 +113,8 @@ static int audit_net(struct aa_profile *
+@@ -112,8 +113,8 @@ static int audit_net(struct aa_profile *profile, int op, 
u16 family, int type,
   *
   * Returns: %0 else error if permission denied
   */
@@ -131,7 +137,7 @@
  {
        u16 family_mask;
        int error;
-@@ -142,7 +143,7 @@ int aa_net_perm(int op, struct aa_profil
+@@ -142,7 +143,7 @@ int aa_net_perm(int op, struct aa_profile *profile, u16 
family, int type,
   *
   * Returns: %0 else error if permission denied
   */
@@ -140,3 +146,6 @@
  {
        struct aa_profile *profile;
        int error = 0;
+-- 
+2.13.0
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.apparmor/apparmor-basic-networking-rules.patch 
new/patches.apparmor/apparmor-basic-networking-rules.patch
--- old/patches.apparmor/apparmor-basic-networking-rules.patch  2017-03-07 
16:07:46.000000000 +0100
+++ new/patches.apparmor/apparmor-basic-networking-rules.patch  2017-05-29 
15:03:41.000000000 +0200
@@ -22,9 +22,11 @@
  security/apparmor/policy.c         |   1 +
  security/apparmor/policy_unpack.c  |  46 +++++++++++
  10 files changed, 414 insertions(+), 2 deletions(-)
+ create mode 100644 security/apparmor/include/net.h
+ create mode 100644 security/apparmor/net.c
 
 diff --git a/security/apparmor/.gitignore b/security/apparmor/.gitignore
-index 9cdec70..d5b291e 100644
+index 9cdec70d72b8..d5b291e94264 100644
 --- a/security/apparmor/.gitignore
 +++ b/security/apparmor/.gitignore
 @@ -1,5 +1,6 @@
@@ -35,7 +37,7 @@
  capability_names.h
  rlim_names.h
 diff --git a/security/apparmor/Makefile b/security/apparmor/Makefile
-index d693df8..5dbb72f 100644
+index ad369a7aac24..a7dc10be232d 100644
 --- a/security/apparmor/Makefile
 +++ b/security/apparmor/Makefile
 @@ -4,10 +4,10 @@ obj-$(CONFIG_SECURITY_APPARMOR) += apparmor.o
@@ -108,10 +110,10 @@
 +      $(call cmd,make-af)
 +      $(call cmd,make-sock)
 diff --git a/security/apparmor/apparmorfs.c b/security/apparmor/apparmorfs.c
-index 729e595..181d961 100644
+index 4f6ac9dbc65d..4b121211e5e7 100644
 --- a/security/apparmor/apparmorfs.c
 +++ b/security/apparmor/apparmorfs.c
-@@ -807,6 +807,7 @@ static struct aa_fs_entry aa_fs_entry_features[] = {
+@@ -1209,6 +1209,7 @@ static struct aa_fs_entry aa_fs_entry_features[] = {
        AA_FS_DIR("policy",                     aa_fs_entry_policy),
        AA_FS_DIR("domain",                     aa_fs_entry_domain),
        AA_FS_DIR("file",                       aa_fs_entry_file),
@@ -120,10 +122,10 @@
        AA_FS_DIR("rlimit",                     aa_fs_entry_rlimit),
        AA_FS_DIR("caps",                       aa_fs_entry_caps),
 diff --git a/security/apparmor/include/audit.h 
b/security/apparmor/include/audit.h
-index ba3dfd1..5d3c419 100644
+index fdc4774318ba..947b0447c9bf 100644
 --- a/security/apparmor/include/audit.h
 +++ b/security/apparmor/include/audit.h
-@@ -125,6 +125,10 @@ struct apparmor_audit_data {
+@@ -117,6 +117,10 @@ struct apparmor_audit_data {
                                u32 denied;
                                kuid_t ouid;
                        } fs;
@@ -136,7 +138,7 @@
                        const char *name;
 diff --git a/security/apparmor/include/net.h b/security/apparmor/include/net.h
 new file mode 100644
-index 0000000..cb8a121
+index 000000000000..cb8a12109b7a
 --- /dev/null
 +++ b/security/apparmor/include/net.h
 @@ -0,0 +1,44 @@
@@ -185,10 +187,10 @@
 +
 +#endif /* __AA_NET_H */
 diff --git a/security/apparmor/include/policy.h 
b/security/apparmor/include/policy.h
-index 52275f0..4fc4dac 100644
+index 67bc96afe541..a3d18ea8d730 100644
 --- a/security/apparmor/include/policy.h
 +++ b/security/apparmor/include/policy.h
-@@ -27,6 +27,7 @@
+@@ -28,6 +28,7 @@
  #include "capability.h"
  #include "domain.h"
  #include "file.h"
@@ -196,7 +198,7 @@
  #include "lib.h"
  #include "resource.h"
  
-@@ -176,6 +177,7 @@ struct aa_replacedby {
+@@ -132,6 +133,7 @@ struct aa_data {
   * @policy: general match rules governing policy
   * @file: The set of rules governing basic file access and domain transitions
   * @caps: capabilities for the profile
@@ -204,7 +206,7 @@
   * @rlimits: rlimits for the profile
   *
   * @dents: dentries for the profiles file entries in apparmorfs
-@@ -217,6 +219,7 @@ struct aa_profile {
+@@ -174,6 +176,7 @@ struct aa_profile {
        struct aa_policydb policy;
        struct aa_file_rules file;
        struct aa_caps caps;
@@ -213,10 +215,10 @@
  
        struct aa_loaddata *rawdata;
 diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
-index 41b8cb1..d96b5f7 100644
+index 8f3c0f7aca5a..b83cbd494e17 100644
 --- a/security/apparmor/lsm.c
 +++ b/security/apparmor/lsm.c
-@@ -32,6 +32,7 @@
+@@ -33,6 +33,7 @@
  #include "include/context.h"
  #include "include/file.h"
  #include "include/ipc.h"
@@ -224,7 +226,7 @@
  #include "include/path.h"
  #include "include/policy.h"
  #include "include/policy_ns.h"
-@@ -584,6 +585,104 @@ static int apparmor_task_setrlimit(struct task_struct 
*task,
+@@ -587,6 +588,104 @@ static int apparmor_task_setrlimit(struct task_struct 
*task,
        return error;
  }
  
@@ -326,10 +328,10 @@
 +      return aa_revalidate_sk(OP_SOCK_SHUTDOWN, sk);
 +}
 +
- static struct security_hook_list apparmor_hooks[] = {
+ static struct security_hook_list apparmor_hooks[] __lsm_ro_after_init = {
        LSM_HOOK_INIT(ptrace_access_check, apparmor_ptrace_access_check),
        LSM_HOOK_INIT(ptrace_traceme, apparmor_ptrace_traceme),
-@@ -613,6 +712,19 @@ static struct security_hook_list apparmor_hooks[] = {
+@@ -616,6 +715,19 @@ static struct security_hook_list apparmor_hooks[] 
__lsm_ro_after_init = {
        LSM_HOOK_INIT(getprocattr, apparmor_getprocattr),
        LSM_HOOK_INIT(setprocattr, apparmor_setprocattr),
  
@@ -351,7 +353,7 @@
        LSM_HOOK_INIT(cred_prepare, apparmor_cred_prepare),
 diff --git a/security/apparmor/net.c b/security/apparmor/net.c
 new file mode 100644
-index 0000000..003dd18
+index 000000000000..003dd18c61a5
 --- /dev/null
 +++ b/security/apparmor/net.c
 @@ -0,0 +1,162 @@
@@ -518,10 +520,10 @@
 +      return error;
 +}
 diff --git a/security/apparmor/policy.c b/security/apparmor/policy.c
-index 179e68d..f1a8541 100644
+index cf9d670dca94..0eea92aeb02d 100644
 --- a/security/apparmor/policy.c
 +++ b/security/apparmor/policy.c
-@@ -603,6 +603,7 @@ void aa_free_profile(struct aa_profile *profile)
+@@ -237,6 +237,7 @@ void aa_free_profile(struct aa_profile *profile)
  
        aa_free_file_rules(&profile->file);
        aa_free_cap_rules(&profile->caps);
@@ -530,10 +532,10 @@
  
        kzfree(profile->dirname);
 diff --git a/security/apparmor/policy_unpack.c 
b/security/apparmor/policy_unpack.c
-index 1381206..7dc15ff 100644
+index f3422a91353c..92d02d77c0d6 100644
 --- a/security/apparmor/policy_unpack.c
 +++ b/security/apparmor/policy_unpack.c
-@@ -193,6 +193,19 @@ fail:
+@@ -217,6 +217,19 @@ static bool unpack_nameX(struct aa_ext *e, enum aa_code 
code, const char *name)
        return 0;
  }
  
@@ -553,7 +555,7 @@
  static bool unpack_u32(struct aa_ext *e, u32 *data, const char *name)
  {
        if (unpack_nameX(e, AA_U32, name)) {
-@@ -476,6 +489,7 @@ static struct aa_profile *unpack_profile(struct aa_ext *e)
+@@ -526,6 +539,7 @@ static struct aa_profile *unpack_profile(struct aa_ext *e, 
char **ns_name)
        int i, error = -EPROTO;
        kernel_cap_t tmpcap;
        u32 tmp;
@@ -561,7 +563,7 @@
  
        *ns_name = NULL;
  
-@@ -576,6 +590,38 @@ static struct aa_profile *unpack_profile(struct aa_ext *e)
+@@ -635,6 +649,38 @@ static struct aa_profile *unpack_profile(struct aa_ext 
*e, char **ns_name)
        if (!unpack_rlimits(e, profile))
                goto fail;
  
@@ -600,4 +602,6 @@
        if (unpack_nameX(e, AA_STRUCT, "policydb")) {
                /* generic policy dfa - optional and may be NULL */
                profile->policy.dfa = unpack_dfa(e);
+-- 
+2.13.0
 

++++++ patches.arch.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.arch/x86_64-unwind-annotations 
new/patches.arch/x86_64-unwind-annotations
--- old/patches.arch/x86_64-unwind-annotations  2017-03-15 16:32:32.000000000 
+0100
+++ new/patches.arch/x86_64-unwind-annotations  1970-01-01 01:00:00.000000000 
+0100
@@ -1,159 +0,0 @@
-From: jbeul...@suse.com
-Subject: fix unwind annotations
-Patch-mainline: tbd
-References: bnc#472783, bnc#588458
-
---- a/arch/x86/kernel/entry_64.S
-+++ b/arch/x86/kernel/entry_64.S
-@@ -115,21 +115,21 @@ ENDPROC(native_usergs_sysret64)
- /*
-  * empty frame
-  */
--      .macro EMPTY_FRAME start=1 offset=0
--      .if \start
-+      .macro EMPTY_FRAME offset=0
-       CFI_STARTPROC simple
-       CFI_SIGNAL_FRAME
--      CFI_DEF_CFA rsp,8+\offset
--      .else
--      CFI_DEF_CFA_OFFSET 8+\offset
--      .endif
-+      CFI_DEF_CFA rsp,\offset
-       .endm
- 
- /*
-  * initial frame state for interrupts (and exceptions without error code)
-  */
-       .macro INTR_FRAME start=1 offset=0
--      EMPTY_FRAME \start, 5*8+\offset
-+      .if \start
-+      EMPTY_FRAME 5*8+\offset
-+      .else
-+      CFI_DEF_CFA_OFFSET 5*8+\offset
-+      .endif
-       /*CFI_REL_OFFSET ss, 4*8+\offset*/
-       CFI_REL_OFFSET rsp, 3*8+\offset
-       /*CFI_REL_OFFSET rflags, 2*8+\offset*/
-@@ -148,7 +148,7 @@ ENDPROC(native_usergs_sysret64)
- /*
-  * frame that enables passing a complete pt_regs to a C function.
-  */
--      .macro DEFAULT_FRAME start=1 offset=0
-+      .macro DEFAULT_FRAME start=1 offset=0 extra=1
-       XCPT_FRAME \start, ORIG_RAX+\offset
-       CFI_REL_OFFSET rdi, RDI+\offset
-       CFI_REL_OFFSET rsi, RSI+\offset
-@@ -159,12 +159,14 @@ ENDPROC(native_usergs_sysret64)
-       CFI_REL_OFFSET r9, R9+\offset
-       CFI_REL_OFFSET r10, R10+\offset
-       CFI_REL_OFFSET r11, R11+\offset
-+      .if \extra
-       CFI_REL_OFFSET rbx, RBX+\offset
-       CFI_REL_OFFSET rbp, RBP+\offset
-       CFI_REL_OFFSET r12, R12+\offset
-       CFI_REL_OFFSET r13, R13+\offset
-       CFI_REL_OFFSET r14, R14+\offset
-       CFI_REL_OFFSET r15, R15+\offset
-+      .endif
-       .endm
- 
- /*
-@@ -491,7 +493,7 @@ END(system_call)
-       .macro FORK_LIKE func
- ENTRY(stub_\func)
-       CFI_STARTPROC
--      DEFAULT_FRAME 0, 8              /* offset 8: return address */
-+      DEFAULT_FRAME 0, 8, 0           /* offset 8: return address */
-       SAVE_EXTRA_REGS 8
-       jmp sys_\func
-       CFI_ENDPROC
-@@ -504,7 +506,7 @@ END(stub_\func)
- 
- ENTRY(stub_execve)
-       CFI_STARTPROC
--      DEFAULT_FRAME 0, 8
-+      DEFAULT_FRAME 0, 8, 0
-       call    sys_execve
- return_from_execve:
-       testl   %eax, %eax
-@@ -527,7 +529,7 @@ END(stub_execve)
-       .align  8
- GLOBAL(stub_execveat)
-       CFI_STARTPROC
--      DEFAULT_FRAME 0, 8
-+      DEFAULT_FRAME 0, 8, 0
-       call    sys_execveat
-       jmp     return_from_execve
-       CFI_ENDPROC
-@@ -537,7 +539,7 @@ END(stub_execveat)
-       .align  8
- GLOBAL(stub_x32_execve)
-       CFI_STARTPROC
--      DEFAULT_FRAME 0, 8
-+      DEFAULT_FRAME 0, 8, 0
-       call    compat_sys_execve
-       jmp     return_from_execve
-       CFI_ENDPROC
-@@ -545,7 +547,7 @@ END(stub_x32_execve)
-       .align  8
- GLOBAL(stub_x32_execveat)
-       CFI_STARTPROC
--      DEFAULT_FRAME 0, 8
-+      DEFAULT_FRAME 0, 8, 0
-       call    compat_sys_execveat
-       jmp     return_from_execve
-       CFI_ENDPROC
-@@ -575,7 +577,7 @@ END(stub32_execveat)
-  */
- ENTRY(stub_rt_sigreturn)
-       CFI_STARTPROC
--      DEFAULT_FRAME 0, 8
-+      DEFAULT_FRAME 0, 8, 0
-       /*
-        * SAVE_EXTRA_REGS result is not normally needed:
-        * sigreturn overwrites all pt_regs->GPREGS.
-@@ -597,7 +599,7 @@ END(stub_rt_sigreturn)
- #ifdef CONFIG_X86_X32_ABI
- ENTRY(stub_x32_rt_sigreturn)
-       CFI_STARTPROC
--      DEFAULT_FRAME 0, 8
-+      DEFAULT_FRAME 0, 8, 0
-       SAVE_EXTRA_REGS 8
-       call sys32_x32_rt_sigreturn
-       jmp  return_from_stub
---- a/arch/x86/kernel/head_64.S
-+++ b/arch/x86/kernel/head_64.S
-@@ -378,6 +378,25 @@ ENTRY(early_idt_handler)
- 
- 11:
- #ifdef CONFIG_EARLY_PRINTK
-+#include <asm/dwarf2.h>
-+      CFI_STARTPROC   simple
-+      CFI_SIGNAL_FRAME
-+      CFI_DEF_CFA     rsp, 16*8
-+#     CFI_REL_OFFSET  ss, 15*8
-+      CFI_REL_OFFSET  rsp, 14*8
-+#     CFI_REL_OFFSET  rflags, 13*8
-+#     CFI_REL_OFFSET  cs, 12*8
-+      CFI_REL_OFFSET  rip, 11*8
-+      CFI_REL_OFFSET  rax, 8*8
-+      CFI_REL_OFFSET  rcx, 7*8
-+      CFI_REL_OFFSET  rdx, 6*8
-+      CFI_REL_OFFSET  rsi, 5*8
-+      CFI_REL_OFFSET  rdi, 4*8
-+      CFI_REL_OFFSET  r8, 3*8
-+      CFI_REL_OFFSET  r9, 2*8
-+      CFI_REL_OFFSET  r10, 1*8
-+      CFI_REL_OFFSET  r11, 0*8
-+
-       GET_CR2_INTO(%r9)       # can clobber any volatile register if pv
-       movl 80(%rsp),%r8d      # error code
-       movl 72(%rsp),%esi      # vector number
-@@ -394,6 +413,7 @@ ENTRY(early_idt_handler)
-       movq 40(%rsp),%rsi      # %rip again
-       call __print_symbol
- #endif
-+      CFI_ENDPROC
- #endif /* EARLY_PRINTK */
- 1:    hlt
-       jmp 1b

++++++ patches.drivers.tar.bz2 ++++++
++++ 3144 lines of diff (skipped)

++++++ patches.fixes.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/0001-SUNRPC-Refactor-svc_set_num_threads.patch 
new/patches.fixes/0001-SUNRPC-Refactor-svc_set_num_threads.patch
--- old/patches.fixes/0001-SUNRPC-Refactor-svc_set_num_threads.patch    
2017-06-26 08:56:10.000000000 +0200
+++ new/patches.fixes/0001-SUNRPC-Refactor-svc_set_num_threads.patch    
1970-01-01 01:00:00.000000000 +0100
@@ -1,155 +0,0 @@
-From: Trond Myklebust <trond.mykleb...@primarydata.com>
-Date: Wed, 26 Apr 2017 11:55:26 -0400
-Subject: [PATCH] SUNRPC: Refactor svc_set_num_threads()
-Git-commit: 9e0d87680d689f1758185851c3da6eafb16e71e1
-Patch-mainline: v4.12
-References: bsc#1039674 CVE-2017-9059
-
-Refactor to separate out the functions of starting and stopping threads
-so that they can be used in other helpers.
-
-Signed-off-by: Trond Myklebust <trond.mykleb...@primarydata.com>
-Tested-and-reviewed-by: Kinglong Mee <kinglong...@gmail.com>
-Signed-off-by: J. Bruce Fields <bfie...@redhat.com>
-Acked-by: NeilBrown <ne...@suse.com>
-
----
- net/sunrpc/svc.c |   96 
+++++++++++++++++++++++++++++++++----------------------
- 1 file changed, 58 insertions(+), 38 deletions(-)
-
---- a/net/sunrpc/svc.c
-+++ b/net/sunrpc/svc.c
-@@ -702,59 +702,32 @@ found_pool:
-       return task;
- }
- 
--/*
-- * Create or destroy enough new threads to make the number
-- * of threads the given number.  If `pool' is non-NULL, applies
-- * only to threads in that pool, otherwise round-robins between
-- * all pools.  Caller must ensure that mutual exclusion between this and
-- * server startup or shutdown.
-- *
-- * Destroying threads relies on the service threads filling in
-- * rqstp->rq_task, which only the nfs ones do.  Assumes the serv
-- * has been created using svc_create_pooled().
-- *
-- * Based on code that used to be in nfsd_svc() but tweaked
-- * to be pool-aware.
-- */
--int
--svc_set_num_threads(struct svc_serv *serv, struct svc_pool *pool, int nrservs)
-+/* create new threads */
-+static int
-+svc_start_kthreads(struct svc_serv *serv, struct svc_pool *pool, int nrservs)
- {
-       struct svc_rqst *rqstp;
-       struct task_struct *task;
-       struct svc_pool *chosen_pool;
--      int error = 0;
-       unsigned int state = serv->sv_nrthreads-1;
-       int node;
- 
--      if (pool == NULL) {
--              /* The -1 assumes caller has done a svc_get() */
--              nrservs -= (serv->sv_nrthreads-1);
--      } else {
--              spin_lock_bh(&pool->sp_lock);
--              nrservs -= pool->sp_nrthreads;
--              spin_unlock_bh(&pool->sp_lock);
--      }
--
--      /* create new threads */
--      while (nrservs > 0) {
-+      do {
-               nrservs--;
-               chosen_pool = choose_pool(serv, pool, &state);
- 
-               node = svc_pool_map_get_node(chosen_pool->sp_id);
-               rqstp = svc_prepare_thread(serv, chosen_pool, node);
--              if (IS_ERR(rqstp)) {
--                      error = PTR_ERR(rqstp);
--                      break;
--              }
-+              if (IS_ERR(rqstp))
-+                      return PTR_ERR(rqstp);
- 
-               __module_get(serv->sv_ops->svo_module);
-               task = kthread_create_on_node(serv->sv_ops->svo_function, rqstp,
-                                             node, "%s", serv->sv_name);
-               if (IS_ERR(task)) {
--                      error = PTR_ERR(task);
-                       module_put(serv->sv_ops->svo_module);
-                       svc_exit_thread(rqstp);
--                      break;
-+                      return PTR_ERR(task);
-               }
- 
-               rqstp->rq_task = task;
-@@ -763,15 +736,62 @@ svc_set_num_threads(struct svc_serv *ser
- 
-               svc_sock_update_bufs(serv);
-               wake_up_process(task);
--      }
-+      } while (nrservs > 0);
-+
-+      return 0;
-+}
-+
-+
-+/* destroy old threads */
-+static int
-+svc_signal_kthreads(struct svc_serv *serv, struct svc_pool *pool, int nrservs)
-+{
-+      struct task_struct *task;
-+      unsigned int state = serv->sv_nrthreads-1;
-+
-       /* destroy old threads */
--      while (nrservs < 0 &&
--             (task = choose_victim(serv, pool, &state)) != NULL) {
-+      do {
-+              task = choose_victim(serv, pool, &state);
-+              if (task == NULL)
-+                      break;
-               send_sig(SIGINT, task, 1);
-               nrservs++;
-+      } while (nrservs < 0);
-+
-+      return 0;
-+}
-+
-+/*
-+ * Create or destroy enough new threads to make the number
-+ * of threads the given number.  If `pool' is non-NULL, applies
-+ * only to threads in that pool, otherwise round-robins between
-+ * all pools.  Caller must ensure that mutual exclusion between this and
-+ * server startup or shutdown.
-+ *
-+ * Destroying threads relies on the service threads filling in
-+ * rqstp->rq_task, which only the nfs ones do.  Assumes the serv
-+ * has been created using svc_create_pooled().
-+ *
-+ * Based on code that used to be in nfsd_svc() but tweaked
-+ * to be pool-aware.
-+ */
-+int
-+svc_set_num_threads(struct svc_serv *serv, struct svc_pool *pool, int nrservs)
-+{
-+      if (pool == NULL) {
-+              /* The -1 assumes caller has done a svc_get() */
-+              nrservs -= (serv->sv_nrthreads-1);
-+      } else {
-+              spin_lock_bh(&pool->sp_lock);
-+              nrservs -= pool->sp_nrthreads;
-+              spin_unlock_bh(&pool->sp_lock);
-       }
- 
--      return error;
-+      if (nrservs > 0)
-+              return svc_start_kthreads(serv, pool, nrservs);
-+      if (nrservs < 0)
-+              return svc_signal_kthreads(serv, pool, nrservs);
-+      return 0;
- }
- EXPORT_SYMBOL_GPL(svc_set_num_threads);
- 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/0001-fs-fcntl-f_setown-allow-returning-error.patch 
new/patches.fixes/0001-fs-fcntl-f_setown-allow-returning-error.patch
--- old/patches.fixes/0001-fs-fcntl-f_setown-allow-returning-error.patch        
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/0001-fs-fcntl-f_setown-allow-returning-error.patch        
2017-07-10 09:29:09.000000000 +0200
@@ -0,0 +1,77 @@
+From: Jiri Slaby <jsl...@suse.cz>
+Date: Tue, 13 Jun 2017 13:35:50 +0200
+Subject: fs/fcntl: f_setown, allow returning error
+Patch-mainline: 4.13-rc1
+Git-commit: 393cc3f51135ea2520521f776ef3afdf3395c797
+References: bnc#1006180
+
+Allow f_setown to return an error value. We will fail in the next patch
+with EINVAL for bad input to f_setown, so tile the path for the later
+patch.
+
+Signed-off-by: Jiri Slaby <jsl...@suse.cz>
+Reviewed-by: Jeff Layton <jlay...@redhat.com>
+Cc: Jeff Layton <jlay...@poochiereds.net>
+Cc: "J. Bruce Fields" <bfie...@fieldses.org>
+Cc: Alexander Viro <v...@zeniv.linux.org.uk>
+Cc: linux-fsde...@vger.kernel.org
+Signed-off-by: Jeff Layton <jlay...@redhat.com>
+---
+ fs/fcntl.c         |    7 ++++---
+ include/linux/fs.h |    2 +-
+ net/socket.c       |    3 +--
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+--- a/fs/fcntl.c
++++ b/fs/fcntl.c
+@@ -109,7 +109,7 @@ void __f_setown(struct file *filp, struc
+ }
+ EXPORT_SYMBOL(__f_setown);
+ 
+-void f_setown(struct file *filp, unsigned long arg, int force)
++int f_setown(struct file *filp, unsigned long arg, int force)
+ {
+       enum pid_type type;
+       struct pid *pid;
+@@ -123,6 +123,8 @@ void f_setown(struct file *filp, unsigne
+       pid = find_vpid(who);
+       __f_setown(filp, pid, type, force);
+       rcu_read_unlock();
++
++      return 0;
+ }
+ EXPORT_SYMBOL(f_setown);
+ 
+@@ -297,8 +299,7 @@ static long do_fcntl(int fd, unsigned in
+               force_successful_syscall_return();
+               break;
+       case F_SETOWN:
+-              f_setown(filp, arg, 1);
+-              err = 0;
++              err = f_setown(filp, arg, 1);
+               break;
+       case F_GETOWN_EX:
+               err = f_getown_ex(filp, arg);
+--- a/include/linux/fs.h
++++ b/include/linux/fs.h
+@@ -1249,7 +1249,7 @@ extern void fasync_free(struct fasync_st
+ extern void kill_fasync(struct fasync_struct **, int, int);
+ 
+ extern void __f_setown(struct file *filp, struct pid *, enum pid_type, int 
force);
+-extern void f_setown(struct file *filp, unsigned long arg, int force);
++extern int f_setown(struct file *filp, unsigned long arg, int force);
+ extern void f_delown(struct file *filp);
+ extern pid_t f_getown(struct file *filp);
+ extern int send_sigurg(struct fown_struct *fown);
+--- a/net/socket.c
++++ b/net/socket.c
+@@ -950,8 +950,7 @@ static long sock_ioctl(struct file *file
+                       err = -EFAULT;
+                       if (get_user(pid, (int __user *)argp))
+                               break;
+-                      f_setown(sock->file, pid, 1);
+-                      err = 0;
++                      err = f_setown(sock->file, pid, 1);
+                       break;
+               case FIOGETOWN:
+               case SIOCGPGRP:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/0002-NFSv4-Fix-callback-server-shutdown.patch 
new/patches.fixes/0002-NFSv4-Fix-callback-server-shutdown.patch
--- old/patches.fixes/0002-NFSv4-Fix-callback-server-shutdown.patch     
2017-06-26 08:56:10.000000000 +0200
+++ new/patches.fixes/0002-NFSv4-Fix-callback-server-shutdown.patch     
1970-01-01 01:00:00.000000000 +0100
@@ -1,150 +0,0 @@
-From: Trond Myklebust <trond.mykleb...@primarydata.com>
-Date: Wed, 26 Apr 2017 11:55:27 -0400
-Subject: [PATCH] NFSv4: Fix callback server shutdown
-Git-commit: ed6473ddc704a2005b9900ca08e236ebb2d8540a
-Patch-mainline: v4.12
-References: bsc#1039674 CVE-2017-9059
-
-We want to use kthread_stop() in order to ensure the threads are
-shut down before we tear down the nfs_callback_info in nfs_callback_down.
-
-Tested-and-reviewed-by: Kinglong Mee <kinglong...@gmail.com>
-Reported-by: Kinglong Mee <kinglong...@gmail.com>
-Fixes: bb6aeba736ba9 ("NFSv4.x: Switch to using svc_set_num_threads()...")
-Signed-off-by: Trond Myklebust <trond.mykleb...@primarydata.com>
-Signed-off-by: J. Bruce Fields <bfie...@redhat.com>
-Acked-by: NeilBrown <ne...@suse.com>
-
----
- fs/nfs/callback.c          |   24 ++++++++++++++++--------
- include/linux/sunrpc/svc.h |    1 +
- net/sunrpc/svc.c           |   38 ++++++++++++++++++++++++++++++++++++++
- 3 files changed, 55 insertions(+), 8 deletions(-)
-
---- a/fs/nfs/callback.c
-+++ b/fs/nfs/callback.c
-@@ -76,7 +76,10 @@ nfs4_callback_svc(void *vrqstp)
- 
-       set_freezable();
- 
--      while (!kthread_should_stop()) {
-+      while (!kthread_freezable_should_stop(NULL)) {
-+
-+              if (signal_pending(current))
-+                      flush_signals(current);
-               /*
-                * Listen for a request on the socket
-                */
-@@ -85,6 +88,8 @@ nfs4_callback_svc(void *vrqstp)
-                       continue;
-               svc_process(rqstp);
-       }
-+      svc_exit_thread(rqstp);
-+      module_put_and_exit(0);
-       return 0;
- }
- 
-@@ -103,9 +108,10 @@ nfs41_callback_svc(void *vrqstp)
- 
-       set_freezable();
- 
--      while (!kthread_should_stop()) {
--              if (try_to_freeze())
--                      continue;
-+      while (!kthread_freezable_should_stop(NULL)) {
-+
-+              if (signal_pending(current))
-+                      flush_signals(current);
- 
-               prepare_to_wait(&serv->sv_cb_waitq, &wq, TASK_INTERRUPTIBLE);
-               spin_lock_bh(&serv->sv_cb_lock);
-@@ -121,11 +127,13 @@ nfs41_callback_svc(void *vrqstp)
-                               error);
-               } else {
-                       spin_unlock_bh(&serv->sv_cb_lock);
--                      schedule();
-+                      if (!kthread_should_stop())
-+                              schedule();
-                       finish_wait(&serv->sv_cb_waitq, &wq);
-               }
--              flush_signals(current);
-       }
-+      svc_exit_thread(rqstp);
-+      module_put_and_exit(0);
-       return 0;
- }
- 
-@@ -221,14 +229,14 @@ err_bind:
- static struct svc_serv_ops nfs40_cb_sv_ops = {
-       .svo_function           = nfs4_callback_svc,
-       .svo_enqueue_xprt       = svc_xprt_do_enqueue,
--      .svo_setup              = svc_set_num_threads,
-+      .svo_setup              = svc_set_num_threads_sync,
-       .svo_module             = THIS_MODULE,
- };
- #if defined(CONFIG_NFS_V4_1)
- static struct svc_serv_ops nfs41_cb_sv_ops = {
-       .svo_function           = nfs41_callback_svc,
-       .svo_enqueue_xprt       = svc_xprt_do_enqueue,
--      .svo_setup              = svc_set_num_threads,
-+      .svo_setup              = svc_set_num_threads_sync,
-       .svo_module             = THIS_MODULE,
- };
- 
---- a/include/linux/sunrpc/svc.h
-+++ b/include/linux/sunrpc/svc.h
-@@ -474,6 +474,7 @@ void                  svc_pool_map_put(void);
- struct svc_serv *  svc_create_pooled(struct svc_program *, unsigned int,
-                       struct svc_serv_ops *);
- int              svc_set_num_threads(struct svc_serv *, struct svc_pool *, 
int);
-+int              svc_set_num_threads_sync(struct svc_serv *, struct svc_pool 
*, int);
- int              svc_pool_stats_open(struct svc_serv *serv, struct file 
*file);
- void             svc_destroy(struct svc_serv *);
- void             svc_shutdown_net(struct svc_serv *, struct net *);
---- a/net/sunrpc/svc.c
-+++ b/net/sunrpc/svc.c
-@@ -795,6 +795,44 @@ svc_set_num_threads(struct svc_serv *ser
- }
- EXPORT_SYMBOL_GPL(svc_set_num_threads);
- 
-+/* destroy old threads */
-+static int
-+svc_stop_kthreads(struct svc_serv *serv, struct svc_pool *pool, int nrservs)
-+{
-+      struct task_struct *task;
-+      unsigned int state = serv->sv_nrthreads-1;
-+
-+      /* destroy old threads */
-+      do {
-+              task = choose_victim(serv, pool, &state);
-+              if (task == NULL)
-+                      break;
-+              kthread_stop(task);
-+              nrservs++;
-+      } while (nrservs < 0);
-+      return 0;
-+}
-+
-+int
-+svc_set_num_threads_sync(struct svc_serv *serv, struct svc_pool *pool, int 
nrservs)
-+{
-+      if (pool == NULL) {
-+              /* The -1 assumes caller has done a svc_get() */
-+              nrservs -= (serv->sv_nrthreads-1);
-+      } else {
-+              spin_lock_bh(&pool->sp_lock);
-+              nrservs -= pool->sp_nrthreads;
-+              spin_unlock_bh(&pool->sp_lock);
-+      }
-+
-+      if (nrservs > 0)
-+              return svc_start_kthreads(serv, pool, nrservs);
-+      if (nrservs < 0)
-+              return svc_stop_kthreads(serv, pool, nrservs);
-+      return 0;
-+}
-+EXPORT_SYMBOL_GPL(svc_set_num_threads_sync);
-+
- /*
-  * Called from a server thread as it's exiting. Caller must hold the "service
-  * mutex" for the service.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/0002-fs-fcntl-f_setown-avoid-undefined-behaviour.patch 
new/patches.fixes/0002-fs-fcntl-f_setown-avoid-undefined-behaviour.patch
--- old/patches.fixes/0002-fs-fcntl-f_setown-avoid-undefined-behaviour.patch    
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/0002-fs-fcntl-f_setown-avoid-undefined-behaviour.patch    
2017-07-10 09:29:09.000000000 +0200
@@ -0,0 +1,53 @@
+From: Jiri Slaby <jsl...@suse.cz>
+Date: Tue, 13 Jun 2017 13:35:51 +0200
+Subject: fs/fcntl: f_setown, avoid undefined behaviour
+Patch-mainline: 4.13-rc1
+Git-commit: fc3dc67471461c0efcb1ed22fb7595121d65fad9
+References: bnc#1006180
+
+fcntl(0, F_SETOWN, 0x80000000) triggers:
+UBSAN: Undefined behaviour in fs/fcntl.c:118:7
+negation of -2147483648 cannot be represented in type 'int':
+CPU: 1 PID: 18261 Comm: syz-executor Not tainted 4.8.1-0-syzkaller #1
+...
+Call Trace:
+...
+ [<ffffffffad8f0868>] ? f_setown+0x1d8/0x200
+ [<ffffffffad8f19a9>] ? SyS_fcntl+0x999/0xf30
+ [<ffffffffaed1fb00>] ? entry_SYSCALL_64_fastpath+0x23/0xc1
+
+Fix that by checking the arg parameter properly (against INT_MAX) before
+"who = -who". And return immediatelly with -EINVAL in case it is wrong.
+Note that according to POSIX we can return EINVAL:
+    http://pubs.opengroup.org/onlinepubs/9699919799/functions/fcntl.html
+
+    [EINVAL]
+        The cmd argument is F_SETOWN and the value of the argument
+        is not valid as a process or process group identifier.
+
+[v2] returns an error, v1 used to fail silently
+[v3] implement proper check for the bad value INT_MIN
+
+Signed-off-by: Jiri Slaby <jsl...@suse.cz>
+Cc: Jeff Layton <jlay...@poochiereds.net>
+Cc: "J. Bruce Fields" <bfie...@fieldses.org>
+Cc: Alexander Viro <v...@zeniv.linux.org.uk>
+Cc: linux-fsde...@vger.kernel.org
+Signed-off-by: Jeff Layton <jlay...@redhat.com>
+---
+ fs/fcntl.c |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/fs/fcntl.c
++++ b/fs/fcntl.c
+@@ -116,6 +116,10 @@ int f_setown(struct file *filp, unsigned
+       int who = arg;
+       type = PIDTYPE_PID;
+       if (who < 0) {
++              /* avoid overflow below */
++              if (who == INT_MIN)
++                      return -EINVAL;
++
+               type = PIDTYPE_PGID;
+               who = -who;
+       }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/btrfs-qgroups-Retry-after-commit-on-getting-EDQUOT.patch 
new/patches.fixes/btrfs-qgroups-Retry-after-commit-on-getting-EDQUOT.patch
--- old/patches.fixes/btrfs-qgroups-Retry-after-commit-on-getting-EDQUOT.patch  
2017-06-26 08:56:10.000000000 +0200
+++ new/patches.fixes/btrfs-qgroups-Retry-after-commit-on-getting-EDQUOT.patch  
1970-01-01 01:00:00.000000000 +0100
@@ -1,127 +0,0 @@
-From a950e8b3aebb16d547f1bfcd076eb894f7c1cb05 Mon Sep 17 00:00:00 2001
-From: Goldwyn Rodrigues <rgold...@suse.com>
-Date: Mon, 27 Mar 2017 12:29:57 -0500
-Subject: [PATCH] btrfs: qgroups: Retry after commit on getting EDQUOT
-Patch-mainline: Submitted, https://patchwork.kernel.org/patch/9647211/
-References: bsc#1019614
-
-
-We are facing the same problem with EDQUOT which was experienced with
-ENOSPC. Not sure if we require a full ticketing system such as ENOSPC, but
-here is a quick fix, which may be too big a hammer.
-
-Quotas are reserved during the start of an operation, incrementing
-qg->reserved. However, it is written to disk in a commit_transaction
-which could take as long as commit_interval. In the meantime there
-could be deletions which are not accounted for because deletions are
-accounted for only while committed (free_refroot). So, when we get
-a EDQUOT flush the data to disk and try again.
-
-This fixes fstests btrfs/139.
-
-Here is a sample script which shows this issue.
-
-DEVICE=/dev/vdb
-MOUNTPOINT=/mnt
-TESTVOL=$MOUNTPOINT/tmp
-QUOTA=5
-PROG=btrfs
-DD_BS="4k"
-DD_COUNT="256"
-RUN_TIMES=5000
-
-mkfs.btrfs -f $DEVICE
-mount -o commit=240 $DEVICE $MOUNTPOINT
-$PROG subvolume create $TESTVOL
-$PROG quota enable $TESTVOL
-$PROG qgroup limit ${QUOTA}G $TESTVOL
-
-typeset -i DD_RUN_GOOD
-typeset -i QUOTA
-
-function _check_cmd() {
-        if [[ ${?} > 0 ]]; then
-                echo -n "$(date) E: Running previous command"
-                echo ${*}
-                echo "Without sync"
-                $PROG qgroup show -pcreFf ${TESTVOL}
-                echo "With sync"
-                $PROG qgroup show -pcreFf --sync ${TESTVOL}
-                exit 1
-        fi
-}
-
-while true; do
-  DD_RUN_GOOD=$RUN_TIMES
-
-  while (( ${DD_RUN_GOOD} != 0 )); do
-        dd if=/dev/zero of=${TESTVOL}/quotatest${DD_RUN_GOOD} bs=${DD_BS} 
count=${DD_COUNT}
-        _check_cmd "dd if=/dev/zero of=${TESTVOL}/quotatest${DD_RUN_GOOD} 
bs=${DD_BS} count=${DD_COUNT}"
-        DD_RUN_GOOD=(${DD_RUN_GOOD}-1)
-  done
-
-  $PROG qgroup show -pcref $TESTVOL
-  echo "----------- Cleanup ---------- "
-  rm $TESTVOL/quotatest*
-
-done
-
-Signed-off-by: Goldwyn Rodrigues <rgold...@suse.com>
-Reviewed-by: Qu Wenruo <quwen...@cn.fujitsu.com>
-Signed-off-by: David Sterba <dste...@suse.com>
----
- fs/btrfs/qgroup.c | 24 +++++++++++++++++++++++-
- 1 file changed, 23 insertions(+), 1 deletion(-)
-
-diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
-index a59801d..284366a 100644
---- a/fs/btrfs/qgroup.c
-+++ b/fs/btrfs/qgroup.c
-@@ -2367,6 +2367,7 @@ static int qgroup_reserve(struct btrfs_root *root, u64 
num_bytes, bool enforce)
-       struct btrfs_fs_info *fs_info = root->fs_info;
-       u64 ref_root = root->root_key.objectid;
-       int ret = 0;
-+      int retried = 0;
-       struct ulist_node *unode;
-       struct ulist_iterator uiter;
- 
-@@ -2375,7 +2376,7 @@ static int qgroup_reserve(struct btrfs_root *root, u64 
num_bytes, bool enforce)
- 
-       if (num_bytes == 0)
-               return 0;
--
-+retry:
-       spin_lock(&fs_info->qgroup_lock);
-       quota_root = fs_info->quota_root;
-       if (!quota_root)
-@@ -2402,6 +2403,27 @@ static int qgroup_reserve(struct btrfs_root *root, u64 
num_bytes, bool enforce)
-               qg = unode_aux_to_qgroup(unode);
- 
-               if (enforce && !qgroup_check_limits(qg, num_bytes)) {
-+                      /*
-+                       * Commit the tree and retry, since we may have
-+                       * deletions which would free up space.
-+                       */
-+                      if (!retried && qg->reserved > 0) {
-+                              struct btrfs_trans_handle *trans;
-+
-+                              spin_unlock(&fs_info->qgroup_lock);
-+                              ret = btrfs_start_delalloc_inodes(root, 0);
-+                              if (ret)
-+                                      return ret;
-+                              btrfs_wait_ordered_extents(root, -1, 0, 
(u64)-1);
-+                              trans = btrfs_join_transaction(root);
-+                              if (IS_ERR(trans))
-+                                      return PTR_ERR(trans);
-+                              ret = btrfs_commit_transaction(trans);
-+                              if (ret)
-+                                      return ret;
-+                              retried++;
-+                              goto retry;
-+                      }
-                       ret = -EDQUOT;
-                       goto out;
-               }
--- 
-2.10.2
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/drm-nouveau-gpio-enable-interrupts-on-cards-with-32-.patch 
new/patches.fixes/drm-nouveau-gpio-enable-interrupts-on-cards-with-32-.patch
--- 
old/patches.fixes/drm-nouveau-gpio-enable-interrupts-on-cards-with-32-.patch    
    2017-06-26 08:56:10.000000000 +0200
+++ 
new/patches.fixes/drm-nouveau-gpio-enable-interrupts-on-cards-with-32-.patch    
    1970-01-01 01:00:00.000000000 +0100
@@ -1,34 +0,0 @@
-From: Adam Borowski <kilob...@angband.pl>
-Date: Sun, 2 Apr 2017 07:03:28 +0200
-Subject: drm/nouveau/gpio: enable interrupts on cards with 32 gpio lines
-Git-commit: 99a97a8ba9881fc47901ff36b057e5cd0bf06af0
-Patch-mainline: v4.12-rc1
-References: bnc#1045105
-
-The code attempts to enable them, but hits an undefined behaviour by
-shifting by the entire register's width:
-
-    int lines = 32;
-    u32 mask = (1 << lines) - 1;    // 00000000 on x86
-    u32 mask = (1 << lines) - 1;    // ffffffff on arm (32)
-    u32 mask = (1 << lines) - 1;    // 00000000 on arm64
-    u32 mask = (1ULL << lines) - 1; // ffffffff everywhere
-
-Signed-off-by: Adam Borowski <kilob...@angband.pl>
-Signed-off-by: Ben Skeggs <bske...@redhat.com>
-Signed-off-by: Jiri Slaby <jsl...@suse.cz>
----
- drivers/gpu/drm/nouveau/nvkm/subdev/gpio/base.c |    2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/drivers/gpu/drm/nouveau/nvkm/subdev/gpio/base.c
-+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/gpio/base.c
-@@ -164,7 +164,7 @@ static int
- nvkm_gpio_fini(struct nvkm_subdev *subdev, bool suspend)
- {
-       struct nvkm_gpio *gpio = nvkm_gpio(subdev);
--      u32 mask = (1 << gpio->func->lines) - 1;
-+      u32 mask = (1ULL << gpio->func->lines) - 1;
- 
-       gpio->func->intr_mask(gpio, NVKM_GPIO_TOGGLED, mask, 0);
-       gpio->func->intr_stat(gpio, &mask, &mask);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/reiserfs-make-cancel_old_flush-reliable.patch 
new/patches.fixes/reiserfs-make-cancel_old_flush-reliable.patch
--- old/patches.fixes/reiserfs-make-cancel_old_flush-reliable.patch     
2017-06-26 08:56:10.000000000 +0200
+++ new/patches.fixes/reiserfs-make-cancel_old_flush-reliable.patch     
1970-01-01 01:00:00.000000000 +0100
@@ -1,115 +0,0 @@
-From: Jan Kara <j...@suse.cz>
-Date: Wed, 5 Apr 2017 14:09:48 +0200
-Subject: reiserfs: Make cancel_old_flush() reliable
-Git-commit: 71b0576bdb862e964a82c73327cdd1a249c53e67
-Patch-mainline: v4.12-rc1
-References: bsc#1037795
-
-Currently canceling of delayed work that flushes old data using
-cancel_old_flush() does not prevent work from being requeued. Thus
-in theory new work can be queued after cancel_old_flush() from
-reiserfs_freeze() has run. This will become larger problem once
-flush_old_commits() can requeue the work itself.
-
-Fix the problem by recording in sbi->work_queue that flushing work is
-canceled and should not be requeued.
-
-Signed-off-by: Jan Kara <j...@suse.cz>
-Acked-by: Jeff Mahoney <je...@suse.com>
----
- fs/reiserfs/journal.c  |  2 +-
- fs/reiserfs/reiserfs.h |  1 +
- fs/reiserfs/super.c    | 21 +++++++++++++++------
- 3 files changed, 17 insertions(+), 7 deletions(-)
-
-diff --git a/fs/reiserfs/journal.c b/fs/reiserfs/journal.c
-index aa40c242f1db..da01f497180a 100644
---- a/fs/reiserfs/journal.c
-+++ b/fs/reiserfs/journal.c
-@@ -1961,7 +1961,7 @@ static int do_journal_release(struct 
reiserfs_transaction_handle *th,
-        * will be requeued because superblock is being shutdown and doesn't
-        * have MS_ACTIVE set.
-        */
--      cancel_delayed_work_sync(&REISERFS_SB(sb)->old_work);
-+      reiserfs_cancel_old_flush(sb);
-       /* wait for all commits to finish */
-       cancel_delayed_work_sync(&SB_JOURNAL(sb)->j_work);
- 
-diff --git a/fs/reiserfs/reiserfs.h b/fs/reiserfs/reiserfs.h
-index 5dcf3ab83886..6ca00471afbf 100644
---- a/fs/reiserfs/reiserfs.h
-+++ b/fs/reiserfs/reiserfs.h
-@@ -2948,6 +2948,7 @@ int reiserfs_allocate_list_bitmaps(struct super_block *s,
-                                  struct reiserfs_list_bitmap *, unsigned int);
- 
- void reiserfs_schedule_old_flush(struct super_block *s);
-+void reiserfs_cancel_old_flush(struct super_block *s);
- void add_save_link(struct reiserfs_transaction_handle *th,
-                  struct inode *inode, int truncate);
- int remove_save_link(struct inode *inode, int truncate);
-diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c
-index feabcde0290d..91cf5cbd6332 100644
---- a/fs/reiserfs/super.c
-+++ b/fs/reiserfs/super.c
-@@ -90,7 +90,9 @@ static void flush_old_commits(struct work_struct *work)
-       s = sbi->s_journal->j_work_sb;
- 
-       spin_lock(&sbi->old_work_lock);
--      sbi->work_queued = 0;
-+      /* Avoid clobbering the cancel state... */
-+      if (sbi->work_queued == 1)
-+              sbi->work_queued = 0;
-       spin_unlock(&sbi->old_work_lock);
- 
-       reiserfs_sync_fs(s, 1);
-@@ -117,21 +119,22 @@ void reiserfs_schedule_old_flush(struct super_block *s)
-       spin_unlock(&sbi->old_work_lock);
- }
- 
--static void cancel_old_flush(struct super_block *s)
-+void reiserfs_cancel_old_flush(struct super_block *s)
- {
-       struct reiserfs_sb_info *sbi = REISERFS_SB(s);
- 
--      cancel_delayed_work_sync(&REISERFS_SB(s)->old_work);
-       spin_lock(&sbi->old_work_lock);
--      sbi->work_queued = 0;
-+      /* Make sure no new flushes will be queued */
-+      sbi->work_queued = 2;
-       spin_unlock(&sbi->old_work_lock);
-+      cancel_delayed_work_sync(&REISERFS_SB(s)->old_work);
- }
- 
- static int reiserfs_freeze(struct super_block *s)
- {
-       struct reiserfs_transaction_handle th;
- 
--      cancel_old_flush(s);
-+      reiserfs_cancel_old_flush(s);
- 
-       reiserfs_write_lock(s);
-       if (!(s->s_flags & MS_RDONLY)) {
-@@ -152,7 +155,13 @@ static int reiserfs_freeze(struct super_block *s)
- 
- static int reiserfs_unfreeze(struct super_block *s)
- {
-+      struct reiserfs_sb_info *sbi = REISERFS_SB(s);
-+
-       reiserfs_allow_writes(s);
-+      spin_lock(&sbi->old_work_lock);
-+      /* Allow old_work to run again */
-+      sbi->work_queued = 0;
-+      spin_unlock(&sbi->old_work_lock);
-       return 0;
- }
- 
-@@ -2194,7 +2203,7 @@ static int reiserfs_fill_super(struct super_block *s, 
void *data, int silent)
-       if (sbi->commit_wq)
-               destroy_workqueue(sbi->commit_wq);
- 
--      cancel_delayed_work_sync(&REISERFS_SB(s)->old_work);
-+      reiserfs_cancel_old_flush(s);
- 
-       reiserfs_free_bitmap_cache(s);
-       if (SB_BUFFER_WITH_SB(s))
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/reiserfs-protect-dquot_writeback_dquots-by-s_umount-semaphore.patch
 
new/patches.fixes/reiserfs-protect-dquot_writeback_dquots-by-s_umount-semaphore.patch
--- 
old/patches.fixes/reiserfs-protect-dquot_writeback_dquots-by-s_umount-semaphore.patch
       2017-06-26 08:56:10.000000000 +0200
+++ 
new/patches.fixes/reiserfs-protect-dquot_writeback_dquots-by-s_umount-semaphore.patch
       1970-01-01 01:00:00.000000000 +0100
@@ -1,59 +0,0 @@
-From: Jan Kara <j...@suse.cz>
-Date: Wed, 5 Apr 2017 14:17:30 +0200
-Subject: reiserfs: Protect dquot_writeback_dquots() by s_umount semaphore
-Git-commit: 1e0e653f1136a413a9969e5d0d548ee6499b9763
-Patch-mainline: v4.12-rc1
-References: bsc#1037795
-
-dquot_writeback_dquots() expects s_umount semaphore to be held to
-protect it from other concurrent quota operations. reiserfs_sync_fs()
-can call dquot_writeback_dquots() without holding s_umount semaphore
-when called from flush_old_commits().
-
-Fix the problem by grabbing s_umount in flush_old_commits(). However we
-have to be careful and use only trylock since reiserfs_cancel_old_sync()
-can be waiting for flush_old_commits() to complete while holding
-s_umount semaphore. Possible postponing of sync work is not a big deal
-though as that is only an opportunistic flush.
-
-Fixes: 9d1ccbe70e0b14545caad12dc73adb3605447df0
-Reported-by: Jan Beulich <jbeul...@suse.com>
-Signed-off-by: Jan Kara <j...@suse.cz>
-Acked-by: Jeff Mahoney <je...@suse.com>
----
- fs/reiserfs/super.c | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-diff --git a/fs/reiserfs/super.c b/fs/reiserfs/super.c
-index 91cf5cbd6332..f536e12c4b1d 100644
---- a/fs/reiserfs/super.c
-+++ b/fs/reiserfs/super.c
-@@ -89,6 +89,19 @@ static void flush_old_commits(struct work_struct *work)
-       sbi = container_of(work, struct reiserfs_sb_info, old_work.work);
-       s = sbi->s_journal->j_work_sb;
- 
-+      /*
-+       * We need s_umount for protecting quota writeback. We have to use
-+       * trylock as reiserfs_cancel_old_flush() may be waiting for this work
-+       * to complete with s_umount held.
-+       */
-+      if (!down_read_trylock(&s->s_umount)) {
-+              /* Requeue work if we are not cancelling it */
-+              spin_lock(&sbi->old_work_lock);
-+              if (sbi->work_queued == 1)
-+                      queue_delayed_work(system_long_wq, &sbi->old_work, HZ);
-+              spin_unlock(&sbi->old_work_lock);
-+              return;
-+      }
-       spin_lock(&sbi->old_work_lock);
-       /* Avoid clobbering the cancel state... */
-       if (sbi->work_queued == 1)
-@@ -96,6 +109,7 @@ static void flush_old_commits(struct work_struct *work)
-       spin_unlock(&sbi->old_work_lock);
- 
-       reiserfs_sync_fs(s, 1);
-+      up_read(&s->s_umount);
- }
- 
- void reiserfs_schedule_old_flush(struct super_block *s)
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/tty-Fix-ldisc-crash-on-reopened-tty.patch 
new/patches.fixes/tty-Fix-ldisc-crash-on-reopened-tty.patch
--- old/patches.fixes/tty-Fix-ldisc-crash-on-reopened-tty.patch 2017-06-26 
08:56:10.000000000 +0200
+++ new/patches.fixes/tty-Fix-ldisc-crash-on-reopened-tty.patch 1970-01-01 
01:00:00.000000000 +0100
@@ -1,97 +0,0 @@
-From: Peter Hurley <pe...@hurleysoftware.com>
-Date: Thu, 16 Mar 2017 14:08:26 +1100
-Subject: tty: Fix ldisc crash on reopened tty
-Git-commit: 71472fa9c52b1da27663c275d416d8654b905f05
-Patch-mainline: v4.12-rc1
-References: bnc#1043488
-
-If the tty has been hungup, the ldisc instance may have been destroyed.
-Continued input to the tty will be ignored as long as the ldisc instance
-is not visible to the flush_to_ldisc kworker. However, when the tty
-is reopened and a new ldisc instance is created, the flush_to_ldisc
-kworker can obtain an ldisc reference before the new ldisc is
-completely initialized. This will likely crash:
-
- BUG: unable to handle kernel paging request at 0000000000002260
- IP: [<ffffffff8152dc5d>] n_tty_receive_buf_common+0x6d/0xb80
- PGD 2ab581067 PUD 290c11067 PMD 0
- Oops: 0000 [#1] PREEMPT SMP
- Modules linked in: nls_iso8859_1 ip6table_filter [.....]
- CPU: 2 PID: 103 Comm: kworker/u16:1 Not tainted 4.6.0-rc7+wip-xeon+debug 
#rc7+wip
- Hardware name: Dell Inc. Precision WorkStation T5400  /0RW203, BIOS A11 
04/30/2012
- Workqueue: events_unbound flush_to_ldisc
- task: ffff8802ad16d100 ti: ffff8802ad31c000 task.ti: ffff8802ad31c000
- RIP: 0010:[<ffffffff8152dc5d>]  [<ffffffff8152dc5d>] 
n_tty_receive_buf_common+0x6d/0xb80
- RSP: 0018:ffff8802ad31fc70  EFLAGS: 00010296
- RAX: 0000000000000000 RBX: ffff8802aaddd800 RCX: 0000000000000001
- RDX: 00000000ffffffff RSI: ffffffff810db48f RDI: 0000000000000246
- RBP: ffff8802ad31fd08 R08: 0000000000000000 R09: 0000000000000001
- R10: ffff8802aadddb28 R11: 0000000000000001 R12: ffff8800ba6da808
- R13: ffff8802ad18be80 R14: ffff8800ba6da858 R15: ffff8800ba6da800
- FS:  0000000000000000(0000) GS:ffff8802b0a00000(0000) knlGS:0000000000000000
- CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
- CR2: 0000000000002260 CR3: 000000028ee5d000 CR4: 00000000000006e0
- Stack:
-  ffffffff81531219 ffff8802aadddab8 ffff8802aadddde0 ffff8802aadddd78
-  ffffffff00000001 ffff8800ba6da858 ffff8800ba6da860 ffff8802ad31fd30
-  ffffffff81885f78 ffffffff81531219 0000000000000000 0000000200000000
- Call Trace:
-  [<ffffffff81531219>] ? flush_to_ldisc+0x49/0xd0
-  [<ffffffff81885f78>] ? mutex_lock_nested+0x2c8/0x430
-  [<ffffffff81531219>] ? flush_to_ldisc+0x49/0xd0
-  [<ffffffff8152e784>] n_tty_receive_buf2+0x14/0x20
-  [<ffffffff81530cb2>] tty_ldisc_receive_buf+0x22/0x50
-  [<ffffffff8153128e>] flush_to_ldisc+0xbe/0xd0
-  [<ffffffff810a0ebd>] process_one_work+0x1ed/0x6e0
-  [<ffffffff810a0e3f>] ? process_one_work+0x16f/0x6e0
-  [<ffffffff810a13fe>] worker_thread+0x4e/0x490
-  [<ffffffff810a13b0>] ? process_one_work+0x6e0/0x6e0
-  [<ffffffff810a7ef2>] kthread+0xf2/0x110
-  [<ffffffff810ae68c>] ? preempt_count_sub+0x4c/0x80
-  [<ffffffff8188ab52>] ret_from_fork+0x22/0x50
-  [<ffffffff810a7e00>] ? kthread_create_on_node+0x220/0x220
- Code: ff ff e8 27 a0 35 00 48 8d 83 78 05 00 00 c7 45 c0 00 00 00 00 48 89 45 
80 48
-       8d 83 e0 05 00 00 48 89 85 78 ff ff ff 48 8b 45 b8 <48> 8b b8 60 22 00 
00 48
-       8b 30 89 f8 8b 8b 88 04 00 00 29 f0 8d
- RIP  [<ffffffff8152dc5d>] n_tty_receive_buf_common+0x6d/0xb80
-  RSP <ffff8802ad31fc70>
- CR2: 0000000000002260
-
-Ensure the kworker cannot obtain the ldisc reference until the new ldisc
-is completely initialized.
-
-Fixes: 892d1fa7eaae ("tty: Destroy ldisc instance on hangup")
-Reported-by: Mikulas Patocka <mpato...@redhat.com>
-Signed-off-by: Peter Hurley <pe...@hurleysoftware.com>
-Signed-off-by: Michael Neuling <mi...@neuling.org>
-Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
-Signed-off-by: Jiri Slaby <jsl...@suse.cz>
----
- drivers/tty/tty_ldisc.c |   11 ++++++-----
- 1 file changed, 6 insertions(+), 5 deletions(-)
-
---- a/drivers/tty/tty_ldisc.c
-+++ b/drivers/tty/tty_ldisc.c
-@@ -672,16 +672,17 @@ int tty_ldisc_reinit(struct tty_struct *
-               tty_ldisc_put(tty->ldisc);
-       }
- 
--      /* switch the line discipline */
--      tty->ldisc = ld;
-       tty_set_termios_ldisc(tty, disc);
--      retval = tty_ldisc_open(tty, tty->ldisc);
-+      retval = tty_ldisc_open(tty, ld);
-       if (retval) {
-               if (!WARN_ON(disc == N_TTY)) {
--                      tty_ldisc_put(tty->ldisc);
--                      tty->ldisc = NULL;
-+                      tty_ldisc_put(ld);
-+                      ld = NULL;
-               }
-       }
-+
-+      /* switch the line discipline */
-+      smp_store_release(&tty->ldisc, ld);
-       return retval;
- }
- 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/tty-handle-the-case-where-we-cannot-restore-a-line-d.patch 
new/patches.fixes/tty-handle-the-case-where-we-cannot-restore-a-line-d.patch
--- 
old/patches.fixes/tty-handle-the-case-where-we-cannot-restore-a-line-d.patch    
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.fixes/tty-handle-the-case-where-we-cannot-restore-a-line-d.patch    
    2017-07-10 09:29:09.000000000 +0200
@@ -0,0 +1,200 @@
+From: Alan Cox <alan@llwyncelyn.cymru>
+Date: Fri, 2 Jun 2017 13:49:30 +0100
+Subject: tty: handle the case where we cannot restore a line discipline
+Patch-mainline: v4.13-rc1
+Git-commit: 8a8dabf2dd68caff842d38057097c23bc514ea6e
+References: bnc#1042878
+
+Historically the N_TTY driver could never fail but this has become broken over
+time. Rather than trying to rewrite half the ldisc layer to fix the breakage
+introduce a second level of fallback with an N_NULL ldisc which cannot fail,
+and thus restore the guarantees required by the ldisc layer.
+
+We still try and fail to N_TTY first. It's much more useful to find yourself
+back in your old ldisc (first attempt) or in N_TTY (second attempt), and while
+I'm not aware of any code out there that makes those assumptions it's good to
+drive(r) defensively.
+
+Signed-off-by: Alan Cox <a...@linux.intel.com>
+Reported-by: Dmitry Vyukov <dvyu...@google.com>
+Tested-by: Dmitry Vyukov <dvyu...@google.com>
+Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
+Signed-off-by: Jiri Slaby <jsl...@suse.cz>
+---
+ drivers/tty/Makefile     |    3 +
+ drivers/tty/n_null.c     |   80 
+++++++++++++++++++++++++++++++++++++++++++++++
+ drivers/tty/tty_ldisc.c  |   44 +++++++++++++++++--------
+ include/uapi/linux/tty.h |    1 
+ 4 files changed, 113 insertions(+), 15 deletions(-)
+ create mode 100644 drivers/tty/n_null.c
+
+--- a/drivers/tty/Makefile
++++ b/drivers/tty/Makefile
+@@ -1,6 +1,7 @@
+ obj-$(CONFIG_TTY)             += tty_io.o n_tty.o tty_ioctl.o tty_ldisc.o \
+                                  tty_buffer.o tty_port.o tty_mutex.o \
+-                                 tty_ldsem.o tty_baudrate.o tty_jobctrl.o
++                                 tty_ldsem.o tty_baudrate.o tty_jobctrl.o \
++                                 n_null.o
+ obj-$(CONFIG_LEGACY_PTYS)     += pty.o
+ obj-$(CONFIG_UNIX98_PTYS)     += pty.o
+ obj-$(CONFIG_AUDIT)           += tty_audit.o
+--- /dev/null
++++ b/drivers/tty/n_null.c
+@@ -0,0 +1,80 @@
++#include <linux/types.h>
++#include <linux/errno.h>
++#include <linux/tty.h>
++#include <linux/module.h>
++
++/*
++ *  n_null.c - Null line discipline used in the failure path
++ *
++ *  Copyright (C) Intel 2017
++ *
++ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ *
++ *  This program is free software; you can redistribute it and/or modify
++ *  it under the terms of the GNU General Public License version 2
++ *  as published by the Free Software Foundation.
++ *
++ *  This program is distributed in the hope that it will be useful,
++ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
++ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ *  GNU General Public License for more details.
++ *
++ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
++ */
++
++static int n_null_open(struct tty_struct *tty)
++{
++      return 0;
++}
++
++static void n_null_close(struct tty_struct *tty)
++{
++}
++
++static ssize_t n_null_read(struct tty_struct *tty, struct file *file,
++                         unsigned char __user * buf, size_t nr)
++{
++      return -EOPNOTSUPP;
++}
++
++static ssize_t n_null_write(struct tty_struct *tty, struct file *file,
++                          const unsigned char *buf, size_t nr)
++{
++      return -EOPNOTSUPP;
++}
++
++static void n_null_receivebuf(struct tty_struct *tty,
++                               const unsigned char *cp, char *fp,
++                               int cnt)
++{
++}
++
++static struct tty_ldisc_ops null_ldisc = {
++      .owner          =       THIS_MODULE,
++      .magic          =       TTY_LDISC_MAGIC,
++      .name           =       "n_null",
++      .open           =       n_null_open,
++      .close          =       n_null_close,
++      .read           =       n_null_read,
++      .write          =       n_null_write,
++      .receive_buf    =       n_null_receivebuf
++};
++
++static int __init n_null_init(void)
++{
++      BUG_ON(tty_register_ldisc(N_NULL, &null_ldisc));
++      return 0;
++}
++
++static void __exit n_null_exit(void)
++{
++      tty_unregister_ldisc(N_NULL);
++}
++
++module_init(n_null_init);
++module_exit(n_null_exit);
++
++MODULE_LICENSE("GPL");
++MODULE_AUTHOR("Alan Cox");
++MODULE_ALIAS_LDISC(N_NULL);
++MODULE_DESCRIPTION("Null ldisc driver");
+--- a/drivers/tty/tty_ldisc.c
++++ b/drivers/tty/tty_ldisc.c
+@@ -492,6 +492,29 @@ static void tty_ldisc_close(struct tty_s
+ }
+ 
+ /**
++ *    tty_ldisc_failto        -       helper for ldisc failback
++ *    @tty: tty to open the ldisc on
++ *    @ld: ldisc we are trying to fail back to
++ *
++ *    Helper to try and recover a tty when switching back to the old
++ *    ldisc fails and we need something attached.
++ */
++
++static int tty_ldisc_failto(struct tty_struct *tty, int ld)
++{
++      struct tty_ldisc *disc = tty_ldisc_get(tty, ld);
++      int r;
++
++      if (IS_ERR(disc))
++              return PTR_ERR(disc);
++      tty->ldisc = disc;
++      tty_set_termios_ldisc(tty, ld);
++      if ((r = tty_ldisc_open(tty, disc)) < 0)
++              tty_ldisc_put(disc);
++      return r;
++}
++
++/**
+  *    tty_ldisc_restore       -       helper for tty ldisc change
+  *    @tty: tty to recover
+  *    @old: previous ldisc
+@@ -502,9 +525,6 @@ static void tty_ldisc_close(struct tty_s
+ 
+ static void tty_ldisc_restore(struct tty_struct *tty, struct tty_ldisc *old)
+ {
+-      struct tty_ldisc *new_ldisc;
+-      int r;
+-
+       /* There is an outstanding reference here so this is safe */
+       old = tty_ldisc_get(tty, old->ops->num);
+       WARN_ON(IS_ERR(old));
+@@ -512,17 +532,13 @@ static void tty_ldisc_restore(struct tty
+       tty_set_termios_ldisc(tty, old->ops->num);
+       if (tty_ldisc_open(tty, old) < 0) {
+               tty_ldisc_put(old);
+-              /* This driver is always present */
+-              new_ldisc = tty_ldisc_get(tty, N_TTY);
+-              if (IS_ERR(new_ldisc))
+-                      panic("n_tty: get");
+-              tty->ldisc = new_ldisc;
+-              tty_set_termios_ldisc(tty, N_TTY);
+-              r = tty_ldisc_open(tty, new_ldisc);
+-              if (r < 0)
+-                      panic("Couldn't open N_TTY ldisc for "
+-                            "%s --- error %d.",
+-                            tty_name(tty), r);
++              /* The traditional behaviour is to fall back to N_TTY, we
++                 want to avoid falling back to N_NULL unless we have no
++                 choice to avoid the risk of breaking anything */
++              if (tty_ldisc_failto(tty, N_TTY) < 0 &&
++                  tty_ldisc_failto(tty, N_NULL) < 0)
++                      panic("Couldn't open N_NULL ldisc for %s.",
++                            tty_name(tty));
+       }
+ }
+ 
+--- a/include/uapi/linux/tty.h
++++ b/include/uapi/linux/tty.h
+@@ -35,5 +35,6 @@
+ #define N_TRACESINK   23      /* Trace data routing for MIPI P1149.7 */
+ #define N_TRACEROUTER 24      /* Trace data routing for MIPI P1149.7 */
+ #define N_NCI         25      /* NFC NCI UART */
++#define N_NULL                27      /* Null ldisc used for error handling */
+ 
+ #endif /* _UAPI_LINUX_TTY_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/usb-early-Remove-trace_printk-callers-in-xhci-dbc.patch 
new/patches.fixes/usb-early-Remove-trace_printk-callers-in-xhci-dbc.patch
--- old/patches.fixes/usb-early-Remove-trace_printk-callers-in-xhci-dbc.patch   
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/usb-early-Remove-trace_printk-callers-in-xhci-dbc.patch   
2017-07-10 09:29:09.000000000 +0200
@@ -0,0 +1,35 @@
+From: Lu Baolu <baolu...@linux.intel.com>
+Date: Sat, 3 Jun 2017 17:15:06 +0800
+Subject: usb/early: Remove trace_printk() callers in xhci-dbc
+Patch-mainline: Submitted - 20170603
+References: bsc#1042295
+
+Trace_printk() was used to log debug messages in xhci-dbc.c where
+printk() isn't feasible. As there should not be a single caller to
+trace_printk() in normal kernels, replace them with empty functions.
+
+Cc: Vlastimil Babka <vbabka.l...@gmail.com>
+Cc: Steven Rostedt <rost...@goodmis.org>
+Cc: Peter Zijlstra <pet...@infradead.org>
+Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org>
+Signed-off-by: Lu Baolu <baolu...@linux.intel.com>
+Acked-by: Michal Kubecek <mkube...@suse.cz>
+---
+ drivers/usb/early/xhci-dbc.c | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/drivers/usb/early/xhci-dbc.c b/drivers/usb/early/xhci-dbc.c
+index 1268818e2263..12fe70beae69 100644
+--- a/drivers/usb/early/xhci-dbc.c
++++ b/drivers/usb/early/xhci-dbc.c
+@@ -32,7 +32,6 @@
+ static struct xdbc_state xdbc;
+ static bool early_console_keep;
+ 
+-#define XDBC_TRACE
+ #ifdef XDBC_TRACE
+ #define       xdbc_trace      trace_printk
+ #else
+-- 
+2.13.1
+

++++++ patches.kernel.org.tar.bz2 ++++++
++++ 31934 lines of diff (skipped)

++++++ patches.suse.tar.bz2 ++++++
++++ 10710 lines of diff (skipped)

++++++ series.conf ++++++
--- /var/tmp/diff_new_pack.8z95hY/_old  2017-07-17 09:15:58.359260226 +0200
+++ /var/tmp/diff_new_pack.8z95hY/_new  2017-07-17 09:15:58.359260226 +0200
@@ -27,14 +27,6 @@
        # DO NOT MODIFY THEM!
        # Send separate patches upstream if you find a problem...
        ########################################################
-       patches.kernel.org/patch-4.11.1
-       patches.kernel.org/patch-4.11.1-2
-       patches.kernel.org/patch-4.11.2-3
-       patches.kernel.org/patch-4.11.3-4
-       patches.kernel.org/patch-4.11.4-5
-       patches.kernel.org/patch-4.11.5-6
-       patches.kernel.org/patch-4.11.6-7
-       patches.kernel.org/patch-4.11.7-8
 
        ########################################################
        # Build fixes that apply to the vanilla kernel too.
@@ -229,8 +221,6 @@
        ########################################################
 
        
patches.fixes/0001-Revert-SUNRPC-xs_sock_mark_closed-does-not-need-to-t.patch
-       patches.fixes/0001-SUNRPC-Refactor-svc_set_num_threads.patch
-       patches.fixes/0002-NFSv4-Fix-callback-server-shutdown.patch
 
        ########################################################
        # lockd + statd
@@ -253,8 +243,6 @@
        # btrfs
        ########################################################
 
-       patches.fixes/btrfs-qgroups-Retry-after-commit-on-getting-EDQUOT.patch
-
        # Not upstream yet
        patches.suse/btrfs-add-cond_resched-to-btrfs_qgroup_trace_leaf_items
 
@@ -262,13 +250,12 @@
        patches.suse/btrfs-provide-super_operations-get_inode_dev
        
patches.suse/btrfs-fs-super.c-add-new-super-block-devices-super_block_d.patch
        patches.suse/btrfs-btrfs-use-the-new-VFS-super_block_dev.patch
+       
patches.suse/btrfs-8447-serialize-subvolume-mounts-with-potentially-mi.patch
 
        ########################################################
        # Reiserfs Patches
        ########################################################
        patches.fixes/reiserfs-fix-race-in-prealloc-discard.patch
-       patches.fixes/reiserfs-make-cancel_old_flush-reliable.patch
-       
patches.fixes/reiserfs-protect-dquot_writeback_dquots-by-s_umount-semaphore.patch
        
patches.fixes/reiserfs-don-t-preallocate-blocks-for-extended-attributes.patch
 
        ########################################################
@@ -294,6 +281,9 @@
        patches.drivers/pstore_disable_efi_backend_by_default.patch
        patches.suse/pstore-backend-autoaction
 
+       patches.fixes/0001-fs-fcntl-f_setown-allow-returning-error.patch
+       patches.fixes/0002-fs-fcntl-f_setown-avoid-undefined-behaviour.patch
+
        ########################################################
        # Overlayfs
        ########################################################
@@ -336,7 +326,6 @@
        ########################################################
        patches.fixes/drm-i915-Fix-S4-resume-breakage
        patches.fixes/drm-amdgpu-revert-update-tile-table-for-oland-hainan.patch
-       patches.fixes/drm-nouveau-gpio-enable-interrupts-on-cards-with-32-.patch
 
        ########################################################
        # video4linux
@@ -346,7 +335,6 @@
        # Network
        ########################################################
        patches.drivers/e1000e-Don-t-return-uninitialized-stats.patch
-       patches.drivers/0001-IB-rxe-Don-t-clamp-residual-length-to-mtu.patch
 
        ########################################################
        # Wireless Networking
@@ -374,48 +362,17 @@
        ########################################################
        # USB
        ########################################################
+       patches.fixes/usb-early-Remove-trace_printk-callers-in-xhci-dbc.patch
 
        ########################################################
        # I2C
        ########################################################
-       patches.drivers/001-x86-platform-intel-iosf_mbi-Add-a-mutex-for-P-Unit-a
-       patches.drivers/002-x86-platform-intel-iosf_mbi-Add-a-PMIC-bus-access-no
-       patches.drivers/003-i2c-designware-Rename-accessor_flags-to-flags
-       patches.drivers/004-i2c-designware-baytrail-Pass-dw_i2c_dev-into-helper-
-       patches.drivers/005-i2c-designware-baytrail-Only-check-iosf_mbi_availabl
-       patches.drivers/006-i2c-designware-baytrail-Disallow-the-CPU-to-enter-C6
-       patches.drivers/007-i2c-designware-baytrail-Fix-race-when-resetting-the-
-       patches.drivers/008-i2c-designware-baytrail-Add-support-for-cherrytrail
-       patches.drivers/009-i2c-designware-baytrail-Acquire-P-Unit-access-on-bus
-       patches.drivers/010-i2c-designware-baytrail-Call-pmic_bus_access_notifie
-       patches.drivers/011-drm-i915-Add-intel_uncore_suspend-resume-functions
-       patches.drivers/012-drm-i915-Listen-for-PMIC-bus-access-notifications
-       patches.drivers/013-i2c-designware-increase-timeout-of-semaphore-transfe
-       patches.drivers/014-i2c-designware-Never-suspend-i2c-busses-used-for-acc
-       patches.drivers/015-i2c-designware-Disable-pm-for-PMIC-i2c-bus-even-if-t
-       patches.drivers/016-i2c-designware-Get-selected-speed-mode-sda-hold-time
-       patches.drivers/017-i2c-designware-baytrail-fix-potential-null-pointer-d
 
        ########################################################
        # Input & Console
        ########################################################
 #      patches.suse/SUSE-bootsplash
 #      patches.suse/SUSE-bootsplash-mgadrmfb-workaround
-       patches.drivers/HID-asus-drop-dependency-on-I2C_HID
-       patches.drivers/HID-asus-support-Republic-of-Gamers-special-keys
-       patches.drivers/HID-asus-fix-and-generalize-ambiguous-preprocessor-m
-       patches.drivers/HID-asus-ignore-declared-dummy-usages
-       patches.drivers/HID-asus-change-mapping-from-KEY_WLAN-to-KEY_RFKILL
-
-       patches.drivers/Input-axp20x-pek-use-our-own-device-for-errors
-       patches.drivers/Input-axp20x_pek-add-axp20x_pek_probe_input_device-h
-       patches.drivers/Input-axp20x-pek-do-not-register-input-device-on-som
-
-       patches.drivers/Input-soc_button_array-use-NULL-for-GPIO-connection
-       patches.drivers/Input-soc_button_array-Propagate-error-from-gpiod_co
-       patches.drivers/Input-soc_button_array-get-rid-of-MAX_NBUTTONS
-       patches.drivers/Input-soc_button_array-add-support-for-ACPI-6.0-Gene
-       patches.drivers/Input-soc_button_array-properly-map-usage-0x07-0xe3
 
        ##########################################################
        # Sound
@@ -424,7 +381,7 @@
        ########################################################
        # Char / serial
        ########################################################
-       patches.fixes/tty-Fix-ldisc-crash-on-reopened-tty.patch
+       patches.fixes/tty-handle-the-case-where-we-cannot-restore-a-line-d.patch
 
        ########################################################
        # Other driver fixes
@@ -432,7 +389,6 @@
 
        # Needs updating WRT d27769ec (block: add GENHD_FL_NO_PART_SCAN)
 +hare  patches.suse/no-partition-scan
-       patches.drivers/dell-laptop-Adds-support-for-keyboard-backlight-timeout
 
        ########################################################
        # Other drivers we have added to the tree
@@ -486,11 +442,27 @@
        # Other patches for debugging
        ########################################################
        patches.suse/crasher.patch
-       patches.suse/0001-linkage-new-macros-for-assembler-symbols.patch
++dwarf patches.suse/0001-linkage-new-macros-for-assembler-symbols.patch
        patches.suse/0002-dwarf-do-not-throw-away-unwind-info.patch
-       patches.suse/0003-DWARF-EH-frame-based-stack-unwinding.patch
-       patches.suse/stack-unwind-disable-kasan.patch
-+needs_updating        patches.arch/x86_64-unwind-annotations
++dwarf patches.suse/0003-DWARF-EH-frame-based-stack-unwinding.patch
++dwarf patches.suse/stack-unwind-disable-kasan.patch
+
+       # from upstream
+       patches.suse/0001-objtool-Move-checking-code-to-check.c.patch
+       
patches.suse/0002-objtool-x86-Add-several-functions-and-files-to-the-o.patch
+       patches.suse/0003-objtool-Implement-stack-validation-2.0.patch
+       
patches.suse/0004-objtool-Silence-warnings-for-functions-which-use-IRE.patch
+
+       # pending
+       
patches.suse/0001-x86-entry-64-Refactor-IRQ-stacks-and-make-them-NMI-s.patch
+       
patches.suse/0002-x86-entry-64-Initialize-the-top-of-the-IRQ-stack-bef.patch
+       patches.suse/0003-x86-dumpstack-fix-occasionally-missing-registers.patch
+       
patches.suse/0004-x86-dumpstack-fix-interrupt-and-exception-stack-boun.patch
+       patches.suse/0005-objtool-add-ORC-unwind-table-generation.patch
+       
patches.suse/0006-objtool-x86-add-facility-for-asm-code-to-provide-unw.patch
+       patches.suse/0007-x86-entry-64-add-unwind-hint-annotations.patch
+       patches.suse/0008-x86-asm-add-unwind-hint-annotations-to-sync_core.patch
+       patches.suse/0009-x86-unwind-add-ORC-unwinder.patch
 
        ########################################################
        # Kdump

++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.8z95hY/_old  2017-07-17 09:15:58.399254598 +0200
+++ /var/tmp/diff_new_pack.8z95hY/_new  2017-07-17 09:15:58.403254034 +0200
@@ -1,3 +1,3 @@
-2017-06-29 16:37:33 +0200
-GIT Revision: 42bd7a027035420d318d4cb5a3db7233aff32b44
+2017-07-10 09:44:59 +0200
+GIT Revision: ae25ff80fb23f4b229ff95fbc9b2cba627c02751
 GIT Branch: stable


Reply via email to