openSUSE Commits
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
July 2016
- 1 participants
- 1930 discussions
Hello community,
here is the log from the commit of package kernel-source for openSUSE:Factory checked in at 2016-07-30 00:25:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-07-24 19:43:37.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-debug.changes 2016-07-30 00:25:50.000000000 +0200
@@ -1,0 +2,25 @@
+Mon Jul 25 09:22:34 CEST 2016 - mkubecek(a)suse.cz
+
+- netfilter: x_tables: speed up jump target validation
+ (CVE-2016-4997 bsc#986362).
+- commit 9105e0d
+
+-------------------------------------------------------------------
+Mon Jul 25 01:28:04 CEST 2016 - jeffm(a)suse.com
+
+- Update to 4.7-final.
+- commit 24f30d5
+
+-------------------------------------------------------------------
+Thu Jul 21 15:28:10 CEST 2016 - agraf(a)suse.de
+
+- Disable all ARMv8.1 and 8.2 features (bsc#981051)
+- commit 684e9e1
+
+-------------------------------------------------------------------
+Thu Jul 21 14:38:47 CEST 2016 - jeffm(a)suse.com
+
+- config.conf: re-enable arm64/vanilla config
+- commit 152f160
+
+-------------------------------------------------------------------
@@ -8,0 +34,7 @@
+Mon Jul 18 21:46:49 CEST 2016 - jeffm(a)suse.com
+
+- Update to 4.7-rc7.
+- Eliminated 2 patches.
+- commit f837062
+
+-------------------------------------------------------------------
@@ -13,0 +46,4 @@
+- config: armv7hl: Enable POWER_RESET_AS3722 for lpae
+ It's needed for the Jetson TK1 (boo#989450).
+- config: armv7hl: Enable POWER_RESET_AS3722 for lpae
+ It's needed for the Jetson TK1.
@@ -41 +77 @@
-- commit c05c411
+- commit 7b473e9
@@ -47 +83,66 @@
-- commit cf6e186
+- commit cc11143
+
+-------------------------------------------------------------------
+Fri Jul 8 09:41:10 CEST 2016 - jdelvare(a)suse.de
+
+- config: Disable RTC_DRV_DS1302
+ All other SPI RTC device drivers are disabled, no reason why this
+ one would be an exception.
+- commit 0721302
+
+-------------------------------------------------------------------
+Fri Jul 8 02:22:32 CEST 2016 - afaerber(a)suse.de
+
+- config: arm64: Enable TEGRA210_ADMA
+- commit 8852ee8
+
+-------------------------------------------------------------------
+Fri Jul 8 02:20:22 CEST 2016 - afaerber(a)suse.de
+
+- config: arm64: Enable DRM_ANALOGIX_ANX78XX
+- commit 2773482
+
+-------------------------------------------------------------------
+Fri Jul 8 02:10:02 CEST 2016 - afaerber(a)suse.de
+
+- config: armv7hl: Enable HDCP support for Snapdragon
+ arm64 already had it enabled.
+- commit 1f3ecb7
+
+-------------------------------------------------------------------
+Fri Jul 8 00:52:44 CEST 2016 - afaerber(a)suse.de
+
+- config: arm64: Align USB gadget options
+ Enable serial gadget console support, enable a missing configfs option
+ and disable legacy UAC1.
+- commit 5065003
+
+-------------------------------------------------------------------
+Fri Jul 8 00:45:54 CEST 2016 - afaerber(a)suse.de
+
+- config: armv7hl: Enable USB gadget options
+ This allows to build solutions like a Ceph USB storage gateway,
+ presented at openSUSE Conference:
+ https://events.opensuse.org/conference/oSC16/program/proposal/934
+- commit a8b4ce6
+
+-------------------------------------------------------------------
+Fri Jul 8 00:22:19 CEST 2016 - afaerber(a)suse.de
+
+- config: armv6hl: Enable remaining LED triggers
+ Also enable flash LED class while at it.
+- commit 97b6c11
+
+-------------------------------------------------------------------
+Fri Jul 8 00:16:22 CEST 2016 - afaerber(a)suse.de
+
+- config: armv6hl: Update to 4.7
+- commit 5cd0742
+
+-------------------------------------------------------------------
+Thu Jul 7 20:31:26 CEST 2016 - jeffm(a)suse.com
+
+- config: restore default cpufreq governor
+ The update to 4.7-rc1 mistakenly used CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y.
+ This patch reverts to the longtime default of ONDEMAND.
+- commit 27cce0c
@@ -82,0 +184,83 @@
+Tue Jul 5 23:41:07 CEST 2016 - jeffm(a)suse.com
+
+- Revert "ecryptfs: forbid opening files without mmap handler".
+- commit a491e21
+
+-------------------------------------------------------------------
+Tue Jul 5 20:24:11 CEST 2016 - afaerber(a)suse.de
+
+- config: armv7hl: Enable ipq4019
+ It's a Cortex-A7.
+- commit 016ff1f
+
+-------------------------------------------------------------------
+Tue Jul 5 20:16:29 CEST 2016 - afaerber(a)suse.de
+
+- config: armv7hl: Enable BCM2836 support for lpae
+ The Raspberry Pi 2 has a Cortex-A7, so let's enable it in lpae flavor.
+ Consistently make HW_RANDOM_BCM2835 a module.
+- commit fb11bde
+
+-------------------------------------------------------------------
+Tue Jul 5 19:41:41 CEST 2016 - afaerber(a)suse.de
+
+- config: armv7hl: Enable all LED triggers
+ Let's be consistent about offering them. arm64 has them already.
+- commit 4dd8d95
+
+-------------------------------------------------------------------
+Mon Jul 4 22:49:04 CEST 2016 - agraf(a)suse.de
+
+- Remove deprecated patches:
+ - Delete patches.arch/arm-arndale-dma.patch.
+ - Delete
+ patches.arch/arm64-0004-net-xgbe-Add-A0-silicon-support.patch.
+- commit 4f0a683
+
+-------------------------------------------------------------------
+Mon Jul 4 17:30:35 CEST 2016 - jeffm(a)suse.com
+
+- patches.rpmify/i915-fix-build-error-with-werror: actually fix the error
+- commit 309a9bd
+
+-------------------------------------------------------------------
+Mon Jul 4 16:45:27 CEST 2016 - jeffm(a)suse.com
+
+- Update to 4.7-rc6.
+- commit 916c4e7
+
+-------------------------------------------------------------------
+Mon Jul 4 16:25:50 CEST 2016 - jeffm(a)suse.com
+
+- patches.rpmify/i915-fix-build-error-with-werror: fix patch description
+- i915: fix build error with -Werror.
+- commit cf4ceb9
+
+-------------------------------------------------------------------
+Fri Jul 1 12:14:52 CEST 2016 - jthumshirn(a)suse.de
+
+- Update config files to allow building of libnvdimm as module.
+- commit f8d3041
+
+-------------------------------------------------------------------
+Tue Jun 28 14:17:24 CEST 2016 - mmarek(a)suse.com
+
+- Delete patches.suse/sd_init.mark_majors_busy.patch (bsc#744658)
+ It was only required by the xenlinux frontent drivers.
+- commit 50d8ea0
+
+-------------------------------------------------------------------
+Mon Jun 27 22:38:16 CEST 2016 - jeffm(a)suse.com
+
+- Update to 4.7-rc5.
+- Eliminated 1 patch.
+- commit 1207339
+
+-------------------------------------------------------------------
+Mon Jun 27 15:37:24 CEST 2016 - jkosina(a)suse.cz
+
+- HID: hiddev: validate num_values for HIDIOCGUSAGES,
+ HIDIOCSUSAGES commands (bsc#986572 CVE-2016-5829).
+- commit 0646d06
+
+-------------------------------------------------------------------
@@ -98,0 +283,10 @@
+Wed Jun 22 19:22:31 CEST 2016 - matwey.kornilov(a)gmail.com
+
+- config: armv7hl: Update configs for 4.7
++++ 199 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.6.tar.xz
New:
----
linux-4.7.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kernel-debug.spec ++++++
--- /var/tmp/diff_new_pack.DemroZ/_old 2016-07-30 00:25:59.000000000 +0200
+++ /var/tmp/diff_new_pack.DemroZ/_new 2016-07-30 00:25:59.000000000 +0200
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 4.6
-%define patchversion 4.6.4
+%define srcversion 4.7
+%define patchversion 4.7.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.6.4
+Version: 4.7.0
%if 0%{?is_kotd}
-Release: <RELEASE>.g8f4696b
+Release: <RELEASE>.g89a2ada
%else
Release: 0
%endif
kernel-default.spec: same change
++++++ kernel-docs.spec ++++++
--- /var/tmp/diff_new_pack.DemroZ/_old 2016-07-30 00:25:59.000000000 +0200
+++ /var/tmp/diff_new_pack.DemroZ/_new 2016-07-30 00:25:59.000000000 +0200
@@ -16,7 +16,7 @@
#
-%define patchversion 4.6.4
+%define patchversion 4.7.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.6.4
+Version: 4.7.0
%if 0%{?is_kotd}
-Release: <RELEASE>.g8f4696b
+Release: <RELEASE>.g89a2ada
%else
Release: 0
%endif
++++++ kernel-lpae.spec ++++++
--- /var/tmp/diff_new_pack.DemroZ/_old 2016-07-30 00:25:59.000000000 +0200
+++ /var/tmp/diff_new_pack.DemroZ/_new 2016-07-30 00:25:59.000000000 +0200
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 4.6
-%define patchversion 4.6.4
+%define srcversion 4.7
+%define patchversion 4.7.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.6.4
+Version: 4.7.0
%if 0%{?is_kotd}
-Release: <RELEASE>.g8f4696b
+Release: <RELEASE>.g89a2ada
%else
Release: 0
%endif
++++++ kernel-obs-build.spec ++++++
--- /var/tmp/diff_new_pack.DemroZ/_old 2016-07-30 00:25:59.000000000 +0200
+++ /var/tmp/diff_new_pack.DemroZ/_new 2016-07-30 00:25:59.000000000 +0200
@@ -19,7 +19,7 @@
#!BuildIgnore: post-build-checks
-%define patchversion 4.6.4
+%define patchversion 4.7.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.6.4
+Version: 4.7.0
%if 0%{?is_kotd}
-Release: <RELEASE>.g8f4696b
+Release: <RELEASE>.g89a2ada
%else
Release: 0
%endif
++++++ kernel-obs-qa.spec ++++++
--- /var/tmp/diff_new_pack.DemroZ/_old 2016-07-30 00:25:59.000000000 +0200
+++ /var/tmp/diff_new_pack.DemroZ/_new 2016-07-30 00:25:59.000000000 +0200
@@ -17,7 +17,7 @@
# needsrootforbuild
-%define patchversion 4.6.4
+%define patchversion 4.7.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.6.4
+Version: 4.7.0
%if 0%{?is_kotd}
-Release: <RELEASE>.g8f4696b
+Release: <RELEASE>.g89a2ada
%else
Release: 0
%endif
++++++ kernel-pae.spec ++++++
--- /var/tmp/diff_new_pack.DemroZ/_old 2016-07-30 00:25:59.000000000 +0200
+++ /var/tmp/diff_new_pack.DemroZ/_new 2016-07-30 00:25:59.000000000 +0200
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 4.6
-%define patchversion 4.6.4
+%define srcversion 4.7
+%define patchversion 4.7.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.6.4
+Version: 4.7.0
%if 0%{?is_kotd}
-Release: <RELEASE>.g8f4696b
+Release: <RELEASE>.g89a2ada
%else
Release: 0
%endif
++++++ kernel-source.spec ++++++
--- /var/tmp/diff_new_pack.DemroZ/_old 2016-07-30 00:25:59.000000000 +0200
+++ /var/tmp/diff_new_pack.DemroZ/_new 2016-07-30 00:25:59.000000000 +0200
@@ -17,8 +17,8 @@
# icecream 0
-%define srcversion 4.6
-%define patchversion 4.6.4
+%define srcversion 4.7
+%define patchversion 4.7.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.6.4
+Version: 4.7.0
%if 0%{?is_kotd}
-Release: <RELEASE>.g8f4696b
+Release: <RELEASE>.g89a2ada
%else
Release: 0
%endif
++++++ kernel-syms.spec ++++++
--- /var/tmp/diff_new_pack.DemroZ/_old 2016-07-30 00:25:59.000000000 +0200
+++ /var/tmp/diff_new_pack.DemroZ/_new 2016-07-30 00:25:59.000000000 +0200
@@ -24,10 +24,10 @@
Summary: Kernel Symbol Versions (modversions)
License: GPL-2.0
Group: Development/Sources
-Version: 4.6.4
+Version: 4.7.0
%if %using_buildservice
%if 0%{?is_kotd}
-Release: <RELEASE>.g8f4696b
+Release: <RELEASE>.g89a2ada
%else
Release: 0
%endif
++++++ kernel-vanilla.spec ++++++
--- /var/tmp/diff_new_pack.DemroZ/_old 2016-07-30 00:25:59.000000000 +0200
+++ /var/tmp/diff_new_pack.DemroZ/_new 2016-07-30 00:25:59.000000000 +0200
@@ -19,8 +19,8 @@
# This makes the OBS store the project cert as %_sourcedir/_projectcert.crt
# needssslcertforbuild
-%define srcversion 4.6
-%define patchversion 4.6.4
+%define srcversion 4.7
+%define patchversion 4.7.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.6.4
+Version: 4.7.0
%if 0%{?is_kotd}
-Release: <RELEASE>.g8f4696b
+Release: <RELEASE>.g89a2ada
%else
Release: 0
%endif
++++++ config.sh ++++++
--- /var/tmp/diff_new_pack.DemroZ/_old 2016-07-30 00:25:59.000000000 +0200
+++ /var/tmp/diff_new_pack.DemroZ/_new 2016-07-30 00:25:59.000000000 +0200
@@ -1,5 +1,5 @@
# The version of the main tarball to use
-SRCVERSION=4.6
+SRCVERSION=4.7
# variant of the kernel-source package, either empty or "-rt"
VARIANT=
# buildservice projects to build the kernel against
++++++ config.tar.bz2 ++++++
++++ 10888 lines of diff (skipped)
++++++ linux-4.6.tar.xz -> linux-4.7.tar.xz ++++++
/work/SRC/openSUSE:Factory/kernel-source/linux-4.6.tar.xz /work/SRC/openSUSE:Factory/.kernel-source.new/linux-4.7.tar.xz differ: char 26, line 1
++++++ patches.arch.tar.bz2 ++++++
++++ 12601 lines of diff (skipped)
++++++ patches.drivers.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/ALSA-hrtimer-Handle-start-stop-more-properly new/patches.drivers/ALSA-hrtimer-Handle-start-stop-more-properly
--- old/patches.drivers/ALSA-hrtimer-Handle-start-stop-more-properly 2016-07-12 10:29:48.000000000 +0200
+++ new/patches.drivers/ALSA-hrtimer-Handle-start-stop-more-properly 1970-01-01 01:00:00.000000000 +0100
@@ -1,160 +0,0 @@
-From d2c5cf88d5282de258f4eb6ab40040b80a075cd8 Mon Sep 17 00:00:00 2001
-From: Takashi Iwai <tiwai(a)suse.de>
-Date: Sun, 24 Apr 2016 22:52:18 +0200
-Subject: [PATCH] ALSA: hrtimer: Handle start/stop more properly
-Patch-mainline: Queued in subsystem maintainer repository
-Git-commit: d2c5cf88d5282de258f4eb6ab40040b80a075cd8
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
-References: bsc#973378
-
-This patch tries to address the still remaining issues in ALSA hrtimer
-Driver:
-- Spurious use-after-free was detected in hrtimer callback
-- Incorrect rescheduling due to delayed start
-- WARN_ON() is triggered in hrtimer_forward() invoked in hrtimer
- callback
-
-The first issue happens only when the new timer is scheduled even
-while hrtimer is being closed. It's related with the second and third
-items; since ALSA timer core invokes hw.start callback during hrtimer
-interrupt, this may result in the explicit call of hrtimer_start().
-
-Also, the similar problem is seen for the stop; ALSA timer core
-invokes hw.stop callback even in the hrtimer handler, too. Since we
-must not call the synced hrtimer_cancel() in such a context, it's just
-a hrtimer_try_to_cancel() call that doesn't properly work.
-
-Another culprit of the second and third items is the call of
-hrtimer_forward_now() before snd_timer_interrupt(). The timer->stick
-value may change during snd_timer_interrupt() call, but this
-possibility is ignored completely.
-
-For covering these subtle and messy issues, the following changes have
-been done in this patch:
-- A new flag, in_callback, is introduced in the private data to
- indicate that the hrtimer handler is being processed.
-- Both start and stop callbacks skip when called from (during)
- in_callback flag.
-- The hrtimer handler returns properly HRTIMER_RESTART and NORESTART
- depending on the running state now.
-- The hrtimer handler reprograms the expiry properly after
- snd_timer_interrupt() call, instead of before.
-- The close callback clears running flag and sets in_callback flag
- to block any further start/stop calls.
-
-Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
-
----
- sound/core/hrtimer.c | 56 ++++++++++++++++++++++++++++++++++++----------------
- 1 file changed, 39 insertions(+), 17 deletions(-)
-
-diff --git a/sound/core/hrtimer.c b/sound/core/hrtimer.c
-index 656d9a9032dc..e2f27022b363 100644
---- a/sound/core/hrtimer.c
-+++ b/sound/core/hrtimer.c
-@@ -38,37 +38,53 @@ static unsigned int resolution;
- struct snd_hrtimer {
- struct snd_timer *timer;
- struct hrtimer hrt;
-- atomic_t running;
-+ bool in_callback;
- };
-
- static enum hrtimer_restart snd_hrtimer_callback(struct hrtimer *hrt)
- {
- struct snd_hrtimer *stime = container_of(hrt, struct snd_hrtimer, hrt);
- struct snd_timer *t = stime->timer;
-- unsigned long oruns;
--
-- if (!atomic_read(&stime->running))
-- return HRTIMER_NORESTART;
--
-- oruns = hrtimer_forward_now(hrt, ns_to_ktime(t->sticks * resolution));
-- snd_timer_interrupt(stime->timer, t->sticks * oruns);
-+ ktime_t delta;
-+ unsigned long ticks;
-+ enum hrtimer_restart ret = HRTIMER_NORESTART;
-+
-+ spin_lock(&t->lock);
-+ if (!t->running)
-+ goto out; /* fast path */
-+ stime->in_callback = true;
-+ ticks = t->sticks;
-+ spin_unlock(&t->lock);
-+
-+ /* calculate the drift */
-+ delta = ktime_sub(hrt->base->get_time(), hrtimer_get_expires(hrt));
-+ if (delta.tv64 > 0)
-+ ticks += ktime_divns(delta, ticks * resolution);
-+
-+ snd_timer_interrupt(stime->timer, ticks);
-+
-+ spin_lock(&t->lock);
-+ if (t->running) {
-+ hrtimer_add_expires_ns(hrt, t->sticks * resolution);
-+ ret = HRTIMER_RESTART;
-+ }
-
-- if (!atomic_read(&stime->running))
-- return HRTIMER_NORESTART;
-- return HRTIMER_RESTART;
-+ stime->in_callback = false;
-+ out:
-+ spin_unlock(&t->lock);
-+ return ret;
- }
-
- static int snd_hrtimer_open(struct snd_timer *t)
- {
- struct snd_hrtimer *stime;
-
-- stime = kmalloc(sizeof(*stime), GFP_KERNEL);
-+ stime = kzalloc(sizeof(*stime), GFP_KERNEL);
- if (!stime)
- return -ENOMEM;
- hrtimer_init(&stime->hrt, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
- stime->timer = t;
- stime->hrt.function = snd_hrtimer_callback;
-- atomic_set(&stime->running, 0);
- t->private_data = stime;
- return 0;
- }
-@@ -78,6 +94,11 @@ static int snd_hrtimer_close(struct snd_timer *t)
- struct snd_hrtimer *stime = t->private_data;
-
- if (stime) {
-+ spin_lock_irq(&t->lock);
-+ t->running = 0; /* just to be sure */
-+ stime->in_callback = 1; /* skip start/stop */
-+ spin_unlock_irq(&t->lock);
-+
- hrtimer_cancel(&stime->hrt);
- kfree(stime);
- t->private_data = NULL;
-@@ -89,18 +110,19 @@ static int snd_hrtimer_start(struct snd_timer *t)
- {
- struct snd_hrtimer *stime = t->private_data;
-
-- atomic_set(&stime->running, 0);
-- hrtimer_try_to_cancel(&stime->hrt);
-+ if (stime->in_callback)
-+ return 0;
- hrtimer_start(&stime->hrt, ns_to_ktime(t->sticks * resolution),
- HRTIMER_MODE_REL);
-- atomic_set(&stime->running, 1);
- return 0;
- }
-
- static int snd_hrtimer_stop(struct snd_timer *t)
- {
- struct snd_hrtimer *stime = t->private_data;
-- atomic_set(&stime->running, 0);
-+
-+ if (stime->in_callback)
-+ return 0;
- hrtimer_try_to_cancel(&stime->hrt);
- return 0;
- }
---
-2.8.2
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/pstore_disable_efi_backend_by_default.patch new/patches.drivers/pstore_disable_efi_backend_by_default.patch
--- old/patches.drivers/pstore_disable_efi_backend_by_default.patch 2016-07-12 10:29:48.000000000 +0200
+++ new/patches.drivers/pstore_disable_efi_backend_by_default.patch 2016-07-12 10:31:31.000000000 +0200
@@ -11,22 +11,19 @@
Signed-off-by: Thomas Renninger <trenn(a)suse.de>
-Index: linux-3.7-openSUSE-12.3/fs/pstore/platform.c
-===================================================================
---- linux-3.7-openSUSE-12.3.orig/fs/pstore/platform.c
-+++ linux-3.7-openSUSE-12.3/fs/pstore/platform.c
-@@ -222,6 +222,14 @@ int pstore_register(struct pstore_info *
+--- a/fs/pstore/platform.c
++++ b/fs/pstore/platform.c
+@@ -442,6 +442,13 @@
{
- struct module *owner = psi->owner;
-
+ struct module *owner = psi->owner;
+
+ if (!backend && !strcmp(psi->name, "efi")) {
+ pr_info("Efi pstore disabled, enforce via pstore.backend=efi");
+ pr_info("On a broken BIOS, this can severely harm your system");
+ pr_info("Only enable efi based pstore when you know what you are doing");
-+ spin_unlock(&pstore_lock);
+ return -EINVAL;
+ }
+
if (backend && strcmp(backend, psi->name))
return -EPERM;
-
+
++++++ patches.fixes.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/0001-KEYS-potential-uninitialized-variable.patch new/patches.fixes/0001-KEYS-potential-uninitialized-variable.patch
--- old/patches.fixes/0001-KEYS-potential-uninitialized-variable.patch 2016-07-15 10:08:50.000000000 +0200
+++ new/patches.fixes/0001-KEYS-potential-uninitialized-variable.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,91 +0,0 @@
-From 38327424b40bcebe2de92d07312c89360ac9229a Mon Sep 17 00:00:00 2001
-From: Dan Carpenter <dan.carpenter(a)oracle.com>
-Date: Thu, 16 Jun 2016 15:48:57 +0100
-Subject: [PATCH] KEYS: potential uninitialized variable
-
-Git-commit: 38327424b40bcebe2de92d07312c89360ac9229a
-Patch-mainline: v4.7-rc4
-References: bsc#984755, CVE-2016-4470
-
-If __key_link_begin() failed then "edit" would be uninitialized. I've
-added a check to fix that.
-
-This allows a random user to crash the kernel, though it's quite
-difficult to achieve. There are three ways it can be done as the user
-would have to cause an error to occur in __key_link():
-
- (1) Cause the kernel to run out of memory. In practice, this is difficult
- to achieve without ENOMEM cropping up elsewhere and aborting the
- attempt.
-
- (2) Revoke the destination keyring between the keyring ID being looked up
- and it being tested for revocation. In practice, this is difficult to
- time correctly because the KEYCTL_REJECT function can only be used
- from the request-key upcall process. Further, users can only make use
- of what's in /sbin/request-key.conf, though this does including a
- rejection debugging test - which means that the destination keyring
- has to be the caller's session keyring in practice.
-
- (3) Have just enough key quota available to create a key, a new session
- keyring for the upcall and a link in the session keyring, but not then
- sufficient quota to create a link in the nominated destination keyring
- so that it fails with EDQUOT.
-
-The bug can be triggered using option (3) above using something like the
-following:
-
- echo 80 >/proc/sys/kernel/keys/root_maxbytes
- keyctl request2 user debug:fred negate @t
-
-The above sets the quota to something much lower (80) to make the bug
-easier to trigger, but this is dependent on the system. Note also that
-the name of the keyring created contains a random number that may be
-between 1 and 10 characters in size, so may throw the test off by
-changing the amount of quota used.
-
-Assuming the failure occurs, something like the following will be seen:
-
- kfree_debugcheck: out of range ptr 6b6b6b6b6b6b6b68h
- ------------[ cut here ]------------
- kernel BUG at ../mm/slab.c:2821!
- ...
- RIP: 0010:[<ffffffff811600f9>] kfree_debugcheck+0x20/0x25
- RSP: 0018:ffff8804014a7de8 EFLAGS: 00010092
- RAX: 0000000000000034 RBX: 6b6b6b6b6b6b6b68 RCX: 0000000000000000
- RDX: 0000000000040001 RSI: 00000000000000f6 RDI: 0000000000000300
- RBP: ffff8804014a7df0 R08: 0000000000000001 R09: 0000000000000000
- R10: ffff8804014a7e68 R11: 0000000000000054 R12: 0000000000000202
- R13: ffffffff81318a66 R14: 0000000000000000 R15: 0000000000000001
- ...
- Call Trace:
- kfree+0xde/0x1bc
- assoc_array_cancel_edit+0x1f/0x36
- __key_link_end+0x55/0x63
- key_reject_and_link+0x124/0x155
- keyctl_reject_key+0xb6/0xe0
- keyctl_negate_key+0x10/0x12
- SyS_keyctl+0x9f/0xe7
- do_syscall_64+0x63/0x13a
- entry_SYSCALL64_slow_path+0x25/0x25
-
-Fixes: f70e2e06196a ('KEYS: Do preallocation for __key_link()')
-Signed-off-by: Dan Carpenter <dan.carpenter(a)oracle.com>
-Signed-off-by: David Howells <dhowells(a)redhat.com>
-cc: stable(a)vger.kernel.org
-Signed-off-by: Linus Torvalds <torvalds(a)linux-foundation.org>
-Acked-by: Lee, Chun-Yi <jlee(a)suse.com>
----
- security/keys/key.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/security/keys/key.c
-+++ b/security/keys/key.c
-@@ -584,7 +584,7 @@ int key_reject_and_link(struct key *key,
-
- mutex_unlock(&key_construction_mutex);
-
-- if (keyring)
-+ if (keyring && link_ret == 0)
- __key_link_end(keyring, &key->index_key, edit);
-
- /* wake up anyone waiting for a key to be constructed */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/0001-Revert-ecryptfs-forbid-opening-files-without-mmap-ha.patch new/patches.fixes/0001-Revert-ecryptfs-forbid-opening-files-without-mmap-ha.patch
--- old/patches.fixes/0001-Revert-ecryptfs-forbid-opening-files-without-mmap-ha.patch 2016-07-15 10:08:50.000000000 +0200
+++ new/patches.fixes/0001-Revert-ecryptfs-forbid-opening-files-without-mmap-ha.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,63 +0,0 @@
-From 58cef0395ff3578c1339e3a0c6595c781909c051 Mon Sep 17 00:00:00 2001
-From: Jeff Mahoney <jeffm(a)suse.com>
-Date: Tue, 5 Jul 2016 17:11:12 -0400
-Subject: [PATCH 1/2] Revert "ecryptfs: forbid opening files without mmap
- handler"
-Patch-mainline: 4.7
-Git-commit: 78c4e172412de5d0456dc00d2b34050aa0b683b5
-References: boo#989084
-
-This reverts commit 2f36db71009304b3f0b95afacd8eba1f9f046b87.
-
-It fixed a local root exploit but also introduced a dependency on
-the lower file system implementing an mmap operation just to open a file,
-which is a bit of a heavy hammer. The right fix is to have mmap depend
-on the existence of the mmap handler instead.
-
-Signed-off-by: Jeff Mahoney <jeffm(a)suse.com>
----
- fs/ecryptfs/kthread.c | 13 ++-----------
- 1 file changed, 2 insertions(+), 11 deletions(-)
-
-diff --git a/fs/ecryptfs/kthread.c b/fs/ecryptfs/kthread.c
-index e818f5a..866bb18 100644
---- a/fs/ecryptfs/kthread.c
-+++ b/fs/ecryptfs/kthread.c
-@@ -25,7 +25,6 @@
- #include <linux/slab.h>
- #include <linux/wait.h>
- #include <linux/mount.h>
--#include <linux/file.h>
- #include "ecryptfs_kernel.h"
-
- struct ecryptfs_open_req {
-@@ -148,7 +147,7 @@ int ecryptfs_privileged_open(struct file **lower_file,
- flags |= IS_RDONLY(d_inode(lower_dentry)) ? O_RDONLY : O_RDWR;
- (*lower_file) = dentry_open(&req.path, flags, cred);
- if (!IS_ERR(*lower_file))
-- goto have_file;
-+ goto out;
- if ((flags & O_ACCMODE) == O_RDONLY) {
- rc = PTR_ERR((*lower_file));
- goto out;
-@@ -166,16 +165,8 @@ int ecryptfs_privileged_open(struct file **lower_file,
- mutex_unlock(&ecryptfs_kthread_ctl.mux);
- wake_up(&ecryptfs_kthread_ctl.wait);
- wait_for_completion(&req.done);
-- if (IS_ERR(*lower_file)) {
-+ if (IS_ERR(*lower_file))
- rc = PTR_ERR(*lower_file);
-- goto out;
-- }
--have_file:
-- if ((*lower_file)->f_op->mmap == NULL) {
-- fput(*lower_file);
-- *lower_file = NULL;
-- rc = -EMEDIUMTYPE;
-- }
- out:
- return rc;
- }
---
-2.7.1
-
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 2016-07-15 10:08:50.000000000 +0200
+++ new/patches.fixes/0001-ecryptfs-don-t-allow-mmap-when-the-lower-file-system.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,49 +0,0 @@
-From 328b1a077c5f33cf9dffc98ed805a36eea08d7dc Mon Sep 17 00:00:00 2001
-From: Jeff Mahoney <jeffm(a)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: 4.7
-Git-commit: f0fe970df3838c202ef6c07a4c2b36838ef0a88b
-
-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 <jeffm(a)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/0001-posix_acl-Add-set_posix_acl.patch new/patches.fixes/0001-posix_acl-Add-set_posix_acl.patch
--- old/patches.fixes/0001-posix_acl-Add-set_posix_acl.patch 2016-07-15 10:08:50.000000000 +0200
+++ new/patches.fixes/0001-posix_acl-Add-set_posix_acl.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,89 +0,0 @@
-From: Andreas Gruenbacher <agruenba(a)redhat.com>
-Date: Wed, 22 Jun 2016 23:57:25 +0200
-Subject: [PATCH] posix_acl: Add set_posix_acl
-Git-commit: 485e71e8fb6356c08c7fc6bcce4bf02c9a9a663f
-Patch-mainline: v4.7
-References: bsc#986570 CVE-2016-1237
-
-Factor out part of posix_acl_xattr_set into a common function that takes
-a posix_acl, which nfsd can also call.
-
-The prototype already exists in include/linux/posix_acl.h.
-
-Signed-off-by: Andreas Gruenbacher <agruenba(a)redhat.com>
-Cc: stable(a)vger.kernel.org
-Cc: Christoph Hellwig <hch(a)infradead.org>
-Cc: Al Viro <viro(a)zeniv.linux.org.uk>
-Signed-off-by: J. Bruce Fields <bfields(a)redhat.com>
-Acked-by: NeilBrown <neilb(a)suse.com>
-
----
- fs/posix_acl.c | 43 ++++++++++++++++++++++++-------------------
- 1 file changed, 24 insertions(+), 19 deletions(-)
-
---- a/fs/posix_acl.c
-+++ b/fs/posix_acl.c
-@@ -786,39 +786,44 @@ posix_acl_xattr_get(const struct xattr_h
- return error;
- }
-
--static int
--posix_acl_xattr_set(const struct xattr_handler *handler,
-- struct dentry *dentry, const char *name,
-- const void *value, size_t size, int flags)
-+int
-+set_posix_acl(struct inode *inode, int type, struct posix_acl *acl)
- {
-- struct inode *inode = d_backing_inode(dentry);
-- struct posix_acl *acl = NULL;
-- int ret;
--
- if (!IS_POSIXACL(inode))
- return -EOPNOTSUPP;
- if (!inode->i_op->set_acl)
- return -EOPNOTSUPP;
-
-- if (handler->flags == ACL_TYPE_DEFAULT && !S_ISDIR(inode->i_mode))
-- return value ? -EACCES : 0;
-+ if (type == ACL_TYPE_DEFAULT && !S_ISDIR(inode->i_mode))
-+ return acl ? -EACCES : 0;
- if (!inode_owner_or_capable(inode))
- return -EPERM;
-
-+ if (acl) {
-+ int ret = posix_acl_valid(acl);
-+ if (ret)
-+ return ret;
-+ }
-+ return inode->i_op->set_acl(inode, acl, type);
-+}
-+EXPORT_SYMBOL(set_posix_acl);
-+
-+static int
-+posix_acl_xattr_set(const struct xattr_handler *handler,
-+ struct dentry *dentry,
-+ const char *name, const void *value,
-+ size_t size, int flags)
-+{
-+ struct inode *inode = d_backing_inode(dentry);
-+ struct posix_acl *acl = NULL;
-+ int ret;
-+
- if (value) {
- acl = posix_acl_from_xattr(&init_user_ns, value, size);
- if (IS_ERR(acl))
- return PTR_ERR(acl);
--
-- if (acl) {
-- ret = posix_acl_valid(acl);
-- if (ret)
-- goto out;
-- }
- }
--
-- ret = inode->i_op->set_acl(inode, acl, handler->flags);
--out:
-+ ret = set_posix_acl(inode, handler->flags, acl);
- posix_acl_release(acl);
- return ret;
- }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/0002-nfsd-check-permissions-when-setting-ACLs.patch new/patches.fixes/0002-nfsd-check-permissions-when-setting-ACLs.patch
--- old/patches.fixes/0002-nfsd-check-permissions-when-setting-ACLs.patch 2016-07-15 10:08:50.000000000 +0200
+++ new/patches.fixes/0002-nfsd-check-permissions-when-setting-ACLs.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,149 +0,0 @@
-From: Ben Hutchings <ben(a)decadent.org.uk>
-Date: Wed, 22 Jun 2016 19:43:35 +0100
-Subject: [PATCH] nfsd: check permissions when setting ACLs
-Git-commit: 999653786df6954a31044528ac3f7a5dadca08f4
-Patch-mainline: v4.7
-References: bsc#986570 CVE-2016-1237
-
-Use set_posix_acl, which includes proper permission checks, instead of
-calling ->set_acl directly. Without this anyone may be able to grant
-themselves permissions to a file by setting the ACL.
-
-Lock the inode to make the new checks atomic with respect to set_acl.
-(Also, nfsd was the only caller of set_acl not locking the inode, so I
-suspect this may fix other races.)
-
-This also simplifies the code, and ensures our ACLs are checked by
-posix_acl_valid.
-
-The permission checks and the inode locking were lost with commit
-4ac7249e, which changed nfsd to use the set_acl inode operation directly
-instead of going through xattr handlers.
-
-Reported-by: David Sinquin <david(a)sinquin.eu>
-[agreunba(a)redhat.com: use set_posix_acl]
-Fixes: 4ac7249e
-Cc: Christoph Hellwig <hch(a)infradead.org>
-Cc: Al Viro <viro(a)zeniv.linux.org.uk>
-Cc: stable(a)vger.kernel.org
-Signed-off-by: J. Bruce Fields <bfields(a)redhat.com>
-Acked-by: NeilBrown <neilb(a)suse.com>
-
----
- fs/nfsd/nfs2acl.c | 20 ++++++++++----------
- fs/nfsd/nfs3acl.c | 16 +++++++---------
- fs/nfsd/nfs4acl.c | 16 ++++++++--------
- 3 files changed, 25 insertions(+), 27 deletions(-)
-
---- a/fs/nfsd/nfs2acl.c
-+++ b/fs/nfsd/nfs2acl.c
-@@ -104,22 +104,21 @@ static __be32 nfsacld_proc_setacl(struct
- goto out;
-
- inode = d_inode(fh->fh_dentry);
-- if (!IS_POSIXACL(inode) || !inode->i_op->set_acl) {
-- error = -EOPNOTSUPP;
-- goto out_errno;
-- }
-
- error = fh_want_write(fh);
- if (error)
- goto out_errno;
-
-- error = inode->i_op->set_acl(inode, argp->acl_access, ACL_TYPE_ACCESS);
-+ fh_lock(fh);
-+
-+ error = set_posix_acl(inode, ACL_TYPE_ACCESS, argp->acl_access);
- if (error)
-- goto out_drop_write;
-- error = inode->i_op->set_acl(inode, argp->acl_default,
-- ACL_TYPE_DEFAULT);
-+ goto out_drop_lock;
-+ error = set_posix_acl(inode, ACL_TYPE_DEFAULT, argp->acl_default);
- if (error)
-- goto out_drop_write;
-+ goto out_drop_lock;
-+
-+ fh_unlock(fh);
-
- fh_drop_write(fh);
-
-@@ -131,7 +130,8 @@ out:
- posix_acl_release(argp->acl_access);
- posix_acl_release(argp->acl_default);
- return nfserr;
--out_drop_write:
-+out_drop_lock:
-+ fh_unlock(fh);
- fh_drop_write(fh);
- out_errno:
- nfserr = nfserrno(error);
---- a/fs/nfsd/nfs3acl.c
-+++ b/fs/nfsd/nfs3acl.c
-@@ -95,22 +95,20 @@ static __be32 nfsd3_proc_setacl(struct s
- goto out;
-
- inode = d_inode(fh->fh_dentry);
-- if (!IS_POSIXACL(inode) || !inode->i_op->set_acl) {
-- error = -EOPNOTSUPP;
-- goto out_errno;
-- }
-
- error = fh_want_write(fh);
- if (error)
- goto out_errno;
-
-- error = inode->i_op->set_acl(inode, argp->acl_access, ACL_TYPE_ACCESS);
-+ fh_lock(fh);
-+
-+ error = set_posix_acl(inode, ACL_TYPE_ACCESS, argp->acl_access);
- if (error)
-- goto out_drop_write;
-- error = inode->i_op->set_acl(inode, argp->acl_default,
-- ACL_TYPE_DEFAULT);
-+ goto out_drop_lock;
-+ error = set_posix_acl(inode, ACL_TYPE_DEFAULT, argp->acl_default);
-
--out_drop_write:
-+out_drop_lock:
-+ fh_unlock(fh);
- fh_drop_write(fh);
- out_errno:
- nfserr = nfserrno(error);
---- a/fs/nfsd/nfs4acl.c
-+++ b/fs/nfsd/nfs4acl.c
-@@ -770,9 +770,6 @@ nfsd4_set_nfs4_acl(struct svc_rqst *rqst
- dentry = fhp->fh_dentry;
- inode = d_inode(dentry);
-
-- if (!inode->i_op->set_acl || !IS_POSIXACL(inode))
-- return nfserr_attrnotsupp;
--
- if (S_ISDIR(inode->i_mode))
- flags = NFS4_ACL_DIR;
-
-@@ -782,16 +779,19 @@ nfsd4_set_nfs4_acl(struct svc_rqst *rqst
- if (host_error < 0)
- goto out_nfserr;
-
-- host_error = inode->i_op->set_acl(inode, pacl, ACL_TYPE_ACCESS);
-+ fh_lock(fhp);
-+
-+ host_error = set_posix_acl(inode, ACL_TYPE_ACCESS, pacl);
- if (host_error < 0)
-- goto out_release;
-+ goto out_drop_lock;
-
- if (S_ISDIR(inode->i_mode)) {
-- host_error = inode->i_op->set_acl(inode, dpacl,
-- ACL_TYPE_DEFAULT);
-+ host_error = set_posix_acl(inode, ACL_TYPE_DEFAULT, dpacl);
- }
-
--out_release:
-+out_drop_lock:
-+ fh_unlock(fhp);
-+
- posix_acl_release(pacl);
- posix_acl_release(dpacl);
- out_nfserr:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/ALSA-timer-Fix-leak-in-SNDRV_TIMER_IOCTL_PARAMS new/patches.fixes/ALSA-timer-Fix-leak-in-SNDRV_TIMER_IOCTL_PARAMS
--- old/patches.fixes/ALSA-timer-Fix-leak-in-SNDRV_TIMER_IOCTL_PARAMS 2016-07-15 10:08:50.000000000 +0200
+++ new/patches.fixes/ALSA-timer-Fix-leak-in-SNDRV_TIMER_IOCTL_PARAMS 1970-01-01 01:00:00.000000000 +0100
@@ -1,32 +0,0 @@
-From cec8f96e49d9be372fdb0c3836dcf31ec71e457e Mon Sep 17 00:00:00 2001
-From: Kangjie Lu <kangjielu(a)gmail.com>
-Date: Tue, 3 May 2016 16:44:07 -0400
-Subject: [PATCH] ALSA: timer: Fix leak in SNDRV_TIMER_IOCTL_PARAMS
-Mime-version: 1.0
-Content-type: text/plain; charset=UTF-8
-Content-transfer-encoding: 8bit
-Patch-mainline: v4.7-rc1
-Git-commit: cec8f96e49d9be372fdb0c3836dcf31ec71e457e
-References: CVE-2016-4569,bsc#979213
-
-The stack object “tread” has a total size of 32 bytes. Its field
-“event” and “val” both contain 4 bytes padding. These 8 bytes
-padding bytes are sent to user without being initialized.
-
-Signed-off-by: Kangjie Lu <kjlu(a)gatech.edu>
-Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
-
----
- sound/core/timer.c | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/sound/core/timer.c
-+++ b/sound/core/timer.c
-@@ -1739,6 +1739,7 @@ static int snd_timer_user_params(struct
- if (tu->timeri->flags & SNDRV_TIMER_IFLG_EARLY_EVENT) {
- if (tu->tread) {
- struct snd_timer_tread tread;
-+ memset(&tread, 0, sizeof(tread));
- tread.event = SNDRV_TIMER_EVENT_EARLY;
- tread.tstamp.tv_sec = 0;
- tread.tstamp.tv_nsec = 0;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/ALSA-timer-Fix-leak-in-events-via-snd_timer_user_cca new/patches.fixes/ALSA-timer-Fix-leak-in-events-via-snd_timer_user_cca
--- old/patches.fixes/ALSA-timer-Fix-leak-in-events-via-snd_timer_user_cca 2016-07-15 10:08:50.000000000 +0200
+++ new/patches.fixes/ALSA-timer-Fix-leak-in-events-via-snd_timer_user_cca 1970-01-01 01:00:00.000000000 +0100
@@ -1,32 +0,0 @@
-From 9a47e9cff994f37f7f0dbd9ae23740d0f64f9fe6 Mon Sep 17 00:00:00 2001
-From: Kangjie Lu <kangjielu(a)gmail.com>
-Date: Tue, 3 May 2016 16:44:20 -0400
-Subject: [PATCH] ALSA: timer: Fix leak in events via snd_timer_user_ccallback
-Mime-version: 1.0
-Content-type: text/plain; charset=UTF-8
-Content-transfer-encoding: 8bit
-Patch-mainline: v4.7-rc1
-Git-commit: 9a47e9cff994f37f7f0dbd9ae23740d0f64f9fe6
-References: CVE-2016-4578,bsc#979879
-
-The stack object “r1” has a total size of 32 bytes. Its field
-“event” and “val” both contain 4 bytes padding. These 8 bytes
-padding bytes are sent to user without being initialized.
-
-Signed-off-by: Kangjie Lu <kjlu(a)gatech.edu>
-Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
-
----
- sound/core/timer.c | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/sound/core/timer.c
-+++ b/sound/core/timer.c
-@@ -1225,6 +1225,7 @@ static void snd_timer_user_ccallback(str
- tu->tstamp = *tstamp;
- if ((tu->filter & (1 << event)) == 0 || !tu->tread)
- return;
-+ memset(&r1, 0, sizeof(r1));
- r1.event = event;
- r1.tstamp = *tstamp;
- r1.val = resolution;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/ALSA-timer-Fix-leak-in-events-via-snd_timer_user_tin new/patches.fixes/ALSA-timer-Fix-leak-in-events-via-snd_timer_user_tin
--- old/patches.fixes/ALSA-timer-Fix-leak-in-events-via-snd_timer_user_tin 2016-07-15 10:08:50.000000000 +0200
+++ new/patches.fixes/ALSA-timer-Fix-leak-in-events-via-snd_timer_user_tin 1970-01-01 01:00:00.000000000 +0100
@@ -1,32 +0,0 @@
-From e4ec8cc8039a7063e24204299b462bd1383184a5 Mon Sep 17 00:00:00 2001
-From: Kangjie Lu <kangjielu(a)gmail.com>
-Date: Tue, 3 May 2016 16:44:32 -0400
-Subject: [PATCH] ALSA: timer: Fix leak in events via snd_timer_user_tinterrupt
-Mime-version: 1.0
-Content-type: text/plain; charset=UTF-8
-Content-transfer-encoding: 8bit
-Patch-mainline: v4.7-rc1
-Git-commit: e4ec8cc8039a7063e24204299b462bd1383184a5
-References: CVE-2016-4578,bsc#979879
-
-The stack object “r1” has a total size of 32 bytes. Its field
-“event” and “val” both contain 4 bytes padding. These 8 bytes
-padding bytes are sent to user without being initialized.
-
-Signed-off-by: Kangjie Lu <kjlu(a)gatech.edu>
-Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
-
----
- sound/core/timer.c | 1 +
- 1 file changed, 1 insertion(+)
-
---- a/sound/core/timer.c
-+++ b/sound/core/timer.c
-@@ -1268,6 +1268,7 @@ static void snd_timer_user_tinterrupt(st
- }
- if ((tu->filter & (1 << SNDRV_TIMER_EVENT_RESOLUTION)) &&
- tu->last_resolution != resolution) {
-+ memset(&r1, 0, sizeof(r1));
- r1.event = SNDRV_TIMER_EVENT_RESOLUTION;
- r1.tstamp = tstamp;
- r1.val = resolution;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/Bluetooth-fix-power_on-vs-close-race new/patches.fixes/Bluetooth-fix-power_on-vs-close-race
--- old/patches.fixes/Bluetooth-fix-power_on-vs-close-race 2016-07-15 10:08:50.000000000 +0200
+++ new/patches.fixes/Bluetooth-fix-power_on-vs-close-race 1970-01-01 01:00:00.000000000 +0100
@@ -1,55 +0,0 @@
-From bf389cabb3b8079c23f9762e62b05f291e2d5e99 Mon Sep 17 00:00:00 2001
-From: Jiri Slaby <jslaby(a)suse.cz>
-Date: Fri, 13 May 2016 10:38:49 +0200
-Subject: [PATCH] Bluetooth: fix power_on vs close race
-Patch-mainline: 4.7-rc1
-Git-commit: bf389cabb3b8079c23f9762e62b05f291e2d5e99
-References: bsc#966849
-
-With all the latest fixes applied, I am still able to reproduce this
-(and other) warning(s):
-Warning: CPU: 1 PID: 19684 at ../kernel/workqueue.c:4092 destroy_workqueue+0x70a/0x770()
-...
-Call Trace:
- [<ffffffff819fee81>] ? dump_stack+0xb3/0x112
- [<ffffffff8117377e>] ? warn_slowpath_common+0xde/0x140
- [<ffffffff811ce68a>] ? destroy_workqueue+0x70a/0x770
- [<ffffffff811739ae>] ? warn_slowpath_null+0x2e/0x40
- [<ffffffff811ce68a>] ? destroy_workqueue+0x70a/0x770
- [<ffffffffa0c944c9>] ? hci_unregister_dev+0x2a9/0x720 [bluetooth]
- [<ffffffffa0b301db>] ? vhci_release+0x7b/0xf0 [hci_vhci]
- [<ffffffffa0b30160>] ? vhci_flush+0x50/0x50 [hci_vhci]
- [<ffffffff8117cd73>] ? do_exit+0x863/0x2b90
-
-This is due to race present in the hci_unregister_dev path.
-hdev->power_on work races with hci_dev_do_close. One tries to open,
-the other tries to close, leading to warning like the above. (Another
-example is a warning in kobject_get or kobject_put depending on who
-wins the race.)
-
-Fix this by switching those two racers to ensure hdev->power_on never
-triggers while hci_dev_do_close is in progress.
-
-Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
-Signed-off-by: Marcel Holtmann <marcel(a)holtmann.org>
-Acked-by: Takashi Iwai <tiwai(a)suse.de>
-
----
- net/bluetooth/hci_core.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/net/bluetooth/hci_core.c
-+++ b/net/bluetooth/hci_core.c
-@@ -3139,10 +3139,10 @@ void hci_unregister_dev(struct hci_dev *
- list_del(&hdev->list);
- write_unlock(&hci_dev_list_lock);
-
-- hci_dev_do_close(hdev);
--
- cancel_work_sync(&hdev->power_on);
-
-+ hci_dev_do_close(hdev);
-+
- if (!test_bit(HCI_INIT, &hdev->flags) &&
- !hci_dev_test_flag(hdev, HCI_SETUP) &&
- !hci_dev_test_flag(hdev, HCI_CONFIG)) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/apparmor-fix-oops-validate-buffer-size-in-apparmor_s new/patches.fixes/apparmor-fix-oops-validate-buffer-size-in-apparmor_s
--- old/patches.fixes/apparmor-fix-oops-validate-buffer-size-in-apparmor_s 2016-07-15 10:08:50.000000000 +0200
+++ new/patches.fixes/apparmor-fix-oops-validate-buffer-size-in-apparmor_s 1970-01-01 01:00:00.000000000 +0100
@@ -1,117 +0,0 @@
-From 30a46a4647fd1df9cf52e43bf467f0d9265096ca Mon Sep 17 00:00:00 2001
-From: Vegard Nossum <vegard.nossum(a)oracle.com>
-Date: Thu, 7 Jul 2016 13:41:11 -0700
-Subject: [PATCH] apparmor: fix oops, validate buffer size in apparmor_setprocattr()
-Git-commit: 30a46a4647fd1df9cf52e43bf467f0d9265096ca
-Patch-mainline: 4.7-rc7
-References: CVE-2016-6187,bsc#988307
-
-When proc_pid_attr_write() was changed to use memdup_user apparmor's
-(interface violating) assumption that the setprocattr buffer was always
-a single page was violated.
-
-The size test is not strictly speaking needed as proc_pid_attr_write()
-will reject anything larger, but for the sake of robustness we can keep
-it in.
-
-SMACK and SELinux look safe to me, but somebody else should probably
-have a look just in case.
-
-Based on original patch from Vegard Nossum <vegard.nossum(a)oracle.com>
-modified for the case that apparmor provides null termination.
-
-Fixes: bb646cdb12e75d82258c2f2e7746d5952d3e321a
-Reported-by: Vegard Nossum <vegard.nossum(a)oracle.com>
-Cc: Al Viro <viro(a)zeniv.linux.org.uk>
-Cc: John Johansen <john.johansen(a)canonical.com>
-Cc: Paul Moore <paul(a)paul-moore.com>
-Cc: Stephen Smalley <sds(a)tycho.nsa.gov>
-Cc: Eric Paris <eparis(a)parisplace.org>
-Cc: Casey Schaufler <casey(a)schaufler-ca.com>
-Cc: stable(a)kernel.org
-Signed-off-by: John Johansen <john.johansen(a)canonical.com>
-Reviewed-by: Tyler Hicks <tyhicks(a)canonical.com>
-Signed-off-by: James Morris <james.l.morris(a)oracle.com>
-Acked-by: Takashi Iwai <tiwai(a)suse.de>
-
----
- security/apparmor/lsm.c | 36 +++++++++++++++++++-----------------
- 1 file changed, 19 insertions(+), 17 deletions(-)
-
---- a/security/apparmor/lsm.c
-+++ b/security/apparmor/lsm.c
-@@ -524,34 +524,34 @@ static int apparmor_setprocattr(struct t
- {
- struct common_audit_data sa;
- struct apparmor_audit_data aad = {0,};
-- char *command, *args = value;
-+ char *command, *largs = NULL, *args = value;
- size_t arg_size;
- int error;
-
- if (size == 0)
- return -EINVAL;
-- /* args points to a PAGE_SIZE buffer, AppArmor requires that
-- * the buffer must be null terminated or have size <= PAGE_SIZE -1
-- * so that AppArmor can null terminate them
-- */
-- if (args[size - 1] != '\0') {
-- if (size == PAGE_SIZE)
-- return -EINVAL;
-- args[size] = '\0';
-- }
--
- /* task can only write its own attributes */
- if (current != task)
- return -EACCES;
-
-- args = value;
-+ /* AppArmor requires that the buffer must be null terminated atm */
-+ if (args[size - 1] != '\0') {
-+ /* null terminate */
-+ largs = args = kmalloc(size + 1, GFP_KERNEL);
-+ if (!args)
-+ return -ENOMEM;
-+ memcpy(args, value, size);
-+ args[size] = '\0';
-+ }
-+
-+ error = -EINVAL;
- args = strim(args);
- command = strsep(&args, " ");
- if (!args)
-- return -EINVAL;
-+ goto out;
- args = skip_spaces(args);
- if (!*args)
-- return -EINVAL;
-+ goto out;
-
- arg_size = size - (args - (char *) value);
- if (strcmp(name, "current") == 0) {
-@@ -577,10 +577,12 @@ static int apparmor_setprocattr(struct t
- goto fail;
- } else
- /* only support the "current" and "exec" process attributes */
-- return -EINVAL;
-+ goto fail;
-
- if (!error)
- error = size;
-+out:
-+ kfree(largs);
- return error;
-
- fail:
-@@ -589,9 +591,9 @@ fail:
- aad.profile = aa_current_profile();
- aad.op = OP_SETPROCATTR;
- aad.info = name;
-- aad.error = -EINVAL;
-+ aad.error = error = -EINVAL;
- aa_audit_msg(AUDIT_APPARMOR_DENIED, &sa, NULL);
-- return -EINVAL;
-+ goto out;
- }
-
- static int apparmor_task_setrlimit(struct task_struct *task,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/base-make-module_create_drivers_dir-race-free.patch new/patches.fixes/base-make-module_create_drivers_dir-race-free.patch
--- old/patches.fixes/base-make-module_create_drivers_dir-race-free.patch 2016-07-15 10:08:50.000000000 +0200
+++ new/patches.fixes/base-make-module_create_drivers_dir-race-free.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,86 +0,0 @@
-From: Jiri Slaby <jslaby(a)suse.cz>
-Date: Fri, 10 Jun 2016 10:54:32 +0200
-Subject: base: make module_create_drivers_dir race-free
-Git-commit: 7e1b1fc4dabd6ec8e28baa0708866e13fa93c9b3
-Patch-mainline: v4.7-rc4
-References: bnc#983977
-
-Modules which register drivers via standard path (driver_register) in
-parallel can cause a warning:
-WARNING: CPU: 2 PID: 3492 at ../fs/sysfs/dir.c:31 sysfs_warn_dup+0x62/0x80
-sysfs: cannot create duplicate filename '/module/saa7146/drivers'
-Modules linked in: hexium_gemini(+) mxb(+) ...
-...
-Call Trace:
-...
- [<ffffffff812e63a2>] sysfs_warn_dup+0x62/0x80
- [<ffffffff812e6487>] sysfs_create_dir_ns+0x77/0x90
- [<ffffffff8140f2c4>] kobject_add_internal+0xb4/0x340
- [<ffffffff8140f5b8>] kobject_add+0x68/0xb0
- [<ffffffff8140f631>] kobject_create_and_add+0x31/0x70
- [<ffffffff8157a703>] module_add_driver+0xc3/0xd0
- [<ffffffff8155e5d4>] bus_add_driver+0x154/0x280
- [<ffffffff815604c0>] driver_register+0x60/0xe0
- [<ffffffff8145bed0>] __pci_register_driver+0x60/0x70
- [<ffffffffa0273e14>] saa7146_register_extension+0x64/0x90 [saa7146]
- [<ffffffffa0033011>] hexium_init_module+0x11/0x1000 [hexium_gemini]
-...
-
-As can be (mostly) seen, driver_register causes this call sequence:
- -> bus_add_driver
- -> module_add_driver
- -> module_create_drivers_dir
-The last one creates "drivers" directory in /sys/module/<...>. When
-this is done in parallel, the directory is attempted to be created
-twice at the same time.
-
-This can be easily reproduced by loading mxb and hexium_gemini in
-parallel:
-while :; do
- modprobe mxb &
- modprobe hexium_gemini
- wait
- rmmod mxb hexium_gemini saa7146_vv saa7146
-done
-
-saa7146 calls pci_register_driver for both mxb and hexium_gemini,
-which means /sys/module/saa7146/drivers is to be created for both of
-them.
-
-Fix this by a new mutex in module_create_drivers_dir which makes the
-test-and-create "drivers" dir atomic.
-
-I inverted the condition and removed 'return' to avoid multiple
-unlocks or a goto.
-
-Signed-off-by: Jiri Slaby <jslaby(a)suse.cz>
-Fixes: fe480a2675ed (Modules: only add drivers/ direcory if needed)
-Cc: v2.6.21+ <stable(a)vger.kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
----
- drivers/base/module.c | 8 +++++---
- 1 file changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/base/module.c b/drivers/base/module.c
-index db930d3ee312..2a215780eda2 100644
---- a/drivers/base/module.c
-+++ b/drivers/base/module.c
-@@ -24,10 +24,12 @@ static char *make_driver_name(struct device_driver *drv)
-
- static void module_create_drivers_dir(struct module_kobject *mk)
- {
-- if (!mk || mk->drivers_dir)
-- return;
-+ static DEFINE_MUTEX(drivers_dir_mutex);
-
-- mk->drivers_dir = kobject_create_and_add("drivers", &mk->kobj);
-+ mutex_lock(&drivers_dir_mutex);
-+ if (mk && !mk->drivers_dir)
-+ mk->drivers_dir = kobject_create_and_add("drivers", &mk->kobj);
-+ mutex_unlock(&drivers_dir_mutex);
- }
-
- void module_add_driver(struct module *mod, struct device_driver *drv)
---
-2.9.0
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/netfilter-x_tables-speed-up-jump-target-validation.patch new/patches.fixes/netfilter-x_tables-speed-up-jump-target-validation.patch
--- old/patches.fixes/netfilter-x_tables-speed-up-jump-target-validation.patch 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.fixes/netfilter-x_tables-speed-up-jump-target-validation.patch 2016-07-25 09:22:34.000000000 +0200
@@ -0,0 +1,482 @@
+From: Florian Westphal <fw(a)strlen.de>
+Date: Thu, 14 Jul 2016 17:51:26 +0200
+Subject: netfilter: x_tables: speed up jump target validation
+Patch-mainline: Queued in subsystem maintainer repository (target: v4.8-rc1)
+Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git
+Git-commit: f4dc77713f8016d2e8a3295e1c9c53a21f296def
+References: CVE-2016-4997 bsc#986362
+
+The dummy ruleset I used to test the original validation change was broken,
+most rules were unreachable and were not tested by mark_source_chains().
+
+In some cases rulesets that used to load in a few seconds now require
+several minutes.
+
+sample ruleset that shows the behaviour:
+
+echo "*filter"
+for i in $(seq 0 100000);do
+ printf ":chain_%06x - [0:0]\n" $i
+done
+for i in $(seq 0 100000);do
+ printf -- "-A INPUT -j chain_%06x\n" $i
+ printf -- "-A INPUT -j chain_%06x\n" $i
+ printf -- "-A INPUT -j chain_%06x\n" $i
+done
+echo COMMIT
+
+[ pipe result into iptables-restore ]
+
+This ruleset will be about 74mbyte in size, with ~500k searches
+though all 500k[1] rule entries. iptables-restore will take forever
+(gave up after 10 minutes)
+
+Instead of always searching the entire blob for a match, fill an
+array with the start offsets of every single ipt_entry struct,
+then do a binary search to check if the jump target is present or not.
+
+After this change ruleset restore times get again close to what one
+gets when reverting 36472341017529e (~3 seconds on my workstation).
+
+[1] every user-defined rule gets an implicit RETURN, so we get
+300k jumps + 100k userchains + 100k returns -> 500k rule entries
+
+Fixes: 36472341017529e ("netfilter: x_tables: validate targets of jumps")
+Reported-by: Jeff Wu <wujiafu(a)gmail.com>
+Tested-by: Jeff Wu <wujiafu(a)gmail.com>
+Signed-off-by: Florian Westphal <fw(a)strlen.de>
+Signed-off-by: Pablo Neira Ayuso <pablo(a)netfilter.org>
+Acked-by: Michal Kubecek <mkubecek(a)suse.cz>
+
+---
+ include/linux/netfilter/x_tables.h | 4 +++
+ net/ipv4/netfilter/arp_tables.c | 47 ++++++++++++++++++-----------------
+ net/ipv4/netfilter/ip_tables.c | 45 ++++++++++++++++++----------------
+ net/ipv6/netfilter/ip6_tables.c | 45 ++++++++++++++++++----------------
+ net/netfilter/x_tables.c | 50 ++++++++++++++++++++++++++++++++++++++
+ 5 files changed, 127 insertions(+), 64 deletions(-)
+
+diff --git a/include/linux/netfilter/x_tables.h b/include/linux/netfilter/x_tables.h
+index dc4f58a3cdcc..5f968a3d91ed 100644
+--- a/include/linux/netfilter/x_tables.h
++++ b/include/linux/netfilter/x_tables.h
+@@ -246,6 +246,10 @@ int xt_check_entry_offsets(const void *base, const char *elems,
+ unsigned int target_offset,
+ unsigned int next_offset);
+
++unsigned int *xt_alloc_entry_offsets(unsigned int size);
++bool xt_find_jump_offset(const unsigned int *offsets,
++ unsigned int target, unsigned int size);
++
+ int xt_check_match(struct xt_mtchk_param *, unsigned int size, u_int8_t proto,
+ bool inv_proto);
+ int xt_check_target(struct xt_tgchk_param *, unsigned int size, u_int8_t proto,
+diff --git a/net/ipv4/netfilter/arp_tables.c b/net/ipv4/netfilter/arp_tables.c
+index 2033f929aa66..9a971e351865 100644
+--- a/net/ipv4/netfilter/arp_tables.c
++++ b/net/ipv4/netfilter/arp_tables.c
+@@ -300,23 +300,12 @@ static inline bool unconditional(const struct arpt_entry *e)
+ memcmp(&e->arp, &uncond, sizeof(uncond)) == 0;
+ }
+
+-static bool find_jump_target(const struct xt_table_info *t,
+- const struct arpt_entry *target)
+-{
+- struct arpt_entry *iter;
+-
+- xt_entry_foreach(iter, t->entries, t->size) {
+- if (iter == target)
+- return true;
+- }
+- return false;
+-}
+-
+ /* Figures out from what hook each rule can be called: returns 0 if
+ * there are loops. Puts hook bitmask in comefrom.
+ */
+ static int mark_source_chains(const struct xt_table_info *newinfo,
+- unsigned int valid_hooks, void *entry0)
++ unsigned int valid_hooks, void *entry0,
++ unsigned int *offsets)
+ {
+ unsigned int hook;
+
+@@ -389,10 +378,11 @@ static int mark_source_chains(const struct xt_table_info *newinfo,
+ XT_STANDARD_TARGET) == 0 &&
+ newpos >= 0) {
+ /* This a jump; chase it. */
++ if (!xt_find_jump_offset(offsets, newpos,
++ newinfo->number))
++ return 0;
+ e = (struct arpt_entry *)
+ (entry0 + newpos);
+- if (!find_jump_target(newinfo, e))
+- return 0;
+ } else {
+ /* ... this is a fallthru */
+ newpos = pos + e->next_offset;
+@@ -544,6 +534,7 @@ static int translate_table(struct xt_table_info *newinfo, void *entry0,
+ const struct arpt_replace *repl)
+ {
+ struct arpt_entry *iter;
++ unsigned int *offsets;
+ unsigned int i;
+ int ret = 0;
+
+@@ -556,6 +547,9 @@ static int translate_table(struct xt_table_info *newinfo, void *entry0,
+ newinfo->underflow[i] = 0xFFFFFFFF;
+ }
+
++ offsets = xt_alloc_entry_offsets(newinfo->number);
++ if (!offsets)
++ return -ENOMEM;
+ i = 0;
+
+ /* Walk through entries, checking offsets. */
+@@ -566,17 +560,20 @@ static int translate_table(struct xt_table_info *newinfo, void *entry0,
+ repl->underflow,
+ repl->valid_hooks);
+ if (ret != 0)
+- break;
++ goto out_free;
++ if (i < repl->num_entries)
++ offsets[i] = (void *)iter - entry0;
+ ++i;
+ if (strcmp(arpt_get_target(iter)->u.user.name,
+ XT_ERROR_TARGET) == 0)
+ ++newinfo->stacksize;
+ }
+ if (ret != 0)
+- return ret;
++ goto out_free;
+
++ ret = -EINVAL;
+ if (i != repl->num_entries)
+- return -EINVAL;
++ goto out_free;
+
+ /* Check hooks all assigned */
+ for (i = 0; i < NF_ARP_NUMHOOKS; i++) {
+@@ -584,13 +581,16 @@ static int translate_table(struct xt_table_info *newinfo, void *entry0,
+ if (!(repl->valid_hooks & (1 << i)))
+ continue;
+ if (newinfo->hook_entry[i] == 0xFFFFFFFF)
+- return -EINVAL;
++ goto out_free;
+ if (newinfo->underflow[i] == 0xFFFFFFFF)
+- return -EINVAL;
++ goto out_free;
+ }
+
+- if (!mark_source_chains(newinfo, repl->valid_hooks, entry0))
+- return -ELOOP;
++ if (!mark_source_chains(newinfo, repl->valid_hooks, entry0, offsets)) {
++ ret = -ELOOP;
++ goto out_free;
++ }
++ kvfree(offsets);
+
+ /* Finally, each sanity check must pass */
+ i = 0;
+@@ -611,6 +611,9 @@ static int translate_table(struct xt_table_info *newinfo, void *entry0,
+ }
+
+ return ret;
++ out_free:
++ kvfree(offsets);
++ return ret;
+ }
+
+ static void get_counters(const struct xt_table_info *t,
+diff --git a/net/ipv4/netfilter/ip_tables.c b/net/ipv4/netfilter/ip_tables.c
+index 54906e0e8e0c..1c909f37f4af 100644
+--- a/net/ipv4/netfilter/ip_tables.c
++++ b/net/ipv4/netfilter/ip_tables.c
+@@ -375,23 +375,12 @@ ipt_do_table(struct sk_buff *skb,
+ else return verdict;
+ }
+
+-static bool find_jump_target(const struct xt_table_info *t,
+- const struct ipt_entry *target)
+-{
+- struct ipt_entry *iter;
+-
+- xt_entry_foreach(iter, t->entries, t->size) {
+- if (iter == target)
+- return true;
+- }
+- return false;
+-}
+-
+ /* Figures out from what hook each rule can be called: returns 0 if
+ there are loops. Puts hook bitmask in comefrom. */
+ static int
+ mark_source_chains(const struct xt_table_info *newinfo,
+- unsigned int valid_hooks, void *entry0)
++ unsigned int valid_hooks, void *entry0,
++ unsigned int *offsets)
+ {
+ unsigned int hook;
+
+@@ -460,10 +449,11 @@ mark_source_chains(const struct xt_table_info *newinfo,
+ XT_STANDARD_TARGET) == 0 &&
+ newpos >= 0) {
+ /* This a jump; chase it. */
++ if (!xt_find_jump_offset(offsets, newpos,
++ newinfo->number))
++ return 0;
+ e = (struct ipt_entry *)
+ (entry0 + newpos);
+- if (!find_jump_target(newinfo, e))
+- return 0;
+ } else {
+ /* ... this is a fallthru */
+ newpos = pos + e->next_offset;
+@@ -696,6 +686,7 @@ translate_table(struct net *net, struct xt_table_info *newinfo, void *entry0,
+ const struct ipt_replace *repl)
+ {
+ struct ipt_entry *iter;
++ unsigned int *offsets;
+ unsigned int i;
+ int ret = 0;
+
+@@ -708,6 +699,9 @@ translate_table(struct net *net, struct xt_table_info *newinfo, void *entry0,
+ newinfo->underflow[i] = 0xFFFFFFFF;
+ }
+
++ offsets = xt_alloc_entry_offsets(newinfo->number);
++ if (!offsets)
++ return -ENOMEM;
+ i = 0;
+ /* Walk through entries, checking offsets. */
+ xt_entry_foreach(iter, entry0, newinfo->size) {
+@@ -717,15 +711,18 @@ translate_table(struct net *net, struct xt_table_info *newinfo, void *entry0,
+ repl->underflow,
+ repl->valid_hooks);
+ if (ret != 0)
+- return ret;
++ goto out_free;
++ if (i < repl->num_entries)
++ offsets[i] = (void *)iter - entry0;
+ ++i;
+ if (strcmp(ipt_get_target(iter)->u.user.name,
+ XT_ERROR_TARGET) == 0)
+ ++newinfo->stacksize;
+ }
+
++ ret = -EINVAL;
+ if (i != repl->num_entries)
+- return -EINVAL;
++ goto out_free;
+
+ /* Check hooks all assigned */
+ for (i = 0; i < NF_INET_NUMHOOKS; i++) {
+@@ -733,13 +730,16 @@ translate_table(struct net *net, struct xt_table_info *newinfo, void *entry0,
+ if (!(repl->valid_hooks & (1 << i)))
+ continue;
+ if (newinfo->hook_entry[i] == 0xFFFFFFFF)
+- return -EINVAL;
++ goto out_free;
+ if (newinfo->underflow[i] == 0xFFFFFFFF)
+- return -EINVAL;
++ goto out_free;
+ }
+
+- if (!mark_source_chains(newinfo, repl->valid_hooks, entry0))
+- return -ELOOP;
++ if (!mark_source_chains(newinfo, repl->valid_hooks, entry0, offsets)) {
++ ret = -ELOOP;
++ goto out_free;
++ }
++ kvfree(offsets);
+
+ /* Finally, each sanity check must pass */
+ i = 0;
+@@ -760,6 +760,9 @@ translate_table(struct net *net, struct xt_table_info *newinfo, void *entry0,
+ }
+
+ return ret;
++ out_free:
++ kvfree(offsets);
++ return ret;
+ }
+
+ static void
+diff --git a/net/ipv6/netfilter/ip6_tables.c b/net/ipv6/netfilter/ip6_tables.c
+index 63e06c3dd319..48b3d5677dd3 100644
+--- a/net/ipv6/netfilter/ip6_tables.c
++++ b/net/ipv6/netfilter/ip6_tables.c
+@@ -402,23 +402,12 @@ ip6t_do_table(struct sk_buff *skb,
+ else return verdict;
+ }
+
+-static bool find_jump_target(const struct xt_table_info *t,
+- const struct ip6t_entry *target)
+-{
+- struct ip6t_entry *iter;
+-
+- xt_entry_foreach(iter, t->entries, t->size) {
+- if (iter == target)
+- return true;
+- }
+- return false;
+-}
+-
+ /* Figures out from what hook each rule can be called: returns 0 if
+ there are loops. Puts hook bitmask in comefrom. */
+ static int
+ mark_source_chains(const struct xt_table_info *newinfo,
+- unsigned int valid_hooks, void *entry0)
++ unsigned int valid_hooks, void *entry0,
++ unsigned int *offsets)
+ {
+ unsigned int hook;
+
+@@ -487,10 +476,11 @@ mark_source_chains(const struct xt_table_info *newinfo,
+ XT_STANDARD_TARGET) == 0 &&
+ newpos >= 0) {
+ /* This a jump; chase it. */
++ if (!xt_find_jump_offset(offsets, newpos,
++ newinfo->number))
++ return 0;
+ e = (struct ip6t_entry *)
+ (entry0 + newpos);
+- if (!find_jump_target(newinfo, e))
+- return 0;
+ } else {
+ /* ... this is a fallthru */
+ newpos = pos + e->next_offset;
+@@ -724,6 +714,7 @@ translate_table(struct net *net, struct xt_table_info *newinfo, void *entry0,
+ const struct ip6t_replace *repl)
+ {
+ struct ip6t_entry *iter;
++ unsigned int *offsets;
+ unsigned int i;
+ int ret = 0;
+
+@@ -736,6 +727,9 @@ translate_table(struct net *net, struct xt_table_info *newinfo, void *entry0,
+ newinfo->underflow[i] = 0xFFFFFFFF;
+ }
+
++ offsets = xt_alloc_entry_offsets(newinfo->number);
++ if (!offsets)
++ return -ENOMEM;
+ i = 0;
+ /* Walk through entries, checking offsets. */
+ xt_entry_foreach(iter, entry0, newinfo->size) {
+@@ -745,15 +739,18 @@ translate_table(struct net *net, struct xt_table_info *newinfo, void *entry0,
+ repl->underflow,
+ repl->valid_hooks);
+ if (ret != 0)
+- return ret;
++ goto out_free;
++ if (i < repl->num_entries)
++ offsets[i] = (void *)iter - entry0;
+ ++i;
+ if (strcmp(ip6t_get_target(iter)->u.user.name,
+ XT_ERROR_TARGET) == 0)
+ ++newinfo->stacksize;
+ }
+
++ ret = -EINVAL;
+ if (i != repl->num_entries)
+- return -EINVAL;
++ goto out_free;
+
+ /* Check hooks all assigned */
+ for (i = 0; i < NF_INET_NUMHOOKS; i++) {
+@@ -761,13 +758,16 @@ translate_table(struct net *net, struct xt_table_info *newinfo, void *entry0,
+ if (!(repl->valid_hooks & (1 << i)))
+ continue;
+ if (newinfo->hook_entry[i] == 0xFFFFFFFF)
+- return -EINVAL;
++ goto out_free;
+ if (newinfo->underflow[i] == 0xFFFFFFFF)
+- return -EINVAL;
++ goto out_free;
+ }
+
+- if (!mark_source_chains(newinfo, repl->valid_hooks, entry0))
+- return -ELOOP;
++ if (!mark_source_chains(newinfo, repl->valid_hooks, entry0, offsets)) {
++ ret = -ELOOP;
++ goto out_free;
++ }
++ kvfree(offsets);
+
+ /* Finally, each sanity check must pass */
+ i = 0;
+@@ -788,6 +788,9 @@ translate_table(struct net *net, struct xt_table_info *newinfo, void *entry0,
+ }
+
+ return ret;
++ out_free:
++ kvfree(offsets);
++ return ret;
+ }
+
+ static void
+diff --git a/net/netfilter/x_tables.c b/net/netfilter/x_tables.c
+index 2675d580c490..95e044a5ce51 100644
+--- a/net/netfilter/x_tables.c
++++ b/net/netfilter/x_tables.c
+@@ -702,6 +702,56 @@ int xt_check_entry_offsets(const void *base,
+ }
+ EXPORT_SYMBOL(xt_check_entry_offsets);
+
++/**
++ * xt_alloc_entry_offsets - allocate array to store rule head offsets
++ *
++ * @size: number of entries
++ *
++ * Return: NULL or kmalloc'd or vmalloc'd array
++ */
++unsigned int *xt_alloc_entry_offsets(unsigned int size)
++{
++ unsigned int *off;
++
++ off = kcalloc(size, sizeof(unsigned int), GFP_KERNEL | __GFP_NOWARN);
++
++ if (off)
++ return off;
++
++ if (size < (SIZE_MAX / sizeof(unsigned int)))
++ off = vmalloc(size * sizeof(unsigned int));
++
++ return off;
++}
++EXPORT_SYMBOL(xt_alloc_entry_offsets);
++
++/**
++ * xt_find_jump_offset - check if target is a valid jump offset
++ *
++ * @offsets: array containing all valid rule start offsets of a rule blob
++ * @target: the jump target to search for
++ * @size: entries in @offset
++ */
++bool xt_find_jump_offset(const unsigned int *offsets,
++ unsigned int target, unsigned int size)
++{
++ int m, low = 0, hi = size;
++
++ while (hi > low) {
++ m = (low + hi) / 2u;
++
++ if (offsets[m] > target)
++ hi = m;
++ else if (offsets[m] < target)
++ low = m + 1;
++ else
++ return true;
++ }
++
++ return false;
++}
++EXPORT_SYMBOL(xt_find_jump_offset);
++
+ int xt_check_target(struct xt_tgchk_param *par,
+ unsigned int size, u_int8_t proto, bool inv_proto)
+ {
+--
+2.9.2
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/rds-fix-an-infoleak-in-rds_inc_info_copy.patch new/patches.fixes/rds-fix-an-infoleak-in-rds_inc_info_copy.patch
--- old/patches.fixes/rds-fix-an-infoleak-in-rds_inc_info_copy.patch 2016-07-15 10:08:50.000000000 +0200
+++ new/patches.fixes/rds-fix-an-infoleak-in-rds_inc_info_copy.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,33 +0,0 @@
-From: Kangjie Lu <kangjielu(a)gmail.com>
-Date: Thu, 2 Jun 2016 04:11:20 -0400
-Subject: rds: fix an infoleak in rds_inc_info_copy
-Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/davem/net.git
-Git-commit: 4116def2337991b39919f3b448326e21c40e0dbb
-Patch-mainline: Queued in davem's tree
-References: bsc#983213 CVE-2016-5244
-
-The last field "flags" of object "minfo" is not initialized.
-Copying this object out may leak kernel stack data.
-Assign 0 to it to avoid leak.
-
-Signed-off-by: Kangjie Lu <kjlu(a)gatech.edu>
-Acked-by: Santosh Shilimkar <santosh.shilimkar(a)oracle.com>
-Signed-off-by: David S. Miller <davem(a)davemloft.net>
-Acked-by: Borislav Petkov <bp(a)suse.de>
----
- net/rds/recv.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/net/rds/recv.c b/net/rds/recv.c
-index c0be1ecd11c9..8413f6c99e13 100644
---- a/net/rds/recv.c
-+++ b/net/rds/recv.c
-@@ -561,5 +561,7 @@ void rds_inc_info_copy(struct rds_incoming *inc,
- minfo.fport = inc->i_hdr.h_dport;
- }
-
-+ minfo.flags = 0;
-+
- rds_info_copy(iter, &minfo, sizeof(minfo));
- }
-
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 2016-07-15 10:08:50.000000000 +0200
+++ new/patches.fixes/rtlwifi-Fix-scheduling-while-atomic-error-from-commi 1970-01-01 01:00:00.000000000 +0100
@@ -1,71 +0,0 @@
-From de26859dcf363d520cc44e59f6dcaf20ebe0aadf Mon Sep 17 00:00:00 2001
-From: Larry Finger <Larry.Finger(a)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 <james(a)nurealm.net>
-Signed-off-by: Larry Finger <Larry.Finger(a)lwfinger.net>
-Cc: James Feeney <james(a)nurealm.net>
-Cc: Stable <stable(a)vger.kernel.org> [4.6+]
-Signed-off-by: Kalle Valo <kvalo(a)codeaurora.org>
-Acked-by: Takashi Iwai <tiwai(a)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 ++++++
++++ 15402 lines of diff (skipped)
++++++ patches.rpmify.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/drm-amd-add-kconfig-dependency-for-acp-on-drm_amdgpu new/patches.rpmify/drm-amd-add-kconfig-dependency-for-acp-on-drm_amdgpu
--- old/patches.rpmify/drm-amd-add-kconfig-dependency-for-acp-on-drm_amdgpu 2016-05-24 20:15:00.000000000 +0200
+++ new/patches.rpmify/drm-amd-add-kconfig-dependency-for-acp-on-drm_amdgpu 1970-01-01 01:00:00.000000000 +0100
@@ -1,28 +0,0 @@
-From: Jeff Mahoney <jeffm(a)suse.com>
-Date: Tue, 24 May 2016 10:46:59 -0400
-Subject: drm/amd: add Kconfig dependency for ACP on DRM_AMDGPU
-Patch-mainline: Submitted to dri-devel, 24 May 2016
-
-The DRM_AMD_ACP option doesn't have any dependencies and selects
-MFD_CORE, which results in MFD_CORE=y. Since the code is only called
-from DRM_AMDGPU, it should depend on it. Adding the dependency results
-in MFD_CORE being selected as a module again if amdgpu is also a module.
-
-Signed-off-by: Jeff Mahoney <jeffm(a)suse.com>
----
- drivers/gpu/drm/amd/acp/Kconfig | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/drivers/gpu/drm/amd/acp/Kconfig b/drivers/gpu/drm/amd/acp/Kconfig
-index ca77ec1..e503e3d 100644
---- a/drivers/gpu/drm/amd/acp/Kconfig
-+++ b/drivers/gpu/drm/amd/acp/Kconfig
-@@ -2,6 +2,7 @@ menu "ACP (Audio CoProcessor) Configuration"
-
- config DRM_AMD_ACP
- bool "Enable AMD Audio CoProcessor IP support"
-+ depends on DRM_AMDGPU
- select MFD_CORE
- select PM_GENERIC_DOMAINS if PM
- help
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/i915-fix-build-error-with-werror new/patches.rpmify/i915-fix-build-error-with-werror
--- old/patches.rpmify/i915-fix-build-error-with-werror 1970-01-01 01:00:00.000000000 +0100
+++ new/patches.rpmify/i915-fix-build-error-with-werror 2016-07-04 17:30:35.000000000 +0200
@@ -0,0 +1,27 @@
+From: Jeff Mahoney <jeffm(a)suse.com>
+Subject: i915: fix build error with -Werror
+Patch-mainline: submitted 4 July 2016
+
+This fixes the following build error with -Werror and gcc 6.1:
+
+drivers/gpu/drm/i915/i915_debugfs.c:2103:6: error: suggest explicit braces to avoid ambiguous 'else' [-Werror=parentheses]
+
+Signed-off-by: Jeff Mahoney <jeffm(a)suse.com>
+---
+ drivers/gpu/drm/i915/i915_debugfs.c | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+--- a/drivers/gpu/drm/i915/i915_debugfs.c
++++ b/drivers/gpu/drm/i915/i915_debugfs.c
+@@ -2100,9 +2100,10 @@ static int i915_dump_lrc(struct seq_file
+ return ret;
+
+ list_for_each_entry(ctx, &dev_priv->context_list, link)
+- if (ctx != dev_priv->kernel_context)
++ if (ctx != dev_priv->kernel_context) {
+ for_each_engine(engine, dev_priv)
+ i915_dump_lrc_obj(m, ctx, engine);
++ }
+
+ mutex_unlock(&dev->struct_mutex);
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.rpmify/lightnvm-warning-fixes.patch new/patches.rpmify/lightnvm-warning-fixes.patch
--- old/patches.rpmify/lightnvm-warning-fixes.patch 2016-05-24 20:15:00.000000000 +0200
+++ new/patches.rpmify/lightnvm-warning-fixes.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,40 +0,0 @@
-From: Jeff Mahoney <jeffm(a)suse.com>
-Subject: lightnvm: fix "warning: ‘ret’ may be used uninitialized"
-Patch-mainline: Submitted to linux-block, 4 Apr 2016
-
-This fixes the following warnings:
-drivers/lightnvm/sysblk.c:125:9: warning: ‘ret’ may be used
-uninitialized in this function
-
-drivers/lightnvm/sysblk.c:275:15: warning: ‘ret’ may be used
-uninitialized in this function
-
-In both cases, ret is only set from within a loop that may not be entered.
-
-Signed-off-by: Jeff Mahoney <jeffm(a)suse.com>
----
-
- drivers/lightnvm/sysblk.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/drivers/lightnvm/sysblk.c
-+++ b/drivers/lightnvm/sysblk.c
-@@ -122,7 +122,7 @@ static int nvm_get_all_sysblks(struct nv
- struct ppa_addr *ppas, nvm_bb_update_fn *fn)
- {
- struct ppa_addr dppa;
-- int i, ret;
-+ int i, ret = 0;
-
- s->nr_ppas = 0;
-
-@@ -272,7 +272,7 @@ static int nvm_write_and_verify(struct n
- {
- struct nvm_system_block nvmsb;
- void *buf;
-- int i, sect, ret, bufsz;
-+ int i, sect, ret = 0, bufsz;
- struct ppa_addr *ppas;
-
- nvm_cpu_to_sysblk(&nvmsb, info);
-
++++++ patches.suse.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/btrfs-advertise-which-crc32c-implementation-is-being-used-on-mount new/patches.suse/btrfs-advertise-which-crc32c-implementation-is-being-used-on-mount
--- old/patches.suse/btrfs-advertise-which-crc32c-implementation-is-being-used-on-mount 2016-06-06 21:08:35.000000000 +0200
+++ new/patches.suse/btrfs-advertise-which-crc32c-implementation-is-being-used-on-mount 1970-01-01 01:00:00.000000000 +0100
@@ -1,33 +0,0 @@
-From: Jeff Mahoney <jeffm(a)suse.com>
-Subject: btrfs: advertise which crc32c implementation is being used on mount
-References: bsc#946057
-Patch-mainline: Submitted to linux-btrfs, 16 Sep 2015
-
-Since several architectures support hardware-accelerated crc32c
-calculation, it would be nice to confirm that btrfs is actually using it.
-
-We can see an elevated use count for the module, but it doesn't actually
-show who the users are. This patch simply prints the name of the driver
-after successfully initializing the shash.
-
-Signed-off-by: Jeff Mahoney <jeffm(a)suse.com>
----
- fs/btrfs/hash.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
---- a/fs/btrfs/hash.c
-+++ b/fs/btrfs/hash.c
-@@ -20,8 +20,12 @@ static struct crypto_shash *tfm;
- int __init btrfs_hash_init(void)
- {
- tfm = crypto_alloc_shash("crc32c", 0, 0);
-+ if (IS_ERR(tfm))
-+ return PTR_ERR(tfm);
-
-- return PTR_ERR_OR_ZERO(tfm);
-+ printk("BTRFS: using %s for crc32c\n",
-+ crypto_tfm_alg_driver_name(crypto_shash_tfm(tfm)));
-+ return 0;
- }
-
- void btrfs_hash_exit(void)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/cifs-use-file_dentry.patch new/patches.suse/cifs-use-file_dentry.patch
--- old/patches.suse/cifs-use-file_dentry.patch 2016-06-06 21:08:35.000000000 +0200
+++ new/patches.suse/cifs-use-file_dentry.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,57 +0,0 @@
-From: Goldwyn Rodrigues <rgoldwyn(a)suse.com>
-Subject: [PATCH] cifs: Use file_dentry()
-References: bsc#974527
-Patch-mainline: Submitted, http://permalink.gmane.org/gmane.linux.kernel.cifs/11835
-
-CIFS may be used as lower layer of overlayfs and accessing f_path.dentry can
-lead to a crash.
-
-Fix by replacing direct access of file->f_path.dentry with the
-file_dentry() accessor, which will always return a native object.
-
-Signed-off-by: Goldwyn Rodrigues <rgoldwyn(a)suse.com>
-
-diff --git a/fs/cifs/file.c b/fs/cifs/file.c
-index c03d074..489ddc7 100644
---- a/fs/cifs/file.c
-+++ b/fs/cifs/file.c
-@@ -271,7 +271,7 @@ struct cifsFileInfo *
- cifs_new_fileinfo(struct cifs_fid *fid, struct file *file,
- struct tcon_link *tlink, __u32 oplock)
- {
-- struct dentry *dentry = file->f_path.dentry;
-+ struct dentry *dentry = file_dentry(file);
- struct inode *inode = d_inode(dentry);
- struct cifsInodeInfo *cinode = CIFS_I(inode);
- struct cifsFileInfo *cfile;
-@@ -461,7 +461,7 @@ int cifs_open(struct inode *inode, struct file *file)
- tcon = tlink_tcon(tlink);
- server = tcon->ses->server;
-
-- full_path = build_path_from_dentry(file->f_path.dentry);
-+ full_path = build_path_from_dentry(file_dentry(file));
- if (full_path == NULL) {
- rc = -ENOMEM;
- goto out;
-diff --git a/fs/cifs/readdir.c b/fs/cifs/readdir.c
-index b30a4a6..8806584 100644
---- a/fs/cifs/readdir.c
-+++ b/fs/cifs/readdir.c
-@@ -300,7 +300,7 @@ initiate_cifs_search(const unsigned int xid, struct file *file)
- cifsFile->invalidHandle = true;
- cifsFile->srch_inf.endOfSearch = false;
-
-- full_path = build_path_from_dentry(file->f_path.dentry);
-+ full_path = build_path_from_dentry(file_dentry(file));
- if (full_path == NULL) {
- rc = -ENOMEM;
- goto error_exit;
-@@ -759,7 +759,7 @@ static int cifs_filldir(char *find_entry, struct file *file,
- */
- fattr.cf_flags |= CIFS_FATTR_NEED_REVAL;
-
-- cifs_prime_dcache(file->f_path.dentry, &name, &fattr);
-+ cifs_prime_dcache(file_dentry(file), &name, &fattr);
-
- ino = cifs_uniqueid_to_ino_t(fattr.cf_uniqueid);
- return !dir_emit(ctx, name.name, name.len, ino, fattr.cf_dtype);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/dm-mpath-no-partitions-feature new/patches.suse/dm-mpath-no-partitions-feature
--- old/patches.suse/dm-mpath-no-partitions-feature 2016-06-06 21:08:35.000000000 +0200
+++ new/patches.suse/dm-mpath-no-partitions-feature 2016-06-28 14:20:35.000000000 +0200
@@ -1,7 +1,7 @@
From: Hannes Reinecke <hare(a)suse.de>
Subject: Disable partitions scan for multipathed devices
References: bnc#402922,bnc#514767
-Patch-mainline: not yet
+Patch-mainline: not yet, unsure why. hannes?
When multipath devices are being used as disks for VM Guests
any partition scanning / setup should be done within the VM Guest,
@@ -13,55 +13,48 @@
Patch ported to SLES11.
+[Update jeffm: Upstream commit 518257b13276 switched to using a flags
+ field for multipath state, so we can use that now.]
+
Signed-off-by: Hannes Reinecke <hare(a)suse.de>
---
- drivers/md/dm-mpath.c | 12 +++++++++++-
- 1 file changed, 11 insertions(+), 1 deletion(-)
+ drivers/md/dm-mpath.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
--- a/drivers/md/dm-mpath.c
+++ b/drivers/md/dm-mpath.c
-@@ -61,6 +61,8 @@ struct priority_group {
- bool bypassed:1; /* Temporarily bypass this PG? */
- };
-
-+#define FEATURE_NO_PARTITIONS 1
-+
- /* Multipath context */
- struct multipath {
- struct list_head list;
-@@ -94,6 +96,7 @@ struct multipath {
- unsigned pg_init_retries; /* Number of times to retry pg_init */
- unsigned pg_init_count; /* Number of times pg_init called */
- unsigned pg_init_delay_msecs; /* Number of msecs before pg_init retry */
-+ unsigned features; /* Additional selected features */
-
- struct work_struct trigger_event;
+@@ -126,6 +126,7 @@ static void activate_path(struct work_st
+ #define MPATHF_PG_INIT_DISABLED 4 /* pg_init is not currently allowed */
+ #define MPATHF_PG_INIT_REQUIRED 5 /* pg_init needs calling? */
+ #define MPATHF_PG_INIT_DELAY_RETRY 6 /* Delay pg_init retry? */
++#define MPATHF_NO_PARTITIONS 31 /* Don't scan partition table */
-@@ -812,6 +815,10 @@ static int parse_features(struct dm_arg_
+ /*-----------------------------------------------
+ * Allocation routines
+@@ -859,6 +860,10 @@ static int parse_features(struct dm_arg_
continue;
}
+ if (!strcasecmp(arg_name, "no_partitions")) {
-+ m->features |= FEATURE_NO_PARTITIONS;
++ set_bit(MPATHF_NO_PARTITIONS, &m->flags);
+ continue;
+ }
if (!strcasecmp(arg_name, "pg_init_retries") &&
(argc >= 1)) {
r = dm_read_arg(_args + 1, as, &m->pg_init_retries, &ti->error);
-@@ -1413,11 +1420,14 @@ static void multipath_status(struct dm_t
- DMEMIT("%u ", m->queue_if_no_path +
+@@ -1454,11 +1459,14 @@ static void multipath_status(struct dm_t
+ DMEMIT("%u ", test_bit(MPATHF_QUEUE_IF_NO_PATH, &m->flags) +
(m->pg_init_retries > 0) * 2 +
(m->pg_init_delay_msecs != DM_PG_INIT_DELAY_DEFAULT) * 2 +
-- m->retain_attached_hw_handler);
-+ m->retain_attached_hw_handler +
-+ (m->features & FEATURE_NO_PARTITIONS));
- if (m->queue_if_no_path)
++ test_bit(MPATHF_NO_PARTITIONS, &m->flags) +
+ test_bit(MPATHF_RETAIN_ATTACHED_HW_HANDLER, &m->flags));
+ if (test_bit(MPATHF_QUEUE_IF_NO_PATH, &m->flags))
DMEMIT("queue_if_no_path ");
if (m->pg_init_retries)
DMEMIT("pg_init_retries %u ", m->pg_init_retries);
-+ if (m->features & FEATURE_NO_PARTITIONS)
++ if (test_bit(MPATHF_NO_PARTITIONS, &m->flags))
+ DMEMIT("no_partitions ");
if (m->pg_init_delay_msecs != DM_PG_INIT_DELAY_DEFAULT)
DMEMIT("pg_init_delay_msecs %u ", m->pg_init_delay_msecs);
- if (m->retain_attached_hw_handler)
+ if (test_bit(MPATHF_RETAIN_ATTACHED_HW_HANDLER, &m->flags))
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 2016-06-06 21:08:35.000000000 +0200
+++ new/patches.suse/pat-0001-x86-mm-pat-Add-support-of-non-default-PAT-MSR-settin.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,203 +0,0 @@
-From: Toshi Kani <toshi.kani(a)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.kani(a)hpe.com>
-Reviewed-by: Thomas Gleixner <tglx(a)linutronix.de>
-Cc: Andrew Morton <akpm(a)linux-foundation.org>
-Cc: Andy Lutomirski <luto(a)amacapital.net>
-Cc: Borislav Petkov <bp(a)alien8.de>
-Cc: Borislav Petkov <bp(a)suse.de>
-Cc: Brian Gerst <brgerst(a)gmail.com>
-Cc: Denys Vlasenko <dvlasenk(a)redhat.com>
-Cc: H. Peter Anvin <hpa(a)zytor.com>
-Cc: Juergen Gross <jgross(a)suse.com>
-Cc: Linus Torvalds <torvalds(a)linux-foundation.org>
-Cc: Luis R. Rodriguez <mcgrof(a)suse.com>
-Cc: Peter Zijlstra <peterz(a)infradead.org>
-Cc: Toshi Kani <toshi.kani(a)hp.com>
-Cc: elliott(a)hpe.com
-Cc: konrad.wilk(a)oracle.com
-Cc: paul.gortmaker(a)windriver.com
-Cc: xen-devel(a)lists.xenproject.org
-Link: http://lkml.kernel.org/r/1458769323-24491-2-git-send-email-toshi.kani@hpe.c…
-Signed-off-by: Ingo Molnar <mingo(a)kernel.org>
-Acked-by: <ohering(a)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 2016-06-06 21:08:35.000000000 +0200
+++ new/patches.suse/pat-0002-x86-mm-pat-Add-pat_disable-interface.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,92 +0,0 @@
-From: Toshi Kani <toshi.kani(a)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.kani(a)hpe.com>
-Reviewed-by: Thomas Gleixner <tglx(a)linutronix.de>
-Cc: Andrew Morton <akpm(a)linux-foundation.org>
-Cc: Andy Lutomirski <luto(a)amacapital.net>
-Cc: Borislav Petkov <bp(a)alien8.de>
-Cc: Borislav Petkov <bp(a)suse.de>
-Cc: Brian Gerst <brgerst(a)gmail.com>
-Cc: Denys Vlasenko <dvlasenk(a)redhat.com>
-Cc: H. Peter Anvin <hpa(a)zytor.com>
-Cc: Juergen Gross <jgross(a)suse.com>
-Cc: Linus Torvalds <torvalds(a)linux-foundation.org>
-Cc: Luis R. Rodriguez <mcgrof(a)suse.com>
-Cc: Peter Zijlstra <peterz(a)infradead.org>
-Cc: Robert Elliott <elliott(a)hpe.com>
-Cc: Toshi Kani <toshi.kani(a)hp.com>
-Cc: konrad.wilk(a)oracle.com
-Cc: paul.gortmaker(a)windriver.com
-Cc: xen-devel(a)lists.xenproject.org
-Link: http://lkml.kernel.org/r/1458769323-24491-3-git-send-email-toshi.kani@hpe.c…
-Signed-off-by: Ingo Molnar <mingo(a)kernel.org>
-Acked-by: <ohering(a)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 2016-06-06 21:08:35.000000000 +0200
+++ new/patches.suse/pat-0003-x86-mm-pat-Replace-cpu_has_pat-with-boot_cpu_has.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,62 +0,0 @@
-From: Toshi Kani <toshi.kani(a)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 <bp(a)suse.de>
-Signed-off-by: Toshi Kani <toshi.kani(a)hpe.com>
-Reviewed-by: Thomas Gleixner <tglx(a)linutronix.de>
-Cc: Andrew Morton <akpm(a)linux-foundation.org>
-Cc: Andy Lutomirski <luto(a)amacapital.net>
-Cc: Borislav Petkov <bp(a)alien8.de>
-Cc: Brian Gerst <brgerst(a)gmail.com>
-Cc: Denys Vlasenko <dvlasenk(a)redhat.com>
-Cc: H. Peter Anvin <hpa(a)zytor.com>
-Cc: Juergen Gross <jgross(a)suse.com>
-Cc: Linus Torvalds <torvalds(a)linux-foundation.org>
-Cc: Luis R. Rodriguez <mcgrof(a)suse.com>
-Cc: Peter Zijlstra <peterz(a)infradead.org>
-Cc: Robert Elliott <elliott(a)hpe.com>
-Cc: Toshi Kani <toshi.kani(a)hp.com>
-Cc: konrad.wilk(a)oracle.com
-Cc: paul.gortmaker(a)windriver.com
-Cc: xen-devel(a)lists.xenproject.org
-Link: http://lkml.kernel.org/r/1458769323-24491-4-git-send-email-toshi.kani@hpe.c…
-Signed-off-by: Ingo Molnar <mingo(a)kernel.org>
-Acked-by: <ohering(a)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 2016-06-06 21:08:35.000000000 +0200
+++ new/patches.suse/pat-0004-x86-mtrr-Fix-Xorg-crashes-in-Qemu-sessions.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,158 +0,0 @@
-From: Toshi Kani <toshi.kani(a)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.kani(a)hpe.com>
-Reviewed-by: Thomas Gleixner <tglx(a)linutronix.de>
-Cc: Andrew Morton <akpm(a)linux-foundation.org>
-Cc: Andy Lutomirski <luto(a)amacapital.net>
-Cc: Borislav Petkov <bp(a)alien8.de>
-Cc: Borislav Petkov <bp(a)suse.de>
-Cc: Brian Gerst <brgerst(a)gmail.com>
-Cc: Denys Vlasenko <dvlasenk(a)redhat.com>
-Cc: H. Peter Anvin <hpa(a)zytor.com>
-Cc: Juergen Gross <jgross(a)suse.com>
-Cc: Linus Torvalds <torvalds(a)linux-foundation.org>
-Cc: Luis R. Rodriguez <mcgrof(a)suse.com>
-Cc: Peter Zijlstra <peterz(a)infradead.org>
-Cc: Toshi Kani <toshi.kani(a)hp.com>
-Cc: elliott(a)hpe.com
-Cc: konrad.wilk(a)oracle.com
-Cc: paul.gortmaker(a)windriver.com
-Cc: xen-devel(a)lists.xenproject.org
-Link: http://lkml.kernel.org/r/1458769323-24491-5-git-send-email-toshi.kani@hpe.c…
-Signed-off-by: Ingo Molnar <mingo(a)kernel.org>
-Acked-by: <ohering(a)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 2016-06-06 21:08:35.000000000 +0200
+++ new/patches.suse/pat-0005-x86-mtrr-Fix-PAT-init-handling-when-MTRR-is-disabled.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,114 +0,0 @@
-From: Toshi Kani <toshi.kani(a)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.kani(a)hpe.com>
-Reviewed-by: Thomas Gleixner <tglx(a)linutronix.de>
-Cc: Andrew Morton <akpm(a)linux-foundation.org>
-Cc: Andy Lutomirski <luto(a)amacapital.net>
-Cc: Borislav Petkov <bp(a)alien8.de>
-Cc: Borislav Petkov <bp(a)suse.de>
-Cc: Brian Gerst <brgerst(a)gmail.com>
-Cc: Denys Vlasenko <dvlasenk(a)redhat.com>
-Cc: H. Peter Anvin <hpa(a)zytor.com>
-Cc: Juergen Gross <jgross(a)suse.com>
-Cc: Linus Torvalds <torvalds(a)linux-foundation.org>
-Cc: Luis R. Rodriguez <mcgrof(a)suse.com>
-Cc: Peter Zijlstra <peterz(a)infradead.org>
-Cc: Toshi Kani <toshi.kani(a)hp.com>
-Cc: elliott(a)hpe.com
-Cc: konrad.wilk(a)oracle.com
-Cc: paul.gortmaker(a)windriver.com
-Cc: xen-devel(a)lists.xenproject.org
-Link: http://lkml.kernel.org/r/1458769323-24491-6-git-send-email-toshi.kani@hpe.c…
-Signed-off-by: Ingo Molnar <mingo(a)kernel.org>
-Acked-by: <ohering(a)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 2016-06-06 21:08:35.000000000 +0200
+++ new/patches.suse/pat-0006-x86-xen-pat-Remove-PAT-table-init-code-from-Xen.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,105 +0,0 @@
-From: Toshi Kani <toshi.kani(a)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.kani(a)hpe.com>
-Reviewed-by: Thomas Gleixner <tglx(a)linutronix.de>
-Acked-by: Juergen Gross <jgross(a)suse.com>
-Cc: Andrew Morton <akpm(a)linux-foundation.org>
-Cc: Andy Lutomirski <luto(a)amacapital.net>
-Cc: Borislav Petkov <bp(a)alien8.de>
-Cc: Borislav Petkov <bp(a)suse.de>
-Cc: Brian Gerst <brgerst(a)gmail.com>
-Cc: Denys Vlasenko <dvlasenk(a)redhat.com>
-Cc: H. Peter Anvin <hpa(a)zytor.com>
-Cc: Konrad Rzeszutek Wilk <konrad.wilk(a)oracle.com>
-Cc: Linus Torvalds <torvalds(a)linux-foundation.org>
-Cc: Luis R. Rodriguez <mcgrof(a)suse.com>
-Cc: Peter Zijlstra <peterz(a)infradead.org>
-Cc: Toshi Kani <toshi.kani(a)hp.com>
-Cc: elliott(a)hpe.com
-Cc: paul.gortmaker(a)windriver.com
-Cc: xen-devel(a)lists.xenproject.org
-Link: http://lkml.kernel.org/r/1458769323-24491-7-git-send-email-toshi.kani@hpe.c…
-Signed-off-by: Ingo Molnar <mingo(a)kernel.org>
-Acked-by: <ohering(a)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 2016-06-06 21:08:35.000000000 +0200
+++ new/patches.suse/pat-0007-x86-pat-Document-the-PAT-initialization-sequence.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,75 +0,0 @@
-From: Toshi Kani <toshi.kani(a)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.kani(a)hpe.com>
-Reviewed-by: Thomas Gleixner <tglx(a)linutronix.de>
-Cc: Andrew Morton <akpm(a)linux-foundation.org>
-Cc: Andy Lutomirski <luto(a)amacapital.net>
-Cc: Borislav Petkov <bp(a)alien8.de>
-Cc: Borislav Petkov <bp(a)suse.de>
-Cc: Brian Gerst <brgerst(a)gmail.com>
-Cc: Denys Vlasenko <dvlasenk(a)redhat.com>
-Cc: H. Peter Anvin <hpa(a)zytor.com>
-Cc: Juergen Gross <jgross(a)suse.com>
-Cc: Linus Torvalds <torvalds(a)linux-foundation.org>
-Cc: Luis R. Rodriguez <mcgrof(a)suse.com>
-Cc: Peter Zijlstra <peterz(a)infradead.org>
-Cc: Toshi Kani <toshi.kani(a)hp.com>
-Cc: elliott(a)hpe.com
-Cc: konrad.wilk(a)oracle.com
-Cc: paul.gortmaker(a)windriver.com
-Cc: xen-devel(a)lists.xenproject.org
-Link: http://lkml.kernel.org/r/1458769323-24491-8-git-send-email-toshi.kani@hpe.c…
-Signed-off-by: Ingo Molnar <mingo(a)kernel.org>
-Acked-by: <ohering(a)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/sd_init.mark_majors_busy.patch new/patches.suse/sd_init.mark_majors_busy.patch
--- old/patches.suse/sd_init.mark_majors_busy.patch 2016-06-06 21:08:35.000000000 +0200
+++ new/patches.suse/sd_init.mark_majors_busy.patch 1970-01-01 01:00:00.000000000 +0100
@@ -1,143 +0,0 @@
-Subject: mark busy sd majors as allocated
-From: <ohering(a)suse.de>
-Patch-mainline: never , triggers only with our xenlinux drivers
-References: bnc#744658
-
-Mark busy sd majors as allocated, so that sd_probe() can not register
-them again. Since register_blkdev() can be called from everywhere,
-init_sd() has to handle errors and mark the major as busy in its
-internal mapping.
-
-The specific case where the errors happen is the xenblk driver in PV and
-FV guests. A guest can claim IDE or SCSI majors if they are specified in
-its configuration file. Then xenblk will claim the major numbers and
-start to use them. Later a user of sd_mod (such as iscsi or scsi_debug)
-will try to claim these majors as well, but does not handle the error
-from register_blkdev(). As a result the kernel devicename is registered
-twice with sysfs and the kernel crashes.
-
-This patch implements simple error handling and marks the first 256
-minors for a failed major as busy. It also handle holes.
-The xend tools do not handle extended minors (such as
-/sys/block/sdiw/dev:8:256), so this change can remain simple.
-
----
- drivers/scsi/sd.c | 72 ++++++++++++++++++++++++++++++++++++++++++++++--------
- 1 file changed, 62 insertions(+), 10 deletions(-)
-
-Index: b/drivers/scsi/sd.c
-===================================================================
---- a/drivers/scsi/sd.c
-+++ b/drivers/scsi/sd.c
-@@ -2546,6 +2546,20 @@ static void sd_probe_async(void *data, a
- put_device(&sdkp->dev);
- }
-
-+static int sd_get_index(int *index)
-+{
-+ int error = -ENOMEM;
-+ do {
-+ if (!ida_pre_get(&sd_index_ida, GFP_KERNEL))
-+ break;
-+
-+ spin_lock(&sd_index_lock);
-+ error = ida_get_new(&sd_index_ida, index);
-+ spin_unlock(&sd_index_lock);
-+ } while (error == -EAGAIN);
-+
-+ return error;
-+}
- /**
- * sd_probe - called during driver initialization and whenever a
- * new scsi device is attached to the system. It is called once
-@@ -2588,15 +2602,7 @@ static int sd_probe(struct device *dev)
- if (!gd)
- goto out_free;
-
-- do {
-- if (!ida_pre_get(&sd_index_ida, GFP_KERNEL))
-- goto out_put;
--
-- spin_lock(&sd_index_lock);
-- error = ida_get_new(&sd_index_ida, &index);
-- spin_unlock(&sd_index_lock);
-- } while (error == -EAGAIN);
--
-+ error = sd_get_index(&index);
- if (error) {
- sdev_printk(KERN_WARNING, sdp, "sd_probe: memory exhausted.\n");
- goto out_put;
-@@ -2806,6 +2812,42 @@ done:
- return sd_start_stop_device(sdkp, 1);
- }
-
-+/*
-+* Each major represents 16 disks. A minor is used for the disk itself and 15
-+* partitions. Mark each disk busy so that sd_probe can not reclaim this major.
-+*/
-+static int __init init_sd_ida(int *error)
-+{
-+ int *index, i, j, err;
-+
-+ index = kmalloc(SD_MAJORS * (256 / SD_MINORS) * sizeof(int), GFP_KERNEL);
-+ if (!index)
-+ return -ENOMEM;
-+
-+ /* Mark minors for all majors as busy */
-+ for (i = 0; i < SD_MAJORS; i++)
-+ {
-+ for (j = 0; j < (256 / SD_MINORS); j++) {
-+ err = sd_get_index(&index[i * (256 / SD_MINORS) + j]);
-+ if (err) {
-+ kfree(index);
-+ return err;
-+ }
-+ }
-+ }
-+
-+ /* Mark minors for claimed majors as free */
-+ for (i = 0; i < SD_MAJORS; i++)
-+ {
-+ if (error[i])
-+ continue;
-+ for (j = 0; j < (256 / SD_MINORS); j++)
-+ ida_remove(&sd_index_ida, index[i * (256 / SD_MINORS) + j]);
-+ }
-+ kfree(index);
-+ return 0;
-+}
-+
- /**
- * init_sd - entry point for this driver (both when built in or when
- * a module).
-@@ -2815,20 +2857,27 @@ done:
- static int __init init_sd(void)
- {
- int majors = 0, i, err;
-+ int error[SD_MAJORS];
-
- SCSI_LOG_HLQUEUE(3, printk("init_sd: sd driver entry point\n"));
-
- for (i = 0; i < SD_MAJORS; i++) {
-- if (register_blkdev(sd_major(i), "sd") != 0)
-- continue;
-- majors++;
-+ error[i] = register_blkdev(sd_major(i), "sd");
-+ if (error[i] == 0)
-+ majors++;
- blk_register_region(sd_major(i), SD_MINORS, NULL,
- sd_default_probe, NULL, NULL);
- }
-
- if (!majors)
- return -ENODEV;
-
-+ if (majors < SD_MAJORS) {
-+ err = init_sd_ida(error);
-+ if (err)
-+ return err;
-+ }
-+
- err = class_register(&sd_disk_class);
- if (err)
- goto err_out;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/stack-unwind.patch new/patches.suse/stack-unwind.patch
--- old/patches.suse/stack-unwind.patch 2016-06-06 21:08:35.000000000 +0200
+++ new/patches.suse/stack-unwind.patch 2016-06-28 14:20:35.000000000 +0200
@@ -548,8 +548,8 @@
+ cpu = get_cpu();
for (;;) {
- struct thread_info *context;
void *end_stack;
+
--- a/arch/x86/kernel/dumpstack_64.c
+++ b/arch/x86/kernel/dumpstack_64.c
@@ -14,6 +14,7 @@
@@ -560,13 +560,12 @@
#include <asm/stacktrace.h>
-@@ -152,9 +153,9 @@ void dump_trace(struct task_struct *task
+@@ -152,8 +153,8 @@ void dump_trace(struct task_struct *task
unsigned long *stack, unsigned long bp,
const struct stacktrace_ops *ops, void *data)
{
- const unsigned cpu = get_cpu();
+ unsigned cpu;
- struct thread_info *tinfo;
- unsigned long *irq_stack = (unsigned long *)per_cpu(irq_stack_ptr, cpu);
+ unsigned long *irq_stack;
unsigned long dummy;
@@ -584,9 +583,9 @@
if (regs)
stack = (unsigned long *)regs->sp;
@@ -180,6 +185,8 @@ void dump_trace(struct task_struct *task
+ * current stack address. If the stacks consist of nested
* exceptions
*/
- tinfo = task_thread_info(task);
+ cpu = get_cpu();
+ irq_stack = (unsigned long *)per_cpu(irq_stack_ptr, cpu);
while (!done) {
@@ -909,8 +908,8 @@
/* Switch to core kallsyms now init is done: kallsyms may be walking! */
rcu_assign_pointer(mod->kallsyms, &mod->core_kallsyms);
@@ -3574,6 +3601,9 @@ static int load_module(struct load_info
- if (err < 0)
- goto coming_cleanup;
+ goto sysfs_cleanup;
+ }
+ /* Initialize unwind table */
+ add_unwind_table(mod, info);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/vfs-add-super_operations-get_inode_dev new/patches.suse/vfs-add-super_operations-get_inode_dev
--- old/patches.suse/vfs-add-super_operations-get_inode_dev 2016-06-06 21:08:35.000000000 +0200
+++ new/patches.suse/vfs-add-super_operations-get_inode_dev 2016-06-28 14:20:35.000000000 +0200
@@ -89,7 +89,7 @@
default:
case FSIDSOURCE_DEV:
p = xdr_encode_hyper(p, (u64)huge_encode_dev
-- (d_inode(fhp->fh_dentry)->i_sb->s_dev));
+- (fhp->fh_dentry->d_sb->s_dev));
+ (inode_get_dev(d_inode(fhp->fh_dentry))));
break;
case FSIDSOURCE_FSID:
@@ -229,7 +229,7 @@
inode_unlock(d_backing_inode(parent->dentry));
if (d_is_positive(d)) {
/* update watch filter fields */
-- watch->dev = d_backing_inode(d)->i_sb->s_dev;
+- watch->dev = d->d_sb->s_dev;
+ watch->dev = inode_get_dev(d_backing_inode(d));
watch->ino = d_backing_inode(d)->i_ino;
}
++++++ series.conf ++++++
--- /var/tmp/diff_new_pack.DemroZ/_old 2016-07-30 00:26:01.000000000 +0200
+++ /var/tmp/diff_new_pack.DemroZ/_new 2016-07-30 00:26:01.000000000 +0200
@@ -27,10 +27,6 @@
# DO NOT MODIFY THEM!
# Send separate patches upstream if you find a problem...
########################################################
- patches.kernel.org/patch-4.6.1
- patches.kernel.org/patch-4.6.1-2
- patches.kernel.org/patch-4.6.2-3
- patches.kernel.org/patch-4.6.3-4
########################################################
# Build fixes that apply to the vanilla kernel too.
@@ -38,8 +34,7 @@
# and patched flavors.
########################################################
patches.rpmify/lustre-lloop-dont-change-logical-size
- patches.rpmify/lightnvm-warning-fixes.patch
- patches.rpmify/drm-amd-add-kconfig-dependency-for-acp-on-drm_amdgpu
+ patches.rpmify/i915-fix-build-error-with-werror
########################################################
# kABI consistency patches
@@ -81,7 +76,6 @@
# Scheduler / Core
########################################################
patches.suse/setuid-dumpable-wrongdir
- patches.fixes/base-make-module_create_drivers_dir-race-free.patch
########################################################
# Architecture-specific patches. These used to be all
@@ -93,13 +87,6 @@
########################################################
# 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
@@ -163,9 +150,7 @@
patches.arch/arm-refresh-mach-types.diff
patches.arch/arm-arndale-usb.patch
-+agraf patches.arch/arm-arndale-dma.patch
patches.arch/arm-exynos-dwmmc-modalias.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
@@ -175,7 +160,6 @@
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
-
########################################################
# S/390
########################################################
@@ -192,9 +176,6 @@
# Changes to tunable defaults
patches.suse/readahead-request-tunables.patch
- patches.fixes/0001-Revert-ecryptfs-forbid-opening-files-without-mmap-ha.patch
- patches.fixes/0001-ecryptfs-don-t-allow-mmap-when-the-lower-file-system.patch
-
########################################################
# IPC patches
########################################################
@@ -239,21 +220,16 @@
# Networking, IPv6
########################################################
- # bsc#983213 CVE-2016-5244
- patches.fixes/rds-fix-an-infoleak-in-rds_inc_info_copy.patch
-
########################################################
# Netfilter
########################################################
patches.suse/netfilter-ip_conntrack_slp.patch
+ patches.fixes/netfilter-x_tables-speed-up-jump-target-validation.patch
########################################################
# NFS
########################################################
- patches.fixes/0001-posix_acl-Add-set_posix_acl.patch
- patches.fixes/0002-nfsd-check-permissions-when-setting-ACLs.patch
-
########################################################
# lockd + statd
########################################################
@@ -261,7 +237,6 @@
########################################################
# cifs patches
########################################################
- patches.suse/cifs-use-file_dentry.patch
########################################################
# ext2/ext3
@@ -275,7 +250,6 @@
########################################################
# btrfs
########################################################
- patches.suse/btrfs-advertise-which-crc32c-implementation-is-being-used-on-mount
patches.suse/btrfs-provide-super_operations-get_inode_dev
########################################################
@@ -340,7 +314,6 @@
patches.fixes/sd_liberal_28_sense_invalid.diff
patches.fixes/scsi-ibmvscsi-module_alias.patch
- patches.suse/sd_init.mark_majors_busy.patch
########################################################
# DRM/Video
@@ -358,7 +331,6 @@
# Wireless Networking
########################################################
patches.suse/b43-missing-firmware-info.patch
- patches.fixes/rtlwifi-Fix-scheduling-while-atomic-error-from-commi
########################################################
# ISDN
@@ -381,7 +353,6 @@
# USB
########################################################
-
########################################################
# I2C
########################################################
@@ -395,10 +366,6 @@
##########################################################
# Sound
##########################################################
- patches.drivers/ALSA-hrtimer-Handle-start-stop-more-properly
- patches.fixes/ALSA-timer-Fix-leak-in-SNDRV_TIMER_IOCTL_PARAMS
- patches.fixes/ALSA-timer-Fix-leak-in-events-via-snd_timer_user_cca
- patches.fixes/ALSA-timer-Fix-leak-in-events-via-snd_timer_user_tin
patches.drivers/ASoC-intel-Fix-sst-dsp-dependency-on-dw-stuff
########################################################
@@ -412,9 +379,6 @@
# Needs updating WRT d27769ec (block: add GENHD_FL_NO_PART_SCAN)
+hare patches.suse/no-partition-scan
- patches.fixes/Bluetooth-fix-power_on-vs-close-race
-
-
########################################################
# Other drivers we have added to the tree
########################################################
@@ -443,9 +407,6 @@
#
##########################################################
- # Bug 984755 - CVE-2016-4470: kernel-source: Uninitialized variable in request_key handling causes kernel crash in error handling path
- patches.fixes/0001-KEYS-potential-uninitialized-variable.patch
-
##########################################################
# Audit
##########################################################
@@ -457,7 +418,6 @@
# patches.apparmor/apparmor-profiles-seq_file
patches.apparmor/apparmor-temporary-work-around-for-bug-while-unloadi
patches.apparmor/apparmor-allow-sys_cap_resource-to-be-sufficient-to-prlimit-another-task
- patches.fixes/apparmor-fix-oops-validate-buffer-size-in-apparmor_s
########################################################
# Address space layout randomization
@@ -499,8 +459,6 @@
# KVM patches
########################################################
- # bsc#979715, CVE-2016-3713
-
########################################################
# Staging tree patches
# new drivers that are going upstream
++++++ source-timestamp ++++++
--- /var/tmp/diff_new_pack.DemroZ/_old 2016-07-30 00:26:01.000000000 +0200
+++ /var/tmp/diff_new_pack.DemroZ/_new 2016-07-30 00:26:01.000000000 +0200
@@ -1,3 +1,3 @@
-2016-07-19 11:07:19 +0200
-GIT Revision: 8f4696bf2feebf3186b166a91e56932854128fee
+2016-07-25 10:42:47 +0200
+GIT Revision: 89a2adaa0f1e861c150bad2fb3589fd2f72800cd
GIT Branch: stable
1
0
Hello community,
here is the log from the commit of package kde-cli-tools5 for openSUSE:13.2:Update checked in at 2016-07-29 13:00:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:13.2:Update/kde-cli-tools5 (Old)
and /work/SRC/openSUSE:13.2:Update/.kde-cli-tools5.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kde-cli-tools5"
Changes:
--------
New Changes file:
NO CHANGES FILE!!!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ _link ++++++
--- /var/tmp/diff_new_pack.qrGKt6/_old 2016-07-29 13:00:54.000000000 +0200
+++ /var/tmp/diff_new_pack.qrGKt6/_new 2016-07-29 13:00:54.000000000 +0200
@@ -1 +1 @@
-<link package='kde-cli-tools5.5293' cicount='copy' />
+<link package='kde-cli-tools5.5396' cicount='copy' />
1
0
Hello community,
here is the log from the commit of package ghostwriter for openSUSE:Factory checked in at 2016-07-28 23:47:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghostwriter (Old)
and /work/SRC/openSUSE:Factory/.ghostwriter.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghostwriter"
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghostwriter/ghostwriter.changes 2016-06-07 23:47:31.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.ghostwriter.new/ghostwriter.changes 2016-07-28 23:47:47.000000000 +0200
@@ -1,0 +2,31 @@
+Wed Jul 27 18:12:16 UTC 2016 - mpluskal(a)suse.com
+
+- Update to version 1.4.0:
+ * The time of day optionally displays in full screen mode.
+ * The recent file history size has been increased to 10.
+ * The menu bar will optionally auto-hide in full screen mode when
+ the mouse is not hovering over it.
+ * All new Hemingway mode button will disable backspace and
+ delete keys.
+ * Two new HUDs display statistical information on the current
+ writing session and document.
+ * Auto-matched characters can be customized.
+ * Pandoc PDF export now has better defaults for margins and
+ hyperlinks.
+ * Shortcut keys using Alt now use Ctrl to avoid conflicts with
+ OS shortcut keys and to better accommodate non-USA keyboards.
+ * High DPI scaling has been enabled for Qt 5.6 and above.
+ * Dragging and dropping an image into the editor will now insert
+ the image link at the mouse location.
+ * Classic Light and Classic Dark themes have new color palettes.
+ * Various aesthetics have been added to the main window.
+ * New application translations are available for the following
+ languages:
+ + German
+ + Italian
+ + Japanese
+ + Portuguese (Brazil)
+ + Russian
+ * Sundry other fixes have been added.
+
+-------------------------------------------------------------------
Old:
----
ghostwriter-1.3.1.tar.gz
New:
----
ghostwriter-1.4.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghostwriter.spec ++++++
--- /var/tmp/diff_new_pack.IGCsUY/_old 2016-07-28 23:47:48.000000000 +0200
+++ /var/tmp/diff_new_pack.IGCsUY/_new 2016-07-28 23:47:48.000000000 +0200
@@ -17,7 +17,7 @@
Name: ghostwriter
-Version: 1.3.1
+Version: 1.4.0
Release: 0
Summary: A distraction-free Markdown editor
License: GPL-3.0+
++++++ ghostwriter-1.3.1.tar.gz -> ghostwriter-1.4.0.tar.gz ++++++
++++ 18019 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package fail2ban for openSUSE:Factory checked in at 2016-07-28 23:47:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fail2ban (Old)
and /work/SRC/openSUSE:Factory/.fail2ban.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fail2ban"
Changes:
--------
--- /work/SRC/openSUSE:Factory/fail2ban/fail2ban.changes 2016-03-26 15:27:27.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.fail2ban.new/fail2ban.changes 2016-07-28 23:47:45.000000000 +0200
@@ -1,0 +2,54 @@
+Mon Jul 25 13:43:18 UTC 2016 - jweberhofer(a)weberhofer.at
+
+- Update to version 0.9.5
+
+ New Features
+ * New Actions: action.d/firewallcmd-rich-rules and
+ action.d/firewallcmd-rich-logging (gh#fail2ban/fail2ban#1367)
+ * New filter: slapd - ban hosts, that were failed to connect with invalid
+ credentials: error code 49 (gh#fail2ban/fail2ban#1478)
+
+ Enhancements
+ * Extreme speedup of all sqlite database operations
+ (gh#fail2ban/fail2ban#1436), by using of following sqlite options:
+ - (synchronous = OFF) write data through OS without syncing
+ - (journal_mode = MEMORY) use memory for the transaction logging
+ - (temp_store = MEMORY) temporary tables and indices are kept in memory
+ * journald journalmatch for pure-ftpd (gh#fail2ban/fail2ban#1362)
+ * Added additional regex filter for dovecot ldap authentication
+ failures (gh#fail2ban/fail2ban#1370)
+ * filter.d/exim*conf
+ - Added additional regexes (gh#fail2ban/fail2ban#1371)
+ - Made port entry optional
+
+ Fixes
+ * filter.d/monit.conf
+ - Extended failregex with new monit "access denied" version
+ (gh#fail2ban/fail2ban#1355)
+ - failregex of previous monit version merged as single expression
+ * filter.d/postfix.conf, filter.d/postfix-sasl.conf
+ - Extended failregex daemon part, matching also postfix/smtps/smtpd now
+ (gh#fail2ban/fail2ban#1391)
+
+ * Fixed a grave bug within tags substitutions because of incorrect detection
+ of recursion in case of multiple inline substitutions of the same tag
+ (affected actions: bsd-ipfw, etc). Now tracks the actual list of the
+ already substituted tags (per tag instead of single list)
+
+ * filter.d/common.conf
+ - Unexpected extra regex-space in generic __prefix_line
+ (gh#fail2ban/fail2ban#1405)
+ - All optional spaces normalized in common.conf, test covered now
+ - Generic __prefix_line extended with optional brackets for the date ambit
+ (gh#fail2ban/fail2ban#1421), added new parameter __date_ambit
+
+ * gentoo-initd fixed --pidfile bug: --pidfile is option of start-stop-daemon,
+ not argument of fail2ban (see gh#fail2ban/fail2ban#1434)
+
+ * filter.d/asterisk.conf
+ - Fixed security log support for PJSIP and Asterisk 13+
+ (gh#fail2ban/fail2ban#1456)
+ - Improved log support for PJSIP and Asterisk 13+ with different callID
+ (gh#fail2ban/fail2ban#1458)
+
+-------------------------------------------------------------------
Old:
----
fail2ban-0.9.4.tar.gz
New:
----
fail2ban-0.9.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ fail2ban.spec ++++++
--- /var/tmp/diff_new_pack.DvlfCI/_old 2016-07-28 23:47:46.000000000 +0200
+++ /var/tmp/diff_new_pack.DvlfCI/_new 2016-07-28 23:47:46.000000000 +0200
@@ -17,7 +17,7 @@
Name: fail2ban
-Version: 0.9.4
+Version: 0.9.5
Release: 0
Summary: Bans IP addresses that make too many authentication failures
License: GPL-2.0+
++++++ fail2ban-0.9.4.tar.gz -> fail2ban-0.9.5.tar.gz ++++++
++++ 3435 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package syncthing for openSUSE:Factory checked in at 2016-07-28 23:47:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/syncthing (Old)
and /work/SRC/openSUSE:Factory/.syncthing.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "syncthing"
Changes:
--------
--- /work/SRC/openSUSE:Factory/syncthing/syncthing.changes 2016-07-09 09:26:02.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.syncthing.new/syncthing.changes 2016-07-28 23:47:41.000000000 +0200
@@ -1,0 +2,25 @@
+Wed Jul 27 08:24:38 UTC 2016 - sor.alexei(a)meowr.ru
+
+- Update to version 0.14.2 (changes since 0.14.0):
+ * Implement "delta indexes", a backwards compatible protocol
+ enhancement. Prior to delta indexes being implemented, full
+ index information was exchanged at every connection start.
+ With delta indexes, only index information that has changed
+ since last contact is transferred.
+ * Files that grow or shrink during scanning would result in
+ conflicts or inconsistent data after synchronisation.
+
+-------------------------------------------------------------------
+Sat Jul 23 16:15:39 UTC 2016 - sor.alexei(a)meowr.ru
+
+- Update to version 0.14.0:
+ * Respect address family for listen addresses in Discovery
+ results.
+ * Base the sync protocol, local discovery protocol and database
+ format on protocol buffers.
+ * Quickly detect other local devices on restart in local
+ discovery.
+ * Fix race condition causing a deadlock on directory addition.
+ * Correctly format Anonymous Usage Reporting Preview.
+
+-------------------------------------------------------------------
Old:
----
syncthing-source-v0.13.10.tar.gz
syncthing-source-v0.13.10.tar.gz.asc
New:
----
syncthing-source-v0.14.2.tar.gz
syncthing-source-v0.14.2.tar.gz.asc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ syncthing.spec ++++++
--- /var/tmp/diff_new_pack.y5gkf7/_old 2016-07-28 23:47:44.000000000 +0200
+++ /var/tmp/diff_new_pack.y5gkf7/_new 2016-07-28 23:47:44.000000000 +0200
@@ -17,7 +17,7 @@
Name: syncthing
-Version: 0.13.10
+Version: 0.14.2
Release: 0
Summary: FOSS Continuous File Synchronisation
License: MPL-2.0
++++++ syncthing-source-v0.13.10.tar.gz -> syncthing-source-v0.14.2.tar.gz ++++++
/work/SRC/openSUSE:Factory/syncthing/syncthing-source-v0.13.10.tar.gz /work/SRC/openSUSE:Factory/.syncthing.new/syncthing-source-v0.14.2.tar.gz differ: char 5, line 1
1
0
Hello community,
here is the log from the commit of package xmp for openSUSE:Factory checked in at 2016-07-28 23:47:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xmp (Old)
and /work/SRC/openSUSE:Factory/.xmp.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xmp"
Changes:
--------
--- /work/SRC/openSUSE:Factory/xmp/xmp.changes 2014-12-09 09:14:04.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.xmp.new/xmp.changes 2016-07-28 23:47:37.000000000 +0200
@@ -1,0 +2,15 @@
+Tue Jul 26 14:54:09 UTC 2016 - jengelh(a)inai.de
+
+- Update to new upstream release 4.1.0
+* Add option to force tracker emulation
+* Add option to use simulated Amiga mixers
+* Add option to set the maximum number of virtual channels
+* Add command to switch between standard and classic mixers
+* Add command to display current mixer type
+* Fix default amplification factor
+* Fix module-specific configuration file options
+* Fix screen corruption when module uses more than 255 virtual
+ channels
+* Remove option --offset-bug-emulation
+
+-------------------------------------------------------------------
Old:
----
xmp-4.0.10.tar.gz
New:
----
xmp-4.1.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xmp.spec ++++++
--- /var/tmp/diff_new_pack.e4QmRE/_old 2016-07-28 23:47:38.000000000 +0200
+++ /var/tmp/diff_new_pack.e4QmRE/_new 2016-07-28 23:47:38.000000000 +0200
@@ -1,7 +1,7 @@
#
# spec file for package xmp
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: xmp
-Version: 4.0.10
+Version: 4.1.0
Release: 0
Summary: Extended Module Player for MOD/S3M/XM/IT/etc.
License: GPL-2.0+
@@ -30,7 +30,7 @@
BuildRequires: pkgconfig
BuildRequires: pkgconfig(alsa) >= 1
BuildRequires: pkgconfig(libpulse-simple)
-BuildRequires: pkgconfig(libxmp) >= 4.3
+BuildRequires: pkgconfig(libxmp) >= 4.4
%description
The Extended Module Player is a command-line mod player for Unix-like
++++++ xmp-4.0.10.tar.gz -> xmp-4.1.0.tar.gz ++++++
++++ 3469 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package mutt for openSUSE:Factory checked in at 2016-07-28 23:47:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mutt (Old)
and /work/SRC/openSUSE:Factory/.mutt.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mutt"
Changes:
--------
--- /work/SRC/openSUSE:Factory/mutt/mutt.changes 2016-06-19 10:48:24.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.mutt.new/mutt.changes 2016-07-28 23:47:30.000000000 +0200
@@ -1,0 +2,62 @@
+Tue Jul 26 12:36:47 UTC 2016 - werner(a)suse.de
+
+- Update to mutt version 1.6.2 (2016-07-01):
+ * send.c: Check $pgp_autoinline and $pgp_replyinline if oppenc is set.
+ (closes #3846)
+ * The first oppenc call takes place after the initial checks of
+ $pgp_autoline and $pgp_replyinline, and doesn't go through the pgp
+ menu.
+ * Therefore, check for $pgp_autoline and $pgp_replyinline if oppenc is
+ set too, to avoid oppenc enabling encryption without INLINE being
+ set in those cases.
+ * a6a4d6ed0f19 previously cleaned things up so that it is safe to set
+ INLINE even if encryption isn't enabled.
+ * keymap.c: Fix infinite loop when help is bound to a named key
+ combination.
+ * Commit a07e8215a0ef introduced a bug in km_error_key, which is
+ called when an unbound key is pressed.
+ * If help is bound to a sequence containing named keys (e.g. <esc>),
+ the raw (untokenized) string would be pushed back into the unget
+ buffer. This could lead to an infinite loop of unbound key presses
+ triggering more unbound keys being put into the unget buffer.
+ * Change km_error_key to tokenize the string before putting it in the
+ unget buffer.
+ * Much thanks to Jiri Bohac for his bug report, analysis, and initial
+ patch!
+- Update to neomutt 20160723
+ New Features
+ New Mail Command - Execute a command on receipt of new mail
+ vim-keybindings - Mutt config for vim users
+ LMDB - In-memory header caching database
+ SMIME Encrypt to Self - Secure storage of sensitive email
+ Bug Fixes
+ rework mutt_draw_statusline()
+ fix cursor position after sidebar redraw
+ Add sidebar_format flag ‘%n’ to display ‘N’ on new mail.
+ fix index_format truncation problem
+ Fix compiler warnings due to always true condition
+ Change sidebar next/prev-new to look at buffy->new too.
+ Change the default for sidebar_format to use %n.
+ sidebar “unsorted” order to match Buffy list order.
+ Include ncurses tinfo library if found.
+ Sidebar width problem
+ sidebar crash for non-existent mailbox
+ Temporary compatibility workaround
+ Reset buffy->new for the current mailbox in IMAP.
+ version.sh regression
+ crash when notmuch tries to read a message (boo#986534)
+ status line wrapping
+- Modify patches
+ * COLS-workaround.dif
+ * aw.listreply.diff
+ * bug-676388-largefile.patch
+ * mutt-1.5.15-wrapcolumn.diff
+ * mutt-1.5.20-sendgroupreplyto.diff
+ * mutt-1.5.21-mailcap.diff
+ * mutt-1.6.1-opennfs.dif
+ * patch-1.5.24.vk.pgp_verbose_mime
+ * widechar.sidebar.dif
+- Rename patch mutt-1.6.1.dif to mutt-1.6.2.dif
+- Delete patch mutt-1.5.21-tinfo.dif
+
+-------------------------------------------------------------------
Old:
----
mutt-1.5.21-tinfo.dif
mutt-1.6.1-patches.tar.bz2
mutt-1.6.1.dif
mutt-1.6.1.tar.gz
neomutt-patches-20160611.tar.gz
New:
----
mutt-1.6.2.dif
mutt-1.6.2.tar.gz
neomutt-distro-20160723.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ mutt.spec ++++++
--- /var/tmp/diff_new_pack.6l2mtX/_old 2016-07-28 23:47:36.000000000 +0200
+++ /var/tmp/diff_new_pack.6l2mtX/_new 2016-07-28 23:47:36.000000000 +0200
@@ -71,8 +71,8 @@
# NOTE: We don't want this dependency and desktop-data-SuSE is in all
# desktop selections.
#Requires: desktop-data-SuSE
-%global neo 20160611
-Version: 1.6.1
+%global neo 20160723
+Version: 1.6.2
Release: 0
Summary: Mail Program
License: GPL-2.0+
@@ -86,10 +86,9 @@
Source5: skel.muttrc
Source6: krb5-config
Source7: mutt-1.5.21.de.po
-Source8: %name-%version-patches.tar.bz2
Source9: mutt.mailcap
# http://www.neomutt.org/
-Source10: neomutt-patches-%{neo}.tar.gz
+Source10: neomutt-distro-%neo.tar.gz
Patch: %name-%version.dif
# http://www.spinnaker.de/mutt/compressed/
Patch2: %name-1.5.9i-pgpewrap.diff
@@ -97,7 +96,6 @@
Patch4: %name-1.5.15-wrapcolumn.diff
Patch7: mutt-1.6.1-opennfs.dif
Patch9: bug-676388-largefile.patch
-Patch10: mutt-1.5.21-tinfo.dif
# http://www.wolfermann.org/mutt.html
Patch11: aw.listreply.diff
Patch12: patch-1.5.24.vk.pgp_verbose_mime
@@ -120,20 +118,29 @@
however.
%prep
-%setup -q -n mutt-%version -b 8 -b 10
-for p in ../%name-%version-patches/*; do
- test -e $p || break
- echo Patch $p
- patch -s -p1 < $p
+%setup -q -n mutt-%version -a 10
+for p in neomutt-distro-%neo/bugs-common/*.patch
+do
+ patch -p1 --fuzz=%_default_patch_fuzz < $p
+done
+for p in neomutt-distro-%neo/features-common/*.patch
+do
+ patch -p1 --fuzz=%_default_patch_fuzz < $p
+done
+for p in neomutt-distro-%neo/features-extra/*.patch
+do
+ patch -p1 --fuzz=%_default_patch_fuzz < $p
+done
+for p in neomutt-distro-%neo/bugs-neomutt/*.patch
+do
+ patch -p1 --fuzz=%_default_patch_fuzz < $p
done
-patch -s -p1 < ../neomutt-patches-%{neo}/mutt-%{version}/neomutt-%{neo}.patch
%patch -p0 -b .p0
%patch2 -p0 -b .pgpewrap
%patch3 -p0 -b .sendgroupreplyto
%patch4 -p0 -b .wrapcolumn
%patch7 -p0 -b .opennfs
%patch9 -p0 -b .largefile
-%patch10 -p0 -b .tinfo
%patch11 -p0 -b .listreply
%patch12 -p0 -b .pgp_verbose_mtime
%patch15 -p0 -b .widechar.sidebar
++++++ COLS-workaround.dif ++++++
--- /var/tmp/diff_new_pack.6l2mtX/_old 2016-07-28 23:47:36.000000000 +0200
+++ /var/tmp/diff_new_pack.6l2mtX/_new 2016-07-28 23:47:36.000000000 +0200
@@ -1,33 +1,12 @@
-Current neomutt sidebar patch does change COLS which does
-not work with threadsafe ncurses6. Beside this: do not
-bother other non-sidebar users as well make sidebar delimeter
-look well.
+Use professionel VLINE
---
- configure.ac | 8 ++++++++
- sidebar.c | 9 ++++++++-
- 2 files changed, 16 insertions(+), 1 deletion(-)
+ sidebar.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
---- configure.ac
-+++ configure.ac 2016-06-13 09:03:34.248832759 +0000
-@@ -312,6 +312,14 @@ main ()
- if test x$mutt_cv_curses != x/usr; then
- LDFLAGS="$LDFLAGS -L${mutt_cv_curses}/lib"
- CPPFLAGS="$CPPFLAGS -I${mutt_cv_curses}/include"
-+ fi
-+ if test -d /usr/include/ncurses5 ; then
-+ if test -d /usr/lib64/ncurses5 ; then
-+ LDFLAGS="$LDFLAGS -L/usr/lib64/ncurses5"
-+ else
-+ LDFLAGS="$LDFLAGS -L/usr/lib/ncurses5"
-+ fi
-+ CPPFLAGS="$CPPFLAGS -I/usr/include/ncurses5"
- fi])
-
- AC_CHECK_FUNC(initscr,,[
--- sidebar.c
-+++ sidebar.c 2016-06-13 09:10:18.201095164 +0000
-@@ -651,6 +651,7 @@ static int draw_divider (int first_row,
++++ sidebar.c 2016-07-26 12:32:38.170166748 +0000
+@@ -547,6 +547,7 @@ static int draw_divider (int first_row,
{
/* Calculate the width of the delimiter in screen cells */
int delim_len = mutt_strwidth (SidebarDividerChar);
@@ -35,7 +14,7 @@
if (delim_len < 1)
return delim_len;
-@@ -661,13 +662,19 @@ static int draw_divider (int first_row,
+@@ -557,13 +558,19 @@ static int draw_divider (int first_row,
if (delim_len > SidebarWidth)
return -1;
++++++ aw.listreply.diff ++++++
--- /var/tmp/diff_new_pack.6l2mtX/_old 2016-07-28 23:47:36.000000000 +0200
+++ /var/tmp/diff_new_pack.6l2mtX/_new 2016-07-28 23:47:36.000000000 +0200
@@ -8,15 +8,15 @@
4 files changed, 27 insertions(+)
--- PATCHES
-+++ PATCHES 2016-06-13 09:01:38.147057961 +0000
++++ PATCHES 2016-07-26 12:00:27.319169243 +0000
@@ -1,3 +1,4 @@
+patch-1.5.9.aw.listreply.1
- patch-quasi-delete-neo-20160612
- patch-progress-neo-20160612
- patch-status-color-neo-20160612
+ patch-new-mail-neo-git
+ patch-lmdb-neo-git
+ patch-nntp-neo-git
--- init.h
-+++ init.h 2016-06-13 09:00:11.228724235 +0000
-@@ -1492,6 +1492,13 @@ struct option_t MuttVars[] = {
++++ init.h 2016-07-26 11:59:58.319724690 +0000
+@@ -1501,6 +1501,13 @@ struct option_t MuttVars[] = {
** The locale used by \fCstrftime(3)\fP to format dates. Legal values are
** the strings your system accepts for the locale environment variable \fC$$$LC_TIME\fP.
*/
@@ -31,8 +31,8 @@
/*
** .pp
--- mutt.h
-+++ mutt.h 2016-06-13 09:00:11.228724235 +0000
-@@ -313,6 +313,7 @@ enum
++++ mutt.h 2016-07-26 11:59:58.323724614 +0000
+@@ -314,6 +314,7 @@ enum
#endif
OPT_SUBJECT,
OPT_VERIFYSIG, /* verify PGP signatures */
@@ -41,7 +41,7 @@
OPT_TOMODERATED,
OPT_CATCHUP,
--- send.c
-+++ send.c 2016-06-13 09:00:11.228724235 +0000
++++ send.c 2016-07-26 11:59:58.323724614 +0000
@@ -516,6 +516,7 @@ static int include_reply (CONTEXT *ctx,
static int default_to (ADDRESS **to, ENVELOPE *env, int flags, int hmfupto)
{
++++++ bug-676388-largefile.patch ++++++
--- /var/tmp/diff_new_pack.6l2mtX/_old 2016-07-28 23:47:36.000000000 +0200
+++ /var/tmp/diff_new_pack.6l2mtX/_new 2016-07-28 23:47:36.000000000 +0200
@@ -5,7 +5,7 @@
3 files changed, 5 insertions(+), 5 deletions(-)
--- crypt-gpgme.c
-+++ crypt-gpgme.c 2016-06-13 08:59:27.309566323 +0000
++++ crypt-gpgme.c 2016-07-26 11:56:20.223902163 +0000
@@ -496,7 +496,7 @@ static gpgme_data_t body_to_data_object
/* Create a GPGME data object from the stream FP but limit the object
to LENGTH bytes starting at OFFSET bytes from the beginning of the
@@ -16,8 +16,8 @@
int err = 0;
gpgme_data_t data;
--- mh.c
-+++ mh.c 2016-06-13 08:59:27.309566323 +0000
-@@ -1619,9 +1619,9 @@ static int mh_rewrite_message (CONTEXT *
++++ mh.c 2016-07-26 11:56:20.223902163 +0000
+@@ -1625,9 +1625,9 @@ static int mh_rewrite_message (CONTEXT *
char newpath[_POSIX_PATH_MAX];
char partpath[_POSIX_PATH_MAX];
@@ -31,8 +31,8 @@
if ((dest = mx_open_new_message (ctx, h, 0)) == NULL)
return -1;
--- mutt.h
-+++ mutt.h 2016-06-13 08:59:27.309566323 +0000
-@@ -729,7 +729,7 @@ typedef struct body
++++ mutt.h 2016-07-26 11:56:20.223902163 +0000
+@@ -730,7 +730,7 @@ typedef struct body
PARAMETER *parameter; /* parameters of the content-type */
char *description; /* content-description */
char *form_name; /* Content-Disposition form-data name param */
++++++ mutt-1.5.15-wrapcolumn.diff ++++++
--- /var/tmp/diff_new_pack.6l2mtX/_old 2016-07-28 23:47:36.000000000 +0200
+++ /var/tmp/diff_new_pack.6l2mtX/_new 2016-07-28 23:47:36.000000000 +0200
@@ -5,8 +5,8 @@
1 file changed, 2 insertions(+), 1 deletion(-)
--- init.h
-+++ init.h 2016-05-31 11:13:06.686215217 +0000
-@@ -4020,7 +4020,8 @@ struct option_t MuttVars[] = {
++++ init.h 2016-07-26 11:55:23.592986926 +0000
+@@ -4052,7 +4052,8 @@ struct option_t MuttVars[] = {
** When \fIset\fP, mutt will weed headers when displaying, forwarding,
** printing, or replying to messages.
*/
++++++ mutt-1.5.20-sendgroupreplyto.diff ++++++
--- /var/tmp/diff_new_pack.6l2mtX/_old 2016-07-28 23:47:36.000000000 +0200
+++ /var/tmp/diff_new_pack.6l2mtX/_new 2016-07-28 23:47:36.000000000 +0200
@@ -5,8 +5,8 @@
3 files changed, 16 insertions(+)
--- init.h
-+++ init.h 2016-05-31 11:12:26.410983323 +0000
-@@ -2860,6 +2860,13 @@ struct option_t MuttVars[] = {
++++ init.h 2016-07-26 11:54:46.725693126 +0000
+@@ -2885,6 +2885,13 @@ struct option_t MuttVars[] = {
** .pp
** Also see the $$force_name variable.
*/
@@ -21,8 +21,8 @@
/*
** .pp
--- mutt.h
-+++ mutt.h 2016-05-31 11:12:26.410983323 +0000
-@@ -480,6 +480,7 @@ enum
++++ mutt.h 2016-07-26 11:54:46.725693126 +0000
+@@ -482,6 +482,7 @@ enum
OPTSAVEADDRESS,
OPTSAVEEMPTY,
OPTSAVENAME,
@@ -31,7 +31,7 @@
#ifdef USE_SIDEBAR
OPTSIDEBAR,
--- send.c
-+++ send.c 2016-05-31 11:12:26.414983246 +0000
++++ send.c 2016-07-26 11:54:46.725693126 +0000
@@ -624,8 +624,16 @@ int mutt_fetch_recips (ENVELOPE *out, EN
if ((flags & SENDGROUPREPLY) && (!in->mail_followup_to || hmfupto != M_YES))
{
++++++ mutt-1.5.21-mailcap.diff ++++++
--- /var/tmp/diff_new_pack.6l2mtX/_old 2016-07-28 23:47:36.000000000 +0200
+++ /var/tmp/diff_new_pack.6l2mtX/_new 2016-07-28 23:47:36.000000000 +0200
@@ -8,8 +8,8 @@
1 file changed, 2 insertions(+), 2 deletions(-)
--- init.c
-+++ init.c 2016-05-31 11:15:25.291571898 +0000
-@@ -3322,8 +3322,8 @@ void mutt_init (int skip_sys_rc, LIST *c
++++ init.c 2016-07-26 12:03:14.963958298 +0000
+@@ -3330,8 +3330,8 @@ void mutt_init (int skip_sys_rc, LIST *c
MailcapPath = safe_strdup (p);
else
{
++++++ mutt-1.6.1-opennfs.dif ++++++
--- /var/tmp/diff_new_pack.6l2mtX/_old 2016-07-28 23:47:36.000000000 +0200
+++ /var/tmp/diff_new_pack.6l2mtX/_new 2016-07-28 23:47:36.000000000 +0200
@@ -1,16 +1,16 @@
---
Makefile.am | 4 -
Makefile.in | 6 +-
- lib.c | 7 ++-
+ lib.c | 15 ++++---
mbox.c | 2
mh.c | 9 +++-
mutt.h | 1
opennfs.c | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sendlib.c | 2
- 8 files changed, 144 insertions(+), 9 deletions(-)
+ 8 files changed, 148 insertions(+), 13 deletions(-)
--- Makefile.am
-+++ Makefile.am 2016-06-13 08:58:36.526540129 +0000
++++ Makefile.am 2016-07-26 12:15:17.066117600 +0000
@@ -32,7 +32,7 @@ mutt_SOURCES = \
edit.c enter.c flags.c init.c filter.c from.c \
getdomain.c group.c \
@@ -20,7 +20,7 @@
postpone.c query.c recvattach.c recvcmd.c \
rfc822.c rfc1524.c rfc2047.c rfc2231.c rfc3676.c \
score.c send.c sendlib.c signal.c sort.c \
-@@ -96,7 +96,7 @@ mutt_dotlock_SOURCES = mutt_dotlock.c
+@@ -97,7 +97,7 @@ mutt_dotlock_SOURCES = mutt_dotlock.c
mutt_dotlock_LDADD = $(LIBOBJS)
mutt_dotlock_DEPENDENCIES = $(LIBOBJS)
@@ -30,7 +30,7 @@
pgpring_DEPENDENCIES = $(LIBOBJS) $(INTLDEPS)
--- Makefile.in
-+++ Makefile.in 2016-06-13 08:58:36.526540129 +0000
++++ Makefile.in 2016-07-26 12:15:17.070117523 +0000
@@ -125,7 +125,7 @@ am_mutt_OBJECTS = addrbook.$(OBJEXT) ali
hash.$(OBJEXT) hdrline.$(OBJEXT) headers.$(OBJEXT) \
help.$(OBJEXT) hook.$(OBJEXT) keymap.$(OBJEXT) main.$(OBJEXT) \
@@ -59,7 +59,7 @@
rfc822.c rfc1524.c rfc2047.c rfc2231.c rfc3676.c \
score.c send.c sendlib.c signal.c sort.c \
--- lib.c
-+++ lib.c 2016-06-13 08:58:36.526540129 +0000
++++ lib.c 2016-07-26 12:16:00.365287507 +0000
@@ -50,6 +50,7 @@
#define EX_OK 0
#endif
@@ -68,7 +68,41 @@
#include "lib.h"
-@@ -637,6 +638,10 @@ int safe_open (const char *path, int fla
+@@ -545,7 +546,7 @@ int safe_rename (const char *src, const
+
+
+ /* Create a temporary directory next to a file name */
+-
++#if defined(__linux__)
+ static int mutt_mkwrapdir (const char *path, char *newfile, size_t nflen,
+ char *newdir, size_t ndlen)
+ {
+@@ -581,7 +582,7 @@ static int mutt_mkwrapdir (const char *p
+ }
+ return 0;
+ }
+-
++#endif
+ /* remove a directory and everything under it */
+ int mutt_rmtree (const char* path)
+ {
+@@ -621,7 +622,7 @@ int mutt_rmtree (const char* path)
+
+ return rc;
+ }
+-
++#if defined(__linux__)
+ static int mutt_put_file_in_place (const char *path, const char *safe_file, const char *safe_dir)
+ {
+ int rv;
+@@ -631,12 +632,16 @@ static int mutt_put_file_in_place (const
+ rmdir (safe_dir);
+ return rv;
+ }
+-
++#endif
+ int safe_open (const char *path, int flags)
+ {
struct stat osb, nsb;
int fd;
@@ -89,8 +123,8 @@
if (lstat (path, &osb) < 0 || fstat (fd, &nsb) < 0 ||
compare_stat(&osb, &nsb) == -1)
--- mbox.c
-+++ mbox.c 2016-06-13 08:58:36.526540129 +0000
-@@ -785,7 +785,7 @@ int mbox_sync_mailbox (CONTEXT *ctx, int
++++ mbox.c 2016-07-26 12:15:17.070117523 +0000
+@@ -781,7 +781,7 @@ int mbox_sync_mailbox (CONTEXT *ctx, int
/* Create a temporary file to write the new version of the mailbox in. */
mutt_mktemp (tempfile, sizeof (tempfile));
@@ -100,8 +134,8 @@
{
if (-1 != i)
--- mh.c
-+++ mh.c 2016-06-13 08:58:36.526540129 +0000
-@@ -352,7 +352,11 @@ static int mh_mkstemp (CONTEXT * dest, F
++++ mh.c 2016-07-26 12:15:17.070117523 +0000
+@@ -358,7 +358,11 @@ static int mh_mkstemp (CONTEXT * dest, F
{
snprintf (path, _POSIX_PATH_MAX, "%s/.mutt-%s-%d-%" PRIu64,
dest->path, NONULL (Hostname), (int) getpid (), mutt_rand64());
@@ -113,7 +147,7 @@
{
if (errno != EEXIST)
{
-@@ -1376,8 +1380,11 @@ int maildir_open_new_message (MESSAGE *
+@@ -1382,8 +1386,11 @@ int maildir_open_new_message (MESSAGE *
dprint (2, (debugfile, "maildir_open_new_message (): Trying %s.\n",
path));
@@ -127,15 +161,15 @@
if (errno != EEXIST)
{
--- mutt.h
-+++ mutt.h 2016-06-13 08:58:36.526540129 +0000
-@@ -1078,4 +1078,5 @@ typedef struct
++++ mutt.h 2016-07-26 12:15:17.070117523 +0000
+@@ -1075,4 +1075,5 @@ typedef struct
#include "lib.h"
#include "globals.h"
+extern int opennfs(const char *, int, int);
#endif /*MUTT_H*/
--- opennfs.c
-+++ opennfs.c 2016-06-13 08:58:36.526540129 +0000
++++ opennfs.c 2016-07-26 12:15:17.070117523 +0000
@@ -0,0 +1,122 @@
+#include <errno.h>
+#include <fcntl.h>
@@ -260,7 +294,7 @@
+ return open(path, flags, mode);
+}
--- sendlib.c
-+++ sendlib.c 2016-06-13 08:58:36.526540129 +0000
++++ sendlib.c 2016-07-26 12:15:17.070117523 +0000
@@ -2260,7 +2260,7 @@ send_msg (const char *path, char **args,
if (SendmailWait >= 0 && tempfile && *tempfile)
{
++++++ mutt-1.5.21-tinfo.dif -> mutt-1.6.2.dif ++++++
--- /work/SRC/openSUSE:Factory/mutt/mutt-1.5.21-tinfo.dif 2016-06-19 10:48:24.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.mutt.new/mutt-1.6.2.dif 2016-07-28 23:47:28.000000000 +0200
@@ -1,23 +1,320 @@
---
- configure.ac | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
+ configure.ac | 10 ++++-
+ doc/Makefile.in | 2 -
+ doc/Muttrc | 102 +++++++++++++++++++++++++++++++++++++++++---------------
+ doc/Muttrc.head | 2 -
+ imap/auth.c | 20 ++++++++++
+ init.h | 3 +
+ mx.c | 3 +
+ 7 files changed, 112 insertions(+), 30 deletions(-)
--- configure.ac
-+++ configure.ac 2016-06-13 09:00:11.224724311 +0000
-@@ -320,9 +320,14 @@ main ()
- do
- AC_CHECK_LIB($lib, waddnwstr, [cf_ncurses="$lib"; break])
- done
-+ cf_tinfo=""
-+ AC_CHECK_LIB(tinfo, tgetent, [cf_tinfo="tinfo"])
- AC_CHECK_LIB($cf_ncurses, initscr,
-- [MUTTLIBS="$MUTTLIBS -l$cf_ncurses"
--
-+ [if test x$cf_tinfo = x ; then
-+ MUTTLIBS="$MUTTLIBS -l$cf_ncurses"
-+ else
-+ MUTTLIBS="$MUTTLIBS -l$cf_ncurses -l$cf_tinfo"
-+ fi
- if test "$cf_ncurses" = ncursesw; then
- AC_CHECK_HEADERS(ncursesw/ncurses.h,[cf_cv_ncurses_header="ncursesw/ncurses.h"])
- else
++++ configure.ac 2016-07-26 11:50:00.711172022 +0000
+@@ -281,7 +281,7 @@ main ()
+ mutt_cv_slang=$withval
+ if test -d $withval/include/slang; then
+ CPPFLAGS="$CPPFLAGS -I${withval}/include/slang"
+- elif test -d $withval/include; then
++ elif test -d $withval/include && test $withval != /usr ; then
+ CPPFLAGS="$CPPFLAGS -I${withval}/include"
+ fi
+ LDFLAGS="$LDFLAGS -L${withval}/lib"
+@@ -722,8 +722,12 @@ AC_ARG_WITH(ssl, AS_HELP_STRING([--with-
+ else
+ if test "$with_ssl" != "yes"
+ then
++ case $withval in /usr|/usr/local) ;;
++ *)
+ LDFLAGS="$LDFLAGS -L$withval/lib"
+ CPPFLAGS="$CPPFLAGS -I$withval/include"
++ ;;
++ esac
+ fi
+ saved_LIBS="$LIBS"
+
+@@ -802,8 +806,12 @@ AC_ARG_WITH(sasl, AS_HELP_STRING([--with
+
+ if test "$with_sasl" != "yes"
+ then
++ case $with_sasl in /usr|/usr/local) ;;
++ *)
+ CPPFLAGS="$CPPFLAGS -I$with_sasl/include"
+ LDFLAGS="$LDFLAGS -L$with_sasl/lib"
++ ;;
++ esac
+ fi
+
+ saved_LIBS="$LIBS"
+--- doc/Makefile.in
++++ doc/Makefile.in 2016-07-26 11:50:00.711172022 +0000
+@@ -697,7 +697,7 @@ uninstall-local:
+
+ check:
+ manual.txt: manual.html
+- -LC_ALL=C lynx -dump -nolist -with_backspaces -display_charset=us-ascii manual.html > $@ || \
++ -LC_ALL=C lynx -dont_wrap_pre -center -dump -nolist -with_backspaces -display_charset=us-ascii manual.html > $@ || \
+ LC_ALL=C w3m -dump manual.html > $@ || \
+ LC_ALL=C elinks -dump -no-numbering -no-references manual.html | sed -e 's,\\001, ,g' > $@
+
+--- doc/Muttrc.head
++++ doc/Muttrc.head 2016-07-26 11:50:00.711172022 +0000
+@@ -23,7 +23,7 @@ macro index,pager,attach,compose \cb "\
+ "call urlview to extract URLs out of a message"
+
+ # Show documentation when pressing F1
+-macro generic,pager <F1> "<shell-escape> less @docdir@/manual.txt<Enter>" "show Mutt documentation"
++macro generic,index,pager <F1> "<shell-escape> less -iM @docdir@/manual.txt<Enter>" "show Mutt documentation"
+
+ # show the incoming mailboxes list (just like "mutt -y") and back when pressing "y"
+ macro index,pager y "<change-folder>?<toggle-mailboxes>" "show incoming mailboxes list"
+--- doc/Muttrc
++++ doc/Muttrc 2016-07-26 11:50:00.711172022 +0000
+@@ -23,7 +23,7 @@ macro index,pager,attach,compose \cb "\
+ "call urlview to extract URLs out of a message"
+
+ # Show documentation when pressing F1
+-macro generic,pager <F1> "<shell-escape> less /usr/local/share/doc/mutt/manual.txt<Enter>" "show Mutt documentation"
++macro generic,index,pager <F1> "<shell-escape> less -iM /usr/share/doc/packages/mutt/manual.txt.gz<Enter>" "show Mutt documentation"
+
+ # show the incoming mailboxes list (just like "mutt -y") and back when pressing "y"
+ macro index,pager y "<change-folder>?<toggle-mailboxes>" "show incoming mailboxes list"
+@@ -364,9 +364,9 @@ attachments -I message/external-body
+ # unset, you must first use the <tag-prefix> function (bound to ``;''
+ # by default) to make the next function apply to all tagged messages.
+ #
+-#
+-# set autoedit=no
+-#
++
++set autoedit=yes
++
+ # Name: autoedit
+ # Type: boolean
+ # Default: no
+@@ -482,9 +482,9 @@ attachments -I message/external-body
+ # Note: It should only be set in case Mutt isn't able to determine the
+ # character set used correctly.
+ #
+-#
+-# set check_mbox_size=no
+-#
++
++set check_mbox_size=yes
++
+ # Name: check_mbox_size
+ # Type: boolean
+ # Default: no
+@@ -912,11 +912,11 @@ attachments -I message/external-body
+ # filtered message is read from the standard output.
+ #
+ #
+-# set dotlock_program="/usr/local/bin/mutt_dotlock"
++# set dotlock_program="/usr/bin/mutt_dotlock"
+ #
+ # Name: dotlock_program
+ # Type: path
+-# Default: "/usr/local/bin/mutt_dotlock"
++# Default: "/usr/bin/mutt_dotlock"
+ #
+ #
+ # Contains the path of the mutt_dotlock(8) binary to be used by
+@@ -2380,9 +2380,9 @@ attachments -I message/external-body
+ # directly from the pager, and screen resizes cause lines longer than
+ # the screen width to be badly formatted in the help menu.
+ #
+-#
+-# set pager_context=0
+-#
++
++set pager_context=4
++
+ # Name: pager_context
+ # Type: number
+ # Default: 0
+@@ -2410,9 +2410,9 @@ attachments -I message/external-body
+ # pager. The valid sequences are listed in the $index_format
+ # section.
+ #
+-#
+-# set pager_index_lines=0
+-#
++
++set pager_index_lines=10
++
+ # Name: pager_index_lines
+ # Type: number
+ # Default: 0
+@@ -2430,9 +2430,9 @@ attachments -I message/external-body
+ # is less than $pager_index_lines, then the index will only use as
+ # many lines as it needs.
+ #
+-#
+-# set pager_stop=no
+-#
++
++set pager_stop=yes
++
+ # Name: pager_stop
+ # Type: boolean
+ # Default: no
+@@ -3538,9 +3538,9 @@ attachments -I message/external-body
+ # user-defined headers, and other processing effects from being
+ # made multiple times to the draft file.
+ #
+-#
+-# set reverse_alias=no
+-#
++
++set reverse_alias=yes
++
+ # Name: reverse_alias
+ # Type: boolean
+ # Default: no
+@@ -3672,6 +3672,18 @@ attachments -I message/external-body
+ # Also see the $force_name variable.
+ #
+ #
++# set send_group_reply_to=no
++#
++# Name: send_group_reply_to
++# Type: boolean
++# Default: no
++#
++#
++# This variable controls how group replies are done.
++# When set, all recepients listet in "To:" are set in the
++# "To:" header again, else in the "CC", which is the default.
++#
++#
+ # set score=yes
+ #
+ # Name: score
+@@ -4255,9 +4267,9 @@ attachments -I message/external-body
+ # Setting this variable overrides the value of the $sendmail
+ # variable.
+ #
+-#
+-# set sort=date
+-#
++
++set sort=reverse-date-sent
++
+ # Name: sort
+ # Type: sort order
+ # Default: date
+@@ -4741,9 +4753,9 @@ attachments -I message/external-body
+ # When set, mutt uses the date received rather than the date sent
+ # to thread messages by subject.
+ #
+-#
+-# set tilde=no
+-#
++
++set tilde=yes
++
+ # Name: tilde
+ # Type: boolean
+ # Default: no
+@@ -5079,6 +5091,42 @@ attachments -I message/external-body
+ # in this case.
+ #
+ #
++# set xterm_icon="M%?n?AIL&ail?"
++#
++# Name: xterm_icon
++# Type: string
++# Default: "M%?n?AIL&ail?"
++#
++#
++# Controls the format of the icon title, as long as xterm_set_titles
++# is enabled. This string is identical in formatting to the one used by
++# ``$status_format''.
++#
++#
++# set xterm_set_titles=no
++#
++# Name: xterm_set_titles
++# Type: boolean
++# Default: no
++#
++#
++# Controls whether mutt sets the xterm title bar and icon name
++# (as long as you're in an appropriate terminal). The default must
++# be off to force in the validity checking.
++#
++#
++# set xterm_title="Mutt with %?m?%m messages&no messages?%?n? [%n NEW]?"
++#
++# Name: xterm_title
++# Type: string
++# Default: "Mutt with %?m?%m messages&no messages?%?n? [%n NEW]?"
++#
++#
++# Controls the format of the title bar of the xterm provided that
++# xterm_set_titles has been set. This string is identical in formatting
++# to the one used by ``$status_format''.
++#
++#
+ # set write_inc=10
+ #
+ # Name: write_inc
+--- imap/auth.c
++++ imap/auth.c 2016-07-26 11:50:00.711172022 +0000
+@@ -72,6 +72,23 @@ int imap_authenticate (IMAP_DATA* idata)
+ dprint (2, (debugfile, "imap_authenticate: Trying method %s\n", method));
+ authenticator = imap_authenticators;
+
++#ifdef USE_SASL
++ /* "login" not supported by SASL */
++ if (!ascii_strcasecmp ("login", method))
++ {
++ while (authenticator->authenticate)
++ {
++ const char *identify = authenticator->method;
++ if (identify && !ascii_strcasecmp(identify, method))
++ if ((r = authenticator->authenticate(idata, method)) != IMAP_AUTH_UNAVAIL)
++ {
++ FREE(&methods);
++ return r;
++ }
++ authenticator++;
++ }
++ } else {
++#endif
+ while (authenticator->authenticate)
+ {
+ if (!authenticator->method ||
+@@ -85,6 +102,9 @@ int imap_authenticate (IMAP_DATA* idata)
+
+ authenticator++;
+ }
++#ifdef USE_SASL
++ }
++#endif
+ }
+
+ FREE (&methods);
+--- init.h
++++ init.h 2016-07-26 11:50:00.715171945 +0000
+@@ -3601,6 +3601,9 @@ struct option_t MuttVars[] = {
+ ** the default from the GNUTLS library.
+ */
+ # endif /* USE_SSL_GNUTLS */
++#if defined(USE_IMAP) && defined(SUSE_IMAP_FORCE_SSL)
++ { "imap_force_ssl", DT_SYN, R_NONE, UL "ssl_force_tls", 0 },
++#endif
+ { "ssl_starttls", DT_QUAD, R_NONE, OPT_SSLSTARTTLS, M_YES },
+ /*
+ ** .pp
+--- mx.c
++++ mx.c 2016-07-26 11:50:00.715171945 +0000
+@@ -1829,6 +1829,9 @@ void mx_update_context (CONTEXT *ctx, in
+ {
+ h = ctx->hdrs[msgno];
+
++ if (!h)
++ continue;
++
+ if (WithCrypto)
+ {
+ /* NOTE: this _must_ be done before the check for mailcap! */
++++++ mutt-1.6.1.tar.gz -> mutt-1.6.2.tar.gz ++++++
++++ 6050 lines of diff (skipped)
++++++ patch-1.5.24.vk.pgp_verbose_mime ++++++
--- /var/tmp/diff_new_pack.6l2mtX/_old 2016-07-28 23:47:37.000000000 +0200
+++ /var/tmp/diff_new_pack.6l2mtX/_new 2016-07-28 23:47:37.000000000 +0200
@@ -6,15 +6,15 @@
4 files changed, 17 insertions(+), 1 deletion(-)
--- PATCHES
-+++ PATCHES 2016-06-13 09:02:59.501498661 +0000
++++ PATCHES 2016-07-26 12:01:20.102158263 +0000
@@ -1,3 +1,4 @@
+patch-1.5.3.vk.pgp_verbose_mime
patch-1.5.9.aw.listreply.1
- patch-quasi-delete-neo-20160612
- patch-progress-neo-20160612
+ patch-new-mail-neo-git
+ patch-lmdb-neo-git
--- globals.h
-+++ globals.h 2016-06-13 09:02:33.338000098 +0000
-@@ -274,6 +274,8 @@ WHERE REGEXP PgpDecryptionOkay;
++++ globals.h 2016-07-26 12:00:59.278557107 +0000
+@@ -272,6 +272,8 @@ WHERE REGEXP PgpDecryptionOkay;
WHERE char *PgpSignAs;
WHERE short PgpTimeout;
WHERE char *PgpEntryFormat;
@@ -24,8 +24,8 @@
WHERE char *PgpDecodeCommand;
WHERE char *PgpVerifyCommand;
--- init.h
-+++ init.h 2016-06-13 09:02:33.338000098 +0000
-@@ -3185,6 +3185,18 @@ struct option_t MuttVars[] = {
++++ init.h 2016-07-26 12:00:59.278557107 +0000
+@@ -3210,6 +3210,18 @@ struct option_t MuttVars[] = {
** a line quoted text if it also matches $$smileys. This mostly
** happens at the beginning of a line.
*/
@@ -45,7 +45,7 @@
--- pgp.c
-+++ pgp.c 2016-06-13 09:02:33.338000098 +0000
++++ pgp.c 2016-07-26 12:00:59.282557030 +0000
@@ -1261,7 +1261,8 @@ BODY *pgp_sign_message (BODY *a)
t->disposition = DISPNONE;
t->encoding = ENC7BIT;
++++++ widechar.sidebar.dif ++++++
--- /var/tmp/diff_new_pack.6l2mtX/_old 2016-07-28 23:47:37.000000000 +0200
+++ /var/tmp/diff_new_pack.6l2mtX/_new 2016-07-28 23:47:37.000000000 +0200
@@ -3,7 +3,7 @@
1 file changed, 6 insertions(+), 5 deletions(-)
--- handler.c
-+++ handler.c 2016-05-12 13:39:27.157097136 +0000
++++ handler.c 2016-07-26 12:01:48.801608572 +0000
@@ -780,7 +780,7 @@ static void enriched_set_flags (const wc
static int text_enriched_handler (BODY *a, STATE *s)
{
1
0
Hello community,
here is the log from the commit of package libmlt for openSUSE:Factory checked in at 2016-07-28 23:47:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libmlt (Old)
and /work/SRC/openSUSE:Factory/.libmlt.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libmlt"
Changes:
--------
--- /work/SRC/openSUSE:Factory/libmlt/libmlt.changes 2016-05-05 08:12:56.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.libmlt.new/libmlt.changes 2016-07-28 23:47:24.000000000 +0200
@@ -1,0 +2,5 @@
+Mon Jul 25 11:28:39 UTC 2016 - olaf(a)aepfle.de
+
+- Build with ffmpeg unconditional
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libmlt.spec ++++++
--- /var/tmp/diff_new_pack.YegXYy/_old 2016-07-28 23:47:26.000000000 +0200
+++ /var/tmp/diff_new_pack.YegXYy/_new 2016-07-28 23:47:26.000000000 +0200
@@ -16,12 +16,7 @@
#
-%if 0%{?suse_version} > 1320 || (0%{?suse_version} == 1315 && 0%{?is_opensuse})
-# we have ffmpeg in Leap and Tumbleweed, so build against it by default
%bcond_without ffmpeg
-%else
-%bcond_with ffmpeg
-%endif
# Dan Dennedy asked to disable it since it's buggy and unmaintained (see e.g. http://www.kdenlive.org/mantis/view.php?id=3070)
%bcond_with vdpau
1
0
Hello community,
here is the log from the commit of package htop for openSUSE:Factory checked in at 2016-07-28 23:47:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/htop (Old)
and /work/SRC/openSUSE:Factory/.htop.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "htop"
Changes:
--------
--- /work/SRC/openSUSE:Factory/htop/htop.changes 2016-07-15 12:50:07.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.htop.new/htop.changes 2016-07-28 23:47:18.000000000 +0200
@@ -1,0 +2,18 @@
+Sat Jul 23 08:06:45 UTC 2016 - mpluskal(a)suse.com
+
+- Update to version 2.0.2:
+ * Mac OS X: stop trying when task_for_pid fails for a process,
+ stops spamming logs with errors.
+ * Add Ctrl+A and Ctrl+E to go to beginning and end of line
+ * FreeBSD: fixes for CPU calculation
+ * Usability: auto-follow process after a search.
+ * Use Linux backend on GNU Hurd
+ * Improvement for reproducible builds.
+ * BUGFIX: Fix behavior of Alt-key combinations
+ * Various code tweaks and cleanups
+- Drop htop-2.0.1-fix-escdelay-usage.patch
+- Update htop-desktop-file-fix-thoenig-01.patch
+- Drop some build dependencies
+- Enable taskstats
+
+-------------------------------------------------------------------
Old:
----
htop-2.0.1-fix-escdelay-usage.patch
htop-2.0.1.tar.gz
New:
----
htop-2.0.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ htop.spec ++++++
--- /var/tmp/diff_new_pack.5D47Bk/_old 2016-07-28 23:47:19.000000000 +0200
+++ /var/tmp/diff_new_pack.5D47Bk/_new 2016-07-28 23:47:19.000000000 +0200
@@ -17,7 +17,7 @@
Name: htop
-Version: 2.0.1
+Version: 2.0.2
Release: 0
Summary: An Interactive text-mode Process Viewer for Linux
License: GPL-2.0+
@@ -25,12 +25,7 @@
Url: http://hisham.hm/htop
Source0: http://hisham.hm/htop/releases/%{version}/%{name}-%{version}.tar.gz
Patch0: htop-desktop-file-fix-thoenig-01.patch
-Patch1: htop-2.0.1-fix-escdelay-usage.patch
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: libtool
BuildRequires: ncurses-devel
-BuildRequires: python
BuildRequires: update-desktop-files
Requires(post): update-desktop-files
Requires(postun): update-desktop-files
@@ -46,15 +41,14 @@
%prep
%setup -q
-%patch0 -p1
-%patch1 -p1
+%patch0
%build
-autoreconf -fiv
%configure \
--enable-taskstats \
--enable-unicode \
--enable-linux-affinity \
+ --enable-taskstats \
--enable-cgroup
# forcefully exclude -L/usr/lib(64)/ncurses5 from being added on systems with
# version 6 of ncurses. probably a cleaner way to fix this.
@@ -65,7 +59,7 @@
%endif
%install
-make DESTDIR=%{buildroot} install %{?_smp_mflags}
+%make_install
%suse_update_desktop_file -i %{name} System Monitor
%post
++++++ htop-2.0.1.tar.gz -> htop-2.0.2.tar.gz ++++++
++++ 6681 lines of diff (skipped)
++++++ htop-desktop-file-fix-thoenig-01.patch ++++++
--- /var/tmp/diff_new_pack.5D47Bk/_old 2016-07-28 23:47:19.000000000 +0200
+++ /var/tmp/diff_new_pack.5D47Bk/_new 2016-07-28 23:47:19.000000000 +0200
@@ -7,10 +7,10 @@
htop.desktop | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/htop.desktop b/htop.desktop
-index 2f7a7ee..96d2946 100644
---- a/htop.desktop
-+++ b/htop.desktop
+Index: htop.desktop
+===================================================================
+--- htop.desktop.orig
++++ htop.desktop
@@ -32,7 +32,7 @@ Comment[zh_TW]=顯示系統行程
Terminal=true
Exec=htop
@@ -20,6 +20,9 @@
GenericName=Process Viewer
GenericName[ca]=Visor de processos
GenericName[de]=Prozessanzeige
---
-2.7.0
-
+@@ -60,4 +60,4 @@ GenericName[sv]=Processvisning
+ GenericName[tr]=Süreç Görüntüleyici
+ GenericName[uk]=Перегляд процесів
+ GenericName[zh_TW]=行程檢視器
+-Keywords=system;process;task
++Keywords=system;process;task;
1
0
Hello community,
here is the log from the commit of package getdata for openSUSE:Factory checked in at 2016-07-28 23:47:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/getdata (Old)
and /work/SRC/openSUSE:Factory/.getdata.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "getdata"
Changes:
--------
--- /work/SRC/openSUSE:Factory/getdata/getdata.changes 2016-03-31 13:02:35.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.getdata.new/getdata.changes 2016-07-28 23:47:15.000000000 +0200
@@ -1,0 +2,31 @@
+Sun Jul 24 18:27:35 UTC 2016 - ctrippe(a)opensuse.org
+
+- update to 0.9.3
+ for all relevant changes see
+ https://sourceforge.net/projects/getdata/files/getdata/0.9.3/
+ API Changes:
+ * gd_verbose_prefix() can now be used on invalid dirfiles. Previously,
+ this function would return GD_E_BAD_DIRFILE when passed an invalid
+ DIRFILE pointer.
+ * BUG FIX: When trying to access a LINTERP table file in a non-existent
+ directory, GetData now reports the correct error (No such file or
+ directory). Reported by Johanna Nagy.
+
+ Library Changes:
+ * GetData can now read SIE files containing the optional nine-byte
+ header (which can be created by daisie). When read by GetData,
+ information in the header is completely ignored (because the GetData
+ metadata contains all the necessary information). GetData never
+ writes the header, but calls to gd_putdata() will preserve an
+ existing header. Calls which re-code the file (like gd_alter_endianness(),
+ gd_alter_raw(), &c.) will result in an existing header being deleted.
+ * BUG FIX: Filenames and line numbers appearing in GD_E_FORMAT
+ error strings returned by gd_error_string() are correct again.
+ This bug also affected parser metadata sent to a registered parser
+ callback.
+ * BUG FIX: On platforms where char is signed, the library no longer
+ rejects field names containing bytes with the top bit set.
+- remove patch fix_test_alter_entry_scalar3r.diff included in this
+ version
+
+-------------------------------------------------------------------
Old:
----
fix_test_alter_entry_scalar3r.diff
getdata-0.9.2.tar.xz
New:
----
getdata-0.9.3.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ getdata.spec ++++++
--- /var/tmp/diff_new_pack.IGTIcX/_old 2016-07-28 23:47:16.000000000 +0200
+++ /var/tmp/diff_new_pack.IGTIcX/_new 2016-07-28 23:47:16.000000000 +0200
@@ -18,15 +18,13 @@
Name: getdata
-Version: 0.9.2
+Version: 0.9.3
Release: 0
Summary: Library for reading and writing dirfile data
License: LGPL-2.1+
Group: Development/Libraries/C and C++
Url: http://getdata.sourceforge.net/
Source: %{name}-%{version}.tar.xz
-# PATCH-FIX-UPSTREAM -- Fix test_alter_entry_scalar which was broker on 32bit with 0.9.2
-Patch: fix_test_alter_entry_scalar3r.diff
BuildRequires: bzip2
BuildRequires: gcc-c++
BuildRequires: gcc-fortran
@@ -144,7 +142,6 @@
%prep
%setup -q
-%patch
%build
%configure --disable-static --enable-modules --with-perl-dir=vendor
++++++ getdata-0.9.2.tar.xz -> getdata-0.9.3.tar.xz ++++++
++++ 16438 lines of diff (skipped)
1
0