Hello community,

here is the log from the commit of package kernel-source for openSUSE:Factory 
checked in at 2016-06-12 18:50:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kernel-source (Old)
 and      /work/SRC/openSUSE:Factory/.kernel-source.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kernel-source"

Changes:
--------
--- /work/SRC/openSUSE:Factory/kernel-source/kernel-debug.changes       
2016-06-07 23:44:29.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-debug.changes  
2016-06-12 18:50:28.000000000 +0200
@@ -1,0 +2,68 @@
+Wed Jun  8 17:35:15 CEST 2016 - je...@suse.com
+
+- ecryptfs: don't allow mmap when the lower file system doesn't
+  allow it (bsc#983143 CVE-2016-1583).
+- commit 8777776
+
+-------------------------------------------------------------------
+Wed Jun  8 15:26:41 CEST 2016 - ag...@suse.de
+
+- arm64: mm: always take dirty state from new pte in
+  ptep_set_access_flags (bsc#983458).
+- Update config files.
+- commit d662464
+
+-------------------------------------------------------------------
+Wed Jun  8 06:50:20 CEST 2016 - jsl...@suse.cz
+
+- Linux 4.6.2.
+- commit b664f9a
+
+-------------------------------------------------------------------
+Mon Jun  6 21:08:16 CEST 2016 - oher...@suse.de
+
+- x86/pat: Document the PAT initialization sequence (bnc#982991,
+  bnc#974257, bnc#982991).
+- x86/xen, pat: Remove PAT table init code from Xen (bnc#982991,
+  bnc#974257, bnc#982991).
+- x86/mtrr: Fix PAT init handling when MTRR is disabled
+  (bnc#982991, bnc#974257, bnc#982991).
+- x86/mtrr: Fix Xorg crashes in Qemu sessions (bnc#982991,
+  bnc#974257, bnc#982991).
+- x86/mm/pat: Replace cpu_has_pat with boot_cpu_has() (bnc#982991,
+  bnc#974257, bnc#982991).
+- x86/mm/pat: Add pat_disable() interface (bnc#982991, bnc#974257,
+  bnc#982991).
+- x86/mm/pat: Add support of non-default PAT MSR setting
+  (bnc#982991, bnc#974257, bnc#982991).
+- commit 3988263
+
+-------------------------------------------------------------------
+Mon Jun  6 20:58:54 CEST 2016 - oher...@suse.de
+
+- Delete patches.suse/xen-pv-devmem_is_allowed.patch (bnc#982991)
+- commit 23cb422
+
+-------------------------------------------------------------------
+Sat Jun  4 09:38:15 CEST 2016 - jsl...@suse.cz
+
+- Refresh
+  
patches.drivers/0001-Subject-PATCH-USB-xhci-Add-broken-streams-quirk-for-.patch.
+  Upstream status.
+- commit 2720edf
+
+-------------------------------------------------------------------
+Sat Jun  4 08:43:45 CEST 2016 - ti...@suse.de
+
+- rtlwifi: Fix scheduling while atomic error from commit
+  49f86ec21c01 (boo#983036).
+- commit 5a9c4b2
+
+-------------------------------------------------------------------
+Thu Jun  2 12:54:08 CEST 2016 - oneu...@suse.com
+
+- USB: xhci: Add broken streams quirk for Frescologic device id
+  1009  (bnc#982729).
+- commit 4a04f23
+
+-------------------------------------------------------------------
@@ -14,0 +83,34 @@
+
+-------------------------------------------------------------------
+Wed Jun  1 17:40:50 CEST 2016 - mbrug...@suse.com
+
+- arm64: Update config files.
+  Build MDIO_XGENE as module
+- commit 56eece9
+
+-------------------------------------------------------------------
+Wed Jun  1 17:39:36 CEST 2016 - mbrug...@suse.com
+
+- Revert "Set CONFIG_NET_XGENE=y as a workaround for (bsc#973756)"
+  This reverts commit b829bc700eb18f7cd1ef48d42964555e9e9f2357.
+- commit 807fbbd
+
+-------------------------------------------------------------------
+Wed Jun  1 12:33:40 CEST 2016 - mbrug...@suse.com
+
+- [v1,6/6] drivers: net: xgene: Fix module load/unload crash
+  (bsc#981652 bsc#979043).
+- Update config files.
+- [v1,3/6] drivers: net: phy: Add MDIO driver (bsc#981652
+  bsc#979043).
+- [v1, 2/6] drivers: net: xgene: Backward compatibility with
+  older firmware (bsc#981652 bsc#979043).
+- [v1,1/6] drivers: net: xgene: MAC and PHY configuration changes
+  (bsc#981652 bsc#979043).
+- commit 371cb9b
+
+-------------------------------------------------------------------
+Thu May 26 11:20:17 CEST 2016 - mma...@suse.cz
+
+- rpm/kernel-binary.spec.in: Obsolete SLE12-SP1 compat-wireless-kmp 
(bsc#975894)
+- commit 127728b
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-vanilla.changes: same change

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

Other differences:
------------------
++++++ kernel-debug.spec ++++++
--- /var/tmp/diff_new_pack.tgoOaE/_old  2016-06-12 18:50:33.000000000 +0200
+++ /var/tmp/diff_new_pack.tgoOaE/_new  2016-06-12 18:50:33.000000000 +0200
@@ -20,7 +20,7 @@
 # needssslcertforbuild
 
 %define srcversion 4.6
-%define patchversion 4.6.1
+%define patchversion 4.6.2
 %define variant %{nil}
 %define vanilla_only 0
 
@@ -61,9 +61,9 @@
 Summary:        A Debug Version of the Kernel
 License:        GPL-2.0
 Group:          System/Kernel
-Version:        4.6.1
+Version:        4.6.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g9cdcddd
+Release:        <RELEASE>.g2a68ef0
 %else
 Release:        0
 %endif
@@ -359,6 +359,7 @@
 %obsolete_kmp  rts_pstor 1.11
 # sle12-sp1 / Leap 42.1
 %obsolete_kmp  xen 4.6.1
+%obsolete_kmp  compat-wireless 4.4
 
 # Provide the exported symbols as "ksym(symbol) = hash"
 %define _use_internal_dependency_generator 0

kernel-default.spec: same change
++++++ kernel-docs.spec ++++++
--- /var/tmp/diff_new_pack.tgoOaE/_old  2016-06-12 18:50:33.000000000 +0200
+++ /var/tmp/diff_new_pack.tgoOaE/_new  2016-06-12 18:50:33.000000000 +0200
@@ -16,7 +16,7 @@
 #
 
 
-%define patchversion 4.6.1
+%define patchversion 4.6.2
 %define variant %{nil}
 
 %include %_sourcedir/kernel-spec-macros
@@ -27,9 +27,9 @@
 Summary:        Kernel Documentation (man pages)
 License:        GPL-2.0
 Group:          Documentation/Man
-Version:        4.6.1
+Version:        4.6.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g9cdcddd
+Release:        <RELEASE>.g2a68ef0
 %else
 Release:        0
 %endif

++++++ kernel-lpae.spec ++++++
--- /var/tmp/diff_new_pack.tgoOaE/_old  2016-06-12 18:50:33.000000000 +0200
+++ /var/tmp/diff_new_pack.tgoOaE/_new  2016-06-12 18:50:33.000000000 +0200
@@ -20,7 +20,7 @@
 # needssslcertforbuild
 
 %define srcversion 4.6
-%define patchversion 4.6.1
+%define patchversion 4.6.2
 %define variant %{nil}
 %define vanilla_only 0
 
@@ -61,9 +61,9 @@
 Summary:        Kernel for LPAE enabled systems
 License:        GPL-2.0
 Group:          System/Kernel
-Version:        4.6.1
+Version:        4.6.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g9cdcddd
+Release:        <RELEASE>.g2a68ef0
 %else
 Release:        0
 %endif
@@ -353,6 +353,7 @@
 %obsolete_kmp  rts_pstor 1.11
 # sle12-sp1 / Leap 42.1
 %obsolete_kmp  xen 4.6.1
+%obsolete_kmp  compat-wireless 4.4
 
 # Provide the exported symbols as "ksym(symbol) = hash"
 %define _use_internal_dependency_generator 0

++++++ kernel-obs-build.spec ++++++
--- /var/tmp/diff_new_pack.tgoOaE/_old  2016-06-12 18:50:33.000000000 +0200
+++ /var/tmp/diff_new_pack.tgoOaE/_new  2016-06-12 18:50:33.000000000 +0200
@@ -19,7 +19,7 @@
 
 #!BuildIgnore: post-build-checks
 
-%define patchversion 4.6.1
+%define patchversion 4.6.2
 %define variant %{nil}
 
 %include %_sourcedir/kernel-spec-macros
@@ -51,9 +51,9 @@
 Summary:        package kernel and initrd for OBS VM builds
 License:        GPL-2.0
 Group:          SLES
-Version:        4.6.1
+Version:        4.6.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g9cdcddd
+Release:        <RELEASE>.g2a68ef0
 %else
 Release:        0
 %endif

++++++ kernel-obs-qa.spec ++++++
--- /var/tmp/diff_new_pack.tgoOaE/_old  2016-06-12 18:50:33.000000000 +0200
+++ /var/tmp/diff_new_pack.tgoOaE/_new  2016-06-12 18:50:33.000000000 +0200
@@ -17,7 +17,7 @@
 # needsrootforbuild
 
 
-%define patchversion 4.6.1
+%define patchversion 4.6.2
 %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.6.1
+Version:        4.6.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g9cdcddd
+Release:        <RELEASE>.g2a68ef0
 %else
 Release:        0
 %endif

++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.tgoOaE/_old  2016-06-12 18:50:33.000000000 +0200
+++ /var/tmp/diff_new_pack.tgoOaE/_new  2016-06-12 18:50:33.000000000 +0200
@@ -20,7 +20,7 @@
 # needssslcertforbuild
 
 %define srcversion 4.6
-%define patchversion 4.6.1
+%define patchversion 4.6.2
 %define variant %{nil}
 %define vanilla_only 0
 
@@ -61,9 +61,9 @@
 Summary:        Kernel with PAE Support
 License:        GPL-2.0
 Group:          System/Kernel
-Version:        4.6.1
+Version:        4.6.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g9cdcddd
+Release:        <RELEASE>.g2a68ef0
 %else
 Release:        0
 %endif
@@ -373,6 +373,7 @@
 %obsolete_kmp  rts_pstor 1.11
 # sle12-sp1 / Leap 42.1
 %obsolete_kmp  xen 4.6.1
+%obsolete_kmp  compat-wireless 4.4
 
 # Provide the exported symbols as "ksym(symbol) = hash"
 %define _use_internal_dependency_generator 0

++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.tgoOaE/_old  2016-06-12 18:50:33.000000000 +0200
+++ /var/tmp/diff_new_pack.tgoOaE/_new  2016-06-12 18:50:33.000000000 +0200
@@ -18,7 +18,7 @@
 
 
 %define srcversion 4.6
-%define patchversion 4.6.1
+%define patchversion 4.6.2
 %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.6.1
+Version:        4.6.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g9cdcddd
+Release:        <RELEASE>.g2a68ef0
 %else
 Release:        0
 %endif

++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.tgoOaE/_old  2016-06-12 18:50:33.000000000 +0200
+++ /var/tmp/diff_new_pack.tgoOaE/_new  2016-06-12 18:50:33.000000000 +0200
@@ -24,10 +24,10 @@
 Summary:        Kernel Symbol Versions (modversions)
 License:        GPL-2.0
 Group:          Development/Sources
-Version:        4.6.1
+Version:        4.6.2
 %if %using_buildservice
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g9cdcddd
+Release:        <RELEASE>.g2a68ef0
 %else
 Release:        0
 %endif

++++++ kernel-vanilla.spec ++++++
--- /var/tmp/diff_new_pack.tgoOaE/_old  2016-06-12 18:50:33.000000000 +0200
+++ /var/tmp/diff_new_pack.tgoOaE/_new  2016-06-12 18:50:33.000000000 +0200
@@ -20,7 +20,7 @@
 # needssslcertforbuild
 
 %define srcversion 4.6
-%define patchversion 4.6.1
+%define patchversion 4.6.2
 %define variant %{nil}
 %define vanilla_only 0
 
@@ -61,9 +61,9 @@
 Summary:        The Standard Kernel - without any SUSE patches
 License:        GPL-2.0
 Group:          System/Kernel
-Version:        4.6.1
+Version:        4.6.2
 %if 0%{?is_kotd}
-Release:        <RELEASE>.g9cdcddd
+Release:        <RELEASE>.g2a68ef0
 %else
 Release:        0
 %endif
@@ -353,6 +353,7 @@
 %obsolete_kmp  rts_pstor 1.11
 # sle12-sp1 / Leap 42.1
 %obsolete_kmp  xen 4.6.1
+%obsolete_kmp  compat-wireless 4.4
 
 # Provide the exported symbols as "ksym(symbol) = hash"
 %define _use_internal_dependency_generator 0

++++++ config.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/arm64/default new/config/arm64/default
--- old/config/arm64/default    2016-05-25 22:08:51.000000000 +0200
+++ new/config/arm64/default    2016-06-02 11:39:26.000000000 +0200
@@ -1719,7 +1719,7 @@
 CONFIG_OF_ADDRESS_PCI=y
 CONFIG_OF_IRQ=y
 CONFIG_OF_NET=y
-CONFIG_OF_MDIO=y
+CONFIG_OF_MDIO=m
 CONFIG_OF_PCI=y
 CONFIG_OF_PCI_IRQ=y
 CONFIG_OF_MTD=y
@@ -2284,7 +2284,7 @@
 CONFIG_PCNET32=m
 CONFIG_AMD_XGBE=m
 CONFIG_AMD_XGBE_DCB=y
-CONFIG_NET_XGENE=y
+CONFIG_NET_XGENE=m
 CONFIG_NET_VENDOR_ARC=y
 CONFIG_ARC_EMAC_CORE=m
 CONFIG_ARC_EMAC=m
@@ -2532,7 +2532,7 @@
 CONFIG_ROADRUNNER=m
 # CONFIG_ROADRUNNER_LARGE_RINGS is not set
 # CONFIG_NET_SB1000 is not set
-CONFIG_PHYLIB=y
+CONFIG_PHYLIB=m
 
 #
 # MII PHY device drivers
@@ -2573,6 +2573,7 @@
 # CONFIG_MDIO_BUS_MUX_MMIOREG is not set
 CONFIG_MDIO_BCM_UNIMAC=m
 # CONFIG_MDIO_BCM_IPROC is not set
+CONFIG_MDIO_XGENE=m
 # CONFIG_MICREL_KS8995MA is not set
 CONFIG_PLIP=m
 CONFIG_PPP=m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/armv6hl/default new/config/armv6hl/default
--- old/config/armv6hl/default  2016-05-25 22:08:51.000000000 +0200
+++ new/config/armv6hl/default  2016-06-02 11:39:26.000000000 +0200
@@ -2206,6 +2206,7 @@
 CONFIG_MDIO_BUS_MUX_GPIO=m
 CONFIG_MDIO_BUS_MUX_MMIOREG=m
 CONFIG_MDIO_BCM_UNIMAC=m
+# CONFIG_MDIO_XGENE is not set
 # CONFIG_MICREL_KS8995MA is not set
 CONFIG_PLIP=m
 CONFIG_PPP=m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/armv7hl/default new/config/armv7hl/default
--- old/config/armv7hl/default  2016-05-25 22:08:51.000000000 +0200
+++ new/config/armv7hl/default  2016-06-02 11:39:26.000000000 +0200
@@ -2866,6 +2866,7 @@
 CONFIG_MDIO_BUS_MUX_MMIOREG=m
 CONFIG_MDIO_BCM_UNIMAC=m
 CONFIG_MDIO_BCM_IPROC=m
+# CONFIG_MDIO_XGENE is not set
 # CONFIG_MICREL_KS8995MA is not set
 CONFIG_PLIP=m
 CONFIG_PPP=m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/armv7hl/lpae new/config/armv7hl/lpae
--- old/config/armv7hl/lpae     2016-05-25 22:08:51.000000000 +0200
+++ new/config/armv7hl/lpae     2016-06-02 11:39:26.000000000 +0200
@@ -2768,6 +2768,7 @@
 CONFIG_MDIO_BUS_MUX_GPIO=m
 CONFIG_MDIO_BUS_MUX_MMIOREG=m
 # CONFIG_MDIO_BCM_UNIMAC is not set
+# CONFIG_MDIO_XGENE is not set
 # CONFIG_MICREL_KS8995MA is not set
 CONFIG_PLIP=m
 CONFIG_PPP=m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/i386/debug new/config/i386/debug
--- old/config/i386/debug       2016-05-25 22:08:51.000000000 +0200
+++ new/config/i386/debug       2016-06-02 11:39:26.000000000 +0200
@@ -2893,6 +2893,7 @@
 CONFIG_MDIO_BITBANG=m
 CONFIG_MDIO_GPIO=m
 CONFIG_MDIO_BCM_UNIMAC=m
+# CONFIG_MDIO_XGENE is not set
 # CONFIG_MICREL_KS8995MA is not set
 CONFIG_PLIP=m
 CONFIG_PPP=m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/i386/default new/config/i386/default
--- old/config/i386/default     2016-05-25 22:08:51.000000000 +0200
+++ new/config/i386/default     2016-06-02 11:39:26.000000000 +0200
@@ -2886,6 +2886,7 @@
 # CONFIG_MDIO_BUS_MUX_GPIO is not set
 CONFIG_MDIO_BUS_MUX_MMIOREG=m
 CONFIG_MDIO_BCM_UNIMAC=m
+# CONFIG_MDIO_XGENE is not set
 # CONFIG_MICREL_KS8995MA is not set
 CONFIG_PLIP=m
 CONFIG_PPP=m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/i386/pae new/config/i386/pae
--- old/config/i386/pae 2016-05-25 22:08:51.000000000 +0200
+++ new/config/i386/pae 2016-06-02 11:39:26.000000000 +0200
@@ -2834,6 +2834,7 @@
 CONFIG_MDIO_BITBANG=m
 CONFIG_MDIO_GPIO=m
 CONFIG_MDIO_BCM_UNIMAC=m
+# CONFIG_MDIO_XGENE is not set
 # CONFIG_MICREL_KS8995MA is not set
 CONFIG_PLIP=m
 CONFIG_PPP=m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/ppc64/debug new/config/ppc64/debug
--- old/config/ppc64/debug      2016-05-25 22:08:51.000000000 +0200
+++ new/config/ppc64/debug      2016-06-02 11:39:26.000000000 +0200
@@ -2460,6 +2460,7 @@
 CONFIG_MDIO_BUS_MUX_GPIO=m
 CONFIG_MDIO_BUS_MUX_MMIOREG=m
 CONFIG_MDIO_BCM_UNIMAC=m
+# CONFIG_MDIO_XGENE is not set
 # CONFIG_MICREL_KS8995MA is not set
 # CONFIG_PLIP is not set
 CONFIG_PPP=m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/ppc64/default new/config/ppc64/default
--- old/config/ppc64/default    2016-05-25 22:08:51.000000000 +0200
+++ new/config/ppc64/default    2016-06-02 11:39:26.000000000 +0200
@@ -2449,6 +2449,7 @@
 CONFIG_MDIO_BUS_MUX_GPIO=m
 CONFIG_MDIO_BUS_MUX_MMIOREG=m
 CONFIG_MDIO_BCM_UNIMAC=m
+# CONFIG_MDIO_XGENE is not set
 # CONFIG_MICREL_KS8995MA is not set
 # CONFIG_PLIP is not set
 CONFIG_PPP=m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/ppc64le/debug new/config/ppc64le/debug
--- old/config/ppc64le/debug    2016-05-25 22:08:51.000000000 +0200
+++ new/config/ppc64le/debug    2016-06-02 11:39:26.000000000 +0200
@@ -2342,6 +2342,7 @@
 CONFIG_MDIO_BUS_MUX_GPIO=m
 CONFIG_MDIO_BUS_MUX_MMIOREG=m
 CONFIG_MDIO_BCM_UNIMAC=m
+# CONFIG_MDIO_XGENE is not set
 # CONFIG_MICREL_KS8995MA is not set
 # CONFIG_PLIP is not set
 CONFIG_PPP=m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/ppc64le/default new/config/ppc64le/default
--- old/config/ppc64le/default  2016-05-25 22:08:51.000000000 +0200
+++ new/config/ppc64le/default  2016-06-02 11:39:26.000000000 +0200
@@ -2331,6 +2331,7 @@
 CONFIG_MDIO_BUS_MUX_GPIO=m
 CONFIG_MDIO_BUS_MUX_MMIOREG=m
 CONFIG_MDIO_BCM_UNIMAC=m
+# CONFIG_MDIO_XGENE is not set
 # CONFIG_MICREL_KS8995MA is not set
 # CONFIG_PLIP is not set
 CONFIG_PPP=m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/s390x/default new/config/s390x/default
--- old/config/s390x/default    2016-05-25 22:08:51.000000000 +0200
+++ new/config/s390x/default    2016-06-02 11:39:26.000000000 +0200
@@ -1646,6 +1646,7 @@
 # CONFIG_MDIO_OCTEON is not set
 # CONFIG_MDIO_THUNDER is not set
 CONFIG_MDIO_BCM_UNIMAC=m
+# CONFIG_MDIO_XGENE is not set
 # CONFIG_PPP is not set
 # CONFIG_SLIP is not set
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/x86_64/debug new/config/x86_64/debug
--- old/config/x86_64/debug     2016-05-25 22:08:51.000000000 +0200
+++ new/config/x86_64/debug     2016-06-02 11:39:26.000000000 +0200
@@ -2842,6 +2842,7 @@
 # CONFIG_MDIO_OCTEON is not set
 # CONFIG_MDIO_THUNDER is not set
 CONFIG_MDIO_BCM_UNIMAC=m
+# CONFIG_MDIO_XGENE is not set
 # CONFIG_MICREL_KS8995MA is not set
 CONFIG_PLIP=m
 CONFIG_PPP=m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/config/x86_64/default new/config/x86_64/default
--- old/config/x86_64/default   2016-05-25 22:08:51.000000000 +0200
+++ new/config/x86_64/default   2016-06-02 11:39:26.000000000 +0200
@@ -2828,6 +2828,7 @@
 # CONFIG_MDIO_OCTEON is not set
 # CONFIG_MDIO_THUNDER is not set
 CONFIG_MDIO_BCM_UNIMAC=m
+# CONFIG_MDIO_XGENE is not set
 # CONFIG_MICREL_KS8995MA is not set
 CONFIG_PLIP=m
 CONFIG_PPP=m

++++++ kernel-binary.spec.in ++++++
--- /var/tmp/diff_new_pack.tgoOaE/_old  2016-06-12 18:50:33.000000000 +0200
+++ /var/tmp/diff_new_pack.tgoOaE/_new  2016-06-12 18:50:33.000000000 +0200
@@ -227,6 +227,7 @@
 %obsolete_kmp  rts_pstor 1.11
 # sle12-sp1 / Leap 42.1
 %obsolete_kmp  xen 4.6.1
+%obsolete_kmp  compat-wireless 4.4
 
 # Provide the exported symbols as "ksym(symbol) = hash"
 %define _use_internal_dependency_generator 0

++++++ patches.arch.tar.bz2 ++++++
++++ 2946 lines of diff (skipped)

++++++ patches.drivers.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.drivers/0001-Subject-PATCH-USB-xhci-Add-broken-streams-quirk-for-.patch
 
new/patches.drivers/0001-Subject-PATCH-USB-xhci-Add-broken-streams-quirk-for-.patch
--- 
old/patches.drivers/0001-Subject-PATCH-USB-xhci-Add-broken-streams-quirk-for-.patch
 1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.drivers/0001-Subject-PATCH-USB-xhci-Add-broken-streams-quirk-for-.patch
 2016-06-04 09:38:20.000000000 +0200
@@ -0,0 +1,50 @@
+From aaf928767d4b3d73aeaa88c704a8d7f66d30730b Mon Sep 17 00:00:00 2001
+Subject: [PATCH] USB: xhci: Add broken streams quirk for
+ Frescologic device id 1009 
+From: Hans de Goede <hdego...@redhat.com>
+Date: 2016-06-01 19:01:29
+Patch-Mainline: Queued
+Git-commit: d95815ba6a0f287213118c136e64d8c56daeaeab
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
+References: bnc#982729
+
+I got one of these cards for testing uas with, it seems that with streams
+it dma-s all over the place, corrupting memory. On my first tests it
+managed to dma over the BIOS of the motherboard somehow and completely
+bricked it.
+
+Tests on another motherboard show that it does work with streams disabled.
+
+Cc: sta...@vger.kernel.org
+Signed-off-by: Hans de Goede <hdego...@redhat.com>
+Signed-Off-By: Oliver Neukum <oneu...@suse.com>
+---
+ drivers/usb/host/xhci-pci.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
+index 47f6f9b..e020bc3 100644
+--- a/drivers/usb/host/xhci-pci.c
++++ b/drivers/usb/host/xhci-pci.c
+@@ -30,6 +30,7 @@
+ /* Device for a quirk */
+ #define PCI_VENDOR_ID_FRESCO_LOGIC    0x1b73
+ #define PCI_DEVICE_ID_FRESCO_LOGIC_PDK        0x1000
++#define PCI_DEVICE_ID_FRESCO_LOGIC_FL1009     0x1009
+ #define PCI_DEVICE_ID_FRESCO_LOGIC_FL1400     0x1400
+ 
+ #define PCI_VENDOR_ID_ETRON           0x1b6f
+@@ -97,6 +98,10 @@ static void xhci_pci_quirks(struct device *dev, struct 
xhci_hcd *xhci)
+               xhci->quirks |= XHCI_TRUST_TX_LENGTH;
+       }
+ 
++      if (pdev->vendor == PCI_VENDOR_ID_FRESCO_LOGIC &&
++                      pdev->device == PCI_DEVICE_ID_FRESCO_LOGIC_FL1009)
++              xhci->quirks |= XHCI_BROKEN_STREAMS;
++
+       if (pdev->vendor == PCI_VENDOR_ID_NEC)
+               xhci->quirks |= XHCI_NEC_HOST;
+ 
+-- 
+2.1.4
+

++++++ patches.fixes.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/0001-ecryptfs-don-t-allow-mmap-when-the-lower-file-system.patch
 
new/patches.fixes/0001-ecryptfs-don-t-allow-mmap-when-the-lower-file-system.patch
--- 
old/patches.fixes/0001-ecryptfs-don-t-allow-mmap-when-the-lower-file-system.patch
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.fixes/0001-ecryptfs-don-t-allow-mmap-when-the-lower-file-system.patch
   2016-06-09 17:51:38.000000000 +0200
@@ -0,0 +1,48 @@
+From 328b1a077c5f33cf9dffc98ed805a36eea08d7dc Mon Sep 17 00:00:00 2001
+From: Jeff Mahoney <je...@suse.com>
+Date: Tue, 7 Jun 2016 15:11:53 -0400
+Subject: [PATCH] ecryptfs: don't allow mmap when the lower file system doesn't 
allow it
+References: bsc#983143 CVE-2016-1583
+Patch-mainline: not yet, see bugzilla
+
+There are legitimate reasons to disallow mmap on certain files, notably
+in sysfs or procfs.  We shouldn't emulate mmap support on file systems
+that don't offer support natively.
+
+Signed-off-by: Jeff Mahoney <je...@suse.com>
+---
+ fs/ecryptfs/file.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/fs/ecryptfs/file.c b/fs/ecryptfs/file.c
+index 7000b96..406fde9 100644
+--- a/fs/ecryptfs/file.c
++++ b/fs/ecryptfs/file.c
+@@ -238,6 +238,15 @@ out:
+       return rc;
+ }
+ 
++
++static int ecryptfs_mmap(struct file *file, struct vm_area_struct *vma)
++{
++      struct dentry *dentry = ecryptfs_dentry_to_lower(file_dentry(file));
++      if (!d_inode(dentry)->i_fop->mmap)
++              return -ENODEV;
++      return generic_file_mmap(file, vma);
++}
++
+ /**
+  * ecryptfs_open
+  * @inode: inode speciying file to open
+@@ -403,7 +412,7 @@ const struct file_operations ecryptfs_main_fops = {
+ #ifdef CONFIG_COMPAT
+       .compat_ioctl = ecryptfs_compat_ioctl,
+ #endif
+-      .mmap = generic_file_mmap,
++      .mmap = ecryptfs_mmap,
+       .open = ecryptfs_open,
+       .flush = ecryptfs_flush,
+       .release = ecryptfs_release,
+-- 
+2.7.1
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.fixes/rtlwifi-Fix-scheduling-while-atomic-error-from-commi 
new/patches.fixes/rtlwifi-Fix-scheduling-while-atomic-error-from-commi
--- old/patches.fixes/rtlwifi-Fix-scheduling-while-atomic-error-from-commi      
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/rtlwifi-Fix-scheduling-while-atomic-error-from-commi      
2016-06-09 17:51:38.000000000 +0200
@@ -0,0 +1,71 @@
+From de26859dcf363d520cc44e59f6dcaf20ebe0aadf Mon Sep 17 00:00:00 2001
+From: Larry Finger <larry.fin...@lwfinger.net>
+Date: Sat, 21 May 2016 11:50:35 -0500
+Subject: [PATCH] rtlwifi: Fix scheduling while atomic error from commit 
49f86ec21c01
+Patch-mainline: Queued in subsystem maintainer repository
+Git-commit: de26859dcf363d520cc44e59f6dcaf20ebe0aadf
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git
+References: boo#983036
+
+Commit 49f86ec21c01 ("rtlwifi: Change long delays to sleeps") was correct
+for most cases; however, driver rtl8192ce calls the affected routines while
+in atomic context. The kernel bug output is as follows:
+
+Bug: scheduling while atomic: wpa_supplicant/627/0x00000002
+[...]
+  [<ffffffff815c2b39>] __schedule+0x899/0xad0
+  [<ffffffff815c2dac>] schedule+0x3c/0x90
+  [<ffffffff815c5bb2>] schedule_hrtimeout_range_clock+0xa2/0x120
+  [<ffffffff810e8b80>] ? hrtimer_init+0x120/0x120
+  [<ffffffff815c5ba6>] ? schedule_hrtimeout_range_clock+0x96/0x120
+  [<ffffffff815c5c43>] schedule_hrtimeout_range+0x13/0x20
+  [<ffffffff815c568f>] usleep_range+0x4f/0x70
+  [<ffffffffa0667218>] rtl_rfreg_delay+0x38/0x50 [rtlwifi]
+  [<ffffffffa06dd0e7>] rtl92c_phy_config_rf_with_headerfile+0xc7/0xe0 
[rtl8192ce]
+
+To fix this bug, three of the changes from delay to sleep are reverted.
+Unfortunately, one of the changes involves a delay of 50 msec. The calling
+code will be modified so that this long delay can be avoided; however,
+this change is being pushed now to fix the problem in kernel 4.6.0.
+
+Fixes: 49f86ec21c01 ("rtlwifi: Change long delays to sleeps")
+Reported-by: James Feeney <ja...@nurealm.net>
+Signed-off-by: Larry Finger <larry.fin...@lwfinger.net>
+Cc: James Feeney <ja...@nurealm.net>
+Cc: Stable <sta...@vger.kernel.org> [4.6+]
+Signed-off-by: Kalle Valo <kv...@codeaurora.org>
+Acked-by: Takashi Iwai <ti...@suse.de>
+
+---
+ drivers/net/wireless/realtek/rtlwifi/core.c |    6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/drivers/net/wireless/realtek/rtlwifi/core.c
++++ b/drivers/net/wireless/realtek/rtlwifi/core.c
+@@ -54,7 +54,7 @@ EXPORT_SYMBOL(channel5g_80m);
+ void rtl_addr_delay(u32 addr)
+ {
+       if (addr == 0xfe)
+-              msleep(50);
++              mdelay(50);
+       else if (addr == 0xfd)
+               msleep(5);
+       else if (addr == 0xfc)
+@@ -75,7 +75,7 @@ void rtl_rfreg_delay(struct ieee80211_hw
+               rtl_addr_delay(addr);
+       } else {
+               rtl_set_rfreg(hw, rfpath, addr, mask, data);
+-              usleep_range(1, 2);
++              udelay(1);
+       }
+ }
+ EXPORT_SYMBOL(rtl_rfreg_delay);
+@@ -86,7 +86,7 @@ void rtl_bb_delay(struct ieee80211_hw *h
+               rtl_addr_delay(addr);
+       } else {
+               rtl_set_bbreg(hw, addr, MASKDWORD, data);
+-              usleep_range(1, 2);
++              udelay(1);
+       }
+ }
+ EXPORT_SYMBOL(rtl_bb_delay);

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

++++++ patches.suse.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/pat-0001-x86-mm-pat-Add-support-of-non-default-PAT-MSR-settin.patch
 
new/patches.suse/pat-0001-x86-mm-pat-Add-support-of-non-default-PAT-MSR-settin.patch
--- 
old/patches.suse/pat-0001-x86-mm-pat-Add-support-of-non-default-PAT-MSR-settin.patch
        1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.suse/pat-0001-x86-mm-pat-Add-support-of-non-default-PAT-MSR-settin.patch
        2016-06-06 21:08:35.000000000 +0200
@@ -0,0 +1,203 @@
+From: Toshi Kani <toshi.k...@hpe.com>
+Date: Wed, 23 Mar 2016 15:41:57 -0600
+Patch-mainline: v4.7-rc1 
+Subject: x86/mm/pat: Add support of non-default PAT MSR setting
+Git-commit: 02f037d641dc6672be5cfe7875a48ab99b95b154
+Reference: bnc#982991, bnc#974257, bnc#982991
+
+In preparation for fixing a regression caused by:
+
+  9cd25aac1f44 ("x86/mm/pat: Emulate PAT when it is disabled")'
+
+... PAT needs to support a case that PAT MSR is initialized with a
+non-default value.
+
+When pat_init() is called and PAT is disabled, it initializes the
+PAT table with the BIOS default value. Xen, however, sets PAT MSR
+with a non-default value to enable WC. This causes inconsistency
+between the PAT table and PAT MSR when PAT is set to disable on Xen.
+
+Change pat_init() to handle the PAT disable cases properly.  Add
+init_cache_modes() to handle two cases when PAT is set to disable.
+
+ 1. CPU supports PAT: Set PAT table to be consistent with PAT MSR.
+ 2. CPU does not support PAT: Set PAT table to be consistent with
+    PWT and PCD bits in a PTE.
+
+Note, __init_cache_modes(), renamed from pat_init_cache_modes(),
+will be changed to a static function in a later patch.
+
+Signed-off-by: Toshi Kani <toshi.k...@hpe.com>
+Reviewed-by: Thomas Gleixner <t...@linutronix.de>
+Cc: Andrew Morton <a...@linux-foundation.org>
+Cc: Andy Lutomirski <l...@amacapital.net>
+Cc: Borislav Petkov <b...@alien8.de>
+Cc: Borislav Petkov <b...@suse.de>
+Cc: Brian Gerst <brge...@gmail.com>
+Cc: Denys Vlasenko <dvlas...@redhat.com>
+Cc: H. Peter Anvin <h...@zytor.com>
+Cc: Juergen Gross <jgr...@suse.com>
+Cc: Linus Torvalds <torva...@linux-foundation.org>
+Cc: Luis R. Rodriguez <mcg...@suse.com>
+Cc: Peter Zijlstra <pet...@infradead.org>
+Cc: Toshi Kani <toshi.k...@hp.com>
+Cc: elli...@hpe.com
+Cc: konrad.w...@oracle.com
+Cc: paul.gortma...@windriver.com
+Cc: xen-de...@lists.xenproject.org
+Link: 
http://lkml.kernel.org/r/1458769323-24491-2-git-send-email-toshi.k...@hpe.com
+Signed-off-by: Ingo Molnar <mi...@kernel.org>
+Acked-by: <oher...@suse.de>
+---
+ arch/x86/include/asm/pat.h |  2 +-
+ arch/x86/mm/pat.c          | 73 +++++++++++++++++++++++++++++++++-------------
+ arch/x86/xen/enlighten.c   |  2 +-
+ 3 files changed, 55 insertions(+), 22 deletions(-)
+
+diff --git a/arch/x86/include/asm/pat.h b/arch/x86/include/asm/pat.h
+index ca6c228..97ea55b 100644
+--- a/arch/x86/include/asm/pat.h
++++ b/arch/x86/include/asm/pat.h
+@@ -6,7 +6,7 @@
+ 
+ bool pat_enabled(void);
+ extern void pat_init(void);
+-void pat_init_cache_modes(u64);
++void __init_cache_modes(u64);
+ 
+ extern int reserve_memtype(u64 start, u64 end,
+               enum page_cache_mode req_pcm, enum page_cache_mode *ret_pcm);
+diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c
+index faec01e..b4663885 100644
+--- a/arch/x86/mm/pat.c
++++ b/arch/x86/mm/pat.c
+@@ -181,7 +181,7 @@ static enum page_cache_mode pat_get_cache_mode(unsigned 
pat_val, char *msg)
+  * configuration.
+  * Using lower indices is preferred, so we start with highest index.
+  */
+-void pat_init_cache_modes(u64 pat)
++void __init_cache_modes(u64 pat)
+ {
+       enum page_cache_mode cache;
+       char pat_msg[33];
+@@ -207,9 +207,6 @@ static void pat_bsp_init(u64 pat)
+               return;
+       }
+ 
+-      if (!pat_enabled())
+-              goto done;
+-
+       rdmsrl(MSR_IA32_CR_PAT, tmp_pat);
+       if (!tmp_pat) {
+               pat_disable("PAT MSR is 0, disabled.");
+@@ -218,15 +215,11 @@ static void pat_bsp_init(u64 pat)
+ 
+       wrmsrl(MSR_IA32_CR_PAT, pat);
+ 
+-done:
+-      pat_init_cache_modes(pat);
++      __init_cache_modes(pat);
+ }
+ 
+ static void pat_ap_init(u64 pat)
+ {
+-      if (!pat_enabled())
+-              return;
+-
+       if (!cpu_has_pat) {
+               /*
+                * If this happens we are on a secondary CPU, but switched to
+@@ -238,18 +231,32 @@ static void pat_ap_init(u64 pat)
+       wrmsrl(MSR_IA32_CR_PAT, pat);
+ }
+ 
+-void pat_init(void)
++static void init_cache_modes(void)
+ {
+-      u64 pat;
+-      struct cpuinfo_x86 *c = &boot_cpu_data;
++      u64 pat = 0;
++      static int init_cm_done;
+ 
+-      if (!pat_enabled()) {
++      if (init_cm_done)
++              return;
++
++      if (boot_cpu_has(X86_FEATURE_PAT)) {
++              /*
++               * CPU supports PAT. Set PAT table to be consistent with
++               * PAT MSR. This case supports "nopat" boot option, and
++               * virtual machine environments which support PAT without
++               * MTRRs. In specific, Xen has unique setup to PAT MSR.
++               *
++               * If PAT MSR returns 0, it is considered invalid and emulates
++               * as No PAT.
++               */
++              rdmsrl(MSR_IA32_CR_PAT, pat);
++      }
++
++      if (!pat) {
+               /*
+                * No PAT. Emulate the PAT table that corresponds to the two
+-               * cache bits, PWT (Write Through) and PCD (Cache Disable). This
+-               * setup is the same as the BIOS default setup when the system
+-               * has PAT but the "nopat" boot option has been specified. This
+-               * emulated PAT table is used when MSR_IA32_CR_PAT returns 0.
++               * cache bits, PWT (Write Through) and PCD (Cache Disable).
++               * This setup is also the same as the BIOS default setup.
+                *
+                * PTE encoding:
+                *
+@@ -266,10 +273,36 @@ void pat_init(void)
+                */
+               pat = PAT(0, WB) | PAT(1, WT) | PAT(2, UC_MINUS) | PAT(3, UC) |
+                     PAT(4, WB) | PAT(5, WT) | PAT(6, UC_MINUS) | PAT(7, UC);
++      }
++
++      __init_cache_modes(pat);
++
++      init_cm_done = 1;
++}
++
++/**
++ * pat_init - Initialize PAT MSR and PAT table
++ *
++ * This function initializes PAT MSR and PAT table with an OS-defined value
++ * to enable additional cache attributes, WC and WT.
++ *
++ * This function must be called on all CPUs using the specific sequence of
++ * operations defined in Intel SDM. mtrr_rendezvous_handler() provides this
++ * procedure for PAT.
++ */
++void pat_init(void)
++{
++      u64 pat;
++      struct cpuinfo_x86 *c = &boot_cpu_data;
++
++      if (!pat_enabled()) {
++              init_cache_modes();
++              return;
++      }
+ 
+-      } else if ((c->x86_vendor == X86_VENDOR_INTEL) &&
+-                 (((c->x86 == 0x6) && (c->x86_model <= 0xd)) ||
+-                  ((c->x86 == 0xf) && (c->x86_model <= 0x6)))) {
++      if ((c->x86_vendor == X86_VENDOR_INTEL) &&
++          (((c->x86 == 0x6) && (c->x86_model <= 0xd)) ||
++           ((c->x86 == 0xf) && (c->x86_model <= 0x6)))) {
+               /*
+                * PAT support with the lower four entries. Intel Pentium 2,
+                * 3, M, and 4 are affected by PAT errata, which makes the
+diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
+index 880862c..c469a7c 100644
+--- a/arch/x86/xen/enlighten.c
++++ b/arch/x86/xen/enlighten.c
+@@ -1623,7 +1623,7 @@ asmlinkage __visible void __init xen_start_kernel(void)
+        * configuration.
+        */
+       rdmsrl(MSR_IA32_CR_PAT, pat);
+-      pat_init_cache_modes(pat);
++      __init_cache_modes(pat);
+ 
+       /* keep using Xen gdt for now; no urgent need to change it */
+ 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/pat-0002-x86-mm-pat-Add-pat_disable-interface.patch 
new/patches.suse/pat-0002-x86-mm-pat-Add-pat_disable-interface.patch
--- old/patches.suse/pat-0002-x86-mm-pat-Add-pat_disable-interface.patch        
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/pat-0002-x86-mm-pat-Add-pat_disable-interface.patch        
2016-06-06 21:08:35.000000000 +0200
@@ -0,0 +1,92 @@
+From: Toshi Kani <toshi.k...@hpe.com>
+Date: Wed, 23 Mar 2016 15:41:58 -0600
+Patch-mainline: v4.7-rc1 
+Subject: x86/mm/pat: Add pat_disable() interface
+Git-commit: 224bb1e5d67ba0f2872c98002d6a6f991ac6fd4a
+Reference: bnc#982991, bnc#974257, bnc#982991
+
+In preparation for fixing a regression caused by:
+
+  9cd25aac1f44 ("x86/mm/pat: Emulate PAT when it is disabled")
+
+... PAT needs to provide an interface that prevents the OS from
+initializing the PAT MSR.
+
+PAT MSR initialization must be done on all CPUs using the specific
+sequence of operations defined in the Intel SDM.  This requires MTRRs
+to be enabled since pat_init() is called as part of MTRR init
+from mtrr_rendezvous_handler().
+
+Make pat_disable() as the interface that prevents the OS from
+initializing the PAT MSR.  MTRR will call this interface when it
+cannot provide the SDM-defined sequence to initialize PAT.
+
+This also assures that pat_disable() called from pat_bsp_init()
+will set the PAT table properly when CPU does not support PAT.
+
+Signed-off-by: Toshi Kani <toshi.k...@hpe.com>
+Reviewed-by: Thomas Gleixner <t...@linutronix.de>
+Cc: Andrew Morton <a...@linux-foundation.org>
+Cc: Andy Lutomirski <l...@amacapital.net>
+Cc: Borislav Petkov <b...@alien8.de>
+Cc: Borislav Petkov <b...@suse.de>
+Cc: Brian Gerst <brge...@gmail.com>
+Cc: Denys Vlasenko <dvlas...@redhat.com>
+Cc: H. Peter Anvin <h...@zytor.com>
+Cc: Juergen Gross <jgr...@suse.com>
+Cc: Linus Torvalds <torva...@linux-foundation.org>
+Cc: Luis R. Rodriguez <mcg...@suse.com>
+Cc: Peter Zijlstra <pet...@infradead.org>
+Cc: Robert Elliott <elli...@hpe.com>
+Cc: Toshi Kani <toshi.k...@hp.com>
+Cc: konrad.w...@oracle.com
+Cc: paul.gortma...@windriver.com
+Cc: xen-de...@lists.xenproject.org
+Link: 
http://lkml.kernel.org/r/1458769323-24491-3-git-send-email-toshi.k...@hpe.com
+Signed-off-by: Ingo Molnar <mi...@kernel.org>
+Acked-by: <oher...@suse.de>
+---
+ arch/x86/include/asm/pat.h |  1 +
+ arch/x86/mm/pat.c          | 13 ++++++++++++-
+ 2 files changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/arch/x86/include/asm/pat.h b/arch/x86/include/asm/pat.h
+index 97ea55b..0ad356c 100644
+--- a/arch/x86/include/asm/pat.h
++++ b/arch/x86/include/asm/pat.h
+@@ -5,6 +5,7 @@
+ #include <asm/pgtable_types.h>
+ 
+ bool pat_enabled(void);
++void pat_disable(const char *reason);
+ extern void pat_init(void);
+ void __init_cache_modes(u64);
+ 
+diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c
+index b4663885..1cc1d37 100644
+--- a/arch/x86/mm/pat.c
++++ b/arch/x86/mm/pat.c
+@@ -40,11 +40,22 @@
+ static bool boot_cpu_done;
+ 
+ static int __read_mostly __pat_enabled = IS_ENABLED(CONFIG_X86_PAT);
++static void init_cache_modes(void);
+ 
+-static inline void pat_disable(const char *reason)
++void pat_disable(const char *reason)
+ {
++      if (!__pat_enabled)
++              return;
++
++      if (boot_cpu_done) {
++              WARN_ONCE(1, "x86/PAT: PAT cannot be disabled after 
initialization\n");
++              return;
++      }
++
+       __pat_enabled = 0;
+       pr_info("x86/PAT: %s\n", reason);
++
++      init_cache_modes();
+ }
+ 
+ static int __init nopat(char *str)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/pat-0003-x86-mm-pat-Replace-cpu_has_pat-with-boot_cpu_has.patch
 
new/patches.suse/pat-0003-x86-mm-pat-Replace-cpu_has_pat-with-boot_cpu_has.patch
--- 
old/patches.suse/pat-0003-x86-mm-pat-Replace-cpu_has_pat-with-boot_cpu_has.patch
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.suse/pat-0003-x86-mm-pat-Replace-cpu_has_pat-with-boot_cpu_has.patch
    2016-06-06 21:08:35.000000000 +0200
@@ -0,0 +1,62 @@
+From: Toshi Kani <toshi.k...@hpe.com>
+Date: Wed, 23 Mar 2016 15:41:59 -0600
+Patch-mainline: v4.7-rc1 
+Subject: x86/mm/pat: Replace cpu_has_pat with boot_cpu_has()
+Git-commit: d63dcf49cf5ae5605f4d14229e3888e104f294b1
+Reference: bnc#982991, bnc#974257, bnc#982991
+
+Borislav Petkov suggested:
+
+ > Please use on init paths boot_cpu_has(X86_FEATURE_PAT) and on fast
+ > paths static_cpu_has(X86_FEATURE_PAT). No more of that cpu_has_XXX
+ > ugliness.
+
+Replace the use of cpu_has_pat on init paths with boot_cpu_has().
+
+Suggested-by: Borislav Petkov <b...@suse.de>
+Signed-off-by: Toshi Kani <toshi.k...@hpe.com>
+Reviewed-by: Thomas Gleixner <t...@linutronix.de>
+Cc: Andrew Morton <a...@linux-foundation.org>
+Cc: Andy Lutomirski <l...@amacapital.net>
+Cc: Borislav Petkov <b...@alien8.de>
+Cc: Brian Gerst <brge...@gmail.com>
+Cc: Denys Vlasenko <dvlas...@redhat.com>
+Cc: H. Peter Anvin <h...@zytor.com>
+Cc: Juergen Gross <jgr...@suse.com>
+Cc: Linus Torvalds <torva...@linux-foundation.org>
+Cc: Luis R. Rodriguez <mcg...@suse.com>
+Cc: Peter Zijlstra <pet...@infradead.org>
+Cc: Robert Elliott <elli...@hpe.com>
+Cc: Toshi Kani <toshi.k...@hp.com>
+Cc: konrad.w...@oracle.com
+Cc: paul.gortma...@windriver.com
+Cc: xen-de...@lists.xenproject.org
+Link: 
http://lkml.kernel.org/r/1458769323-24491-4-git-send-email-toshi.k...@hpe.com
+Signed-off-by: Ingo Molnar <mi...@kernel.org>
+Acked-by: <oher...@suse.de>
+---
+ arch/x86/mm/pat.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c
+index 1cc1d37..59ec038 100644
+--- a/arch/x86/mm/pat.c
++++ b/arch/x86/mm/pat.c
+@@ -213,7 +213,7 @@ static void pat_bsp_init(u64 pat)
+ {
+       u64 tmp_pat;
+ 
+-      if (!cpu_has_pat) {
++      if (!boot_cpu_has(X86_FEATURE_PAT)) {
+               pat_disable("PAT not supported by CPU.");
+               return;
+       }
+@@ -231,7 +231,7 @@ static void pat_bsp_init(u64 pat)
+ 
+ static void pat_ap_init(u64 pat)
+ {
+-      if (!cpu_has_pat) {
++      if (!boot_cpu_has(X86_FEATURE_PAT)) {
+               /*
+                * If this happens we are on a secondary CPU, but switched to
+                * PAT on the boot CPU. We have no way to undo PAT.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/pat-0004-x86-mtrr-Fix-Xorg-crashes-in-Qemu-sessions.patch 
new/patches.suse/pat-0004-x86-mtrr-Fix-Xorg-crashes-in-Qemu-sessions.patch
--- old/patches.suse/pat-0004-x86-mtrr-Fix-Xorg-crashes-in-Qemu-sessions.patch  
1970-01-01 01:00:00.000000000 +0100
+++ new/patches.suse/pat-0004-x86-mtrr-Fix-Xorg-crashes-in-Qemu-sessions.patch  
2016-06-06 21:08:35.000000000 +0200
@@ -0,0 +1,158 @@
+From: Toshi Kani <toshi.k...@hpe.com>
+Date: Wed, 23 Mar 2016 15:42:00 -0600
+Patch-mainline: v4.7-rc1 
+Subject: x86/mtrr: Fix Xorg crashes in Qemu sessions
+Git-commit: edfe63ec97ed8d4496225f7ba54c9ce4207c5431
+Reference: bnc#982991, bnc#974257, bnc#982991
+
+A Xorg failure on qemu32 was reported as a regression [1] caused by
+commit 9cd25aac1f44 ("x86/mm/pat: Emulate PAT when it is disabled").
+
+This patch fixes the Xorg crash.
+
+Negative effects of this regression were the following two failures [2]
+in Xorg on QEMU with QEMU CPU model "qemu32" (-cpu qemu32), which were
+triggered by the fact that its virtual CPU does not support MTRRs.
+
+ #1. copy_process() failed in the check in reserve_pfn_range()
+
+    copy_process
+     copy_mm
+      dup_mm
+       dup_mmap
+        copy_page_range
+         track_pfn_copy
+          reserve_pfn_range
+
+ A WC map request was tracked as WC in memtype, which set a PTE as
+ UC (pgprot) per __cachemode2pte_tbl[].  This led to this error in
+ reserve_pfn_range() called from track_pfn_copy(), which obtained
+ a pgprot from a PTE.  It converts pgprot to page_cache_mode, which
+ does not necessarily result in the original page_cache_mode since
+ __cachemode2pte_tbl[] redirects multiple types to UC.
+
+ #2. error path in copy_process() then hit WARN_ON_ONCE in
+     untrack_pfn().
+
+     x86/PAT: Xorg:509 map pfn expected mapping type uncached-
+     minus for [mem 0xfd000000-0xfdffffff], got write-combining
+      Call Trace:
+     dump_stack
+     warn_slowpath_common
+     ? untrack_pfn
+     ? untrack_pfn
+     warn_slowpath_null
+     untrack_pfn
+     ? __kunmap_atomic
+     unmap_single_vma
+     ? pagevec_move_tail_fn
+     unmap_vmas
+     exit_mmap
+     mmput
+     copy_process.part.47
+     _do_fork
+     SyS_clone
+     do_syscall_32_irqs_on
+     entry_INT80_32
+
+These negative effects are caused by two separate bugs, but they
+can be addressed in separate patches.  Fixing the pat_init() issue
+described below addresses the root cause, and avoids Xorg to hit
+these cases.
+
+When the CPU does not support MTRRs, MTRR does not call pat_init(),
+which leaves PAT enabled without initializing PAT.  This pat_init()
+issue is a long-standing issue, but manifested as issue #1 (and then
+hit issue #2) with the above-mentioned commit because the memtype
+now tracks cache attribute with 'page_cache_mode'.
+
+This pat_init() issue existed before the commit, but we used pgprot
+in memtype.  Hence, we did not have issue #1 before.  But WC request
+resulted in WT in effect because WC pgrot is actually WT when PAT
+is not initialized.  This is not how it was designed to work.  When
+PAT is set to disable properly, WC is converted to UC.  The use of
+WT can result in a system crash if the target range does not support
+WT.  Fortunately, nobody ran into such issue before.
+
+To fix this pat_init() issue, PAT code has been enhanced to provide
+pat_disable() interface.  Call this interface when MTRRs are disabled.
+By setting PAT to disable properly, PAT bypasses the memtype check,
+and avoids issue #1.
+
+  [1]: https://lkml.org/lkml/2016/3/3/828
+  [2]: https://lkml.org/lkml/2016/3/4/775
+
+Signed-off-by: Toshi Kani <toshi.k...@hpe.com>
+Reviewed-by: Thomas Gleixner <t...@linutronix.de>
+Cc: Andrew Morton <a...@linux-foundation.org>
+Cc: Andy Lutomirski <l...@amacapital.net>
+Cc: Borislav Petkov <b...@alien8.de>
+Cc: Borislav Petkov <b...@suse.de>
+Cc: Brian Gerst <brge...@gmail.com>
+Cc: Denys Vlasenko <dvlas...@redhat.com>
+Cc: H. Peter Anvin <h...@zytor.com>
+Cc: Juergen Gross <jgr...@suse.com>
+Cc: Linus Torvalds <torva...@linux-foundation.org>
+Cc: Luis R. Rodriguez <mcg...@suse.com>
+Cc: Peter Zijlstra <pet...@infradead.org>
+Cc: Toshi Kani <toshi.k...@hp.com>
+Cc: elli...@hpe.com
+Cc: konrad.w...@oracle.com
+Cc: paul.gortma...@windriver.com
+Cc: xen-de...@lists.xenproject.org
+Link: 
http://lkml.kernel.org/r/1458769323-24491-5-git-send-email-toshi.k...@hpe.com
+Signed-off-by: Ingo Molnar <mi...@kernel.org>
+Acked-by: <oher...@suse.de>
+---
+ arch/x86/include/asm/mtrr.h     |  6 +++++-
+ arch/x86/kernel/cpu/mtrr/main.c | 10 +++++++++-
+ 2 files changed, 14 insertions(+), 2 deletions(-)
+
+diff --git a/arch/x86/include/asm/mtrr.h b/arch/x86/include/asm/mtrr.h
+index b94f6f6..dbff145 100644
+--- a/arch/x86/include/asm/mtrr.h
++++ b/arch/x86/include/asm/mtrr.h
+@@ -24,6 +24,7 @@
+ #define _ASM_X86_MTRR_H
+ 
+ #include <uapi/asm/mtrr.h>
++#include <asm/pat.h>
+ 
+ 
+ /*
+@@ -83,9 +84,12 @@ static inline int mtrr_trim_uncached_memory(unsigned long 
end_pfn)
+ static inline void mtrr_centaur_report_mcr(int mcr, u32 lo, u32 hi)
+ {
+ }
++static inline void mtrr_bp_init(void)
++{
++      pat_disable("MTRRs disabled, skipping PAT initialization too.");
++}
+ 
+ #define mtrr_ap_init() do {} while (0)
+-#define mtrr_bp_init() do {} while (0)
+ #define set_mtrr_aps_delayed_init() do {} while (0)
+ #define mtrr_aps_init() do {} while (0)
+ #define mtrr_bp_restore() do {} while (0)
+diff --git a/arch/x86/kernel/cpu/mtrr/main.c b/arch/x86/kernel/cpu/mtrr/main.c
+index 10f8d47..8b1947b 100644
+--- a/arch/x86/kernel/cpu/mtrr/main.c
++++ b/arch/x86/kernel/cpu/mtrr/main.c
+@@ -759,8 +759,16 @@ void __init mtrr_bp_init(void)
+               }
+       }
+ 
+-      if (!mtrr_enabled())
++      if (!mtrr_enabled()) {
+               pr_info("MTRR: Disabled\n");
++
++              /*
++               * PAT initialization relies on MTRR's rendezvous handler.
++               * Skip PAT init until the handler can initialize both
++               * features independently.
++               */
++              pat_disable("MTRRs disabled, skipping PAT initialization too.");
++      }
+ }
+ 
+ void mtrr_ap_init(void)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/pat-0005-x86-mtrr-Fix-PAT-init-handling-when-MTRR-is-disabled.patch
 
new/patches.suse/pat-0005-x86-mtrr-Fix-PAT-init-handling-when-MTRR-is-disabled.patch
--- 
old/patches.suse/pat-0005-x86-mtrr-Fix-PAT-init-handling-when-MTRR-is-disabled.patch
        1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.suse/pat-0005-x86-mtrr-Fix-PAT-init-handling-when-MTRR-is-disabled.patch
        2016-06-06 21:08:35.000000000 +0200
@@ -0,0 +1,114 @@
+From: Toshi Kani <toshi.k...@hpe.com>
+Date: Wed, 23 Mar 2016 15:42:01 -0600
+Patch-mainline: v4.7-rc1 
+Subject: x86/mtrr: Fix PAT init handling when MTRR is disabled
+Git-commit: ad025a73f0e9344ac73ffe1b74c184033e08e7d5
+Reference: bnc#982991, bnc#974257, bnc#982991
+
+get_mtrr_state() calls pat_init() on BSP even if MTRR is disabled.
+This results in calling pat_init() on BSP only since APs do not call
+pat_init() when MTRR is disabled.  This inconsistency between BSP
+and APs leads to undefined behavior.
+
+Make BSP's calling condition to pat_init() consistent with AP's,
+mtrr_ap_init() and mtrr_aps_init().
+
+Signed-off-by: Toshi Kani <toshi.k...@hpe.com>
+Reviewed-by: Thomas Gleixner <t...@linutronix.de>
+Cc: Andrew Morton <a...@linux-foundation.org>
+Cc: Andy Lutomirski <l...@amacapital.net>
+Cc: Borislav Petkov <b...@alien8.de>
+Cc: Borislav Petkov <b...@suse.de>
+Cc: Brian Gerst <brge...@gmail.com>
+Cc: Denys Vlasenko <dvlas...@redhat.com>
+Cc: H. Peter Anvin <h...@zytor.com>
+Cc: Juergen Gross <jgr...@suse.com>
+Cc: Linus Torvalds <torva...@linux-foundation.org>
+Cc: Luis R. Rodriguez <mcg...@suse.com>
+Cc: Peter Zijlstra <pet...@infradead.org>
+Cc: Toshi Kani <toshi.k...@hp.com>
+Cc: elli...@hpe.com
+Cc: konrad.w...@oracle.com
+Cc: paul.gortma...@windriver.com
+Cc: xen-de...@lists.xenproject.org
+Link: 
http://lkml.kernel.org/r/1458769323-24491-6-git-send-email-toshi.k...@hpe.com
+Signed-off-by: Ingo Molnar <mi...@kernel.org>
+Acked-by: <oher...@suse.de>
+---
+ arch/x86/kernel/cpu/mtrr/generic.c | 24 ++++++++++++++----------
+ arch/x86/kernel/cpu/mtrr/main.c    |  3 +++
+ arch/x86/kernel/cpu/mtrr/mtrr.h    |  1 +
+ 3 files changed, 18 insertions(+), 10 deletions(-)
+
+diff --git a/arch/x86/kernel/cpu/mtrr/generic.c 
b/arch/x86/kernel/cpu/mtrr/generic.c
+index 19f5736..8d7a29e 100644
+--- a/arch/x86/kernel/cpu/mtrr/generic.c
++++ b/arch/x86/kernel/cpu/mtrr/generic.c
+@@ -444,11 +444,24 @@ static void __init print_mtrr_state(void)
+               pr_debug("TOM2: %016llx aka %lldM\n", mtrr_tom2, mtrr_tom2>>20);
+ }
+ 
++/* PAT setup for BP. We need to go through sync steps here */
++void __init mtrr_bp_pat_init(void)
++{
++      unsigned long flags;
++
++      local_irq_save(flags);
++      prepare_set();
++
++      pat_init();
++
++      post_set();
++      local_irq_restore(flags);
++}
++
+ /* Grab all of the MTRR state for this CPU into *state */
+ bool __init get_mtrr_state(void)
+ {
+       struct mtrr_var_range *vrs;
+-      unsigned long flags;
+       unsigned lo, dummy;
+       unsigned int i;
+ 
+@@ -481,15 +494,6 @@ bool __init get_mtrr_state(void)
+ 
+       mtrr_state_set = 1;
+ 
+-      /* PAT setup for BP. We need to go through sync steps here */
+-      local_irq_save(flags);
+-      prepare_set();
+-
+-      pat_init();
+-
+-      post_set();
+-      local_irq_restore(flags);
+-
+       return !!(mtrr_state.enabled & MTRR_STATE_MTRR_ENABLED);
+ }
+ 
+diff --git a/arch/x86/kernel/cpu/mtrr/main.c b/arch/x86/kernel/cpu/mtrr/main.c
+index 8b1947b..7d393ec 100644
+--- a/arch/x86/kernel/cpu/mtrr/main.c
++++ b/arch/x86/kernel/cpu/mtrr/main.c
+@@ -752,6 +752,9 @@ void __init mtrr_bp_init(void)
+                       /* BIOS may override */
+                       __mtrr_enabled = get_mtrr_state();
+ 
++                      if (mtrr_enabled())
++                              mtrr_bp_pat_init();
++
+                       if (mtrr_cleanup(phys_addr)) {
+                               changed_by_mtrr_cleanup = 1;
+                               mtrr_if->set_all();
+diff --git a/arch/x86/kernel/cpu/mtrr/mtrr.h b/arch/x86/kernel/cpu/mtrr/mtrr.h
+index 951884d..6c7ced0 100644
+--- a/arch/x86/kernel/cpu/mtrr/mtrr.h
++++ b/arch/x86/kernel/cpu/mtrr/mtrr.h
+@@ -52,6 +52,7 @@ void set_mtrr_prepare_save(struct set_mtrr_context *ctxt);
+ void fill_mtrr_var_range(unsigned int index,
+               u32 base_lo, u32 base_hi, u32 mask_lo, u32 mask_hi);
+ bool get_mtrr_state(void);
++void mtrr_bp_pat_init(void);
+ 
+ extern void set_mtrr_ops(const struct mtrr_ops *ops);
+ 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/pat-0006-x86-xen-pat-Remove-PAT-table-init-code-from-Xen.patch 
new/patches.suse/pat-0006-x86-xen-pat-Remove-PAT-table-init-code-from-Xen.patch
--- 
old/patches.suse/pat-0006-x86-xen-pat-Remove-PAT-table-init-code-from-Xen.patch 
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.suse/pat-0006-x86-xen-pat-Remove-PAT-table-init-code-from-Xen.patch 
    2016-06-06 21:08:35.000000000 +0200
@@ -0,0 +1,105 @@
+From: Toshi Kani <toshi.k...@hpe.com>
+Date: Wed, 23 Mar 2016 15:42:02 -0600
+Patch-mainline: v4.7-rc1 
+Subject: x86/xen, pat: Remove PAT table init code from Xen
+Git-commit: 88ba281108ed0c25c9d292b48bd3f272fcb90dd0
+Reference: bnc#982991, bnc#974257, bnc#982991
+
+Xen supports PAT without MTRRs for its guests.  In order to
+enable WC attribute, it was necessary for xen_start_kernel()
+to call pat_init_cache_modes() to update PAT table before
+starting guest kernel.
+
+Now that the kernel initializes PAT table to the BIOS handoff
+state when MTRR is disabled, this Xen-specific PAT init code
+is no longer necessary.  Delete it from xen_start_kernel().
+
+Also change __init_cache_modes() to a static function since
+PAT table should not be tweaked by other modules.
+
+Signed-off-by: Toshi Kani <toshi.k...@hpe.com>
+Reviewed-by: Thomas Gleixner <t...@linutronix.de>
+Acked-by: Juergen Gross <jgr...@suse.com>
+Cc: Andrew Morton <a...@linux-foundation.org>
+Cc: Andy Lutomirski <l...@amacapital.net>
+Cc: Borislav Petkov <b...@alien8.de>
+Cc: Borislav Petkov <b...@suse.de>
+Cc: Brian Gerst <brge...@gmail.com>
+Cc: Denys Vlasenko <dvlas...@redhat.com>
+Cc: H. Peter Anvin <h...@zytor.com>
+Cc: Konrad Rzeszutek Wilk <konrad.w...@oracle.com>
+Cc: Linus Torvalds <torva...@linux-foundation.org>
+Cc: Luis R. Rodriguez <mcg...@suse.com>
+Cc: Peter Zijlstra <pet...@infradead.org>
+Cc: Toshi Kani <toshi.k...@hp.com>
+Cc: elli...@hpe.com
+Cc: paul.gortma...@windriver.com
+Cc: xen-de...@lists.xenproject.org
+Link: 
http://lkml.kernel.org/r/1458769323-24491-7-git-send-email-toshi.k...@hpe.com
+Signed-off-by: Ingo Molnar <mi...@kernel.org>
+Acked-by: <oher...@suse.de>
+---
+ arch/x86/include/asm/pat.h | 1 -
+ arch/x86/mm/pat.c          | 2 +-
+ arch/x86/xen/enlighten.c   | 9 ---------
+ 3 files changed, 1 insertion(+), 11 deletions(-)
+
+diff --git a/arch/x86/include/asm/pat.h b/arch/x86/include/asm/pat.h
+index 0ad356c..0b1ff4c 100644
+--- a/arch/x86/include/asm/pat.h
++++ b/arch/x86/include/asm/pat.h
+@@ -7,7 +7,6 @@
+ bool pat_enabled(void);
+ void pat_disable(const char *reason);
+ extern void pat_init(void);
+-void __init_cache_modes(u64);
+ 
+ extern int reserve_memtype(u64 start, u64 end,
+               enum page_cache_mode req_pcm, enum page_cache_mode *ret_pcm);
+diff --git a/arch/x86/mm/pat.c b/arch/x86/mm/pat.c
+index 59ec038..c4c3ddc 100644
+--- a/arch/x86/mm/pat.c
++++ b/arch/x86/mm/pat.c
+@@ -192,7 +192,7 @@ static enum page_cache_mode pat_get_cache_mode(unsigned 
pat_val, char *msg)
+  * configuration.
+  * Using lower indices is preferred, so we start with highest index.
+  */
+-void __init_cache_modes(u64 pat)
++static void __init_cache_modes(u64 pat)
+ {
+       enum page_cache_mode cache;
+       char pat_msg[33];
+diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
+index c469a7c..d8cca75 100644
+--- a/arch/x86/xen/enlighten.c
++++ b/arch/x86/xen/enlighten.c
+@@ -75,7 +75,6 @@
+ #include <asm/mach_traps.h>
+ #include <asm/mwait.h>
+ #include <asm/pci_x86.h>
+-#include <asm/pat.h>
+ #include <asm/cpu.h>
+ 
+ #ifdef CONFIG_ACPI
+@@ -1511,7 +1510,6 @@ asmlinkage __visible void __init xen_start_kernel(void)
+ {
+       struct physdev_set_iopl set_iopl;
+       unsigned long initrd_start = 0;
+-      u64 pat;
+       int rc;
+ 
+       if (!xen_start_info)
+@@ -1618,13 +1616,6 @@ asmlinkage __visible void __init xen_start_kernel(void)
+                                  xen_start_info->nr_pages);
+       xen_reserve_special_pages();
+ 
+-      /*
+-       * Modify the cache mode translation tables to match Xen's PAT
+-       * configuration.
+-       */
+-      rdmsrl(MSR_IA32_CR_PAT, pat);
+-      __init_cache_modes(pat);
+-
+       /* keep using Xen gdt for now; no urgent need to change it */
+ 
+ #ifdef CONFIG_X86_32
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/patches.suse/pat-0007-x86-pat-Document-the-PAT-initialization-sequence.patch
 
new/patches.suse/pat-0007-x86-pat-Document-the-PAT-initialization-sequence.patch
--- 
old/patches.suse/pat-0007-x86-pat-Document-the-PAT-initialization-sequence.patch
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/patches.suse/pat-0007-x86-pat-Document-the-PAT-initialization-sequence.patch
    2016-06-06 21:08:35.000000000 +0200
@@ -0,0 +1,75 @@
+From: Toshi Kani <toshi.k...@hpe.com>
+Date: Wed, 23 Mar 2016 15:42:03 -0600
+Patch-mainline: v4.7-rc1 
+Subject: x86/pat: Document the PAT initialization sequence
+Git-commit: b6350c21cfe8aa9d65e189509a23c0ea4b8362c2
+Reference: bnc#982991, bnc#974257, bnc#982991
+
+Update PAT documentation to describe how PAT is initialized under
+various configurations.
+
+Signed-off-by: Toshi Kani <toshi.k...@hpe.com>
+Reviewed-by: Thomas Gleixner <t...@linutronix.de>
+Cc: Andrew Morton <a...@linux-foundation.org>
+Cc: Andy Lutomirski <l...@amacapital.net>
+Cc: Borislav Petkov <b...@alien8.de>
+Cc: Borislav Petkov <b...@suse.de>
+Cc: Brian Gerst <brge...@gmail.com>
+Cc: Denys Vlasenko <dvlas...@redhat.com>
+Cc: H. Peter Anvin <h...@zytor.com>
+Cc: Juergen Gross <jgr...@suse.com>
+Cc: Linus Torvalds <torva...@linux-foundation.org>
+Cc: Luis R. Rodriguez <mcg...@suse.com>
+Cc: Peter Zijlstra <pet...@infradead.org>
+Cc: Toshi Kani <toshi.k...@hp.com>
+Cc: elli...@hpe.com
+Cc: konrad.w...@oracle.com
+Cc: paul.gortma...@windriver.com
+Cc: xen-de...@lists.xenproject.org
+Link: 
http://lkml.kernel.org/r/1458769323-24491-8-git-send-email-toshi.k...@hpe.com
+Signed-off-by: Ingo Molnar <mi...@kernel.org>
+Acked-by: <oher...@suse.de>
+---
+ Documentation/x86/pat.txt | 32 ++++++++++++++++++++++++++++++++
+ 1 file changed, 32 insertions(+)
+
+diff --git a/Documentation/x86/pat.txt b/Documentation/x86/pat.txt
+index 54944c7..2a4ee63 100644
+--- a/Documentation/x86/pat.txt
++++ b/Documentation/x86/pat.txt
+@@ -196,3 +196,35 @@ Another, more verbose way of getting PAT related debug 
messages is with
+ "debugpat" boot parameter. With this parameter, various debug messages are
+ printed to dmesg log.
+ 
++PAT Initialization
++------------------
++
++The following table describes how PAT is initialized under various
++configurations. The PAT MSR must be updated by Linux in order to support WC
++and WT attributes. Otherwise, the PAT MSR has the value programmed in it
++by the firmware. Note, Xen enables WC attribute in the PAT MSR for guests.
++
++ MTRR PAT   Call Sequence               PAT State  PAT MSR
++ =========================================================
++ E    E     MTRR -> PAT init            Enabled    OS
++ E    D     MTRR -> PAT init            Disabled    -
++ D    E     MTRR -> PAT disable         Disabled   BIOS
++ D    D     MTRR -> PAT disable         Disabled    -
++ -    np/E  PAT  -> PAT disable         Disabled   BIOS
++ -    np/D  PAT  -> PAT disable         Disabled    -
++ E    !P/E  MTRR -> PAT init            Disabled   BIOS
++ D    !P/E  MTRR -> PAT disable         Disabled   BIOS
++ !M   !P/E  MTRR stub -> PAT disable    Disabled   BIOS
++
++ Legend
++ ------------------------------------------------
++ E         Feature enabled in CPU
++ D       Feature disabled/unsupported in CPU
++ np      "nopat" boot option specified
++ !P      CONFIG_X86_PAT option unset
++ !M      CONFIG_MTRR option unset
++ Enabled   PAT state set to enabled
++ Disabled  PAT state set to disabled
++ OS        PAT initializes PAT MSR with OS setting
++ BIOS      PAT keeps PAT MSR with BIOS setting
++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/patches.suse/xen-pv-devmem_is_allowed.patch 
new/patches.suse/xen-pv-devmem_is_allowed.patch
--- old/patches.suse/xen-pv-devmem_is_allowed.patch     2016-05-24 
16:36:09.000000000 +0200
+++ new/patches.suse/xen-pv-devmem_is_allowed.patch     1970-01-01 
01:00:00.000000000 +0100
@@ -1,31 +0,0 @@
-From: oher...@suse.de
-Subject: Disable access to lowmem in a Xen PV guest
-References: bnc#964342
-Patch-mainline: never, upstream has not decided yet
-
-Upstream may prefer a different approach.
-Until then restore xenlinux behaviour.
-
----
- arch/x86/mm/init.c |    3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/arch/x86/mm/init.c
-+++ b/arch/x86/mm/init.c
-@@ -5,6 +5,7 @@
- #include <linux/memblock.h>
- #include <linux/bootmem.h>    /* for max_low_pfn */
- 
-+#include <xen/xen.h>
- #include <asm/cacheflush.h>
- #include <asm/e820.h>
- #include <asm/init.h>
-@@ -637,7 +638,7 @@ void __init init_mem_mapping(void)
- int devmem_is_allowed(unsigned long pagenr)
- {
-       if (pagenr < 256)
--              return 1;
-+              return !xen_pv_domain();
-       if (iomem_is_exclusive(pagenr << PAGE_SHIFT))
-               return 0;
-       if (!page_is_ram(pagenr))

++++++ series.conf ++++++
--- /var/tmp/diff_new_pack.tgoOaE/_old  2016-06-12 18:50:34.000000000 +0200
+++ /var/tmp/diff_new_pack.tgoOaE/_new  2016-06-12 18:50:34.000000000 +0200
@@ -28,6 +28,7 @@
        # Send separate patches upstream if you find a problem...
        ########################################################
        patches.kernel.org/patch-4.6.1
+       patches.kernel.org/patch-4.6.1-2
 
        ########################################################
        # Build fixes that apply to the vanilla kernel too.
@@ -89,6 +90,13 @@
        ########################################################
        # i386
        ########################################################
+       
patches.suse/pat-0001-x86-mm-pat-Add-support-of-non-default-PAT-MSR-settin.patch
+       patches.suse/pat-0002-x86-mm-pat-Add-pat_disable-interface.patch
+       
patches.suse/pat-0003-x86-mm-pat-Replace-cpu_has_pat-with-boot_cpu_has.patch
+       patches.suse/pat-0004-x86-mtrr-Fix-Xorg-crashes-in-Qemu-sessions.patch
+       
patches.suse/pat-0005-x86-mtrr-Fix-PAT-init-handling-when-MTRR-is-disabled.patch
+       
patches.suse/pat-0006-x86-xen-pat-Remove-PAT-table-init-code-from-Xen.patch
+       
patches.suse/pat-0007-x86-pat-Document-the-PAT-initialization-sequence.patch
 
 
        # amd64 | x86-64 | x86_64
@@ -158,6 +166,14 @@
        
patches.arch/arm64-0006-arm64-Select-reboot-driver-for-X-Gene-platform.patch
        
patches.arch/arm64-0010-KVM-ARM-Hack-to-enable-VGIC-mapping-on-64k-PAGE_SIZE.patch
 
+       # network is not working when build as module (bsc#973756)
+       
patches.arch/arm64-1-6-drivers-net-xgene-MAC-and-PHY-configuration-changes.patch
+       
patches.arch/arm64-2-6-drivers-net-xgene-Backward-compatibility-with-older-firmware.patch
+       patches.arch/arm64-3-6-drivers-net-phy-Add-MDIO-driver.patch
+       
patches.arch/arm64-6-6-drivers-net-xgene-Fix-module-load-unload-crash.patch
+
+       patches.arch/arm64-mm-always-take-dirty-state-from-new-pte-in-pte.patch
+
        ########################################################
        # S/390
        ########################################################
@@ -174,6 +190,8 @@
        # Changes to tunable defaults
        patches.suse/readahead-request-tunables.patch
 
+       
patches.fixes/0001-ecryptfs-don-t-allow-mmap-when-the-lower-file-system.patch
+
        ########################################################
        # IPC patches
        ########################################################
@@ -187,7 +205,6 @@
        ########################################################
        patches.suse/connector-read-mostly
        patches.suse/kbd-ignore-gfx.patch
-       patches.suse/xen-pv-devmem_is_allowed.patch
 
        ########################################################
        #
@@ -333,6 +350,7 @@
        # Wireless Networking
        ########################################################
        patches.suse/b43-missing-firmware-info.patch
+       patches.fixes/rtlwifi-Fix-scheduling-while-atomic-error-from-commi
 
        ########################################################
        # ISDN
@@ -355,6 +373,8 @@
        # USB
        ########################################################
 
+       
patches.drivers/0001-Subject-PATCH-USB-xhci-Add-broken-streams-quirk-for-.patch
+
        ########################################################
        # I2C
        ########################################################

++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.tgoOaE/_old  2016-06-12 18:50:34.000000000 +0200
+++ /var/tmp/diff_new_pack.tgoOaE/_new  2016-06-12 18:50:34.000000000 +0200
@@ -1,3 +1,3 @@
-2016-06-02 07:51:56 +0200
-GIT Revision: 9cdcddddcf64630baac14a35e2337738340fc836
+2016-06-10 10:12:44 +0200
+GIT Revision: 2a68ef06204cc0147a96070ce5815eb47e35b33c
 GIT Branch: stable


Reply via email to