Hello community,

here is the log from the commit of package kernel-source for openSUSE:Factory 
checked in at 2017-05-16 14:30:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-source (Old)
 and      /work/SRC/openSUSE:Factory/.kernel-source.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kernel-source"

Tue May 16 14:30:51 2017 rev:363 rq:492444 version:4.11.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-source/dtb-aarch64.changes        
2017-05-02 08:54:20.347007300 +0200
+++ /work/SRC/openSUSE:Factory/.kernel-source.new/dtb-aarch64.changes   
2017-05-16 14:30:52.311535844 +0200
@@ -1,0 +2,22 @@
+Mon May  1 15:12:41 CEST 2017 - [email protected]
+
+- Update to 4.11-final.
+- commit adde629
+
+-------------------------------------------------------------------
+Fri Apr 28 15:00:57 CEST 2017 - [email protected]
+
+- supported.conf: move ipvs modules from cluster-network-kmp to kernel 
packages (fate#323221)
+- commit 3b2c2cd
+
+-------------------------------------------------------------------
+Fri Apr 28 11:39:01 CEST 2017 - [email protected]
+
+- Update x86 config files: disable SILEAD_DMI
+  The silead_dmi "driver" is in an horrible shape. The design is pretty
+  bad and the implementation is poor, to stay polite. I wish such code
+  would not make it into the upstream kernel in the first place. I
+  don't want it to run on any openSUSE system until it is fixed.
+- commit ec41301
+
+-------------------------------------------------------------------
@@ -21,0 +44,19 @@
+Tue Apr 25 15:57:33 CEST 2017 - [email protected]
+
+- rpm/kernel-binary.spec.in: Do not split KMPs for openSUSE (fate#319339)
+- commit a259f75
+
+-------------------------------------------------------------------
+Tue Apr 25 15:53:00 CEST 2017 - [email protected]
+
+- rpm/dtb.spec.in.in: Do not depend on kernel-source (bsc#1034066)
+  Apply the patches during build, just like kernel-binary.spec.in does.
+- commit 4e37db7
+
+-------------------------------------------------------------------
+Mon Apr 24 22:43:58 CEST 2017 - [email protected]
+
+- Update to 4.11-rc8.
+- commit 20b036c
+
+-------------------------------------------------------------------
@@ -27,0 +69,12 @@
+Mon Apr 24 17:43:18 CEST 2017 - [email protected]
+
+- Disable CONFIG_POWER_SUPPLY_DEBUG in debug kernels (bsc#1031500).
+- commit d90dab6
+
+-------------------------------------------------------------------
+Mon Apr 24 11:02:44 CEST 2017 - [email protected]
+
+- supported.conf: sync core networking with SLE12-SP3
+- commit e3b9ed8
+
+-------------------------------------------------------------------
@@ -37,0 +91,122 @@
+Thu Apr 20 12:20:19 CEST 2017 - [email protected]
+
+- Input: soc_button_array - properly map usage 0x07/0xe3 to
+  KEY_LEFTMETA (boo#1019337,boo#1034642).
+- Input: soc_button_array - add support for ACPI 6.0 Generic
+  Button Device (boo#1019337,boo#1034642).
+- Input: soc_button_array - get rid of MAX_NBUTTONS
+  (boo#1019337,boo#1034642).
+- Input: soc_button_array - Propagate error from gpiod_count()
+  (boo#1019337,boo#1034642).
+- Input: soc_button_array - use NULL for GPIO connection ID
+  (boo#1019337,boo#1034642).
+- commit 5e4b2c2
+
+-------------------------------------------------------------------
+Thu Apr 20 12:12:08 CEST 2017 - [email protected]
+
+- Input: axp20x-pek - do not register input device on some systems
+  (bsc#1035040,boo#1019337).
+- Input: axp20x_pek - add axp20x_pek_probe_input_device helper
+  (bsc#1035040,boo#1019337).
+- Input: axp20x-pek - use our own device for errors
+  (bsc#1035040,boo#1019337).
+- commit 9642058
+
+-------------------------------------------------------------------
+Thu Apr 20 12:02:36 CEST 2017 - [email protected]
+
+- i2c: designware-baytrail: fix potential null pointer dereference
+  on dev (boo#1026458,bsc#1011913).
+- i2c: designware: Get selected speed mode sda-hold-time via ACPI
+  (boo#1026458,bsc#1011913).
+- i2c: designware: Disable pm for PMIC i2c-bus even if there is
+  no _SEM method (boo#1026458,bsc#1011913).
+- i2c: designware: Never suspend i2c-busses used for accessing
+  the system PMIC (boo#1026458,bsc#1011913).
+- i2c-designware: increase timeout of semaphore transfer
+  (boo#1026458,bsc#1011913).
+- drm/i915: Listen for PMIC bus access notifications
+  (boo#1026458,bsc#1011913).
+- drm/i915: Add intel_uncore_suspend / resume functions
+  (boo#1026458,bsc#1011913).
+- i2c: designware-baytrail: Call pmic_bus_access_notifier_chain
+  (boo#1026458,bsc#1011913).
+- i2c: designware-baytrail: Acquire P-Unit access on bus acquire
+  (boo#1026458,bsc#1011913).
+- i2c: designware-baytrail: Add support for cherrytrail
+  (boo#1026458,bsc#1011913).
+- i2c: designware-baytrail: Fix race when resetting the semaphore
+  (boo#1026458,bsc#1011913).
+- i2c: designware-baytrail: Disallow the CPU to enter C6 or C7
+  while holding the punit semaphore (boo#1026458,bsc#1011913).
+- i2c: designware-baytrail: Only check iosf_mbi_available()
+  for shared hosts (boo#1026458,bsc#1011913).
+- i2c: designware-baytrail: Pass dw_i2c_dev into helper functions
+  (boo#1026458,bsc#1011913).
+- i2c: designware: Rename accessor_flags to flags
+  (boo#1026458,bsc#1011913).
+- x86/platform/intel/iosf_mbi: Add a PMIC bus access notifier
+  (boo#1026458,bsc#1011913).
+- x86/platform/intel/iosf_mbi: Add a mutex for P-Unit access
+  (boo#1026458,bsc#1011913).
+- commit 72f33ac
+
+-------------------------------------------------------------------
+Thu Apr 20 12:00:46 CEST 2017 - [email protected]
+
+- HID: asus: change mapping from KEY_WLAN to KEY_RFKILL
+  (bsc#1026458).
+- HID: asus: ignore declared dummy usages (bsc#1026458).
+- HID: asus: fix and generalize ambiguous preprocessor macros
+  (bsc#1026458).
+- HID: asus: support Republic of Gamers special keys
+  (bsc#1026458).
+- HID: asus: drop dependency on I2C_HID (bsc#1026458).
+- commit b794289
+
+-------------------------------------------------------------------
+Thu Apr 20 10:59:14 CEST 2017 - [email protected]
+
+- Enable CONFIG_INTEL_SOC_PMIC and CONFIG_PMIC_OPREGION (boo#1035040).
+  Some of these configs are built-in only, unfortunately, and consequently
+  it requires CONFIG_MFD_CORE=y, too.
+- commit a2ce90f
+
+-------------------------------------------------------------------
+Thu Apr 20 10:54:55 CEST 2017 - [email protected]
+
+- Enable configs for AXP I2C stuff on Cherrytail devices (boo#1035040).
+- commit 636bfd4
+
+-------------------------------------------------------------------
+Thu Apr 20 10:52:22 CEST 2017 - [email protected]
+
+- Enable CONFIG_INPUT_SOC_BUTTON_ARRAY for x86 (boo#1034642).
+- commit a7fc032
+
+-------------------------------------------------------------------
+Wed Apr 19 23:33:35 CEST 2017 - [email protected]
+
+- rpm/kernel-binary.spec.in: Do not sign modules if CONFIG_MODULE_SIG=n 
(bsc#1035053)
+- commit 50db9ef
+
+-------------------------------------------------------------------
+Wed Apr 19 02:49:59 CEST 2017 - [email protected]
+
+- Update to 4.11-rc7.
+- commit 6e80a14
+
+-------------------------------------------------------------------
+Wed Apr 19 02:02:13 CEST 2017 - [email protected]
+
+- config: arm64: Enable SUN8I_H3_CCU for Allwinner H5
+- commit 967bdfb
+
+-------------------------------------------------------------------
+Tue Apr 18 23:30:14 CEST 2017 - [email protected]
+
+- Enable CONFIG_KXCJK1013 for Cherrytrail devices (boo#1034809).
+- commit 9add148
+
+-------------------------------------------------------------------
@@ -45,0 +221,14 @@
+Thu Apr 13 11:18:57 CEST 2017 - [email protected]
+
+- config: ARM: Make SERIAL_DEV_BUS built-in
+- Makes available SERIAL_DEV_CTRL_TTYPORT
+- commit 2cea027
+
+-------------------------------------------------------------------
+Thu Apr 13 03:17:06 CEST 2017 - [email protected]
+
+- rpm/dtb.spec.in.in: Enable overlay support for Tumbleweed and Leap 42.3
+- Generate __symbols__ node to allow resolution of labels in overlays
+- commit c94e646
+
+-------------------------------------------------------------------
@@ -63,0 +253,25 @@
+Mon Apr 10 15:15:15 CEST 2017 - [email protected]
+
+- Update to 4.11-rc6.
++++ 323 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

Old:
----
  linux-4.10.tar.xz

New:
----
  linux-4.11.tar.xz

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

Other differences:
------------------
++++++ dtb-aarch64.spec ++++++
--- /var/tmp/diff_new_pack.za4Adm/_old  2017-05-16 14:31:09.025187839 +0200
+++ /var/tmp/diff_new_pack.za4Adm/_new  2017-05-16 14:31:09.029187278 +0200
@@ -16,15 +16,22 @@
 #
 
 
-%define patchversion 4.10.13
-%define vanilla_only 0
+%define srcversion 4.11
+%define patchversion 4.11.0
+%define variant %{nil}
 
 %include %_sourcedir/kernel-spec-macros
 
+%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 
0%{?sle_version} >= 120300 )
+%define dtc_symbols 1
+%endif
+
+%(chmod +x 
%_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,find-provides,find-requires,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.10.13
+Version:        4.11.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.ge5d11ce
+Release:        <RELEASE>.g1b516a5
 %else
 Release:        0
 %endif
@@ -32,16 +39,81 @@
 License:        GPL-2.0
 Group:          System/Boot
 Url:            http://www.kernel.org/
-%if %vanilla_only
-BuildRequires:  kernel-source-vanilla
-%else
-BuildRequires:  kernel-source
-%endif
 ExclusiveArch:  aarch64
 BuildRequires:  cpp
+%if 0%{?dtc_symbols}
+BuildRequires:  dtc >= 1.4.3
+%else
 BuildRequires:  dtc >= 1.4.0
+%endif
 BuildRequires:  xz
 Requires:       kernel = %version
+Source0:        
http://www.kernel.org/pub/linux/kernel/v4.x/linux-%srcversion.tar.xz
+Source2:        source-post.sh
+Source3:        kernel-source.rpmlintrc
+Source8:        devel-pre.sh
+Source9:        devel-post.sh
+Source10:       preun.sh
+Source11:       postun.sh
+Source12:       pre.sh
+Source13:       post.sh
+Source14:       series.conf
+Source16:       guards
+Source17:       apply-patches
+Source21:       config.conf
+Source23:       supported.conf
+Source33:       check-for-config-changes
+Source35:       group-source-files.pl
+Source36:       README.PATCH-POLICY.SUSE
+Source37:       README.SUSE
+Source38:       README.KSYMS
+Source39:       config-options.changes.txt
+Source40:       source-timestamp
+Source44:       find-provides
+Source45:       find-requires
+Source46:       split-modules
+Source47:       modversions
+Source48:       macros.kernel-source
+Source49:       kernel-module-subpackage
+Source50:       kabi.pl
+Source51:       mkspec
+Source52:       kernel-source%variant.changes
+Source53:       kernel-source.spec.in
+Source54:       kernel-binary.spec.in
+Source55:       kernel-syms.spec.in
+Source56:       kernel-docs.spec.in
+Source57:       kernel-cert-subpackage
+Source58:       constraints.in
+Source60:       config.sh
+Source61:       compute-PATCHVERSION.sh
+Source62:       old-flavors
+Source63:       arch-symbols
+Source64:       package-descriptions
+Source65:       kernel-spec-macros
+Source67:       log.sh
+Source68:       host-memcpy-hack.h
+Source69:       try-disable-staging-driver
+Source70:       kernel-obs-build.spec.in
+Source71:       kernel-obs-qa.spec.in
+Source72:       compress-vmlinux.sh
+Source73:       dtb.spec.in.in
+Source74:       mkspec-dtb
+Source100:      config.tar.bz2
+Source101:      config.addon.tar.bz2
+Source102:      patches.arch.tar.bz2
+Source103:      patches.drivers.tar.bz2
+Source104:      patches.fixes.tar.bz2
+Source105:      patches.rpmify.tar.bz2
+Source106:      patches.suse.tar.bz2
+Source107:      patches.xen.tar.bz2
+Source108:      patches.addon.tar.bz2
+Source109:      patches.kernel.org.tar.bz2
+Source110:      patches.apparmor.tar.bz2
+Source111:      patches.rt.tar.bz2
+Source112:      patches.trace.tar.bz2
+Source113:      patches.kabi.tar.bz2
+Source120:      kabi.tar.bz2
+Source121:      sysctl.tar.bz2
 
 %description
 Device Tree files for $MACHINES.
@@ -261,16 +333,21 @@
 
 
 %prep
+# Unpack all sources and patches
+%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 
-a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120 -a 121
+cd linux-%srcversion
+%_sourcedir/apply-patches %_sourcedir/series.conf ..
+
 
 %build
-source=/usr/src/linux-%kernelrelease
-%if %vanilla_only
-source=$source-vanilla
-%endif
+source=linux-%srcversion
 cp $source/COPYING .
 mkdir pp
 PPDIR=`pwd`/pp
 export DTC_FLAGS="-R 4 -p 0x1000"
+%if 0%{?dtc_symbols}
+DTC_FLAGS="$DTC_FLAGS -@"
+%endif
 
 cd $source/arch/arm64/boot/dts
 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

++++++ dtb-armv6l.spec ++++++
--- /var/tmp/diff_new_pack.za4Adm/_old  2017-05-16 14:31:09.065182221 +0200
+++ /var/tmp/diff_new_pack.za4Adm/_new  2017-05-16 14:31:09.069181659 +0200
@@ -16,15 +16,22 @@
 #
 
 
-%define patchversion 4.10.13
-%define vanilla_only 0
+%define srcversion 4.11
+%define patchversion 4.11.0
+%define variant %{nil}
 
 %include %_sourcedir/kernel-spec-macros
 
+%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 
0%{?sle_version} >= 120300 )
+%define dtc_symbols 1
+%endif
+
+%(chmod +x 
%_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,find-provides,find-requires,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.10.13
+Version:        4.11.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.ge5d11ce
+Release:        <RELEASE>.g1b516a5
 %else
 Release:        0
 %endif
@@ -32,16 +39,81 @@
 License:        GPL-2.0
 Group:          System/Boot
 Url:            http://www.kernel.org/
-%if %vanilla_only
-BuildRequires:  kernel-source-vanilla
-%else
-BuildRequires:  kernel-source
-%endif
 ExclusiveArch:  armv6l armv6hl
 BuildRequires:  cpp
+%if 0%{?dtc_symbols}
+BuildRequires:  dtc >= 1.4.3
+%else
 BuildRequires:  dtc >= 1.4.0
+%endif
 BuildRequires:  xz
 Requires:       kernel = %version
+Source0:        
http://www.kernel.org/pub/linux/kernel/v4.x/linux-%srcversion.tar.xz
+Source2:        source-post.sh
+Source3:        kernel-source.rpmlintrc
+Source8:        devel-pre.sh
+Source9:        devel-post.sh
+Source10:       preun.sh
+Source11:       postun.sh
+Source12:       pre.sh
+Source13:       post.sh
+Source14:       series.conf
+Source16:       guards
+Source17:       apply-patches
+Source21:       config.conf
+Source23:       supported.conf
+Source33:       check-for-config-changes
+Source35:       group-source-files.pl
+Source36:       README.PATCH-POLICY.SUSE
+Source37:       README.SUSE
+Source38:       README.KSYMS
+Source39:       config-options.changes.txt
+Source40:       source-timestamp
+Source44:       find-provides
+Source45:       find-requires
+Source46:       split-modules
+Source47:       modversions
+Source48:       macros.kernel-source
+Source49:       kernel-module-subpackage
+Source50:       kabi.pl
+Source51:       mkspec
+Source52:       kernel-source%variant.changes
+Source53:       kernel-source.spec.in
+Source54:       kernel-binary.spec.in
+Source55:       kernel-syms.spec.in
+Source56:       kernel-docs.spec.in
+Source57:       kernel-cert-subpackage
+Source58:       constraints.in
+Source60:       config.sh
+Source61:       compute-PATCHVERSION.sh
+Source62:       old-flavors
+Source63:       arch-symbols
+Source64:       package-descriptions
+Source65:       kernel-spec-macros
+Source67:       log.sh
+Source68:       host-memcpy-hack.h
+Source69:       try-disable-staging-driver
+Source70:       kernel-obs-build.spec.in
+Source71:       kernel-obs-qa.spec.in
+Source72:       compress-vmlinux.sh
+Source73:       dtb.spec.in.in
+Source74:       mkspec-dtb
+Source100:      config.tar.bz2
+Source101:      config.addon.tar.bz2
+Source102:      patches.arch.tar.bz2
+Source103:      patches.drivers.tar.bz2
+Source104:      patches.fixes.tar.bz2
+Source105:      patches.rpmify.tar.bz2
+Source106:      patches.suse.tar.bz2
+Source107:      patches.xen.tar.bz2
+Source108:      patches.addon.tar.bz2
+Source109:      patches.kernel.org.tar.bz2
+Source110:      patches.apparmor.tar.bz2
+Source111:      patches.rt.tar.bz2
+Source112:      patches.trace.tar.bz2
+Source113:      patches.kabi.tar.bz2
+Source120:      kabi.tar.bz2
+Source121:      sysctl.tar.bz2
 
 %description
 Device Tree files for $MACHINES.
@@ -58,16 +130,21 @@
 
 
 %prep
+# Unpack all sources and patches
+%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 
-a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120 -a 121
+cd linux-%srcversion
+%_sourcedir/apply-patches %_sourcedir/series.conf ..
+
 
 %build
-source=/usr/src/linux-%kernelrelease
-%if %vanilla_only
-source=$source-vanilla
-%endif
+source=linux-%srcversion
 cp $source/COPYING .
 mkdir pp
 PPDIR=`pwd`/pp
 export DTC_FLAGS="-R 4 -p 0x1000"
+%if 0%{?dtc_symbols}
+DTC_FLAGS="$DTC_FLAGS -@"
+%endif
 
 cd $source/arch/arm/boot/dts
 for dts in bcm2835*.dts ; do

++++++ dtb-armv7l.spec ++++++
--- /var/tmp/diff_new_pack.za4Adm/_old  2017-05-16 14:31:09.121174355 +0200
+++ /var/tmp/diff_new_pack.za4Adm/_new  2017-05-16 14:31:09.129173231 +0200
@@ -16,15 +16,22 @@
 #
 
 
-%define patchversion 4.10.13
-%define vanilla_only 0
+%define srcversion 4.11
+%define patchversion 4.11.0
+%define variant %{nil}
 
 %include %_sourcedir/kernel-spec-macros
 
+%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 
0%{?sle_version} >= 120300 )
+%define dtc_symbols 1
+%endif
+
+%(chmod +x 
%_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,find-provides,find-requires,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.10.13
+Version:        4.11.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.ge5d11ce
+Release:        <RELEASE>.g1b516a5
 %else
 Release:        0
 %endif
@@ -32,16 +39,81 @@
 License:        GPL-2.0
 Group:          System/Boot
 Url:            http://www.kernel.org/
-%if %vanilla_only
-BuildRequires:  kernel-source-vanilla
-%else
-BuildRequires:  kernel-source
-%endif
 ExclusiveArch:  armv7l armv7hl
 BuildRequires:  cpp
+%if 0%{?dtc_symbols}
+BuildRequires:  dtc >= 1.4.3
+%else
 BuildRequires:  dtc >= 1.4.0
+%endif
 BuildRequires:  xz
 Requires:       kernel = %version
+Source0:        
http://www.kernel.org/pub/linux/kernel/v4.x/linux-%srcversion.tar.xz
+Source2:        source-post.sh
+Source3:        kernel-source.rpmlintrc
+Source8:        devel-pre.sh
+Source9:        devel-post.sh
+Source10:       preun.sh
+Source11:       postun.sh
+Source12:       pre.sh
+Source13:       post.sh
+Source14:       series.conf
+Source16:       guards
+Source17:       apply-patches
+Source21:       config.conf
+Source23:       supported.conf
+Source33:       check-for-config-changes
+Source35:       group-source-files.pl
+Source36:       README.PATCH-POLICY.SUSE
+Source37:       README.SUSE
+Source38:       README.KSYMS
+Source39:       config-options.changes.txt
+Source40:       source-timestamp
+Source44:       find-provides
+Source45:       find-requires
+Source46:       split-modules
+Source47:       modversions
+Source48:       macros.kernel-source
+Source49:       kernel-module-subpackage
+Source50:       kabi.pl
+Source51:       mkspec
+Source52:       kernel-source%variant.changes
+Source53:       kernel-source.spec.in
+Source54:       kernel-binary.spec.in
+Source55:       kernel-syms.spec.in
+Source56:       kernel-docs.spec.in
+Source57:       kernel-cert-subpackage
+Source58:       constraints.in
+Source60:       config.sh
+Source61:       compute-PATCHVERSION.sh
+Source62:       old-flavors
+Source63:       arch-symbols
+Source64:       package-descriptions
+Source65:       kernel-spec-macros
+Source67:       log.sh
+Source68:       host-memcpy-hack.h
+Source69:       try-disable-staging-driver
+Source70:       kernel-obs-build.spec.in
+Source71:       kernel-obs-qa.spec.in
+Source72:       compress-vmlinux.sh
+Source73:       dtb.spec.in.in
+Source74:       mkspec-dtb
+Source100:      config.tar.bz2
+Source101:      config.addon.tar.bz2
+Source102:      patches.arch.tar.bz2
+Source103:      patches.drivers.tar.bz2
+Source104:      patches.fixes.tar.bz2
+Source105:      patches.rpmify.tar.bz2
+Source106:      patches.suse.tar.bz2
+Source107:      patches.xen.tar.bz2
+Source108:      patches.addon.tar.bz2
+Source109:      patches.kernel.org.tar.bz2
+Source110:      patches.apparmor.tar.bz2
+Source111:      patches.rt.tar.bz2
+Source112:      patches.trace.tar.bz2
+Source113:      patches.kabi.tar.bz2
+Source120:      kabi.tar.bz2
+Source121:      sysctl.tar.bz2
 
 %description
 Device Tree files for $MACHINES.
@@ -429,16 +501,21 @@
 
 
 %prep
+# Unpack all sources and patches
+%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 
-a 108 -a 109 -a 110 -a 111 -a 112 -a 113 -a 120 -a 121
+cd linux-%srcversion
+%_sourcedir/apply-patches %_sourcedir/series.conf ..
+
 
 %build
-source=/usr/src/linux-%kernelrelease
-%if %vanilla_only
-source=$source-vanilla
-%endif
+source=linux-%srcversion
 cp $source/COPYING .
 mkdir pp
 PPDIR=`pwd`/pp
 export DTC_FLAGS="-R 4 -p 0x1000"
+%if 0%{?dtc_symbols}
+DTC_FLAGS="$DTC_FLAGS -@"
+%endif
 
 cd $source/arch/arm/boot/dts
 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

++++++ kernel-64kb.spec ++++++
--- /var/tmp/diff_new_pack.za4Adm/_old  2017-05-16 14:31:09.177166489 +0200
+++ /var/tmp/diff_new_pack.za4Adm/_new  2017-05-16 14:31:09.181165927 +0200
@@ -17,8 +17,8 @@
 # needssslcertforbuild
 
 
-%define srcversion 4.10
-%define patchversion 4.10.13
+%define srcversion 4.11
+%define patchversion 4.11.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.10.13
+Version:        4.11.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.ge5d11ce
+Release:        <RELEASE>.g1b516a5
 %else
 Release:        0
 %endif
@@ -68,6 +68,8 @@
 BuildRequires:  bc
 BuildRequires:  coreutils
 BuildRequires:  fdupes
+# Needed by scripts/gcc-plugin.sh
+BuildRequires:  gcc-c++ gcc-devel
 %if 0%{?suse_version} > 1310
 BuildRequires:  hmaccalc
 %endif
@@ -405,7 +407,13 @@
                print $(NF);
        }
 ' >%kernel_build_dir/Module.supported
-for package in base ; do
+subpackages=(
+       base
+%if %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
+       
+%endif
+)
+for package in "${subpackages[@]}"; do
        %_sourcedir/guards --default=0 "$package" \
                <%_sourcedir/supported.conf | sed 's,.*/,,; s,\.ko$,,' | \
                sort -u >%kernel_build_dir/Module."$package"
@@ -538,15 +546,19 @@
 %install
 
 # sign the modules, firmware and possibly the kernel in the buildservice
-export BRP_PESIGN_FILES="*.ko"
+BRP_PESIGN_FILES=""
 %if %CONFIG_EFI_STUB == "y"
-BRP_PESIGN_FILES="$BRP_PESIGN_FILES /boot/vmlinuz-%kernelrelease-%build_flavor"
+BRP_PESIGN_FILES="/boot/vmlinuz-%kernelrelease-%build_flavor"
+%endif
+%if %CONFIG_MODULE_SIG == "y"
+BRP_PESIGN_FILES="$BRP_PESIGN_FILES *.ko"
 %endif
 %ifarch %ix86
 # XXX: do not sign on x86, as the repackaging changes kernel-pae
 # from i686 to i586
 BRP_PESIGN_FILES=""
 %endif
+export BRP_PESIGN_FILES
 
 # get rid of /usr/lib/rpm/brp-strip-debug
 # strip removes too much from the vmlinux ELF binary
@@ -635,11 +647,11 @@
 # and have mokutil enroll them when the kernel is installed
 certs=()
 if test %CONFIG_MODULE_SIG = "y"; then
-    for f in *.x509; do
+    for f in %_sourcedir/*.crt; do
             if ! test -s "$f"; then
                     continue
             fi
-            h=$(openssl x509 -inform DER -fingerprint -noout -in "$f")
+            h=$(openssl x509 -inform PEM -fingerprint -noout -in "$f")
             test -n "$h"
             cert=/etc/uefi/certs/$(echo "$h" | \
                 sed -rn 's/^SHA1 Fingerprint=//; T; s/://g; 
s/(.{8}).*/\1/p').crt
@@ -647,7 +659,7 @@
                     continue
             fi
             mkdir -p %buildroot/etc/uefi/certs
-            cp "$f" %buildroot/"$cert"
+            openssl x509 -inform PEM -in "$f" -outform DER -out 
%buildroot/"$cert"
             certs=("${certs[@]}" "$cert")
     done
 fi
@@ -1121,6 +1133,8 @@
 %dir /lib/modules/%kernelrelease-%build_flavor
 %endif
 
+%if %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
+%endif # %CONFIG_SUSE_KERNEL_SUPPORTED
 %endif # %CONFIG_MODULES
 
 %changelog

kernel-debug.spec: same change
kernel-default.spec: same change
++++++ kernel-docs.spec ++++++
--- /var/tmp/diff_new_pack.za4Adm/_old  2017-05-16 14:31:09.273153004 +0200
+++ /var/tmp/diff_new_pack.za4Adm/_new  2017-05-16 14:31:09.277152442 +0200
@@ -16,7 +16,7 @@
 #
 
 
-%define patchversion 4.10.13
+%define patchversion 4.11.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.10.13
+Version:        4.11.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.ge5d11ce
+Release:        <RELEASE>.g1b516a5
 %else
 Release:        0
 %endif

++++++ kernel-lpae.spec ++++++
--- /var/tmp/diff_new_pack.za4Adm/_old  2017-05-16 14:31:09.317146824 +0200
+++ /var/tmp/diff_new_pack.za4Adm/_new  2017-05-16 14:31:09.321146262 +0200
@@ -17,8 +17,8 @@
 # needssslcertforbuild
 
 
-%define srcversion 4.10
-%define patchversion 4.10.13
+%define srcversion 4.11
+%define patchversion 4.11.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.10.13
+Version:        4.11.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.ge5d11ce
+Release:        <RELEASE>.g1b516a5
 %else
 Release:        0
 %endif
@@ -68,6 +68,8 @@
 BuildRequires:  bc
 BuildRequires:  coreutils
 BuildRequires:  fdupes
+# Needed by scripts/gcc-plugin.sh
+BuildRequires:  gcc-c++ gcc-devel
 %if 0%{?suse_version} > 1310
 BuildRequires:  hmaccalc
 %endif
@@ -403,7 +405,13 @@
                print $(NF);
        }
 ' >%kernel_build_dir/Module.supported
-for package in base ; do
+subpackages=(
+       base
+%if %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
+       
+%endif
+)
+for package in "${subpackages[@]}"; do
        %_sourcedir/guards --default=0 "$package" \
                <%_sourcedir/supported.conf | sed 's,.*/,,; s,\.ko$,,' | \
                sort -u >%kernel_build_dir/Module."$package"
@@ -536,15 +544,19 @@
 %install
 
 # sign the modules, firmware and possibly the kernel in the buildservice
-export BRP_PESIGN_FILES="*.ko"
+BRP_PESIGN_FILES=""
 %if %CONFIG_EFI_STUB == "y"
-BRP_PESIGN_FILES="$BRP_PESIGN_FILES /boot/vmlinuz-%kernelrelease-%build_flavor"
+BRP_PESIGN_FILES="/boot/vmlinuz-%kernelrelease-%build_flavor"
+%endif
+%if %CONFIG_MODULE_SIG == "y"
+BRP_PESIGN_FILES="$BRP_PESIGN_FILES *.ko"
 %endif
 %ifarch %ix86
 # XXX: do not sign on x86, as the repackaging changes kernel-pae
 # from i686 to i586
 BRP_PESIGN_FILES=""
 %endif
+export BRP_PESIGN_FILES
 
 # get rid of /usr/lib/rpm/brp-strip-debug
 # strip removes too much from the vmlinux ELF binary
@@ -633,11 +645,11 @@
 # and have mokutil enroll them when the kernel is installed
 certs=()
 if test %CONFIG_MODULE_SIG = "y"; then
-    for f in *.x509; do
+    for f in %_sourcedir/*.crt; do
             if ! test -s "$f"; then
                     continue
             fi
-            h=$(openssl x509 -inform DER -fingerprint -noout -in "$f")
+            h=$(openssl x509 -inform PEM -fingerprint -noout -in "$f")
             test -n "$h"
             cert=/etc/uefi/certs/$(echo "$h" | \
                 sed -rn 's/^SHA1 Fingerprint=//; T; s/://g; 
s/(.{8}).*/\1/p').crt
@@ -645,7 +657,7 @@
                     continue
             fi
             mkdir -p %buildroot/etc/uefi/certs
-            cp "$f" %buildroot/"$cert"
+            openssl x509 -inform PEM -in "$f" -outform DER -out 
%buildroot/"$cert"
             certs=("${certs[@]}" "$cert")
     done
 fi
@@ -1115,6 +1127,8 @@
 %dir /lib/modules/%kernelrelease-%build_flavor
 %endif
 
+%if %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
+%endif # %CONFIG_SUSE_KERNEL_SUPPORTED
 %endif # %CONFIG_MODULES
 
 %changelog

++++++ kernel-obs-build.spec ++++++
--- /var/tmp/diff_new_pack.za4Adm/_old  2017-05-16 14:31:09.345142891 +0200
+++ /var/tmp/diff_new_pack.za4Adm/_new  2017-05-16 14:31:09.349142329 +0200
@@ -19,7 +19,7 @@
 
 #!BuildIgnore: post-build-checks
 
-%define patchversion 4.10.13
+%define patchversion 4.11.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.10.13
+Version:        4.11.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.ge5d11ce
+Release:        <RELEASE>.g1b516a5
 %else
 Release:        0
 %endif

++++++ kernel-obs-qa.spec ++++++
--- /var/tmp/diff_new_pack.za4Adm/_old  2017-05-16 14:31:09.385137272 +0200
+++ /var/tmp/diff_new_pack.za4Adm/_new  2017-05-16 14:31:09.389136710 +0200
@@ -17,7 +17,7 @@
 # needsrootforbuild
 
 
-%define patchversion 4.10.13
+%define patchversion 4.11.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.10.13
+Version:        4.11.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.ge5d11ce
+Release:        <RELEASE>.g1b516a5
 %else
 Release:        0
 %endif

++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.za4Adm/_old  2017-05-16 14:31:09.425131654 +0200
+++ /var/tmp/diff_new_pack.za4Adm/_new  2017-05-16 14:31:09.433130530 +0200
@@ -17,8 +17,8 @@
 # needssslcertforbuild
 
 
-%define srcversion 4.10
-%define patchversion 4.10.13
+%define srcversion 4.11
+%define patchversion 4.11.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.10.13
+Version:        4.11.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.ge5d11ce
+Release:        <RELEASE>.g1b516a5
 %else
 Release:        0
 %endif
@@ -68,6 +68,8 @@
 BuildRequires:  bc
 BuildRequires:  coreutils
 BuildRequires:  fdupes
+# Needed by scripts/gcc-plugin.sh
+BuildRequires:  gcc-c++ gcc-devel
 %if 0%{?suse_version} > 1310
 BuildRequires:  hmaccalc
 %endif
@@ -431,7 +433,13 @@
                print $(NF);
        }
 ' >%kernel_build_dir/Module.supported
-for package in base ; do
+subpackages=(
+       base
+%if %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
+       
+%endif
+)
+for package in "${subpackages[@]}"; do
        %_sourcedir/guards --default=0 "$package" \
                <%_sourcedir/supported.conf | sed 's,.*/,,; s,\.ko$,,' | \
                sort -u >%kernel_build_dir/Module."$package"
@@ -564,15 +572,19 @@
 %install
 
 # sign the modules, firmware and possibly the kernel in the buildservice
-export BRP_PESIGN_FILES="*.ko"
+BRP_PESIGN_FILES=""
 %if %CONFIG_EFI_STUB == "y"
-BRP_PESIGN_FILES="$BRP_PESIGN_FILES /boot/vmlinuz-%kernelrelease-%build_flavor"
+BRP_PESIGN_FILES="/boot/vmlinuz-%kernelrelease-%build_flavor"
+%endif
+%if %CONFIG_MODULE_SIG == "y"
+BRP_PESIGN_FILES="$BRP_PESIGN_FILES *.ko"
 %endif
 %ifarch %ix86
 # XXX: do not sign on x86, as the repackaging changes kernel-pae
 # from i686 to i586
 BRP_PESIGN_FILES=""
 %endif
+export BRP_PESIGN_FILES
 
 # get rid of /usr/lib/rpm/brp-strip-debug
 # strip removes too much from the vmlinux ELF binary
@@ -661,11 +673,11 @@
 # and have mokutil enroll them when the kernel is installed
 certs=()
 if test %CONFIG_MODULE_SIG = "y"; then
-    for f in *.x509; do
+    for f in %_sourcedir/*.crt; do
             if ! test -s "$f"; then
                     continue
             fi
-            h=$(openssl x509 -inform DER -fingerprint -noout -in "$f")
+            h=$(openssl x509 -inform PEM -fingerprint -noout -in "$f")
             test -n "$h"
             cert=/etc/uefi/certs/$(echo "$h" | \
                 sed -rn 's/^SHA1 Fingerprint=//; T; s/://g; 
s/(.{8}).*/\1/p').crt
@@ -673,7 +685,7 @@
                     continue
             fi
             mkdir -p %buildroot/etc/uefi/certs
-            cp "$f" %buildroot/"$cert"
+            openssl x509 -inform PEM -in "$f" -outform DER -out 
%buildroot/"$cert"
             certs=("${certs[@]}" "$cert")
     done
 fi
@@ -1185,6 +1197,8 @@
 %dir /lib/modules/%kernelrelease-%build_flavor
 %endif
 
+%if %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
+%endif # %CONFIG_SUSE_KERNEL_SUPPORTED
 %endif # %CONFIG_MODULES
 
 %changelog

++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.za4Adm/_old  2017-05-16 14:31:09.465126035 +0200
+++ /var/tmp/diff_new_pack.za4Adm/_new  2017-05-16 14:31:09.469125473 +0200
@@ -17,8 +17,8 @@
 # icecream 0
 
 
-%define srcversion 4.10
-%define patchversion 4.10.13
+%define srcversion 4.11
+%define patchversion 4.11.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.10.13
+Version:        4.11.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.ge5d11ce
+Release:        <RELEASE>.g1b516a5
 %else
 Release:        0
 %endif

++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.za4Adm/_old  2017-05-16 14:31:09.525117607 +0200
+++ /var/tmp/diff_new_pack.za4Adm/_new  2017-05-16 14:31:09.529117045 +0200
@@ -24,10 +24,10 @@
 Summary:        Kernel Symbol Versions (modversions)
 License:        GPL-2.0
 Group:          Development/Sources
-Version:        4.10.13
+Version:        4.11.0
 %if %using_buildservice
 %if 0%{?is_kotd}
-Release:        <RELEASE>.ge5d11ce
+Release:        <RELEASE>.g1b516a5
 %else
 Release:        0
 %endif

++++++ kernel-syzkaller.spec ++++++
--- /var/tmp/diff_new_pack.za4Adm/_old  2017-05-16 14:31:09.573110865 +0200
+++ /var/tmp/diff_new_pack.za4Adm/_new  2017-05-16 14:31:09.577110303 +0200
@@ -17,8 +17,8 @@
 # needssslcertforbuild
 
 
-%define srcversion 4.10
-%define patchversion 4.10.13
+%define srcversion 4.11
+%define patchversion 4.11.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.10.13
+Version:        4.11.0
 %if 0%{?is_kotd}
-Release:        <RELEASE>.ge5d11ce
+Release:        <RELEASE>.g1b516a5
 %else
 Release:        0
 %endif
@@ -68,6 +68,8 @@
 BuildRequires:  bc
 BuildRequires:  coreutils
 BuildRequires:  fdupes
+# Needed by scripts/gcc-plugin.sh
+BuildRequires:  gcc-c++ gcc-devel
 %if 0%{?suse_version} > 1310
 BuildRequires:  hmaccalc
 %endif
@@ -404,7 +406,13 @@
                print $(NF);
        }
 ' >%kernel_build_dir/Module.supported
-for package in base ; do
+subpackages=(
+       base
+%if %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
+       
+%endif
+)
+for package in "${subpackages[@]}"; do
        %_sourcedir/guards --default=0 "$package" \
                <%_sourcedir/supported.conf | sed 's,.*/,,; s,\.ko$,,' | \
                sort -u >%kernel_build_dir/Module."$package"
@@ -537,15 +545,19 @@
 %install
 
 # sign the modules, firmware and possibly the kernel in the buildservice
-export BRP_PESIGN_FILES="*.ko"
+BRP_PESIGN_FILES=""
 %if %CONFIG_EFI_STUB == "y"
-BRP_PESIGN_FILES="$BRP_PESIGN_FILES /boot/vmlinuz-%kernelrelease-%build_flavor"
+BRP_PESIGN_FILES="/boot/vmlinuz-%kernelrelease-%build_flavor"
+%endif
+%if %CONFIG_MODULE_SIG == "y"
+BRP_PESIGN_FILES="$BRP_PESIGN_FILES *.ko"
 %endif
 %ifarch %ix86
 # XXX: do not sign on x86, as the repackaging changes kernel-pae
 # from i686 to i586
 BRP_PESIGN_FILES=""
 %endif
+export BRP_PESIGN_FILES
 
 # get rid of /usr/lib/rpm/brp-strip-debug
 # strip removes too much from the vmlinux ELF binary
@@ -634,11 +646,11 @@
 # and have mokutil enroll them when the kernel is installed
 certs=()
 if test %CONFIG_MODULE_SIG = "y"; then
-    for f in *.x509; do
+    for f in %_sourcedir/*.crt; do
             if ! test -s "$f"; then
                     continue
             fi
-            h=$(openssl x509 -inform DER -fingerprint -noout -in "$f")
+            h=$(openssl x509 -inform PEM -fingerprint -noout -in "$f")
             test -n "$h"
             cert=/etc/uefi/certs/$(echo "$h" | \
                 sed -rn 's/^SHA1 Fingerprint=//; T; s/://g; 
s/(.{8}).*/\1/p').crt
@@ -646,7 +658,7 @@
                     continue
             fi
             mkdir -p %buildroot/etc/uefi/certs
-            cp "$f" %buildroot/"$cert"
+            openssl x509 -inform PEM -in "$f" -outform DER -out 
%buildroot/"$cert"
             certs=("${certs[@]}" "$cert")
     done
 fi
@@ -1118,6 +1130,8 @@
 %dir /lib/modules/%kernelrelease-%build_flavor
 %endif
 
+%if %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
+%endif # %CONFIG_SUSE_KERNEL_SUPPORTED
 %endif # %CONFIG_MODULES
 
 %changelog

kernel-vanilla.spec: same change
++++++ README.SUSE ++++++
--- /var/tmp/diff_new_pack.za4Adm/_old  2017-05-16 14:31:09.861070411 +0200
+++ /var/tmp/diff_new_pack.za4Adm/_new  2017-05-16 14:31:09.865069849 +0200
@@ -174,7 +174,7 @@
       /usr/src/linux-obj/$ARCH/$FLAVOR, or
 
   (3) by creating a Kernel Module Package (KMP) as described in the
-      Kernel Module Packages Manual, http://www.suse.de/~agruen/KMPM/.
+      Kernel Module Packages Manual, https://drivers.suse.com/doc/kmpm/.
 
 
 The first method involves the following steps:
@@ -462,4 +462,4 @@
     Andreas Gruenbacher: Kernel Module Packages Manual.
     Versions for CODE9 (SLES9, SUSE LINUX 10.0) and CODE10
     (SUSE Linux 10.1, SLES10),
-    http://www.suse.de/~agruen/KMPM/
+    https://drivers.suse.com/doc/kmpm/

++++++ apply-patches ++++++
--- /var/tmp/diff_new_pack.za4Adm/_old  2017-05-16 14:31:09.917062545 +0200
+++ /var/tmp/diff_new_pack.za4Adm/_new  2017-05-16 14:31:09.917062545 +0200
@@ -38,7 +38,7 @@
        echo "set -ex"
        "$DIR"/guards "$@" <"$series" | \
        if $vanilla; then
-               egrep '^patches\.(kernel\.org|rpmify)/'
+               sed -rn '/^patches\.(kernel\.org|rpmify)\//p'
        else
                cat
        fi |\

++++++ config.sh ++++++
--- /var/tmp/diff_new_pack.za4Adm/_old  2017-05-16 14:31:10.069041194 +0200
+++ /var/tmp/diff_new_pack.za4Adm/_new  2017-05-16 14:31:10.069041194 +0200
@@ -1,5 +1,5 @@
 # The version of the main tarball to use
-SRCVERSION=4.10
+SRCVERSION=4.11
 # variant of the kernel-source package, either empty or "-rt"
 VARIANT=
 # buildservice projects to build the kernel against

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

++++++ dtb.spec.in.in ++++++
--- /var/tmp/diff_new_pack.za4Adm/_old  2017-05-16 14:31:10.572970400 +0200
+++ /var/tmp/diff_new_pack.za4Adm/_new  2017-05-16 14:31:10.572970400 +0200
@@ -16,11 +16,18 @@
 #
 
 
+%define srcversion @SRCVERSION@
 %define patchversion @PATCHVERSION@
-%define vanilla_only @VANILLA_ONLY@
+%define variant @VARIANT@%{nil}
 
 %include %_sourcedir/kernel-spec-macros
 
+%if 0%{?suse_version} > 1320 || ( 0%{?suse_version} == 1315 && 
0%{?sle_version} >= 120300 )
+%define dtc_symbols 1
+%endif
+
+%(chmod +x %_sourcedir/{@SCRIPTS@})
+
 Name:           $NAME
 Version:        @RPMVERSION@
 %if 0%{?is_kotd}
@@ -32,16 +39,16 @@
 License:        GPL-2.0
 Group:          System/Boot
 Url:            http://www.kernel.org/
-%if %vanilla_only
-BuildRequires:  kernel-source-vanilla
-%else
-BuildRequires:  kernel-source
-%endif
 $ARCH_RESTRICTIONS
 BuildRequires:  cpp
+%if 0%{?dtc_symbols}
+BuildRequires:  dtc >= 1.4.3
+%else
 BuildRequires:  dtc >= 1.4.0
+%endif
 BuildRequires:  xz
 Requires:       kernel = %version
+@SOURCES@
 
 %description
 Device Tree files for $MACHINES.
@@ -49,16 +56,21 @@
 $SUBPKG_DESC
 
 %prep
+# Unpack all sources and patches
+%setup -q -c -T -a 0 @UNPACK_PATCHES@
+cd linux-%srcversion
+%_sourcedir/apply-patches %_sourcedir/series.conf ..
+
 
 %build
-source=/usr/src/linux-%kernelrelease
-%if %vanilla_only
-source=$source-vanilla
-%endif
+source=linux-%srcversion
 cp $source/COPYING .
 mkdir pp
 PPDIR=`pwd`/pp
 export DTC_FLAGS="-R 4 -p 0x1000"
+%if 0%{?dtc_symbols}
+DTC_FLAGS="$DTC_FLAGS -@"
+%endif
 
 cd $source/$DTS_folder
 for dts in $ALL_SUPPORTED_DTB; do

++++++ kernel-binary.spec.in ++++++
--- /var/tmp/diff_new_pack.za4Adm/_old  2017-05-16 14:31:10.752945116 +0200
+++ /var/tmp/diff_new_pack.za4Adm/_new  2017-05-16 14:31:10.752945116 +0200
@@ -68,6 +68,8 @@
 BuildRequires:  bc
 BuildRequires:  coreutils
 BuildRequires:  fdupes
+# Needed by scripts/gcc-plugin.sh
+BuildRequires:  gcc-c++ gcc-devel
 %if 0%{?suse_version} > 1310
 BuildRequires:  hmaccalc
 %endif
@@ -274,7 +276,13 @@
                print $(NF);
        }
 ' >%kernel_build_dir/Module.supported
-for package in base @KMPS@; do
+subpackages=(
+       base
+%if %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
+       @KMPS@
+%endif
+)
+for package in "${subpackages[@]}"; do
        %_sourcedir/guards --default=0 "$package" \
                <%_sourcedir/supported.conf | sed 's,.*/,,; s,\.ko$,,' | \
                sort -u >%kernel_build_dir/Module."$package"
@@ -407,15 +415,19 @@
 %install
 
 # sign the modules, firmware and possibly the kernel in the buildservice
-export BRP_PESIGN_FILES="*.ko"
+BRP_PESIGN_FILES=""
 %if %CONFIG_EFI_STUB == "y"
-BRP_PESIGN_FILES="$BRP_PESIGN_FILES /boot/vmlinuz-%kernelrelease-%build_flavor"
+BRP_PESIGN_FILES="/boot/vmlinuz-%kernelrelease-%build_flavor"
+%endif
+%if %CONFIG_MODULE_SIG == "y"
+BRP_PESIGN_FILES="$BRP_PESIGN_FILES *.ko"
 %endif
 %ifarch %ix86
 # XXX: do not sign on x86, as the repackaging changes kernel-pae
 # from i686 to i586
 BRP_PESIGN_FILES=""
 %endif
+export BRP_PESIGN_FILES
 
 # get rid of /usr/lib/rpm/brp-strip-debug
 # strip removes too much from the vmlinux ELF binary
@@ -504,11 +516,11 @@
 # and have mokutil enroll them when the kernel is installed
 certs=()
 if test %CONFIG_MODULE_SIG = "y"; then
-    for f in *.x509; do
+    for f in %_sourcedir/*.crt; do
             if ! test -s "$f"; then
                     continue
             fi
-            h=$(openssl x509 -inform DER -fingerprint -noout -in "$f")
+            h=$(openssl x509 -inform PEM -fingerprint -noout -in "$f")
             test -n "$h"
             cert=/etc/uefi/certs/$(echo "$h" | \
                 sed -rn 's/^SHA1 Fingerprint=//; T; s/://g; 
s/(.{8}).*/\1/p').crt
@@ -516,7 +528,7 @@
                     continue
             fi
             mkdir -p %buildroot/etc/uefi/certs
-            cp "$f" %buildroot/"$cert"
+            openssl x509 -inform PEM -in "$f" -outform DER -out 
%buildroot/"$cert"
             certs=("${certs[@]}" "$cert")
     done
 fi
@@ -965,6 +977,7 @@
 %dir /lib/modules/%kernelrelease-%build_flavor
 %endif
 
+%if %CONFIG_SUSE_KERNEL_SUPPORTED == "y"
 # BEGIN KMP
 %package -n @KMP_NAME@-%build_flavor
 Summary:        @KMP_SUMMARY@
@@ -1006,6 +1019,7 @@
 %files -n @KMP_NAME@-%build_flavor -f @[email protected]
 %defattr(-, root, root)
 # END KMP
+%endif # %CONFIG_SUSE_KERNEL_SUPPORTED
 %endif # %CONFIG_MODULES
 
 %changelog

++++++ linux-4.10.tar.xz -> linux-4.11.tar.xz ++++++
/work/SRC/openSUSE:Factory/kernel-source/linux-4.10.tar.xz 
/work/SRC/openSUSE:Factory/.kernel-source.new/linux-4.11.tar.xz differ: char 
26, 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 
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.apparmor/apparmor-basic-networking-rules-4.11-rc1.patch 
2017-03-07 16:07:46.000000000 +0100
@@ -0,0 +1,142 @@
+From: Jeff Mahoney <[email protected]>
+Subject: apparmor: update apparmor-basic-networking-rules for 4.11-rc1
+Patch-mainline: depends on apparmor-basic-networking-rules.patch
+References: FATE#300516
+
+4.11-rc1 changed op from a index into an array of strings to the strings
+themselves.
+
+It also renamed: OP_SOCK_SHUTDOWN to OP_SHUTDOWN and
+common_audit_data.aad to common_audit_data.apparmor_audit_data and removed
+the gfp_t parameter from aa_audit.
+
+Signed-off-by: Jeff Mahoney <[email protected]>
+---
+ security/apparmor/include/net.h |    4 ++--
+ security/apparmor/lsm.c         |    2 +-
+ security/apparmor/net.c         |   39 ++++++++++++++++++++-------------------
+ 3 files changed, 23 insertions(+), 22 deletions(-)
+
+--- a/security/apparmor/include/net.h
++++ b/security/apparmor/include/net.h
+@@ -32,9 +32,9 @@ struct aa_net {
+ 
+ extern struct aa_fs_entry aa_fs_entry_network[];
+ 
+-extern int aa_net_perm(int op, struct aa_profile *profile, u16 family,
++extern int aa_net_perm(const char *op, struct aa_profile *profile, u16 family,
+                      int type, int protocol, struct sock *sk);
+-extern int aa_revalidate_sk(int op, struct sock *sk);
++extern int aa_revalidate_sk(const char *op, struct sock *sk);
+ 
+ static inline void aa_free_net_rules(struct aa_net *new)
+ {
+--- a/security/apparmor/lsm.c
++++ b/security/apparmor/lsm.c
+@@ -683,7 +683,7 @@ static int apparmor_socket_shutdown(stru
+ {
+       struct sock *sk = sock->sk;
+ 
+-      return aa_revalidate_sk(OP_SOCK_SHUTDOWN, sk);
++      return aa_revalidate_sk(OP_SHUTDOWN, sk);
+ }
+ 
+ static struct security_hook_list apparmor_hooks[] = {
+--- a/security/apparmor/net.c
++++ b/security/apparmor/net.c
+@@ -37,12 +37,12 @@ static void audit_cb(struct audit_buffer
+               audit_log_format(ab, "\"unknown(%d)\"", sa->u.net->family);
+       }
+       audit_log_format(ab, " sock_type=");
+-      if (sock_type_names[sa->aad->net.type]) {
+-              audit_log_string(ab, sock_type_names[sa->aad->net.type]);
++      if (sock_type_names[aad(sa)->net.type]) {
++              audit_log_string(ab, sock_type_names[aad(sa)->net.type]);
+       } else {
+-              audit_log_format(ab, "\"unknown(%d)\"", sa->aad->net.type);
++              audit_log_format(ab, "\"unknown(%d)\"", aad(sa)->net.type);
+       }
+-      audit_log_format(ab, " protocol=%d", sa->aad->net.protocol);
++      audit_log_format(ab, " protocol=%d", aad(sa)->net.protocol);
+ }
+ 
+ /**
+@@ -57,8 +57,9 @@ static void audit_cb(struct audit_buffer
+  *
+  * Returns: %0 or sa->error else other errorcode on failure
+  */
+-static int audit_net(struct aa_profile *profile, int op, u16 family, int type,
+-                   int protocol, struct sock *sk, int error)
++static int audit_net(struct aa_profile *profile, const char *op,
++                   u16 family, int type, int protocol,
++                   struct sock *sk, int error)
+ {
+       int audit_type = AUDIT_APPARMOR_AUTO;
+       struct common_audit_data sa;
+@@ -70,25 +71,25 @@ static int audit_net(struct aa_profile *
+               sa.type = LSM_AUDIT_DATA_NONE;
+       }
+       /* todo fill in socket addr info */
+-      sa.aad = &aad;
++      aad(&sa) = &aad;
+       sa.u.net = &net;
+-      sa.aad->op = op,
++      aad(&sa)->op = op,
+       sa.u.net->family = family;
+       sa.u.net->sk = sk;
+-      sa.aad->net.type = type;
+-      sa.aad->net.protocol = protocol;
+-      sa.aad->error = error;
++      aad(&sa)->net.type = type;
++      aad(&sa)->net.protocol = protocol;
++      aad(&sa)->error = error;
+ 
+-      if (likely(!sa.aad->error)) {
++      if (likely(!aad(&sa)->error)) {
+               u16 audit_mask = profile->net.audit[sa.u.net->family];
+               if (likely((AUDIT_MODE(profile) != AUDIT_ALL) &&
+-                         !(1 << sa.aad->net.type & audit_mask)))
++                         !(1 << aad(&sa)->net.type & audit_mask)))
+                       return 0;
+               audit_type = AUDIT_APPARMOR_AUDIT;
+       } else {
+               u16 quiet_mask = profile->net.quiet[sa.u.net->family];
+               u16 kill_mask = 0;
+-              u16 denied = (1 << sa.aad->net.type) & ~quiet_mask;
++              u16 denied = (1 << aad(&sa)->net.type) & ~quiet_mask;
+ 
+               if (denied & kill_mask)
+                       audit_type = AUDIT_APPARMOR_KILL;
+@@ -96,10 +97,10 @@ static int audit_net(struct aa_profile *
+               if ((denied & quiet_mask) &&
+                   AUDIT_MODE(profile) != AUDIT_NOQUIET &&
+                   AUDIT_MODE(profile) != AUDIT_ALL)
+-                      return COMPLAIN_MODE(profile) ? 0 : sa.aad->error;
++                      return COMPLAIN_MODE(profile) ? 0 : aad(&sa)->error;
+       }
+ 
+-      return aa_audit(audit_type, profile, GFP_KERNEL, &sa, audit_cb);
++      return aa_audit(audit_type, profile, &sa, audit_cb);
+ }
+ 
+ /**
+@@ -112,8 +113,8 @@ static int audit_net(struct aa_profile *
+  *
+  * Returns: %0 else error if permission denied
+  */
+-int aa_net_perm(int op, struct aa_profile *profile, u16 family, int type,
+-              int protocol, struct sock *sk)
++int aa_net_perm(const char *op, struct aa_profile *profile, u16 family,
++              int type, int protocol, struct sock *sk)
+ {
+       u16 family_mask;
+       int error;
+@@ -142,7 +143,7 @@ int aa_net_perm(int op, struct aa_profil
+  *
+  * Returns: %0 else error if permission denied
+  */
+-int aa_revalidate_sk(int op, struct sock *sk)
++int aa_revalidate_sk(const char *op, struct sock *sk)
+ {
+       struct aa_profile *profile;
+       int error = 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  2016-12-02 
10:44:55.000000000 +0100
+++ new/patches.apparmor/apparmor-basic-networking-rules.patch  2017-03-07 
16:07:46.000000000 +0100
@@ -42,8 +42,8 @@
  
  apparmor-y := apparmorfs.o audit.o capability.o context.o ipc.o lib.o match.o 
\
                path.o domain.o policy.o policy_unpack.o procattr.o lsm.o \
--              resource.o sid.o file.o
-+              resource.o sid.o file.o net.o
+-              resource.o secid.o file.o policy_ns.o
++              resource.o secid.o file.o policy_ns.o net.o
  apparmor-$(CONFIG_SECURITY_APPARMOR_HASH) += crypto.o
  
 -clean-files := capability_names.h rlim_names.h
@@ -124,16 +124,16 @@
 --- a/security/apparmor/include/audit.h
 +++ b/security/apparmor/include/audit.h
 @@ -125,6 +125,10 @@ struct apparmor_audit_data {
-                       u32 denied;
-                       kuid_t ouid;
-               } fs;
-+              struct {
-+                      int type, protocol;
-+                      struct sock *sk;
-+              } net;
-       };
- };
- 
+                               u32 denied;
+                               kuid_t ouid;
+                       } fs;
++                      struct {
++                              int type, protocol;
++                              struct sock *sk;
++                      } net;
+               };
+               struct {
+                       const char *name;
 diff --git a/security/apparmor/include/net.h b/security/apparmor/include/net.h
 new file mode 100644
 index 0000000..cb8a121
@@ -193,9 +193,9 @@
  #include "domain.h"
  #include "file.h"
 +#include "net.h"
+ #include "lib.h"
  #include "resource.h"
  
- extern const char *const aa_profile_mode_names[];
 @@ -176,6 +177,7 @@ struct aa_replacedby {
   * @policy: general match rules governing policy
   * @file: The set of rules governing basic file access and domain transitions
@@ -211,7 +211,7 @@
 +      struct aa_net net;
        struct aa_rlimit rlimits;
  
-       unsigned char *hash;
+       struct aa_loaddata *rawdata;
 diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
 index 41b8cb1..d96b5f7 100644
 --- a/security/apparmor/lsm.c
@@ -223,7 +223,7 @@
 +#include "include/net.h"
  #include "include/path.h"
  #include "include/policy.h"
- #include "include/procattr.h"
+ #include "include/policy_ns.h"
 @@ -584,6 +585,104 @@ static int apparmor_task_setrlimit(struct task_struct 
*task,
        return error;
  }
@@ -554,13 +554,13 @@
  {
        if (unpack_nameX(e, AA_U32, name)) {
 @@ -476,6 +489,7 @@ static struct aa_profile *unpack_profile(struct aa_ext *e)
- {
-       struct aa_profile *profile = NULL;
-       const char *name = NULL;
-+      size_t size = 0;
        int i, error = -EPROTO;
        kernel_cap_t tmpcap;
        u32 tmp;
++      size_t size = 0;
+ 
+       *ns_name = NULL;
+ 
 @@ -576,6 +590,38 @@ static struct aa_profile *unpack_profile(struct aa_ext *e)
        if (!unpack_rlimits(e, profile))
                goto fail;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.apparmor/apparmor-fix-quieting-of-audit-messages-for-network-mediation.patch
 
new/patches.apparmor/apparmor-fix-quieting-of-audit-messages-for-network-mediation.patch
--- 
old/patches.apparmor/apparmor-fix-quieting-of-audit-messages-for-network-mediation.patch
    2016-12-02 10:44:55.000000000 +0100
+++ 
new/patches.apparmor/apparmor-fix-quieting-of-audit-messages-for-network-mediation.patch
    2017-03-07 16:07:46.000000000 +0100
@@ -20,20 +20,17 @@
 Signed-off-by: John Johansen <[email protected]>
 Acked-by: Jeff Mahoney <[email protected]>
 ---
- security/apparmor/net.c | 2 +-
+ security/apparmor/net.c |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/security/apparmor/net.c b/security/apparmor/net.c
-index 003dd18..6e6e5c9 100644
 --- a/security/apparmor/net.c
 +++ b/security/apparmor/net.c
-@@ -88,7 +88,7 @@ static int audit_net(struct aa_profile *profile, int op, u16 
family, int type,
+@@ -89,7 +89,7 @@ static int audit_net(struct aa_profile *
        } else {
                u16 quiet_mask = profile->net.quiet[sa.u.net->family];
                u16 kill_mask = 0;
--              u16 denied = (1 << sa.aad->net.type) & ~quiet_mask;
-+              u16 denied = (1 << sa.aad->net.type);
+-              u16 denied = (1 << aad(&sa)->net.type) & ~quiet_mask;
++              u16 denied = (1 << aad(&sa)->net.type);
  
                if (denied & kill_mask)
                        audit_type = AUDIT_APPARMOR_KILL;
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.apparmor/apparmor-temporary-work-around-for-bug-while-unloadi 
new/patches.apparmor/apparmor-temporary-work-around-for-bug-while-unloadi
--- old/patches.apparmor/apparmor-temporary-work-around-for-bug-while-unloadi   
2016-12-02 10:44:55.000000000 +0100
+++ new/patches.apparmor/apparmor-temporary-work-around-for-bug-while-unloadi   
1970-01-01 01:00:00.000000000 +0100
@@ -1,35 +0,0 @@
-From: John Johansen <[email protected]>
-Date: Thu, 1 Oct 2015 11:57:52 -0700
-Subject: [PATCH] apparmor: temporary work around for bug while unloading policy
-Patch-mainline: TBD
-References: boo#941867
-
-Buglink: https://bugzilla.opensuse.org/show_bug.cgi?id=941867
-
-This patch will stop the bug() call from triggering while unloading/
-replacing policy. It does not address the root cause of the issue
-but will only cause some memory leakage of the sub policies that
-should have been freed before the current profile being destroyed.
-
-Signed-off-by: John Johansen <[email protected]>
-Acked-by: Takashi Iwai <[email protected]>
-
----
- security/apparmor/policy.c |    2 --
- 1 file changed, 2 deletions(-)
-
---- a/security/apparmor/policy.c
-+++ b/security/apparmor/policy.c
-@@ -157,12 +157,10 @@ static void policy_destroy(struct aa_pol
-               AA_ERROR("%s: internal error, "
-                        "policy '%s' still contains profiles\n",
-                        __func__, policy->name);
--              BUG();
-       }
-       if (on_list_rcu(&policy->list)) {
-               AA_ERROR("%s: internal error, policy '%s' still on list\n",
-                        __func__, policy->name);
--              BUG();
-       }
- 
-       /* don't free name as its a subset of hname */

++++++ patches.arch.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.arch/powerpc-Blacklist-GCC-5.4-6.1-and-6.2.patch 
new/patches.arch/powerpc-Blacklist-GCC-5.4-6.1-and-6.2.patch
--- old/patches.arch/powerpc-Blacklist-GCC-5.4-6.1-and-6.2.patch        
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.arch/powerpc-Blacklist-GCC-5.4-6.1-and-6.2.patch        
2017-03-15 16:32:32.000000000 +0100
@@ -0,0 +1,64 @@
+From: Cyril Bur <[email protected]>
+To: [email protected]
+Subject: [PATCH v2] powerpc: Blacklist GCC 5.4 6.1 and 6.2
+Date: Mon, 13 Feb 2017 14:35:36 +1100
+Message-Id: <[email protected]>
+
+References: boo#1028895
+Patch-mainline: submitted http://patchwork.ozlabs.org/patch/727105/
+
+A bug in the -02 optimisation of GCC 5.4 6.1 and 6.2 causes
+setup_command_line() to not pass the correct first argument to strcpy
+and therefore not actually copy the command_line.
+
+A workaround patch was proposed: http://patchwork.ozlabs.org/patch/673130/
+some discussion ensued.
+
+A GCC bug was raised: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71709
+The bug has been fixed in 7.0 and backported to GCC 5 and GCC 6.
+
+At the time of writing GCC 5.4 is the most recent and is affected. GCC
+6.3 contains the backported fix, has been tested and appears safe to
+use.
+
+Heavy-lifting-by: Akshay Adiga <[email protected]>
+Signed-off-by: Cyril Bur <[email protected]>
+Acked-by: Michal Suchanek <[email protected]>
+---
+v2: Added check to only blacklist compilers on little-endian
+
+ arch/powerpc/Makefile | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
+index 31286fa7873c..db5d8dabf1ca 100644
+--- a/arch/powerpc/Makefile
++++ b/arch/powerpc/Makefile
+@@ -381,6 +381,7 @@ TOUT       := .tmp_gas_check
+ # - gcc-3.4 and binutils-2.14 are a fatal combination
+ # - Require gcc 4.0 or above on 64-bit
+ # - gcc-4.2.0 has issues compiling modules on 64-bit
++# - gcc-5.4, 6.1, 6.2 don't copy the command_line around correctly
+ checkbin:
+       @if test "$(cc-name)" != "clang" \
+           && test "$(cc-version)" = "0304" ; then \
+@@ -414,6 +415,16 @@ checkbin:
+               echo -n '*** Please use a different binutils version.' ; \
+               false ; \
+       fi
++      @if test "x${CONFIG_CPU_LITTLE_ENDIAN}" = "xy" \
++              && { test "$(cc-version)" = "0504" \
++              || test "$(cc-version)" = "0601" \
++              || test "$(cc-version)" = "0602" ; } ; then \
++              echo -n '*** GCC-5.4 6.1 6.2 have a bad -O2 optimisation ' ; \
++              echo 'which will cause lost command_line options (at least).' ; 
\
++              echo '*** Please use a different GCC version.' ; \
++              false ; \
++      fi
++
+ 
+ 
+ CLEAN_FILES += $(TOUT)
+-- 
+2.11.1
+

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

++++++ patches.fixes.tar.bz2 ++++++
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  
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/btrfs-qgroups-Retry-after-commit-on-getting-EDQUOT.patch  
2017-04-06 00:53:47.000000000 +0200
@@ -0,0 +1,127 @@
+From a950e8b3aebb16d547f1bfcd076eb894f7c1cb05 Mon Sep 17 00:00:00 2001
+From: Goldwyn Rodrigues <[email protected]>
+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 <[email protected]>
+Reviewed-by: Qu Wenruo <[email protected]>
+Signed-off-by: David Sterba <[email protected]>
+---
+ 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/macsec-avoid-heap-overflow-in-skb_to_sgvec.patch 
new/patches.fixes/macsec-avoid-heap-overflow-in-skb_to_sgvec.patch
--- old/patches.fixes/macsec-avoid-heap-overflow-in-skb_to_sgvec.patch  
2017-04-26 11:25:10.000000000 +0200
+++ new/patches.fixes/macsec-avoid-heap-overflow-in-skb_to_sgvec.patch  
1970-01-01 01:00:00.000000000 +0100
@@ -1,78 +0,0 @@
-From: "Jason A. Donenfeld" <[email protected]>
-Date: Fri, 21 Apr 2017 23:14:48 +0200
-Subject: macsec: avoid heap overflow in skb_to_sgvec
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git
-Git-commit: 4d6fa57b4dab0d77f4d8e9d9c73d1e63f6fe8fee
-References: CVE-2017-7477 bsc#1035823
-
-While this may appear as a humdrum one line change, it's actually quite
-important. An sk_buff stores data in three places:
-
-1. A linear chunk of allocated memory in skb->data. This is the easiest
-   one to work with, but it precludes using scatterdata since the memory
-   must be linear.
-2. The array skb_shinfo(skb)->frags, which is of maximum length
-   MAX_SKB_FRAGS. This is nice for scattergather, since these fragments
-   can point to different pages.
-3. skb_shinfo(skb)->frag_list, which is a pointer to another sk_buff,
-   which in turn can have data in either (1) or (2).
-
-The first two are rather easy to deal with, since they're of a fixed
-maximum length, while the third one is not, since there can be
-potentially limitless chains of fragments. Fortunately dealing with
-frag_list is opt-in for drivers, so drivers don't actually have to deal
-with this mess. For whatever reason, macsec decided it wanted pain, and
-so it explicitly specified NETIF_F_FRAGLIST.
-
-Because dealing with (1), (2), and (3) is insane, most users of sk_buff
-doing any sort of crypto or paging operation calls a convenient function
-called skb_to_sgvec (which happens to be recursive if (3) is in use!).
-This takes a sk_buff as input, and writes into its output pointer an
-array of scattergather list items. Sometimes people like to declare a
-fixed size scattergather list on the stack; othertimes people like to
-allocate a fixed size scattergather list on the heap. However, if you're
-doing it in a fixed-size fashion, you really shouldn't be using
-NETIF_F_FRAGLIST too (unless you're also ensuring the sk_buff and its
-frag_list children arent't shared and then you check the number of
-fragments in total required.)
-
-Macsec specifically does this:
-
-        size += sizeof(struct scatterlist) * (MAX_SKB_FRAGS + 1);
-        tmp = kmalloc(size, GFP_ATOMIC);
-        *sg = (struct scatterlist *)(tmp + sg_offset);
-       ...
-        sg_init_table(sg, MAX_SKB_FRAGS + 1);
-        skb_to_sgvec(skb, sg, 0, skb->len);
-
-Specifying MAX_SKB_FRAGS + 1 is the right answer usually, but not if you're
-using NETIF_F_FRAGLIST, in which case the call to skb_to_sgvec will
-overflow the heap, and disaster ensues.
-
-Signed-off-by: Jason A. Donenfeld <[email protected]>
-Cc: [email protected]
-Cc: [email protected]
-Signed-off-by: David S. Miller <[email protected]>
-Acked-by: Michal Kubecek <[email protected]>
-
----
- drivers/net/macsec.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/net/macsec.c b/drivers/net/macsec.c
-index f83cf6696820..8420069594b3 100644
---- a/drivers/net/macsec.c
-+++ b/drivers/net/macsec.c
-@@ -2713,7 +2713,7 @@ static netdev_tx_t macsec_start_xmit(struct sk_buff *skb,
- }
- 
- #define MACSEC_FEATURES \
--      (NETIF_F_SG | NETIF_F_HIGHDMA | NETIF_F_FRAGLIST)
-+      (NETIF_F_SG | NETIF_F_HIGHDMA)
- static struct lock_class_key macsec_netdev_addr_lock_key;
- 
- static int macsec_dev_init(struct net_device *dev)
--- 
-2.12.2
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/net-packet-fix-overflow-in-check-for-tp_frame_nr.patch 
new/patches.fixes/net-packet-fix-overflow-in-check-for-tp_frame_nr.patch
--- old/patches.fixes/net-packet-fix-overflow-in-check-for-tp_frame_nr.patch    
2017-04-26 11:25:10.000000000 +0200
+++ new/patches.fixes/net-packet-fix-overflow-in-check-for-tp_frame_nr.patch    
1970-01-01 01:00:00.000000000 +0100
@@ -1,41 +0,0 @@
-From: Andrey Konovalov <[email protected]>
-Date: Wed, 29 Mar 2017 16:11:21 +0200
-Subject: net/packet: fix overflow in check for tp_frame_nr
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git
-Git-commit: 8f8d28e4d6d815a391285e121c3a53a0b6cb9e7b
-References: CVE-2017-7308 bsc#1031579
-
-When calculating rb->frames_per_block * req->tp_block_nr the result
-can overflow.
-
-Add a check that tp_block_size * tp_block_nr <= UINT_MAX.
-
-Since frames_per_block <= tp_block_size, the expression would
-never overflow.
-
-Signed-off-by: Andrey Konovalov <[email protected]>
-Acked-by: Eric Dumazet <[email protected]>
-Signed-off-by: David S. Miller <[email protected]>
-Acked-by: Michal Kubecek <[email protected]>
-
----
- net/packet/af_packet.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
-index 5c919933a39b..624d188bf705 100644
---- a/net/packet/af_packet.c
-+++ b/net/packet/af_packet.c
-@@ -4189,6 +4189,8 @@ static int packet_set_ring(struct sock *sk, union 
tpacket_req_u *req_u,
-               rb->frames_per_block = req->tp_block_size / req->tp_frame_size;
-               if (unlikely(rb->frames_per_block == 0))
-                       goto out;
-+              if (unlikely(req->tp_block_size > UINT_MAX / req->tp_block_nr))
-+                      goto out;
-               if (unlikely((rb->frames_per_block * req->tp_block_nr) !=
-                                       req->tp_frame_nr))
-                       goto out;
--- 
-2.12.2
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/net-packet-fix-overflow-in-check-for-tp_reserve.patch 
new/patches.fixes/net-packet-fix-overflow-in-check-for-tp_reserve.patch
--- old/patches.fixes/net-packet-fix-overflow-in-check-for-tp_reserve.patch     
2017-04-26 11:25:10.000000000 +0200
+++ new/patches.fixes/net-packet-fix-overflow-in-check-for-tp_reserve.patch     
1970-01-01 01:00:00.000000000 +0100
@@ -1,37 +0,0 @@
-From: Andrey Konovalov <[email protected]>
-Date: Wed, 29 Mar 2017 16:11:22 +0200
-Subject: net/packet: fix overflow in check for tp_reserve
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git
-Git-commit: bcc5364bdcfe131e6379363f089e7b4108d35b70
-References: CVE-2017-7308 bsc#1031579
-
-When calculating po->tp_hdrlen + po->tp_reserve the result can overflow.
-
-Fix by checking that tp_reserve <= INT_MAX on assign.
-
-Signed-off-by: Andrey Konovalov <[email protected]>
-Acked-by: Eric Dumazet <[email protected]>
-Signed-off-by: David S. Miller <[email protected]>
-Acked-by: Michal Kubecek <[email protected]>
-
----
- net/packet/af_packet.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
-index 624d188bf705..0f074c96f43f 100644
---- a/net/packet/af_packet.c
-+++ b/net/packet/af_packet.c
-@@ -3644,6 +3644,8 @@ packet_setsockopt(struct socket *sock, int level, int 
optname, char __user *optv
-                       return -EBUSY;
-               if (copy_from_user(&val, optval, sizeof(val)))
-                       return -EFAULT;
-+              if (val > INT_MAX)
-+                      return -EINVAL;
-               po->tp_reserve = val;
-               return 0;
-       }
--- 
-2.12.2
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/openvswitch-Set-internal-device-max-mtu-to-ETH_MAX_M.patch 
new/patches.fixes/openvswitch-Set-internal-device-max-mtu-to-ETH_MAX_M.patch
--- 
old/patches.fixes/openvswitch-Set-internal-device-max-mtu-to-ETH_MAX_M.patch    
    2017-04-26 11:25:10.000000000 +0200
+++ 
new/patches.fixes/openvswitch-Set-internal-device-max-mtu-to-ETH_MAX_M.patch    
    1970-01-01 01:00:00.000000000 +0100
@@ -1,41 +0,0 @@
-From: Jarno Rajahalme <[email protected]>
-Date: Tue, 14 Feb 2017 21:16:28 -0800
-Subject: openvswitch: Set internal device max mtu to ETH_MAX_MTU.
-Patch-mainline: v4.11-rc1
-Git-commit: 425df17ce3a26d98f76e2b6b0af2acf4aeb0b026
-References: bsc#1027798
-
-Commit 91572088e3fd ("net: use core MTU range checking in core net
-infra") changed the openvswitch internal device to use the core net
-infra for controlling the MTU range, but failed to actually set the
-max_mtu as described in the commit message, which now defaults to
-ETH_DATA_LEN.
-
-This patch fixes this by setting max_mtu to ETH_MAX_MTU after
-ether_setup() call.
-
-Fixes: 91572088e3fd ("net: use core MTU range checking in core net infra")
-Signed-off-by: Jarno Rajahalme <[email protected]>
-Signed-off-by: David S. Miller <[email protected]>
-Acked-by: Michal Kubecek <[email protected]>
-
----
- net/openvswitch/vport-internal_dev.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/net/openvswitch/vport-internal_dev.c 
b/net/openvswitch/vport-internal_dev.c
-index d5d6caecd072..695acd2f664c 100644
---- a/net/openvswitch/vport-internal_dev.c
-+++ b/net/openvswitch/vport-internal_dev.c
-@@ -151,6 +151,8 @@ static void do_setup(struct net_device *netdev)
- {
-       ether_setup(netdev);
- 
-+      netdev->max_mtu = ETH_MAX_MTU;
-+
-       netdev->netdev_ops = &internal_dev_netdev_ops;
- 
-       netdev->priv_flags &= ~IFF_TX_SKB_SHARING;
--- 
-2.12.0
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.fixes/ping-implement-proper-locking.patch 
new/patches.fixes/ping-implement-proper-locking.patch
--- old/patches.fixes/ping-implement-proper-locking.patch       2017-04-26 
11:25:10.000000000 +0200
+++ new/patches.fixes/ping-implement-proper-locking.patch       1970-01-01 
01:00:00.000000000 +0100
@@ -1,58 +0,0 @@
-From: Eric Dumazet <[email protected]>
-Date: Fri, 24 Mar 2017 19:36:13 -0700
-Subject: ping: implement proper locking
-Patch-mainline: Queued in subsystem maintainer repository
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git
-Git-commit: 43a6684519ab0a6c52024b5e25322476cabad893
-References: bsc#1031003
-
-We got a report of yet another bug in ping
-
-http://www.openwall.com/lists/oss-security/2017/03/24/6
-
-->disconnect() is not called with socket lock held.
-
-Fix this by acquiring ping rwlock earlier.
-
-Thanks to Daniel, Alexander and Andrey for letting us know this problem.
-
-Fixes: c319b4d76b9e ("net: ipv4: add IPPROTO_ICMP socket kind")
-Signed-off-by: Eric Dumazet <[email protected]>
-Reported-by: Daniel Jiang <[email protected]>
-Reported-by: Solar Designer <[email protected]>
-Reported-by: Andrey Konovalov <[email protected]>
-Signed-off-by: David S. Miller <[email protected]>
-Acked-by: Michal Kubecek <[email protected]>
-
----
- net/ipv4/ping.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/net/ipv4/ping.c b/net/ipv4/ping.c
-index 68d77b1f1495..51e2f3c5e954 100644
---- a/net/ipv4/ping.c
-+++ b/net/ipv4/ping.c
-@@ -156,17 +156,18 @@ int ping_hash(struct sock *sk)
- void ping_unhash(struct sock *sk)
- {
-       struct inet_sock *isk = inet_sk(sk);
-+
-       pr_debug("ping_unhash(isk=%p,isk->num=%u)\n", isk, isk->inet_num);
-+      write_lock_bh(&ping_table.lock);
-       if (sk_hashed(sk)) {
--              write_lock_bh(&ping_table.lock);
-               hlist_nulls_del(&sk->sk_nulls_node);
-               sk_nulls_node_init(&sk->sk_nulls_node);
-               sock_put(sk);
-               isk->inet_num = 0;
-               isk->inet_sport = 0;
-               sock_prot_inuse_add(sock_net(sk), sk->sk_prot, -1);
--              write_unlock_bh(&ping_table.lock);
-       }
-+      write_unlock_bh(&ping_table.lock);
- }
- EXPORT_SYMBOL_GPL(ping_unhash);
- 
--- 
-2.12.2
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.fixes/scsi-ibmvscsi-module_alias.patch 
new/patches.fixes/scsi-ibmvscsi-module_alias.patch
--- old/patches.fixes/scsi-ibmvscsi-module_alias.patch  2017-04-26 
11:25:10.000000000 +0200
+++ new/patches.fixes/scsi-ibmvscsi-module_alias.patch  2017-04-06 
00:53:47.000000000 +0200
@@ -1,7 +1,7 @@
 Subject: map scsi proc_name to module name
 From: [email protected]
 References: 459933 - LTC50724
-Patch-mainline: not yet
+Patch-mainline: not yet, old patch (olaf?)
 
 ---
  drivers/scsi/ibmvscsi/ibmvscsi.c |    7 +++++--
@@ -26,8 +26,8 @@
 -      .proc_name = "ibmvscsi",
 +      .proc_name = IBMVSCSI_PROC_NAME,
        .queuecommand = ibmvscsi_queuecommand,
+       .eh_timed_out = srp_timed_out,
        .eh_abort_handler = ibmvscsi_eh_abort_handler,
-       .eh_device_reset_handler = ibmvscsi_eh_device_reset_handler,
 @@ -2069,7 +2072,7 @@ static struct vio_driver ibmvscsi_driver
        .probe = ibmvscsi_probe,
        .remove = ibmvscsi_remove,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/tcp-fix-SCM_TIMESTAMPING_OPT_STATS-for-normal-skbs.patch 
new/patches.fixes/tcp-fix-SCM_TIMESTAMPING_OPT_STATS-for-normal-skbs.patch
--- old/patches.fixes/tcp-fix-SCM_TIMESTAMPING_OPT_STATS-for-normal-skbs.patch  
2017-04-26 11:25:10.000000000 +0200
+++ new/patches.fixes/tcp-fix-SCM_TIMESTAMPING_OPT_STATS-for-normal-skbs.patch  
1970-01-01 01:00:00.000000000 +0100
@@ -1,99 +0,0 @@
-From: Soheil Hassas Yeganeh <[email protected]>
-Date: Sat, 18 Mar 2017 17:02:59 -0400
-Subject: tcp: fix SCM_TIMESTAMPING_OPT_STATS for normal skbs
-Patch-mainline: v4.11-rc4
-Git-commit: 8605330aac5a5785630aec8f64378a54891937cc
-References: CVE-2017-7277 bsc#1031265
-
-__sock_recv_timestamp can be called for both normal skbs (for
-receive timestamps) and for skbs on the error queue (for transmit
-timestamps).
-
-Commit 1c885808e456
-(tcp: SOF_TIMESTAMPING_OPT_STATS option for SO_TIMESTAMPING)
-assumes any skb passed to __sock_recv_timestamp are from
-the error queue, containing OPT_STATS in the content of the skb.
-This results in accessing invalid memory or generating junk
-data.
-
-To fix this, set skb->pkt_type to PACKET_OUTGOING for packets
-on the error queue. This is safe because on the receive path
-on local sockets skb->pkt_type is never set to PACKET_OUTGOING.
-With that, copy OPT_STATS from a packet, only if its pkt_type
-is PACKET_OUTGOING.
-
-Fixes: 1c885808e456 ("tcp: SOF_TIMESTAMPING_OPT_STATS option for 
SO_TIMESTAMPING")
-Reported-by: JongHwan Kim <[email protected]>
-Signed-off-by: Soheil Hassas Yeganeh <[email protected]>
-Signed-off-by: Eric Dumazet <[email protected]>
-Signed-off-by: Willem de Bruijn <[email protected]>
-Signed-off-by: David S. Miller <[email protected]>
-Acked-by: Michal Kubecek <[email protected]>
-
----
- net/core/skbuff.c | 10 ++++++++++
- net/socket.c      | 13 ++++++++++++-
- 2 files changed, 22 insertions(+), 1 deletion(-)
-
-diff --git a/net/core/skbuff.c b/net/core/skbuff.c
-index aa3a13378c90..f21a29efdfc9 100644
---- a/net/core/skbuff.c
-+++ b/net/core/skbuff.c
-@@ -3690,6 +3690,15 @@ static void sock_rmem_free(struct sk_buff *skb)
-       atomic_sub(skb->truesize, &sk->sk_rmem_alloc);
- }
- 
-+static void skb_set_err_queue(struct sk_buff *skb)
-+{
-+      /* pkt_type of skbs received on local sockets is never PACKET_OUTGOING.
-+       * So, it is safe to (mis)use it to mark skbs on the error queue.
-+       */
-+      skb->pkt_type = PACKET_OUTGOING;
-+      BUILD_BUG_ON(PACKET_OUTGOING == 0);
-+}
-+
- /*
-  * Note: We dont mem charge error packets (no sk_forward_alloc changes)
-  */
-@@ -3703,6 +3712,7 @@ int sock_queue_err_skb(struct sock *sk, struct sk_buff 
*skb)
-       skb->sk = sk;
-       skb->destructor = sock_rmem_free;
-       atomic_add(skb->truesize, &sk->sk_rmem_alloc);
-+      skb_set_err_queue(skb);
- 
-       /* before exiting rcu section, make sure dst is refcounted */
-       skb_dst_force(skb);
-diff --git a/net/socket.c b/net/socket.c
-index 02bd9249e295..bfdb35898e4c 100644
---- a/net/socket.c
-+++ b/net/socket.c
-@@ -654,6 +654,16 @@ int kernel_sendmsg(struct socket *sock, struct msghdr 
*msg,
- }
- EXPORT_SYMBOL(kernel_sendmsg);
- 
-+static bool skb_is_err_queue(const struct sk_buff *skb)
-+{
-+      /* pkt_type of skbs enqueued on the error queue are set to
-+       * PACKET_OUTGOING in skb_set_err_queue(). This is only safe to do
-+       * in recvmsg, since skbs received on a local socket will never
-+       * have a pkt_type of PACKET_OUTGOING.
-+       */
-+      return skb->pkt_type == PACKET_OUTGOING;
-+}
-+
- /*
-  * called from sock_recv_timestamp() if sock_flag(sk, SOCK_RCVTSTAMP)
-  */
-@@ -697,7 +707,8 @@ void __sock_recv_timestamp(struct msghdr *msg, struct sock 
*sk,
-               put_cmsg(msg, SOL_SOCKET,
-                        SCM_TIMESTAMPING, sizeof(tss), &tss);
- 
--              if (skb->len && (sk->sk_tsflags & SOF_TIMESTAMPING_OPT_STATS))
-+              if (skb_is_err_queue(skb) && skb->len &&
-+                  (sk->sk_tsflags & SOF_TIMESTAMPING_OPT_STATS))
-                       put_cmsg(msg, SOL_SOCKET, SCM_TIMESTAMPING_OPT_STATS,
-                                skb->len, skb->data);
-       }
--- 
-2.12.2
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/tcp-mark-skbs-with-SCM_TIMESTAMPING_OPT_STATS.patch 
new/patches.fixes/tcp-mark-skbs-with-SCM_TIMESTAMPING_OPT_STATS.patch
--- old/patches.fixes/tcp-mark-skbs-with-SCM_TIMESTAMPING_OPT_STATS.patch       
2017-04-26 11:25:10.000000000 +0200
+++ new/patches.fixes/tcp-mark-skbs-with-SCM_TIMESTAMPING_OPT_STATS.patch       
1970-01-01 01:00:00.000000000 +0100
@@ -1,125 +0,0 @@
-From: Soheil Hassas Yeganeh <[email protected]>
-Date: Sat, 18 Mar 2017 17:03:00 -0400
-Subject: tcp: mark skbs with SCM_TIMESTAMPING_OPT_STATS
-Patch-mainline: v4.11-rc4
-Git-commit: 4ef1b2869447411ad3ef91ad7d4891a83c1a509a
-References: CVE-2017-7277 bsc#1031265
-
-SOF_TIMESTAMPING_OPT_STATS can be enabled and disabled
-while packets are collected on the error queue.
-So, checking SOF_TIMESTAMPING_OPT_STATS in sk->sk_tsflags
-is not enough to safely assume that the skb contains
-OPT_STATS data.
-
-Add a bit in sock_exterr_skb to indicate whether the
-skb contains opt_stats data.
-
-Fixes: 1c885808e456 ("tcp: SOF_TIMESTAMPING_OPT_STATS option for 
SO_TIMESTAMPING")
-Reported-by: JongHwan Kim <[email protected]>
-Signed-off-by: Soheil Hassas Yeganeh <[email protected]>
-Signed-off-by: Eric Dumazet <[email protected]>
-Signed-off-by: Willem de Bruijn <[email protected]>
-Signed-off-by: David S. Miller <[email protected]>
-Acked-by: Michal Kubecek <[email protected]>
-
----
- include/linux/errqueue.h |  2 ++
- net/core/skbuff.c        | 17 +++++++++++------
- net/socket.c             |  2 +-
- 3 files changed, 14 insertions(+), 7 deletions(-)
-
-diff --git a/include/linux/errqueue.h b/include/linux/errqueue.h
-index 9ca23fcfb5d7..6fdfc884fdeb 100644
---- a/include/linux/errqueue.h
-+++ b/include/linux/errqueue.h
-@@ -20,6 +20,8 @@ struct sock_exterr_skb {
-       struct sock_extended_err        ee;
-       u16                             addr_offset;
-       __be16                          port;
-+      u8                              opt_stats:1,
-+                                      unused:7;
- };
- 
- #endif
-diff --git a/net/core/skbuff.c b/net/core/skbuff.c
-index f21a29efdfc9..941b8c76739d 100644
---- a/net/core/skbuff.c
-+++ b/net/core/skbuff.c
-@@ -3789,16 +3789,20 @@ EXPORT_SYMBOL(skb_clone_sk);
- 
- static void __skb_complete_tx_timestamp(struct sk_buff *skb,
-                                       struct sock *sk,
--                                      int tstype)
-+                                      int tstype,
-+                                      bool opt_stats)
- {
-       struct sock_exterr_skb *serr;
-       int err;
- 
-+      BUILD_BUG_ON(sizeof(struct sock_exterr_skb) > sizeof(skb->cb));
-+
-       serr = SKB_EXT_ERR(skb);
-       memset(serr, 0, sizeof(*serr));
-       serr->ee.ee_errno = ENOMSG;
-       serr->ee.ee_origin = SO_EE_ORIGIN_TIMESTAMPING;
-       serr->ee.ee_info = tstype;
-+      serr->opt_stats = opt_stats;
-       if (sk->sk_tsflags & SOF_TIMESTAMPING_OPT_ID) {
-               serr->ee.ee_data = skb_shinfo(skb)->tskey;
-               if (sk->sk_protocol == IPPROTO_TCP &&
-@@ -3839,7 +3843,7 @@ void skb_complete_tx_timestamp(struct sk_buff *skb,
-        */
-       if (likely(atomic_inc_not_zero(&sk->sk_refcnt))) {
-               *skb_hwtstamps(skb) = *hwtstamps;
--              __skb_complete_tx_timestamp(skb, sk, SCM_TSTAMP_SND);
-+              __skb_complete_tx_timestamp(skb, sk, SCM_TSTAMP_SND, false);
-               sock_put(sk);
-       }
- }
-@@ -3850,7 +3854,7 @@ void __skb_tstamp_tx(struct sk_buff *orig_skb,
-                    struct sock *sk, int tstype)
- {
-       struct sk_buff *skb;
--      bool tsonly;
-+      bool tsonly, opt_stats = false;
- 
-       if (!sk)
-               return;
-@@ -3863,9 +3867,10 @@ void __skb_tstamp_tx(struct sk_buff *orig_skb,
- #ifdef CONFIG_INET
-               if ((sk->sk_tsflags & SOF_TIMESTAMPING_OPT_STATS) &&
-                   sk->sk_protocol == IPPROTO_TCP &&
--                  sk->sk_type == SOCK_STREAM)
-+                  sk->sk_type == SOCK_STREAM) {
-                       skb = tcp_get_timestamping_opt_stats(sk);
--              else
-+                      opt_stats = true;
-+              } else
- #endif
-                       skb = alloc_skb(0, GFP_ATOMIC);
-       } else {
-@@ -3884,7 +3889,7 @@ void __skb_tstamp_tx(struct sk_buff *orig_skb,
-       else
-               skb->tstamp = ktime_get_real();
- 
--      __skb_complete_tx_timestamp(skb, sk, tstype);
-+      __skb_complete_tx_timestamp(skb, sk, tstype, opt_stats);
- }
- EXPORT_SYMBOL_GPL(__skb_tstamp_tx);
- 
-diff --git a/net/socket.c b/net/socket.c
-index bfdb35898e4c..6361d3161120 100644
---- a/net/socket.c
-+++ b/net/socket.c
-@@ -708,7 +708,7 @@ void __sock_recv_timestamp(struct msghdr *msg, struct sock 
*sk,
-                        SCM_TIMESTAMPING, sizeof(tss), &tss);
- 
-               if (skb_is_err_queue(skb) && skb->len &&
--                  (sk->sk_tsflags & SOF_TIMESTAMPING_OPT_STATS))
-+                  SKB_EXT_ERR(skb)->opt_stats)
-                       put_cmsg(msg, SOL_SOCKET, SCM_TIMESTAMPING_OPT_STATS,
-                                skb->len, skb->data);
-       }
--- 
-2.12.2
-

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

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

++++++ series.conf ++++++
--- /var/tmp/diff_new_pack.za4Adm/_old  2017-05-16 14:31:11.984772064 +0200
+++ /var/tmp/diff_new_pack.za4Adm/_new  2017-05-16 14:31:11.984772064 +0200
@@ -27,19 +27,6 @@
        # DO NOT MODIFY THEM!
        # Send separate patches upstream if you find a problem...
        ########################################################
-       patches.kernel.org/patch-4.10.1
-       patches.kernel.org/patch-4.10.1-2
-       patches.kernel.org/patch-4.10.2-3
-       patches.kernel.org/patch-4.10.3-4
-       patches.kernel.org/patch-4.10.4-5
-       patches.kernel.org/patch-4.10.5-6
-       patches.kernel.org/patch-4.10.6-7
-       patches.kernel.org/patch-4.10.7-8
-       patches.kernel.org/patch-4.10.8-9
-       patches.kernel.org/patch-4.10.9-10
-       patches.kernel.org/patch-4.10.10-11
-       patches.kernel.org/patch-4.10.11-12
-       patches.kernel.org/patch-4.10.12-13
 
        ########################################################
        # Build fixes that apply to the vanilla kernel too.
@@ -47,6 +34,8 @@
        # and patched flavors.
        ########################################################
 
+       patches.arch/powerpc-Blacklist-GCC-5.4-6.1-and-6.2.patch
+
        ########################################################
        # kABI consistency patches
        ########################################################
@@ -221,13 +210,6 @@
        ########################################################
        # Networking, IPv6
        ########################################################
-       patches.fixes/openvswitch-Set-internal-device-max-mtu-to-ETH_MAX_M.patch
-       patches.fixes/ping-implement-proper-locking.patch
-       patches.fixes/net-packet-fix-overflow-in-check-for-tp_frame_nr.patch
-       patches.fixes/net-packet-fix-overflow-in-check-for-tp_reserve.patch
-       patches.fixes/tcp-fix-SCM_TIMESTAMPING_OPT_STATS-for-normal-skbs.patch
-       patches.fixes/tcp-mark-skbs-with-SCM_TIMESTAMPING_OPT_STATS.patch
-       patches.fixes/macsec-avoid-heap-overflow-in-skb_to_sgvec.patch
 
        ########################################################
        # Netfilter
@@ -261,6 +243,8 @@
        # btrfs
        ########################################################
 
+       patches.fixes/btrfs-qgroups-Retry-after-commit-on-getting-EDQUOT.patch
+
        # SUSE-specific
        patches.suse/btrfs-provide-super_operations-get_inode_dev
        
patches.suse/btrfs-fs-super.c-add-new-super-block-devices-super_block_d.patch
@@ -325,18 +309,17 @@
        # Remaining SCSI patches (garloff)
        patches.fixes/scsi-scan-blist-update
 
+
        # bnc#362850
        patches.fixes/sd_liberal_28_sense_invalid.diff
 
        patches.fixes/scsi-ibmvscsi-module_alias.patch
 
-
        ########################################################
        # DRM/Video
        ########################################################
        patches.fixes/drm-i915-Fix-S4-resume-breakage
 
-
        ########################################################
        # video4linux
        ########################################################
@@ -375,12 +358,44 @@
        ########################################################
        # 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
@@ -433,9 +448,9 @@
        ##########################################################
        # AppArmor
        ##########################################################
-       patches.apparmor/apparmor-temporary-work-around-for-bug-while-unloadi
 
        patches.apparmor/apparmor-basic-networking-rules.patch
+       patches.apparmor/apparmor-basic-networking-rules-4.11-rc1.patch
        
patches.apparmor/apparmor-fix-quieting-of-audit-messages-for-network-mediation.patch
 
        ########################################################
@@ -450,7 +465,9 @@
        # Other patches for debugging
        ########################################################
        patches.suse/crasher.patch
-       patches.suse/DWARF-EH-frame-based-stack-unwinding.patch
+       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
 

++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.za4Adm/_old  2017-05-16 14:31:12.036764760 +0200
+++ /var/tmp/diff_new_pack.za4Adm/_new  2017-05-16 14:31:12.040764197 +0200
@@ -1,3 +1,3 @@
-2017-04-27 14:23:31 +0200
-GIT Revision: e5d11ce1f407819f53d0cfc6fcda4a98700c1f9c
+2017-05-02 07:35:51 +0200
+GIT Revision: 1b516a551287446ce1222d51c63d4f9be6e5c95f
 GIT Branch: stable

++++++ supported.conf ++++++
++++ 711 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/kernel-source/supported.conf
++++ and /work/SRC/openSUSE:Factory/.kernel-source.new/supported.conf


Reply via email to