Hello community, here is the log from the commit of package kernel-source for openSUSE:Factory checked in at 2016-03-17 16:36:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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-03-14 09:57:23.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-debug.changes 2016-03-17 16:49:40.000000000 +0100 @@ -1,0 +2,21 @@ +Wed Mar 16 18:25:04 CET 2016 - tiwai@suse.de + +- Disable relax relocations for x86 loader (bsc#970239). +- commit a92e8a7 + +------------------------------------------------------------------- +Wed Mar 16 15:05:03 CET 2016 - tiwai@suse.de + +- ALSA: usb-audio: Add sanity checks for endpoint accesses + (CVE-2016-2184,bsc#971125). +- ALSA: usb-audio: Fix NULL dereference in + create_fixed_stream_quirk() (CVE-2016-2184,bsc#971125). +- commit 8336511 + +------------------------------------------------------------------- +Mon Mar 14 06:14:55 CET 2016 - jeffm@suse.com + +- Update to 4.5-final. +- commit 3c4edc5 + +------------------------------------------------------------------- @@ -8,0 +30,28 @@ +Wed Mar 9 17:57:41 CET 2016 - jdelvare@suse.de + +- Update s390x config files: Bump NR_CPUS to 256 + It was set to 256 in the SLES kernel 2 years ago already. +- commit 43cf630 + +------------------------------------------------------------------- +Tue Mar 8 19:47:06 CET 2016 - afaerber@suse.de + +- config: armv7hl: Enable DRM_ROCKCHIP + Firefly-RK3288 is among the boards that this will benefit. +- commit 2a3d0e4 + +------------------------------------------------------------------- +Mon Mar 7 14:39:01 CET 2016 - jeffm@suse.com + +- Update to 4.5-rc7. +- commit 924f2b7 + +------------------------------------------------------------------- +Mon Mar 7 14:01:02 CET 2016 - jdelvare@suse.de + +- Update config files: Modularize NF_REJECT_IPV4/V6 + There is no reason why these helper modules should be built-in when + the rest of netfilter is built as modules. +- commit c81fe72 + +------------------------------------------------------------------- @@ -91,0 +141,12 @@ +Thu Mar 3 09:18:25 CET 2016 - ohering@suse.de + +- Refresh patches.suse/xen-pv-devmem_is_allowed.patch. +- commit a55dde2 + +------------------------------------------------------------------- +Wed Mar 2 15:31:03 CET 2016 - ohering@suse.de + +- Disable access to lowmem in a Xen PV guest (bnc#964342). +- commit e7a0da2 + +------------------------------------------------------------------- @@ -138,0 +200,26 @@ +Tue Mar 1 19:14:25 CET 2016 - dmueller@suse.com + +- config: ARM64: Remove hardcoded console setting + Proper way would be to derive it from the ACPI or + Device tree chosen output. +- commit ad7dbb8 + +------------------------------------------------------------------- +Mon Feb 29 17:27:00 CET 2016 - mmarek@suse.com + +- rpm/kernel-binary.spec.in: Obsolete xen-kmp (fate#315712, bsc#968253) +- commit 0e7c4d5 + +------------------------------------------------------------------- +Mon Feb 29 17:26:46 CET 2016 - mmarek@suse.com + +- Copy packaging changes from master to the packaging branch +- commit 0a2490d + +------------------------------------------------------------------- +Mon Feb 29 01:34:11 CET 2016 - jeffm@suse.com + +- Update to 4.5-rc6. +- commit b239884 + +------------------------------------------------------------------- @@ -159 +246 @@ -- commit 2629d17 +- commit c2c16d5 @@ -176,0 +264,16 @@ +Tue Feb 23 17:54:18 CET 2016 - guillaume.gardet@free.fr + +- config: armv7hl: Enable CONFIG_DRM_ETNAVIV + Enable CONFIG_DRM_ETNAVIV for armv7 (default and vanilla) to get graphics + acceleration on top of the Vivante GPU IP cores used in different SoCs, + such as the Freescale i.MX6. +- commit 13c5905 + +------------------------------------------------------------------- +Tue Feb 23 15:49:39 CET 2016 - mmarek@suse.com + +- rpm/kernel-binary.spec.in: Sync the main and -base package dependencies + (bsc#965830#c51). +- commit bf655ed + +------------------------------------------------------------------- @@ -183,0 +287,54 @@ +Mon Feb 22 23:41:16 CET 2016 - jeffm@suse.com + +- Update to v4.5-rc5. +- commit 7733b9a + +------------------------------------------------------------------- +Mon Feb 22 23:36:00 CET 2016 - jeffm@suse.com + +- config: complete disabling THERMAL from s390 + Commit fd5ffd694f9 (Update s390x config files: Disable THERMAL) + left some stray config options around. Clean them up. +- commit 5cd1d35 + +------------------------------------------------------------------- +Mon Feb 22 15:46:49 CET 2016 - jdelvare@suse.de + +- Update config files: Set CRYPTO_CHACHA20POLY1305=m + We support every other crypto algorithm so why not this one. +- commit 68344d0 + +------------------------------------------------------------------- +Mon Feb 22 09:08:40 CET 2016 - jdelvare@suse.de + +- Update config files: Disable SERIAL_8250_RT288X + This option is only useful on MIPS. +- commit a8e3297 + +------------------------------------------------------------------- +Sun Feb 21 21:44:07 CET 2016 - dmueller@suse.com + +- config: armv6hl: Disable CMA and DEBUGFS settings + CMA allocates 16MB of reserved memory on boot, which takes + away a very scarce resource for unpacking the kiwi initrd + and provides little value (is also disabled on other x86*) +- commit 9f2a122 + +------------------------------------------------------------------- +Sat Feb 20 20:31:54 CET 2016 - jdelvare@suse.de + +- Update s390x config files: Disable THERMAL + The THERMAL subsystem serves no purpose on S/390, disable it. It was + already disabled in the SLES kernel long ago. +- commit fd5ffd6 + +------------------------------------------------------------------- +Thu Feb 18 14:06:09 CET 2016 - dsterba@suse.com + +- Fix lint warnings: E: summary-ended-with-dot + kernel-source-vanilla.noarch: E: summary-ended-with-dot (Badness: 89) C + Vanilla Linux kernel sources with minor build fixes. + Summary ends with a dot. +- commit 9050a39 + +------------------------------------------------------------------- @@ -217,0 +375,45 @@ +Wed Feb 17 19:00:58 CET 2016 - mbrugger@suse.com + +- series.conf: mark xgbe-a0 ethernet driver as needs_update +- commit 9efcaae + +------------------------------------------------------------------- +Wed Feb 17 11:37:05 CET 2016 - mbrugger@suse.com + +- Update config files for arm64. + Enable ACPI. +- commit fa0917c + +------------------------------------------------------------------- +Tue Feb 16 15:09:04 CET 2016 - jslaby@suse.cz + +- Refresh patches.suse/stack-unwind.patch. + Remove text_base parameter from read_pointer as it is always 0. +- commit b3ba789 + +------------------------------------------------------------------- +Tue Feb 16 13:56:18 CET 2016 - mmarek@suse.com + +- rpm/kernel-binary.spec.in: Set CONFIG_MODULE_SIG_KEY only if a cert is present + This allows using the unmodified .config from the kernel-source tree in + the expanded tree. +- commit 5fa6ddd + +------------------------------------------------------------------- +Mon Feb 15 15:10:59 CET 2016 - jdelvare@suse.de + +- Update x86 config files: Enable Intel RAPL ++++ 297 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/kernel-source/kernel-debug.changes ++++ and /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-debug.changes 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 Old: ---- linux-4.4.tar.xz New: ---- linux-4.5.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kernel-debug.spec ++++++ --- /var/tmp/diff_new_pack.9DSBad/_old 2016-03-17 16:49:46.000000000 +0100 +++ /var/tmp/diff_new_pack.9DSBad/_new 2016-03-17 16:49:46.000000000 +0100 @@ -19,8 +19,8 @@ # This makes the OBS store the project cert as %_sourcedir/_projectcert.crt # needssslcertforbuild -%define srcversion 4.4 -%define patchversion 4.4.5 +%define srcversion 4.5 +%define patchversion 4.5.0 %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.4.5 +Version: 4.5.0 %if 0%{?is_kotd} -Release: <RELEASE>.g09dee88 +Release: <RELEASE>.gb2c9ae5 %else Release: 0 %endif @@ -94,6 +94,8 @@ # 11.2 - 11.4, but we primarily care about the supported upgrade path. Obsoletes: %name-base < 3.1 %endif +# The following is copied to the -base subpackage as well +# BEGIN COMMON DEPS Requires(pre): coreutils awk # For /usr/lib/module-init-tools/weak-modules2 Requires(post): suse-module-tools @@ -116,6 +118,7 @@ # Install the package providing /etc/SuSE-release early enough, so that # the grub entry has correct title (bnc#757565) Requires(post): distribution-release +# END COMMON DEPS # Do not install p-b and mkinitrd for the install check, the %post script is # able to handle this #!BuildIgnore: perl-Bootloader mkinitrd distribution-release @@ -350,6 +353,8 @@ %obsolete_kmp compat-wireless 3.12 %obsolete_kmp rts5229 1.08 %obsolete_kmp rts_pstor 1.11 +# sle12-sp1 / Leap 42.1 +%obsolete_kmp xen 4.6.1 # Provide the exported symbols as "ksym(symbol) = hash" %define __find_provides %_sourcedir/find-provides %name @@ -482,26 +487,20 @@ fi # copy module signing certificate(s) -found_sigkey=false for f in %_sourcedir/*.crt; do if ! test -e "$f"; then continue fi - if test "${f##*/}" = %CONFIG_MODULE_SIG_KEY; then - found_sigkey=true + case "${f##*/}" in + SLES-UEFI*.crt) + ../scripts/config --set-str CONFIG_MODULE_SIG_KEY "${f##*/}" cp "$f" . - else + ;; + *) cat "$f" >>keyring.crt - fi + ../scripts/config --set-str CONFIG_SYSTEM_TRUSTED_KEYS "keyring.crt" + esac done -if ! $found_sigkey; then - echo "warning: %CONFIG_MODULE_SIG_KEY not found" - # Let certs/Makefile generate a keypair - ../scripts/config --set-str CONFIG_MODULE_SIG_KEY "certs/signing_key.pem" -fi -if test -s keyring.crt; then - ../scripts/config --set-str SYSTEM_TRUSTED_KEYS_FILENAME "keyring.crt" -fi MAKE_ARGS="$MAKE_ARGS %{?_smp_mflags}" @@ -949,9 +948,28 @@ Provides: multiversion(kernel) Conflicts: %name = %version-%release Requires(pre): coreutils awk +# For /usr/lib/module-init-tools/weak-modules2 +Requires(post): suse-module-tools +# For depmod (modutils is a dependency provided by both module-init-tools and +# kmod-compat) Requires(post): modutils -Requires(post): perl-Bootloader +# This Requires is wrong, because the post/postun scripts have a +# test -x update-bootloader, having perl-Bootloader is not a hard requirement. +# But, there is no way to tell rpm or yast to schedule the installation +# of perl-Bootloader before kernel-binary.rpm if both are in the list of +# packages to install/update. Likewise, this is true for mkinitrd. +# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry +Requires(post): perl-Bootloader >= 0.4.15 +%if %build_vanilla Requires(post): mkinitrd +%else +# Require a mkinitrd that can handle usbhid/hid-generic built-in (bnc#773559) +Requires(post): mkinitrd >= 2.7.1 +%endif +# Install the package providing /etc/SuSE-release early enough, so that +# the grub entry has correct title (bnc#757565) +Requires(post): distribution-release + %ifarch ppc64 Provides: kernel-kdump-base = 2.6.28 Obsoletes: kernel-kdump-base <= 2.6.28 @@ -1030,7 +1048,7 @@ %if %CONFIG_KMSG_IDS == "y" %package man -Summary: The collection of man pages generated by the kmsg script. +Summary: The collection of man pages generated by the kmsg script Group: System/Kernel %description man ++++++ kernel-default.spec ++++++ --- /var/tmp/diff_new_pack.9DSBad/_old 2016-03-17 16:49:46.000000000 +0100 +++ /var/tmp/diff_new_pack.9DSBad/_new 2016-03-17 16:49:46.000000000 +0100 @@ -19,8 +19,8 @@ # This makes the OBS store the project cert as %_sourcedir/_projectcert.crt # needssslcertforbuild -%define srcversion 4.4 -%define patchversion 4.4.5 +%define srcversion 4.5 +%define patchversion 4.5.0 %define variant %{nil} %define vanilla_only 0 @@ -61,9 +61,9 @@ Summary: The Standard Kernel License: GPL-2.0 Group: System/Kernel -Version: 4.4.5 +Version: 4.5.0 %if 0%{?is_kotd} -Release: <RELEASE>.g09dee88 +Release: <RELEASE>.gb2c9ae5 %else Release: 0 %endif @@ -94,6 +94,8 @@ # 11.2 - 11.4, but we primarily care about the supported upgrade path. Obsoletes: %name-base < 3.1 %endif +# The following is copied to the -base subpackage as well +# BEGIN COMMON DEPS Requires(pre): coreutils awk # For /usr/lib/module-init-tools/weak-modules2 Requires(post): suse-module-tools @@ -116,6 +118,7 @@ # Install the package providing /etc/SuSE-release early enough, so that # the grub entry has correct title (bnc#757565) Requires(post): distribution-release +# END COMMON DEPS # Do not install p-b and mkinitrd for the install check, the %post script is # able to handle this #!BuildIgnore: perl-Bootloader mkinitrd distribution-release @@ -268,7 +271,7 @@ Source120: kabi.tar.bz2 Source121: sysctl.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build -ExclusiveArch: aarch64 armv6hl armv7hl %ix86 ppc ppc64 ppc64le s390x x86_64 +ExclusiveArch: aarch64 armv6hl armv7hl %ix86 ppc64 ppc64le s390x x86_64 %define kmp_target_cpu %_target_cpu %ifarch %ix86 # Only i386/default supports i586, mark other flavors' packages as i686 @@ -394,6 +397,8 @@ %obsolete_kmp compat-wireless 3.12 %obsolete_kmp rts5229 1.08 %obsolete_kmp rts_pstor 1.11 +# sle12-sp1 / Leap 42.1 +%obsolete_kmp xen 4.6.1 # Provide the exported symbols as "ksym(symbol) = hash" %define __find_provides %_sourcedir/find-provides %name @@ -525,26 +530,20 @@ fi # copy module signing certificate(s) -found_sigkey=false for f in %_sourcedir/*.crt; do if ! test -e "$f"; then continue fi - if test "${f##*/}" = %CONFIG_MODULE_SIG_KEY; then - found_sigkey=true + case "${f##*/}" in + SLES-UEFI*.crt) + ../scripts/config --set-str CONFIG_MODULE_SIG_KEY "${f##*/}" cp "$f" . - else + ;; + *) cat "$f" >>keyring.crt - fi + ../scripts/config --set-str CONFIG_SYSTEM_TRUSTED_KEYS "keyring.crt" + esac done -if ! $found_sigkey; then - echo "warning: %CONFIG_MODULE_SIG_KEY not found" - # Let certs/Makefile generate a keypair - ../scripts/config --set-str CONFIG_MODULE_SIG_KEY "certs/signing_key.pem" -fi -if test -s keyring.crt; then - ../scripts/config --set-str SYSTEM_TRUSTED_KEYS_FILENAME "keyring.crt" -fi MAKE_ARGS="$MAKE_ARGS %{?_smp_mflags}" @@ -992,9 +991,28 @@ Provides: multiversion(kernel) Conflicts: %name = %version-%release Requires(pre): coreutils awk +# For /usr/lib/module-init-tools/weak-modules2 +Requires(post): suse-module-tools +# For depmod (modutils is a dependency provided by both module-init-tools and +# kmod-compat) Requires(post): modutils -Requires(post): perl-Bootloader +# This Requires is wrong, because the post/postun scripts have a +# test -x update-bootloader, having perl-Bootloader is not a hard requirement. +# But, there is no way to tell rpm or yast to schedule the installation +# of perl-Bootloader before kernel-binary.rpm if both are in the list of +# packages to install/update. Likewise, this is true for mkinitrd. +# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry +Requires(post): perl-Bootloader >= 0.4.15 +%if %build_vanilla Requires(post): mkinitrd +%else +# Require a mkinitrd that can handle usbhid/hid-generic built-in (bnc#773559) +Requires(post): mkinitrd >= 2.7.1 +%endif +# Install the package providing /etc/SuSE-release early enough, so that +# the grub entry has correct title (bnc#757565) +Requires(post): distribution-release + %ifarch %ix86 Provides: kernel-trace-base = 3.13 Obsoletes: kernel-trace-base <= 3.13 @@ -1111,7 +1129,7 @@ %if %CONFIG_KMSG_IDS == "y" %package man -Summary: The collection of man pages generated by the kmsg script. +Summary: The collection of man pages generated by the kmsg script Group: System/Kernel %description man ++++++ kernel-docs.spec ++++++ --- /var/tmp/diff_new_pack.9DSBad/_old 2016-03-17 16:49:46.000000000 +0100 +++ /var/tmp/diff_new_pack.9DSBad/_new 2016-03-17 16:49:46.000000000 +0100 @@ -16,7 +16,7 @@ # -%define patchversion 4.4.5 +%define patchversion 4.5.0 %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.4.5 +Version: 4.5.0 %if 0%{?is_kotd} -Release: <RELEASE>.g09dee88 +Release: <RELEASE>.gb2c9ae5 %else Release: 0 %endif ++++++ kernel-lpae.spec ++++++ --- /var/tmp/diff_new_pack.9DSBad/_old 2016-03-17 16:49:46.000000000 +0100 +++ /var/tmp/diff_new_pack.9DSBad/_new 2016-03-17 16:49:46.000000000 +0100 @@ -19,8 +19,8 @@ # This makes the OBS store the project cert as %_sourcedir/_projectcert.crt # needssslcertforbuild -%define srcversion 4.4 -%define patchversion 4.4.5 +%define srcversion 4.5 +%define patchversion 4.5.0 %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.4.5 +Version: 4.5.0 %if 0%{?is_kotd} -Release: <RELEASE>.g09dee88 +Release: <RELEASE>.gb2c9ae5 %else Release: 0 %endif @@ -94,6 +94,8 @@ # 11.2 - 11.4, but we primarily care about the supported upgrade path. Obsoletes: %name-base < 3.1 %endif +# The following is copied to the -base subpackage as well +# BEGIN COMMON DEPS Requires(pre): coreutils awk # For /usr/lib/module-init-tools/weak-modules2 Requires(post): suse-module-tools @@ -116,6 +118,7 @@ # Install the package providing /etc/SuSE-release early enough, so that # the grub entry has correct title (bnc#757565) Requires(post): distribution-release +# END COMMON DEPS # Do not install p-b and mkinitrd for the install check, the %post script is # able to handle this #!BuildIgnore: perl-Bootloader mkinitrd distribution-release @@ -344,6 +347,8 @@ %obsolete_kmp compat-wireless 3.12 %obsolete_kmp rts5229 1.08 %obsolete_kmp rts_pstor 1.11 +# sle12-sp1 / Leap 42.1 +%obsolete_kmp xen 4.6.1 # Provide the exported symbols as "ksym(symbol) = hash" %define __find_provides %_sourcedir/find-provides %name @@ -476,26 +481,20 @@ fi # copy module signing certificate(s) -found_sigkey=false for f in %_sourcedir/*.crt; do if ! test -e "$f"; then continue fi - if test "${f##*/}" = %CONFIG_MODULE_SIG_KEY; then - found_sigkey=true + case "${f##*/}" in + SLES-UEFI*.crt) + ../scripts/config --set-str CONFIG_MODULE_SIG_KEY "${f##*/}" cp "$f" . - else + ;; + *) cat "$f" >>keyring.crt - fi + ../scripts/config --set-str CONFIG_SYSTEM_TRUSTED_KEYS "keyring.crt" + esac done -if ! $found_sigkey; then - echo "warning: %CONFIG_MODULE_SIG_KEY not found" - # Let certs/Makefile generate a keypair - ../scripts/config --set-str CONFIG_MODULE_SIG_KEY "certs/signing_key.pem" -fi -if test -s keyring.crt; then - ../scripts/config --set-str SYSTEM_TRUSTED_KEYS_FILENAME "keyring.crt" -fi MAKE_ARGS="$MAKE_ARGS %{?_smp_mflags}" @@ -943,9 +942,28 @@ Provides: multiversion(kernel) Conflicts: %name = %version-%release Requires(pre): coreutils awk +# For /usr/lib/module-init-tools/weak-modules2 +Requires(post): suse-module-tools +# For depmod (modutils is a dependency provided by both module-init-tools and +# kmod-compat) Requires(post): modutils -Requires(post): perl-Bootloader +# This Requires is wrong, because the post/postun scripts have a +# test -x update-bootloader, having perl-Bootloader is not a hard requirement. +# But, there is no way to tell rpm or yast to schedule the installation +# of perl-Bootloader before kernel-binary.rpm if both are in the list of +# packages to install/update. Likewise, this is true for mkinitrd. +# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry +Requires(post): perl-Bootloader >= 0.4.15 +%if %build_vanilla Requires(post): mkinitrd +%else +# Require a mkinitrd that can handle usbhid/hid-generic built-in (bnc#773559) +Requires(post): mkinitrd >= 2.7.1 +%endif +# Install the package providing /etc/SuSE-release early enough, so that +# the grub entry has correct title (bnc#757565) +Requires(post): distribution-release + %obsolete_rebuilds %name-base %ifarch %ix86 @@ -1018,7 +1036,7 @@ %if %CONFIG_KMSG_IDS == "y" %package man -Summary: The collection of man pages generated by the kmsg script. +Summary: The collection of man pages generated by the kmsg script Group: System/Kernel %description man ++++++ kernel-obs-build.spec ++++++ --- /var/tmp/diff_new_pack.9DSBad/_old 2016-03-17 16:49:46.000000000 +0100 +++ /var/tmp/diff_new_pack.9DSBad/_new 2016-03-17 16:49:46.000000000 +0100 @@ -19,7 +19,7 @@ #!BuildIgnore: post-build-checks -%define patchversion 4.4.5 +%define patchversion 4.5.0 %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.4.5 +Version: 4.5.0 %if 0%{?is_kotd} -Release: <RELEASE>.g09dee88 +Release: <RELEASE>.gb2c9ae5 %else Release: 0 %endif ++++++ kernel-obs-qa.spec ++++++ --- /var/tmp/diff_new_pack.9DSBad/_old 2016-03-17 16:49:46.000000000 +0100 +++ /var/tmp/diff_new_pack.9DSBad/_new 2016-03-17 16:49:46.000000000 +0100 @@ -17,7 +17,7 @@ # needsrootforbuild -%define patchversion 4.4.5 +%define patchversion 4.5.0 %define variant %{nil} %include %_sourcedir/kernel-spec-macros @@ -36,9 +36,9 @@ Summary: Basic QA tests for the kernel License: GPL-2.0 Group: SLES -Version: 4.4.5 +Version: 4.5.0 %if 0%{?is_kotd} -Release: <RELEASE>.g09dee88 +Release: <RELEASE>.gb2c9ae5 %else Release: 0 %endif ++++++ kernel-pae.spec ++++++ --- /var/tmp/diff_new_pack.9DSBad/_old 2016-03-17 16:49:46.000000000 +0100 +++ /var/tmp/diff_new_pack.9DSBad/_new 2016-03-17 16:49:46.000000000 +0100 @@ -19,8 +19,8 @@ # This makes the OBS store the project cert as %_sourcedir/_projectcert.crt # needssslcertforbuild -%define srcversion 4.4 -%define patchversion 4.4.5 +%define srcversion 4.5 +%define patchversion 4.5.0 %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.4.5 +Version: 4.5.0 %if 0%{?is_kotd} -Release: <RELEASE>.g09dee88 +Release: <RELEASE>.gb2c9ae5 %else Release: 0 %endif @@ -94,6 +94,8 @@ # 11.2 - 11.4, but we primarily care about the supported upgrade path. Obsoletes: %name-base < 3.1 %endif +# The following is copied to the -base subpackage as well +# BEGIN COMMON DEPS Requires(pre): coreutils awk # For /usr/lib/module-init-tools/weak-modules2 Requires(post): suse-module-tools @@ -116,6 +118,7 @@ # Install the package providing /etc/SuSE-release early enough, so that # the grub entry has correct title (bnc#757565) Requires(post): distribution-release +# END COMMON DEPS # Do not install p-b and mkinitrd for the install check, the %post script is # able to handle this #!BuildIgnore: perl-Bootloader mkinitrd distribution-release @@ -364,6 +367,8 @@ %obsolete_kmp compat-wireless 3.12 %obsolete_kmp rts5229 1.08 %obsolete_kmp rts_pstor 1.11 +# sle12-sp1 / Leap 42.1 +%obsolete_kmp xen 4.6.1 # Provide the exported symbols as "ksym(symbol) = hash" %define __find_provides %_sourcedir/find-provides %name @@ -502,26 +507,20 @@ fi # copy module signing certificate(s) -found_sigkey=false for f in %_sourcedir/*.crt; do if ! test -e "$f"; then continue fi - if test "${f##*/}" = %CONFIG_MODULE_SIG_KEY; then - found_sigkey=true + case "${f##*/}" in + SLES-UEFI*.crt) + ../scripts/config --set-str CONFIG_MODULE_SIG_KEY "${f##*/}" cp "$f" . - else + ;; + *) cat "$f" >>keyring.crt - fi + ../scripts/config --set-str CONFIG_SYSTEM_TRUSTED_KEYS "keyring.crt" + esac done -if ! $found_sigkey; then - echo "warning: %CONFIG_MODULE_SIG_KEY not found" - # Let certs/Makefile generate a keypair - ../scripts/config --set-str CONFIG_MODULE_SIG_KEY "certs/signing_key.pem" -fi -if test -s keyring.crt; then - ../scripts/config --set-str SYSTEM_TRUSTED_KEYS_FILENAME "keyring.crt" -fi MAKE_ARGS="$MAKE_ARGS %{?_smp_mflags}" @@ -969,9 +968,28 @@ Provides: multiversion(kernel) Conflicts: %name = %version-%release Requires(pre): coreutils awk +# For /usr/lib/module-init-tools/weak-modules2 +Requires(post): suse-module-tools +# For depmod (modutils is a dependency provided by both module-init-tools and +# kmod-compat) Requires(post): modutils -Requires(post): perl-Bootloader +# This Requires is wrong, because the post/postun scripts have a +# test -x update-bootloader, having perl-Bootloader is not a hard requirement. +# But, there is no way to tell rpm or yast to schedule the installation +# of perl-Bootloader before kernel-binary.rpm if both are in the list of +# packages to install/update. Likewise, this is true for mkinitrd. +# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry +Requires(post): perl-Bootloader >= 0.4.15 +%if %build_vanilla Requires(post): mkinitrd +%else +# Require a mkinitrd that can handle usbhid/hid-generic built-in (bnc#773559) +Requires(post): mkinitrd >= 2.7.1 +%endif +# Install the package providing /etc/SuSE-release early enough, so that +# the grub entry has correct title (bnc#757565) +Requires(post): distribution-release + %ifarch %ix86 Provides: kernel-vmi-base = 2.6.38 Obsoletes: kernel-vmi-base <= 2.6.38 @@ -1074,7 +1092,7 @@ %if %CONFIG_KMSG_IDS == "y" %package man -Summary: The collection of man pages generated by the kmsg script. +Summary: The collection of man pages generated by the kmsg script Group: System/Kernel %description man ++++++ kernel-source.spec ++++++ --- /var/tmp/diff_new_pack.9DSBad/_old 2016-03-17 16:49:46.000000000 +0100 +++ /var/tmp/diff_new_pack.9DSBad/_new 2016-03-17 16:49:46.000000000 +0100 @@ -17,8 +17,8 @@ # icecream 0 -%define srcversion 4.4 -%define patchversion 4.4.5 +%define srcversion 4.5 +%define patchversion 4.5.0 %define variant %{nil} %define vanilla_only 0 @@ -30,9 +30,9 @@ Summary: The Linux Kernel Sources License: GPL-2.0 Group: Development/Sources -Version: 4.4.5 +Version: 4.5.0 %if 0%{?is_kotd} -Release: <RELEASE>.g09dee88 +Release: <RELEASE>.gb2c9ae5 %else Release: 0 %endif @@ -152,7 +152,7 @@ %source_timestamp %package vanilla -Summary: Vanilla Linux kernel sources with minor build fixes. +Summary: Vanilla Linux kernel sources with minor build fixes Group: Development/Sources AutoReqProv: off Provides: %name-vanilla = %version-%source_rel ++++++ kernel-syms.spec ++++++ --- /var/tmp/diff_new_pack.9DSBad/_old 2016-03-17 16:49:46.000000000 +0100 +++ /var/tmp/diff_new_pack.9DSBad/_new 2016-03-17 16:49:46.000000000 +0100 @@ -24,10 +24,10 @@ Summary: Kernel Symbol Versions (modversions) License: GPL-2.0 Group: Development/Sources -Version: 4.4.5 +Version: 4.5.0 %if %using_buildservice %if 0%{?is_kotd} -Release: <RELEASE>.g09dee88 +Release: <RELEASE>.gb2c9ae5 %else Release: 0 %endif @@ -38,7 +38,7 @@ Url: http://www.kernel.org/ AutoReqProv: off BuildRequires: coreutils -%ifarch aarch64 armv6hl armv7hl %ix86 ppc ppc64 ppc64le s390x x86_64 +%ifarch aarch64 armv6hl armv7hl %ix86 ppc64 ppc64le s390x x86_64 Requires: kernel-default-devel = %version-%source_rel %endif %ifarch armv7hl @@ -53,7 +53,7 @@ Source: README.KSYMS Requires: kernel-devel%variant = %version-%source_rel BuildRoot: %{_tmppath}/%{name}-%{version}-build -ExclusiveArch: %ix86 aarch64 armv6hl armv7hl ppc ppc64 ppc64le s390x x86_64 +ExclusiveArch: %ix86 aarch64 armv6hl armv7hl ppc64 ppc64le s390x x86_64 Prefix: /usr/src %description ++++++ kernel-vanilla.spec ++++++ --- /var/tmp/diff_new_pack.9DSBad/_old 2016-03-17 16:49:46.000000000 +0100 +++ /var/tmp/diff_new_pack.9DSBad/_new 2016-03-17 16:49:46.000000000 +0100 @@ -19,8 +19,8 @@ # This makes the OBS store the project cert as %_sourcedir/_projectcert.crt # needssslcertforbuild -%define srcversion 4.4 -%define patchversion 4.4.5 +%define srcversion 4.5 +%define patchversion 4.5.0 %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.4.5 +Version: 4.5.0 %if 0%{?is_kotd} -Release: <RELEASE>.g09dee88 +Release: <RELEASE>.gb2c9ae5 %else Release: 0 %endif @@ -94,6 +94,8 @@ # 11.2 - 11.4, but we primarily care about the supported upgrade path. Obsoletes: %name-base < 3.1 %endif +# The following is copied to the -base subpackage as well +# BEGIN COMMON DEPS Requires(pre): coreutils awk # For /usr/lib/module-init-tools/weak-modules2 Requires(post): suse-module-tools @@ -116,6 +118,7 @@ # Install the package providing /etc/SuSE-release early enough, so that # the grub entry has correct title (bnc#757565) Requires(post): distribution-release +# END COMMON DEPS # Do not install p-b and mkinitrd for the install check, the %post script is # able to handle this #!BuildIgnore: perl-Bootloader mkinitrd distribution-release @@ -218,7 +221,7 @@ Source120: kabi.tar.bz2 Source121: sysctl.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build -ExclusiveArch: aarch64 armv6hl armv7hl %ix86 ppc ppc64 ppc64le s390x x86_64 +ExclusiveArch: aarch64 armv6hl armv7hl %ix86 ppc64 ppc64le s390x x86_64 %define kmp_target_cpu %_target_cpu %ifarch %ix86 # Only i386/default supports i586, mark other flavors' packages as i686 @@ -344,6 +347,8 @@ %obsolete_kmp compat-wireless 3.12 %obsolete_kmp rts5229 1.08 %obsolete_kmp rts_pstor 1.11 +# sle12-sp1 / Leap 42.1 +%obsolete_kmp xen 4.6.1 # Provide the exported symbols as "ksym(symbol) = hash" %define __find_provides %_sourcedir/find-provides %name @@ -475,26 +480,20 @@ fi # copy module signing certificate(s) -found_sigkey=false for f in %_sourcedir/*.crt; do if ! test -e "$f"; then continue fi - if test "${f##*/}" = %CONFIG_MODULE_SIG_KEY; then - found_sigkey=true + case "${f##*/}" in + SLES-UEFI*.crt) + ../scripts/config --set-str CONFIG_MODULE_SIG_KEY "${f##*/}" cp "$f" . - else + ;; + *) cat "$f" >>keyring.crt - fi + ../scripts/config --set-str CONFIG_SYSTEM_TRUSTED_KEYS "keyring.crt" + esac done -if ! $found_sigkey; then - echo "warning: %CONFIG_MODULE_SIG_KEY not found" - # Let certs/Makefile generate a keypair - ../scripts/config --set-str CONFIG_MODULE_SIG_KEY "certs/signing_key.pem" -fi -if test -s keyring.crt; then - ../scripts/config --set-str SYSTEM_TRUSTED_KEYS_FILENAME "keyring.crt" -fi MAKE_ARGS="$MAKE_ARGS %{?_smp_mflags}" @@ -942,9 +941,28 @@ Provides: multiversion(kernel) Conflicts: %name = %version-%release Requires(pre): coreutils awk +# For /usr/lib/module-init-tools/weak-modules2 +Requires(post): suse-module-tools +# For depmod (modutils is a dependency provided by both module-init-tools and +# kmod-compat) Requires(post): modutils -Requires(post): perl-Bootloader +# This Requires is wrong, because the post/postun scripts have a +# test -x update-bootloader, having perl-Bootloader is not a hard requirement. +# But, there is no way to tell rpm or yast to schedule the installation +# of perl-Bootloader before kernel-binary.rpm if both are in the list of +# packages to install/update. Likewise, this is true for mkinitrd. +# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry +Requires(post): perl-Bootloader >= 0.4.15 +%if %build_vanilla Requires(post): mkinitrd +%else +# Require a mkinitrd that can handle usbhid/hid-generic built-in (bnc#773559) +Requires(post): mkinitrd >= 2.7.1 +%endif +# Install the package providing /etc/SuSE-release early enough, so that +# the grub entry has correct title (bnc#757565) +Requires(post): distribution-release + %obsolete_rebuilds %name-base %ifarch %ix86 @@ -1015,7 +1033,7 @@ %if %CONFIG_KMSG_IDS == "y" %package man -Summary: The collection of man pages generated by the kmsg script. +Summary: The collection of man pages generated by the kmsg script Group: System/Kernel %description man ++++++ config.conf ++++++ --- /var/tmp/diff_new_pack.9DSBad/_old 2016-03-17 16:49:46.000000000 +0100 +++ /var/tmp/diff_new_pack.9DSBad/_new 2016-03-17 16:49:46.000000000 +0100 @@ -17,8 +17,6 @@ +x86_64 -syms x86_64/debug +x86_64 x86_64/vanilla -+ppc ppc/default -+ppc ppc/vanilla +ppc64 ppc64/default +ppc64 -syms ppc64/debug +ppc64 ppc64/vanilla ++++++ config.sh ++++++ --- /var/tmp/diff_new_pack.9DSBad/_old 2016-03-17 16:49:46.000000000 +0100 +++ /var/tmp/diff_new_pack.9DSBad/_new 2016-03-17 16:49:46.000000000 +0100 @@ -1,5 +1,5 @@ # The version of the main tarball to use -SRCVERSION=4.4 +SRCVERSION=4.5 # variant of the kernel-source package, either empty or "-rt" VARIANT= # buildservice projects to build the kernel against ++++++ config.tar.bz2 ++++++ ++++ 32825 lines of diff (skipped) ++++++ kernel-binary.spec.in ++++++ --- /var/tmp/diff_new_pack.9DSBad/_old 2016-03-17 16:49:47.000000000 +0100 +++ /var/tmp/diff_new_pack.9DSBad/_new 2016-03-17 16:49:47.000000000 +0100 @@ -94,6 +94,8 @@ # 11.2 - 11.4, but we primarily care about the supported upgrade path. Obsoletes: %name-base < 3.1 %endif +# The following is copied to the -base subpackage as well +# BEGIN COMMON DEPS Requires(pre): coreutils awk # For /usr/lib/module-init-tools/weak-modules2 Requires(post): suse-module-tools @@ -116,6 +118,7 @@ # Install the package providing /etc/SuSE-release early enough, so that # the grub entry has correct title (bnc#757565) Requires(post): distribution-release +# END COMMON DEPS # Do not install p-b and mkinitrd for the install check, the %post script is # able to handle this #!BuildIgnore: perl-Bootloader mkinitrd distribution-release @@ -220,6 +223,8 @@ %obsolete_kmp compat-wireless 3.12 %obsolete_kmp rts5229 1.08 %obsolete_kmp rts_pstor 1.11 +# sle12-sp1 / Leap 42.1 +%obsolete_kmp xen 4.6.1 # Provide the exported symbols as "ksym(symbol) = hash" %define __find_provides %_sourcedir/find-provides %name @@ -351,26 +356,20 @@ fi # copy module signing certificate(s) -found_sigkey=false for f in %_sourcedir/*.crt; do if ! test -e "$f"; then continue fi - if test "${f##*/}" = %CONFIG_MODULE_SIG_KEY; then - found_sigkey=true + case "${f##*/}" in + SLES-UEFI*.crt) + ../scripts/config --set-str CONFIG_MODULE_SIG_KEY "${f##*/}" cp "$f" . - else + ;; + *) cat "$f" >>keyring.crt - fi + ../scripts/config --set-str CONFIG_SYSTEM_TRUSTED_KEYS "keyring.crt" + esac done -if ! $found_sigkey; then - echo "warning: %CONFIG_MODULE_SIG_KEY not found" - # Let certs/Makefile generate a keypair - ../scripts/config --set-str CONFIG_MODULE_SIG_KEY "certs/signing_key.pem" -fi -if test -s keyring.crt; then - ../scripts/config --set-str SYSTEM_TRUSTED_KEYS_FILENAME "keyring.crt" -fi MAKE_ARGS="$MAKE_ARGS %{?_smp_mflags}" @@ -817,10 +816,7 @@ Provides: kernel-base = %version-%source_rel Provides: multiversion(kernel) Conflicts: %name = %version-%release -Requires(pre): coreutils awk -Requires(post): modutils -Requires(post): perl-Bootloader -Requires(post): mkinitrd +@COMMON_DEPS@ @PROVIDES_OBSOLETES_BASE@ %obsolete_rebuilds %name-base %ifarch %ix86 @@ -891,7 +887,7 @@ %if %CONFIG_KMSG_IDS == "y" %package man -Summary: The collection of man pages generated by the kmsg script. +Summary: The collection of man pages generated by the kmsg script Group: System/Kernel %description man ++++++ kernel-source.spec.in ++++++ --- /var/tmp/diff_new_pack.9DSBad/_old 2016-03-17 16:49:47.000000000 +0100 +++ /var/tmp/diff_new_pack.9DSBad/_new 2016-03-17 16:49:47.000000000 +0100 @@ -152,7 +152,7 @@ %source_timestamp %package vanilla -Summary: Vanilla Linux kernel sources with minor build fixes. +Summary: Vanilla Linux kernel sources with minor build fixes Group: Development/Sources AutoReqProv: off Provides: %name-vanilla = %version-%source_rel ++++++ linux-4.4.tar.xz -> linux-4.5.tar.xz ++++++ /work/SRC/openSUSE:Factory/kernel-source/linux-4.4.tar.xz /work/SRC/openSUSE:Factory/.kernel-source.new/linux-4.5.tar.xz differ: char 26, line 1 ++++++ mkspec ++++++ --- /var/tmp/diff_new_pack.9DSBad/_old 2016-03-17 16:49:47.000000000 +0100 +++ /var/tmp/diff_new_pack.9DSBad/_new 2016-03-17 16:49:47.000000000 +0100 @@ -111,6 +111,7 @@ SUMMARY => $summary, DESCRIPTION => $description, ARCHS => join(" ", arch2rpm(@{$flavor_archs{$flavor}})), + COMMON_DEPS => $templates{common_deps}, %obsolete_macros ); } @@ -208,6 +209,13 @@ local $/ = undef; $res{$template} = <$fh>; close($fh); + next unless $template eq "binary"; + if ($res{$template} =~ /^# BEGIN COMMON DEPS\n?(.*)^# END COMMON DEPS/ms) { + $res{common_deps} = $1; + } else { + print STDERR "warning: Expected # BEGIN COMMON DEPS in kernel-binary.spec.in\n"; + $res{common_deps} = ""; + } } { xopen(my $fh, '<', "$dir/constraints.in"); ++++++ patches.arch.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/ppc64le-ile-0003-powerpc-Add-hack-to-make-ppc64le-work-on-hosts-witho.patch new/patches.arch/ppc64le-ile-0003-powerpc-Add-hack-to-make-ppc64le-work-on-hosts-witho.patch --- old/patches.arch/ppc64le-ile-0003-powerpc-Add-hack-to-make-ppc64le-work-on-hosts-witho.patch 2016-01-15 14:18:22.000000000 +0100 +++ new/patches.arch/ppc64le-ile-0003-powerpc-Add-hack-to-make-ppc64le-work-on-hosts-witho.patch 2016-01-26 18:36:00.000000000 +0100 @@ -3,7 +3,7 @@ Date: Mon, 23 Dec 2013 02:01:01 +0100 Subject: [PATCH 3/4] powerpc: Add hack to make ppc64le work on hosts without ILE -Patch-Mainline: no +Patch-Mainline: Submitted, https://lists.ozlabs.org/pipermail/linuxppc-dev/2013-December/114140.html Some hypervisors don't implement the H_SET_MODE hypercall that we need to set the ILE bit in LPCR which allows us to execute interrupts @@ -44,7 +44,7 @@ +obj-$(CONFIG_PPC_BOOK3S_64) += fake_ile.o +endif - # Disable GCOV in odd or sensitive code + # Disable GCOV & sanitizers in odd or sensitive code GCOV_PROFILE_prom_init.o := n diff --git a/arch/powerpc/kernel/fake_ile.S b/arch/powerpc/kernel/fake_ile.S new file mode 100644 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.arch/s390-message-catalog.diff new/patches.arch/s390-message-catalog.diff --- old/patches.arch/s390-message-catalog.diff 2016-01-15 14:18:22.000000000 +0100 +++ new/patches.arch/s390-message-catalog.diff 2016-01-26 18:36:00.000000000 +0100 @@ -1,8 +1,7 @@ From: Gerald Schaefer <geraldsc@de.ibm.com> Subject: Kernel message catalog. -Patch-mainline: Probably never +Patch-mainline: No, upstream seems uninterested. References: bnc#549193,FATE#306999,LTC#57210 -Patch-mainline: not yet Description: Add support for automatic message tags to the printk macro families dev_xyz and pr_xyz. The message tag consists of a @@ -8076,7 +8075,7 @@ +#include <linux/device.h> #include <asm/uaccess.h> - + #include <asm-generic/sections.h> @@ -2520,6 +2522,49 @@ void kmsg_dump_rewind(struct kmsg_dumper raw_spin_unlock_irqrestore(&logbuf_lock, flags); } ++++++ patches.drivers.tar.bz2 ++++++ ++++ 5514 lines of diff (skipped) ++++++ patches.fixes.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/0001-drm-i915-Fix-double-unref-in-intelfb_alloc-failure-p.patch new/patches.fixes/0001-drm-i915-Fix-double-unref-in-intelfb_alloc-failure-p.patch --- old/patches.fixes/0001-drm-i915-Fix-double-unref-in-intelfb_alloc-failure-p.patch 2016-03-04 09:07:00.000000000 +0100 +++ new/patches.fixes/0001-drm-i915-Fix-double-unref-in-intelfb_alloc-failure-p.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,51 +0,0 @@ -From: Lukas Wunner <lukas@wunner.de> -Date: Thu, 22 Oct 2015 13:37:18 +0200 -Subject: drm/i915: Fix double unref in intelfb_alloc failure path -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -Git-commit: ca40ba855c9e3f19f2715fd8a1ced5128359d3d9 -Patch-mainline: v4.5-rc1 -References: bnc#962866 - -In intelfb_alloc(), if the call to intel_pin_and_fence_fb_obj() fails, -the bo is unrefed twice: By drm_framebuffer_remove() and once more by -drm_gem_object_unreference(). Fix it. - -Reported-by: Ville Syrjälä <ville.syrjala@linux.intel.com> -Signed-off-by: Lukas Wunner <lukas@wunner.de> -Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> -Link: http://patchwork.freedesktop.org/patch/msgid/cd7b33330621a350b0159ec5e098297... -Signed-off-by: Jani Nikula <jani.nikula@intel.com> -Signed-off-by: Jiri Slaby <jslaby@suse.cz> ---- - drivers/gpu/drm/i915/intel_fbdev.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c -index 4fd5fdfef6bd..ec82b51dde3d 100644 ---- a/drivers/gpu/drm/i915/intel_fbdev.c -+++ b/drivers/gpu/drm/i915/intel_fbdev.c -@@ -156,8 +156,9 @@ static int intelfb_alloc(struct drm_fb_helper *helper, - - fb = __intel_framebuffer_create(dev, &mode_cmd, obj); - if (IS_ERR(fb)) { -+ drm_gem_object_unreference(&obj->base); - ret = PTR_ERR(fb); -- goto out_unref; -+ goto out; - } - - /* Flush everything out, we'll be doing GTT only from now on */ -@@ -173,8 +174,6 @@ static int intelfb_alloc(struct drm_fb_helper *helper, - - out_fb: - drm_framebuffer_remove(fb); --out_unref: -- drm_gem_object_unreference(&obj->base); - out: - return ret; - } --- -2.7.0 - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/0002-drm-i915-Fix-failure-paths-around-initial-fbdev-allo.patch new/patches.fixes/0002-drm-i915-Fix-failure-paths-around-initial-fbdev-allo.patch --- old/patches.fixes/0002-drm-i915-Fix-failure-paths-around-initial-fbdev-allo.patch 2016-03-04 09:07:00.000000000 +0100 +++ new/patches.fixes/0002-drm-i915-Fix-failure-paths-around-initial-fbdev-allo.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,149 +0,0 @@ -From: Tvrtko Ursulin <tvrtko.ursulin@intel.com> -Date: Tue, 30 Jun 2015 10:06:27 +0100 -Subject: drm/i915: Fix failure paths around initial fbdev allocation -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -Git-commit: 51f1385b90c1ad30896bd62b1ff97aa4edb1a163 -Patch-mainline: v4.5-rc1 -References: bnc#962866 - -We had two failure modes here: - -1. -Deadlock in intelfb_alloc failure path where it calls -drm_framebuffer_remove, which grabs the struct mutex and intelfb_create -(caller of intelfb_alloc) was already holding it. - -2. -Deadlock in intelfb_create failure path where it calls -drm_framebuffer_unreference, which grabs the struct mutex and -intelfb_create was already holding it. - -[Daniel Vetter on why struct_mutex needs to be locked in the second half -of intelfb_create: "The vma [for the fbdev] is pinned, the problem is -that we re-lookup it a few times, which is racy. We should instead track -the vma directly, but oh well we don't."] - -v2: - * Reformat commit msg to 72 chars. (Lukas Wunner) - * Add third failure mode. (Lukas Wunner) - -v5: - * Rebase on drm-intel-nightly 2015y-09m-01d-09h-06m-08s UTC, - rephrase commit message. (Jani Nicula) - -v6: - * In intelfb_alloc, if __intel_framebuffer_create failed, - fb will be an ERR_PTR, thus not null. So in the failure - path we need to check for IS_ERR_OR_NULL to avoid calling - drm_framebuffer_remove on the ERR_PTR. (Lukas Wunner) - * Since this is init code a drm_framebuffer_unreference should - be all we need. drm_framebuffer_remove is for framebuffers - that userspace has created - and is getting somewhat - defeatured. (Daniel Vetter) - -v7: - * Clarify why struct_mutex needs to be locked in the second half - of intelfb_create. (Daniel Vetter) - -Fixes: 60a5ca015ffd ("drm/i915: Add locking around - framebuffer_references--") -Reported-by: Lukas Wunner <lukas@wunner.de> -Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> -[Lukas: Create v3 + v4 + v5 + v6 + v7 based on Tvrtko's v2] -Signed-off-by: Lukas Wunner <lukas@wunner.de> -Cc: Chris Wilson <chris@chris-wilson.co.uk> -Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> -Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> -Link: http://patchwork.freedesktop.org/patch/msgid/47d4e88c91b3bf0f7a280cabec54c8c... -Signed-off-by: Jani Nikula <jani.nikula@intel.com> - -Signed-off-by: Jiri Slaby <jslaby@suse.cz> ---- - drivers/gpu/drm/i915/intel_fbdev.c | 20 ++++++++++++-------- - 1 file changed, 12 insertions(+), 8 deletions(-) - -diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c -index ec82b51dde3d..12597b532e0e 100644 ---- a/drivers/gpu/drm/i915/intel_fbdev.c -+++ b/drivers/gpu/drm/i915/intel_fbdev.c -@@ -119,7 +119,7 @@ static int intelfb_alloc(struct drm_fb_helper *helper, - { - struct intel_fbdev *ifbdev = - container_of(helper, struct intel_fbdev, helper); -- struct drm_framebuffer *fb; -+ struct drm_framebuffer *fb = NULL; - struct drm_device *dev = helper->dev; - struct drm_i915_private *dev_priv = to_i915(dev); - struct drm_mode_fb_cmd2 mode_cmd = {}; -@@ -138,6 +138,8 @@ static int intelfb_alloc(struct drm_fb_helper *helper, - mode_cmd.pixel_format = drm_mode_legacy_fb_format(sizes->surface_bpp, - sizes->surface_depth); - -+ mutex_lock(&dev->struct_mutex); -+ - size = mode_cmd.pitches[0] * mode_cmd.height; - size = PAGE_ALIGN(size); - -@@ -165,16 +167,19 @@ static int intelfb_alloc(struct drm_fb_helper *helper, - ret = intel_pin_and_fence_fb_obj(NULL, fb, NULL, NULL, NULL); - if (ret) { - DRM_ERROR("failed to pin obj: %d\n", ret); -- goto out_fb; -+ goto out; - } - -+ mutex_unlock(&dev->struct_mutex); -+ - ifbdev->fb = to_intel_framebuffer(fb); - - return 0; - --out_fb: -- drm_framebuffer_remove(fb); - out: -+ mutex_unlock(&dev->struct_mutex); -+ if (!IS_ERR_OR_NULL(fb)) -+ drm_framebuffer_unreference(fb); - return ret; - } - -@@ -192,8 +197,6 @@ static int intelfb_create(struct drm_fb_helper *helper, - int size, ret; - bool prealloc = false; - -- mutex_lock(&dev->struct_mutex); -- - if (intel_fb && - (sizes->fb_width > intel_fb->base.width || - sizes->fb_height > intel_fb->base.height)) { -@@ -208,7 +211,7 @@ static int intelfb_create(struct drm_fb_helper *helper, - DRM_DEBUG_KMS("no BIOS fb, allocating a new one\n"); - ret = intelfb_alloc(helper, sizes); - if (ret) -- goto out_unlock; -+ return ret; - intel_fb = ifbdev->fb; - } else { - DRM_DEBUG_KMS("re-using BIOS fb\n"); -@@ -220,6 +223,8 @@ static int intelfb_create(struct drm_fb_helper *helper, - obj = intel_fb->obj; - size = obj->base.size; - -+ mutex_lock(&dev->struct_mutex); -+ - info = drm_fb_helper_alloc_fbi(helper); - if (IS_ERR(info)) { - ret = PTR_ERR(info); -@@ -281,7 +286,6 @@ out_destroy_fbi: - out_unpin: - i915_gem_object_ggtt_unpin(obj); - drm_gem_object_unreference(&obj->base); --out_unlock: - mutex_unlock(&dev->struct_mutex); - return ret; - } --- -2.7.0 - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/0003-drm-i915-Pin-the-ifbdev-for-the-info-system_base-GGT.patch new/patches.fixes/0003-drm-i915-Pin-the-ifbdev-for-the-info-system_base-GGT.patch --- old/patches.fixes/0003-drm-i915-Pin-the-ifbdev-for-the-info-system_base-GGT.patch 2016-03-04 09:07:00.000000000 +0100 +++ new/patches.fixes/0003-drm-i915-Pin-the-ifbdev-for-the-info-system_base-GGT.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,100 +0,0 @@ -From: Chris Wilson <chris@chris-wilson.co.uk> -Date: Fri, 4 Dec 2015 16:05:26 +0000 -Subject: drm/i915: Pin the ifbdev for the info->system_base GGTT mmapping -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -Git-commit: 0c82312f3f15538f4e6ceda2a82caee8fbac4501 -Patch-mainline: v4.5-rc1 -References: bnc#962866 - -A long time ago (before 3.14) we relied on a permanent pinning of the -ifbdev to lock the fb in place inside the GGTT. However, the -introduction of stealing the BIOS framebuffer and reusing its address in -the GGTT for the fbdev has muddied waters and we use an inherited fb. -However, the inherited fb is only pinned whilst it is active and we no -longer have an explicit pin for the info->system_base mmapping used by -the fbdev. The result is that after some aperture pressure the fbdev may -be evicted, but we continue to write the fbcon into the same GGTT -address - overwriting anything else that may be put into that offset. -The effect is most pronounced across suspend/resume as -intel_fbdev_set_suspend() does a full clear over the whole scanout. - -v2: Only unpin the intel_fb is we allocate it. If we inherit the fb from -the BIOS, we do not own the pinned vma (except for the reference we add -in this patch for our access via info->screen_base). - -v3: Finish balancing the vma pinning for the normal !preallocated case. - -v4: Try to simplify the pinning even further. -v5: Leak the VMA (cleaned up by object-free) to avoid complicated error paths. - -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> -Cc: "Goel, Akash" <akash.goel@intel.com> -Cc: Daniel Vetter <daniel.vetter@ffwll.ch> -Cc: Jesse Barnes <jbarnes@virtuousgeek.org> -Cc: Lukas Wunner <lukas@wunner.de> -Cc: drm-intel-fixes@lists.freedesktop.org -Link: http://patchwork.freedesktop.org/patch/msgid/1449245126-26158-1-git-send-ema... -Tested-by: Ville Syrjälä <ville.syrjala@linux.intel.com> -Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> -Signed-off-by: Jiri Slaby <jslaby@suse.cz> ---- - drivers/gpu/drm/i915/intel_fbdev.c | 20 +++++++++++++------- - 1 file changed, 13 insertions(+), 7 deletions(-) - -diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c -index 12597b532e0e..0722acc1599e 100644 ---- a/drivers/gpu/drm/i915/intel_fbdev.c -+++ b/drivers/gpu/drm/i915/intel_fbdev.c -@@ -163,13 +163,6 @@ static int intelfb_alloc(struct drm_fb_helper *helper, - goto out; - } - -- /* Flush everything out, we'll be doing GTT only from now on */ -- ret = intel_pin_and_fence_fb_obj(NULL, fb, NULL, NULL, NULL); -- if (ret) { -- DRM_ERROR("failed to pin obj: %d\n", ret); -- goto out; -- } -- - mutex_unlock(&dev->struct_mutex); - - ifbdev->fb = to_intel_framebuffer(fb); -@@ -225,6 +218,14 @@ static int intelfb_create(struct drm_fb_helper *helper, - - mutex_lock(&dev->struct_mutex); - -+ /* Pin the GGTT vma for our access via info->screen_base. -+ * This also validates that any existing fb inherited from the -+ * BIOS is suitable for own access. -+ */ -+ ret = intel_pin_and_fence_fb_obj(NULL, &ifbdev->fb->base, NULL, NULL, NULL); -+ if (ret) -+ goto out_unlock; -+ - info = drm_fb_helper_alloc_fbi(helper); - if (IS_ERR(info)) { - ret = PTR_ERR(info); -@@ -286,6 +287,7 @@ out_destroy_fbi: - out_unpin: - i915_gem_object_ggtt_unpin(obj); - drm_gem_object_unreference(&obj->base); -+out_unlock: - mutex_unlock(&dev->struct_mutex); - return ret; - } -@@ -523,6 +525,10 @@ static const struct drm_fb_helper_funcs intel_fb_helper_funcs = { - static void intel_fbdev_destroy(struct drm_device *dev, - struct intel_fbdev *ifbdev) - { -+ /* We rely on the object-free to release the VMA pinning for -+ * the info->screen_base mmaping. Leaking the VMA is simpler than -+ * trying to rectify all the possible error paths leading here. -+ */ - - drm_fb_helper_unregister_fbi(&ifbdev->helper); - drm_fb_helper_release_fbi(&ifbdev->helper); --- -2.7.0 - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/drm-radeon-Update-radeon_get_vblank_counter_kms.patch new/patches.fixes/drm-radeon-Update-radeon_get_vblank_counter_kms.patch --- old/patches.fixes/drm-radeon-Update-radeon_get_vblank_counter_kms.patch 2016-03-04 09:07:00.000000000 +0100 +++ new/patches.fixes/drm-radeon-Update-radeon_get_vblank_counter_kms.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,109 +0,0 @@ -From: Thierry Reding <treding@nvidia.com> -Date: Wed, 16 Dec 2015 15:31:47 +0100 -Subject: drm/radeon: Update radeon_get_vblank_counter_kms() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit -Git-commit: 4e926d2db58244fca9845c78a5d6f873ac73795b -Patch-mainline: v4.5-rc1 -References: bnc#962535 - -Commit 88e72717c2de ("drm/irq: Use unsigned int pipe in public API") -updated the prototype of this function but not the implementation. This -wasn't noticed even through compile tests because the prototype is part -of the source file that uses it and hence the compiler won't know the -prototype when it compiles the implementation. - -The right thing would've been to move the prototype to a header that's -included in radeon_kms.c so that the implementation signature could be -checked against it, but the closest thing would've been radeon_drv.h -and including that results in a lot of build errors, so we'll leave it -as is for now. - -Cc: Christian König <christian.koenig@amd.com> -Cc: Alex Deucher <alexander.deucher@amd.com> -Reviewed-by: Christian König <christian.koenig@amd.com> -Signed-off-by: Thierry Reding <treding@nvidia.com> -Signed-off-by: Alex Deucher <alexander.deucher@amd.com> -Signed-off-by: Jiri Slaby <jslaby@suse.cz> ---- - drivers/gpu/drm/radeon/radeon_kms.c | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -diff --git a/drivers/gpu/drm/radeon/radeon_kms.c b/drivers/gpu/drm/radeon/radeon_kms.c -index d290a8a09036..4fab44e0f36b 100644 ---- a/drivers/gpu/drm/radeon/radeon_kms.c -+++ b/drivers/gpu/drm/radeon/radeon_kms.c -@@ -748,19 +748,19 @@ void radeon_driver_preclose_kms(struct drm_device *dev, - * radeon_get_vblank_counter_kms - get frame count - * - * @dev: drm dev pointer -- * @crtc: crtc to get the frame count from -+ * @pipe: crtc to get the frame count from - * - * Gets the frame count on the requested crtc (all asics). - * Returns frame count on success, -EINVAL on failure. - */ --u32 radeon_get_vblank_counter_kms(struct drm_device *dev, int crtc) -+u32 radeon_get_vblank_counter_kms(struct drm_device *dev, unsigned int pipe) - { - int vpos, hpos, stat; - u32 count; - struct radeon_device *rdev = dev->dev_private; - -- if (crtc < 0 || crtc >= rdev->num_crtc) { -- DRM_ERROR("Invalid crtc %d\n", crtc); -+ if (pipe < 0 || pipe >= rdev->num_crtc) { -+ DRM_ERROR("Invalid crtc %u\n", pipe); - return -EINVAL; - } - -@@ -772,29 +772,29 @@ u32 radeon_get_vblank_counter_kms(struct drm_device *dev, int crtc) - * and start of vsync, so vpos >= 0 means to bump the hw frame counter - * result by 1 to give the proper appearance to caller. - */ -- if (rdev->mode_info.crtcs[crtc]) { -+ if (rdev->mode_info.crtcs[pipe]) { - /* Repeat readout if needed to provide stable result if - * we cross start of vsync during the queries. - */ - do { -- count = radeon_get_vblank_counter(rdev, crtc); -+ count = radeon_get_vblank_counter(rdev, pipe); - /* Ask radeon_get_crtc_scanoutpos to return vpos as - * distance to start of vblank, instead of regular - * vertical scanout pos. - */ - stat = radeon_get_crtc_scanoutpos( -- dev, crtc, GET_DISTANCE_TO_VBLANKSTART, -+ dev, pipe, GET_DISTANCE_TO_VBLANKSTART, - &vpos, &hpos, NULL, NULL, -- &rdev->mode_info.crtcs[crtc]->base.hwmode); -- } while (count != radeon_get_vblank_counter(rdev, crtc)); -+ &rdev->mode_info.crtcs[pipe]->base.hwmode); -+ } while (count != radeon_get_vblank_counter(rdev, pipe)); - - if (((stat & (DRM_SCANOUTPOS_VALID | DRM_SCANOUTPOS_ACCURATE)) != - (DRM_SCANOUTPOS_VALID | DRM_SCANOUTPOS_ACCURATE))) { - DRM_DEBUG_VBL("Query failed! stat %d\n", stat); - } - else { -- DRM_DEBUG_VBL("crtc %d: dist from vblank start %d\n", -- crtc, vpos); -+ DRM_DEBUG_VBL("crtc %u: dist from vblank start %d\n", -+ pipe, vpos); - - /* Bump counter if we are at >= leading edge of vblank, - * but before vsync where vpos would turn negative and -@@ -806,7 +806,7 @@ u32 radeon_get_vblank_counter_kms(struct drm_device *dev, int crtc) - } - else { - /* Fallback to use value as is. */ -- count = radeon_get_vblank_counter(rdev, crtc); -+ count = radeon_get_vblank_counter(rdev, pipe); - DRM_DEBUG_VBL("NULL mode info! Returned count may be wrong.\n"); - } - --- -2.7.0 - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/floppy-fix-lock_fdc-signal-handling.patch new/patches.fixes/floppy-fix-lock_fdc-signal-handling.patch --- old/patches.fixes/floppy-fix-lock_fdc-signal-handling.patch 2016-03-04 09:07:00.000000000 +0100 +++ new/patches.fixes/floppy-fix-lock_fdc-signal-handling.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,179 +0,0 @@ -From: Jiri Kosina <jkosina@suse.cz> -Date: Mon, 1 Feb 2016 11:19:17 +0100 -Subject: floppy: fix lock_fdc() signal handling -Patch-mainline: 4.5-rc5 -Git-commit: a0c80efe5956ccce9fe7ae5c78542578c07bc20a -References: bnc#966880 - -floppy_revalidate() doesn't perform any error handling on lock_fdc() -result. lock_fdc() might actually be interrupted by a signal (it waits for -fdc becoming non-busy interruptibly). In such case, floppy_revalidate() -proceeds as if it had claimed the lock, but it fact it doesn't. - -In case of multiple threads trying to open("/dev/fdX"), this leads to -serious corruptions all over the place, because all of a sudden there is -no critical section protection (that'd otherwise be guaranteed by locked -fd) whatsoever. - -While at this, fix the fact that the 'interruptible' parameter to -lock_fdc() doesn't make any sense whatsoever, because we always wait -interruptibly anyway. - -Most of the lock_fdc() callsites do properly handle error (and propagate -EINTR), but floppy_revalidate() and floppy_check_events() don't. Fix this. - -Spotted by 'syzkaller' tool. - -Reported-by: Dmitry Vyukov <dvyukov@google.com> -Tested-by: Dmitry Vyukov <dvyukov@google.com> -Signed-off-by: Jiri Kosina <jkosina@suse.cz> -Signed-off-by: Jiri Slaby <jslaby@suse.cz> ---- - drivers/block/floppy.c | 33 ++++++++++++++++++--------------- - 1 file changed, 18 insertions(+), 15 deletions(-) - -diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c -index fa9bb742df6e..c1aacca88c8f 100644 ---- a/drivers/block/floppy.c -+++ b/drivers/block/floppy.c -@@ -866,7 +866,7 @@ static void set_fdc(int drive) - } - - /* locks the driver */ --static int lock_fdc(int drive, bool interruptible) -+static int lock_fdc(int drive) - { - if (WARN(atomic_read(&usage_count) == 0, - "Trying to lock fdc while usage count=0\n")) -@@ -2173,7 +2173,7 @@ static int do_format(int drive, struct format_descr *tmp_format_req) - { - int ret; - -- if (lock_fdc(drive, true)) -+ if (lock_fdc(drive)) - return -EINTR; - - set_floppy(drive); -@@ -2960,7 +2960,7 @@ static int user_reset_fdc(int drive, int arg, bool interruptible) - { - int ret; - -- if (lock_fdc(drive, interruptible)) -+ if (lock_fdc(drive)) - return -EINTR; - - if (arg == FD_RESET_ALWAYS) -@@ -3243,7 +3243,7 @@ static int set_geometry(unsigned int cmd, struct floppy_struct *g, - if (!capable(CAP_SYS_ADMIN)) - return -EPERM; - mutex_lock(&open_lock); -- if (lock_fdc(drive, true)) { -+ if (lock_fdc(drive)) { - mutex_unlock(&open_lock); - return -EINTR; - } -@@ -3263,7 +3263,7 @@ static int set_geometry(unsigned int cmd, struct floppy_struct *g, - } else { - int oldStretch; - -- if (lock_fdc(drive, true)) -+ if (lock_fdc(drive)) - return -EINTR; - if (cmd != FDDEFPRM) { - /* notice a disk change immediately, else -@@ -3349,7 +3349,7 @@ static int get_floppy_geometry(int drive, int type, struct floppy_struct **g) - if (type) - *g = &floppy_type[type]; - else { -- if (lock_fdc(drive, false)) -+ if (lock_fdc(drive)) - return -EINTR; - if (poll_drive(false, 0) == -EINTR) - return -EINTR; -@@ -3433,7 +3433,7 @@ static int fd_locked_ioctl(struct block_device *bdev, fmode_t mode, unsigned int - if (UDRS->fd_ref != 1) - /* somebody else has this drive open */ - return -EBUSY; -- if (lock_fdc(drive, true)) -+ if (lock_fdc(drive)) - return -EINTR; - - /* do the actual eject. Fails on -@@ -3445,7 +3445,7 @@ static int fd_locked_ioctl(struct block_device *bdev, fmode_t mode, unsigned int - process_fd_request(); - return ret; - case FDCLRPRM: -- if (lock_fdc(drive, true)) -+ if (lock_fdc(drive)) - return -EINTR; - current_type[drive] = NULL; - floppy_sizes[drive] = MAX_DISK_SIZE << 1; -@@ -3467,7 +3467,7 @@ static int fd_locked_ioctl(struct block_device *bdev, fmode_t mode, unsigned int - UDP->flags &= ~FTD_MSG; - return 0; - case FDFMTBEG: -- if (lock_fdc(drive, true)) -+ if (lock_fdc(drive)) - return -EINTR; - if (poll_drive(true, FD_RAW_NEED_DISK) == -EINTR) - return -EINTR; -@@ -3484,7 +3484,7 @@ static int fd_locked_ioctl(struct block_device *bdev, fmode_t mode, unsigned int - return do_format(drive, &inparam.f); - case FDFMTEND: - case FDFLUSH: -- if (lock_fdc(drive, true)) -+ if (lock_fdc(drive)) - return -EINTR; - return invalidate_drive(bdev); - case FDSETEMSGTRESH: -@@ -3507,7 +3507,7 @@ static int fd_locked_ioctl(struct block_device *bdev, fmode_t mode, unsigned int - outparam = UDP; - break; - case FDPOLLDRVSTAT: -- if (lock_fdc(drive, true)) -+ if (lock_fdc(drive)) - return -EINTR; - if (poll_drive(true, FD_RAW_NEED_DISK) == -EINTR) - return -EINTR; -@@ -3530,7 +3530,7 @@ static int fd_locked_ioctl(struct block_device *bdev, fmode_t mode, unsigned int - case FDRAWCMD: - if (type) - return -EINVAL; -- if (lock_fdc(drive, true)) -+ if (lock_fdc(drive)) - return -EINTR; - set_floppy(drive); - i = raw_cmd_ioctl(cmd, (void __user *)param); -@@ -3539,7 +3539,7 @@ static int fd_locked_ioctl(struct block_device *bdev, fmode_t mode, unsigned int - process_fd_request(); - return i; - case FDTWADDLE: -- if (lock_fdc(drive, true)) -+ if (lock_fdc(drive)) - return -EINTR; - twaddle(); - process_fd_request(); -@@ -3747,7 +3747,8 @@ static unsigned int floppy_check_events(struct gendisk *disk, - return DISK_EVENT_MEDIA_CHANGE; - - if (time_after(jiffies, UDRS->last_checked + UDP->checkfreq)) { -- lock_fdc(drive, false); -+ if (lock_fdc(drive)) -+ return -EINTR; - poll_drive(false, 0); - process_fd_request(); - } -@@ -3845,7 +3846,9 @@ static int floppy_revalidate(struct gendisk *disk) - "VFS: revalidate called on non-open device.\n")) - return -EFAULT; - -- lock_fdc(drive, false); -+ res = lock_fdc(drive); -+ if (res) -+ return res; - cf = (test_bit(FD_DISK_CHANGED_BIT, &UDRS->flags) || - test_bit(FD_VERIFY_BIT, &UDRS->flags)); - if (!(cf || test_bit(drive, &fake_change) || drive_no_geom(drive))) { --- -2.7.1 - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/floppy-refactor-open-flags-handling.patch new/patches.fixes/floppy-refactor-open-flags-handling.patch --- old/patches.fixes/floppy-refactor-open-flags-handling.patch 2016-03-04 09:07:00.000000000 +0100 +++ new/patches.fixes/floppy-refactor-open-flags-handling.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,96 +0,0 @@ -From: Jiri Kosina <jkosina@suse.cz> -Date: Sat, 6 Feb 2016 23:00:22 +0100 -Subject: floppy: refactor open() flags handling -Patch-mainline: 4.5-rc5 -Git-commit: 09954bad448791ef01202351d437abdd9497a804 -References: bnc#966880 - -In case /dev/fdX is open with O_NDELAY / O_NONBLOCK, floppy_open() immediately -succeeds, without performing any further media / controller preparations. -That's "correct" wrt. the NODELAY flag, but is hardly correct wrt. the rest -of the floppy driver, that is not really O_NONBLOCK ready, at all. Therefore -it's not too surprising, that subsequent attempts to work with the -filedescriptor produce bad results. Namely, syzkaller tool has been able -to livelock mmap() on the returned fd to keep waiting on the page unlock -bit forever. - -Quite frankly, I have trouble defining what non-blocking behavior would be for -floppies. Is waiting ages for the driver to actually succeed reading a sector -blocking operation? Is waiting for drive motor to start blocking operation? How -about in case of virtualized floppies? - -One option would be returning EWOULDBLOCK in case O_NDLEAY / O_NONBLOCK is -being passed to open(). That has a theoretical potential of breaking some -arcane and archaic userspace though. - -Let's take a more conservative aproach, and accept the O_NDLEAY flag, and let -the driver behave as usual. - -While at it, clean up a bit handling of !(mode & (FMODE_READ|FMODE_WRITE)) -case and return EINVAL instead of succeeding as well. - -Spotted by syzkaller tool. - -Reported-by: Dmitry Vyukov <dvyukov@google.com> -Tested-by: Dmitry Vyukov <dvyukov@google.com> -Signed-off-by: Jiri Kosina <jkosina@suse.cz> -Signed-off-by: Jiri Slaby <jslaby@suse.cz> ---- - drivers/block/floppy.c | 34 +++++++++++++++++++--------------- - 1 file changed, 19 insertions(+), 15 deletions(-) - -diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c -index b206115d761c..84708a5f8c52 100644 ---- a/drivers/block/floppy.c -+++ b/drivers/block/floppy.c -@@ -3663,6 +3663,11 @@ static int floppy_open(struct block_device *bdev, fmode_t mode) - - opened_bdev[drive] = bdev; - -+ if (!(mode & (FMODE_READ|FMODE_WRITE))) { -+ res = -EINVAL; -+ goto out; -+ } -+ - res = -ENXIO; - - if (!floppy_track_buffer) { -@@ -3706,21 +3711,20 @@ static int floppy_open(struct block_device *bdev, fmode_t mode) - if (UFDCS->rawcmd == 1) - UFDCS->rawcmd = 2; - -- if (!(mode & FMODE_NDELAY)) { -- if (mode & (FMODE_READ|FMODE_WRITE)) { -- UDRS->last_checked = 0; -- clear_bit(FD_OPEN_SHOULD_FAIL_BIT, &UDRS->flags); -- check_disk_change(bdev); -- if (test_bit(FD_DISK_CHANGED_BIT, &UDRS->flags)) -- goto out; -- if (test_bit(FD_OPEN_SHOULD_FAIL_BIT, &UDRS->flags)) -- goto out; -- } -- res = -EROFS; -- if ((mode & FMODE_WRITE) && -- !test_bit(FD_DISK_WRITABLE_BIT, &UDRS->flags)) -- goto out; -- } -+ UDRS->last_checked = 0; -+ clear_bit(FD_OPEN_SHOULD_FAIL_BIT, &UDRS->flags); -+ check_disk_change(bdev); -+ if (test_bit(FD_DISK_CHANGED_BIT, &UDRS->flags)) -+ goto out; -+ if (test_bit(FD_OPEN_SHOULD_FAIL_BIT, &UDRS->flags)) -+ goto out; -+ -+ res = -EROFS; -+ -+ if ((mode & FMODE_WRITE) && -+ !test_bit(FD_DISK_WRITABLE_BIT, &UDRS->flags)) -+ goto out; -+ - mutex_unlock(&open_lock); - mutex_unlock(&floppy_mutex); - return 0; --- -2.7.1 - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/hwrng-core-sleep-interruptible-in-read.patch new/patches.fixes/hwrng-core-sleep-interruptible-in-read.patch --- old/patches.fixes/hwrng-core-sleep-interruptible-in-read.patch 2016-03-04 09:07:00.000000000 +0100 +++ new/patches.fixes/hwrng-core-sleep-interruptible-in-read.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,65 +0,0 @@ -From: Jiri Slaby <jslaby@suse.cz> -Date: Fri, 27 Nov 2015 16:50:43 +0100 -Subject: hwrng: core - sleep interruptible in read -Patch-mainline: v4.5-rc1 -Git-commit: 1ab87298cb59b649d8d648d25dc15b36ab865f5a -References: bnc#962597 - -hwrng kthread can be waiting via hwrng_fillfn for some data from a rng -like virtio-rng: -hwrng D ffff880093e17798 0 382 2 0x00000000 -... -Call Trace: - [<ffffffff817339c6>] wait_for_completion_killable+0x96/0x210 - [<ffffffffa00aa1b7>] virtio_read+0x57/0xf0 [virtio_rng] - [<ffffffff814f4a35>] hwrng_fillfn+0x75/0x130 - [<ffffffff810aa243>] kthread+0xf3/0x110 - -And when some user program tries to read the /dev node in this state, -we get: -rngd D ffff880093e17798 0 762 1 0x00000004 -... -Call Trace: - [<ffffffff817351ac>] mutex_lock_nested+0x15c/0x3e0 - [<ffffffff814f478e>] rng_dev_read+0x6e/0x240 - [<ffffffff81231958>] __vfs_read+0x28/0xe0 - [<ffffffff81232393>] vfs_read+0x83/0x130 - -And this is indeed unkillable. So use mutex_lock_interruptible -instead of mutex_lock in rng_dev_read and exit immediatelly when -interrupted. And possibly return already read data, if any (as POSIX -allows). - -v2: use ERESTARTSYS instead of EINTR - -Signed-off-by: Jiri Slaby <jslaby@suse.cz> -Cc: Matt Mackall <mpm@selenic.com> -Cc: Herbert Xu <herbert@gondor.apana.org.au> -Cc: <linux-crypto@vger.kernel.org> -Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> ---- - drivers/char/hw_random/core.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - ---- a/drivers/char/hw_random/core.c -+++ b/drivers/char/hw_random/core.c -@@ -238,7 +238,10 @@ static ssize_t rng_dev_read(struct file - goto out; - } - -- mutex_lock(&reading_mutex); -+ if (mutex_lock_interruptible(&reading_mutex)) { -+ err = -ERESTARTSYS; -+ goto out_put; -+ } - if (!data_avail) { - bytes_read = rng_get_data(rng, rng_buffer, - rng_buffer_size(), -@@ -288,6 +291,7 @@ out: - - out_unlock_reading: - mutex_unlock(&reading_mutex); -+out_put: - put_rng(rng); - goto out; - } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/scsi-ignore-errors-from-scsi_dh_add_device new/patches.fixes/scsi-ignore-errors-from-scsi_dh_add_device --- old/patches.fixes/scsi-ignore-errors-from-scsi_dh_add_device 2016-03-04 09:07:00.000000000 +0100 +++ new/patches.fixes/scsi-ignore-errors-from-scsi_dh_add_device 1970-01-01 01:00:00.000000000 +0100 @@ -1,41 +0,0 @@ -From 221255aee67ec1c752001080aafec0c4e9390d95 Mon Sep 17 00:00:00 2001 -From: Hannes Reinecke <hare@suse.de> -Date: Tue, 1 Dec 2015 10:16:42 +0100 -Subject: [PATCH] scsi: ignore errors from scsi_dh_add_device() -Git-commit: 221255aee67ec1c752001080aafec0c4e9390d95 -Patch-mainline: 4.5-rc1 -References: boo#962813 - -device handler initialisation might fail due to a number of -reasons. But as device_handlers are optional this shouldn't -cause us to disable the device entirely. -So just ignore errors from scsi_dh_add_device(). - -Reviewed-by: Johannes Thumshirn <jthumshirn@suse.com> -Reviewed-by: Christoph Hellwig <hch@lst.de> -Signed-off-by: Hannes Reinecke <hare@suse.de> -Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> -Acked-by: Takashi Iwai <tiwai@suse.de> - ---- - drivers/scsi/scsi_sysfs.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - ---- a/drivers/scsi/scsi_sysfs.c -+++ b/drivers/scsi/scsi_sysfs.c -@@ -1058,11 +1058,12 @@ int scsi_sysfs_add_sdev(struct scsi_devi - } - - error = scsi_dh_add_device(sdev); -- if (error) { -+ if (error) -+ /* -+ * device_handler is optional, so any error can be ignored -+ */ - sdev_printk(KERN_INFO, sdev, - "failed to add device handler: %d\n", error); -- return error; -- } - - device_enable_async_suspend(&sdev->sdev_dev); - error = device_add(&sdev->sdev_dev); ++++++ patches.kernel.org.tar.bz2 ++++++ ++++ 30307 lines of diff (skipped) ++++++ patches.suse.tar.bz2 ++++++ ++++ 5533 lines of diff (skipped) ++++++ series.conf ++++++ --- /var/tmp/diff_new_pack.9DSBad/_old 2016-03-17 16:49:48.000000000 +0100 +++ /var/tmp/diff_new_pack.9DSBad/_new 2016-03-17 16:49:48.000000000 +0100 @@ -27,11 +27,6 @@ # DO NOT MODIFY THEM! # Send separate patches upstream if you find a problem... ######################################################## - patches.kernel.org/patch-4.4.1 - patches.kernel.org/patch-4.4.1-2 - patches.kernel.org/patch-4.4.2-3 - patches.kernel.org/patch-4.4.3-4 - patches.kernel.org/patch-4.4.4-5 ######################################################## # Build fixes that apply to the vanilla kernel too. @@ -74,6 +69,7 @@ ######################################################## # Bug workarounds for binutils ######################################################## + patches.suse/binutils2_26.patch ######################################################## # Scheduler / Core @@ -143,7 +139,6 @@ patches.arch/ppc64le-ile-0003-powerpc-Add-hack-to-make-ppc64le-work-on-hosts-witho.patch patches.arch/ppc64le-ile-0004-powerpc-Don-t-return-to-BE-mode-when-we-are-already-.patch - patches.drivers/ibmvnic-Driver-for-IBM-System-i-p-VNIC-protocol.patch ######################################################## # PS3 ######################################################## @@ -161,7 +156,7 @@ patches.arch/arm-exynos-dwmmc-modalias.patch patches.arch/arm64-0001-usb-Add-support-for-Synopsis-H20AHB-EHCI-host-contro.patch patches.arch/arm64-0002-usb-fix-hcd-h20ahb-driver-depends.patch - patches.arch/arm64-0004-net-xgbe-Add-A0-silicon-support.patch ++needs_update patches.arch/arm64-0004-net-xgbe-Add-A0-silicon-support.patch 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 @@ -194,6 +189,7 @@ ######################################################## patches.suse/connector-read-mostly patches.suse/kbd-ignore-gfx.patch + patches.suse/xen-pv-devmem_is_allowed.patch ######################################################## # @@ -324,28 +320,9 @@ patches.fixes/scsi-ibmvscsi-module_alias.patch patches.suse/sd_init.mark_majors_busy.patch - - patches.fixes/scsi-ignore-errors-from-scsi_dh_add_device - - patches.fixes/floppy-refactor-open-flags-handling.patch - patches.fixes/floppy-fix-lock_fdc-signal-handling.patch - ######################################################## # DRM/Video ######################################################## - patches.fixes/drm-radeon-Update-radeon_get_vblank_counter_kms.patch - patches.fixes/0001-drm-i915-Fix-double-unref-in-intelfb_alloc-failure-p.patch - patches.fixes/0002-drm-i915-Fix-failure-paths-around-initial-fbdev-allo.patch - patches.fixes/0003-drm-i915-Pin-the-ifbdev-for-the-info-system_base-GGT.patch - - - patches.drivers/drm-radeon-Use-unlocked-gem-unreferencing - patches.drivers/drm-radeon-only-increment-sync_seq-when-a-fence-is-r - patches.drivers/drm-radeon-fix-dp-link-rate-selection-v2 - patches.drivers/drm-radeon-Ensure-radeon-bo-is-unreserved-in-radeon_ - patches.drivers/drm-radeon-only-init-fbdev-if-we-have-connectors - patches.drivers/drm-radeon-pm-Handle-failure-of-drm_vblank_get - patches.drivers/radeon-r100-Silence-may-be-used-uninitialized-warnin ######################################################## # video4linux @@ -354,7 +331,6 @@ ######################################################## # Network ######################################################## - patches.drivers/ethernet-atheros-alx-sanitize-buffer-sizing-and-padd ######################################################## # Wireless Networking @@ -395,6 +371,8 @@ ########################################################## # Sound ########################################################## + patches.drivers/ALSA-usb-audio-Fix-NULL-dereference-in-create_fixed + patches.drivers/ALSA-usb-audio-Add-sanity-checks-for-endpoint-access ######################################################## # Char / serial @@ -407,8 +385,6 @@ # Needs updating WRT d27769ec (block: add GENHD_FL_NO_PART_SCAN) +hare patches.suse/no-partition-scan - patches.fixes/hwrng-core-sleep-interruptible-in-read.patch - ######################################################## # Other drivers we have added to the tree ######################################################## @@ -439,8 +415,6 @@ # ########################################################## - # CVE-2016-0728: kernel: Use-after-free vulnerability in keyring facility - ########################################################## # Audit ########################################################## @@ -466,7 +440,8 @@ ######################################################## patches.suse/crasher.patch patches.suse/revert-x86-remove-warning-and-warning_symbol-from-struct-stacktrace_ops - patches.suse/stack-unwind + patches.suse/stack-unwind.patch + patches.suse/stack-unwind-disable-kasan.patch +needs_updating patches.arch/x86_64-unwind-annotations ######################################################## ++++++ source-timestamp ++++++ --- /var/tmp/diff_new_pack.9DSBad/_old 2016-03-17 16:49:48.000000000 +0100 +++ /var/tmp/diff_new_pack.9DSBad/_new 2016-03-17 16:49:48.000000000 +0100 @@ -1,3 +1,3 @@ -2016-03-10 08:24:48 +0100 -GIT Revision: 09dee88f33e09ab5c57a616ab5aebb07be941a87 +2016-03-16 18:30:21 +0100 +GIT Revision: b2c9ae5b1d122fe7e8501364ef1b9943207731e1 GIT Branch: stable