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