Hello community, here is the log from the commit of package kernel-source for openSUSE:Factory checked in at 2016-11-23 13:36:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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-64kb.changes 2016-11-21 14:24:37.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-64kb.changes 2016-11-23 13:36:55.000000000 +0100 @@ -1,0 +2,13 @@ +Mon Nov 21 14:33:14 CET 2016 - ti...@suse.de + +- zram: Fix unbalanced idr management at hot removal + (bsc#1010970). +- commit d1ec066 + +------------------------------------------------------------------- +Mon Nov 21 12:09:30 CET 2016 - jsl...@suse.cz + +- Linux 4.8.10 (: :). +- commit 86386e1 + +------------------------------------------------------------------- kernel-debug.changes: same change kernel-default.changes: same change kernel-docs.changes: same change kernel-lpae.changes: same change kernel-obs-build.changes: same change kernel-obs-qa.changes: same change kernel-pae.changes: same change kernel-source.changes: same change kernel-syms.changes: same change kernel-syzkaller.changes: same change kernel-vanilla.changes: same change ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kernel-64kb.spec ++++++ --- /var/tmp/diff_new_pack.PUYCYv/_old 2016-11-23 13:37:00.000000000 +0100 +++ /var/tmp/diff_new_pack.PUYCYv/_new 2016-11-23 13:37:00.000000000 +0100 @@ -20,7 +20,7 @@ # needssslcertforbuild %define srcversion 4.8 -%define patchversion 4.8.9 +%define patchversion 4.8.10 %define variant %{nil} %define vanilla_only 0 @@ -60,9 +60,9 @@ Summary: Kernel with 64kb PAGE_SIZE License: GPL-2.0 Group: System/Kernel -Version: 4.8.9 +Version: 4.8.10 %if 0%{?is_kotd} -Release: <RELEASE>.gbe1f097 +Release: <RELEASE>.gd1ec066 %else Release: 0 %endif kernel-debug.spec: same change kernel-default.spec: same change ++++++ kernel-docs.spec ++++++ --- /var/tmp/diff_new_pack.PUYCYv/_old 2016-11-23 13:37:00.000000000 +0100 +++ /var/tmp/diff_new_pack.PUYCYv/_new 2016-11-23 13:37:00.000000000 +0100 @@ -16,7 +16,7 @@ # -%define patchversion 4.8.9 +%define patchversion 4.8.10 %define variant %{nil} %include %_sourcedir/kernel-spec-macros @@ -33,9 +33,9 @@ Summary: Kernel Documentation (man pages) License: GPL-2.0 Group: Documentation/Man -Version: 4.8.9 +Version: 4.8.10 %if 0%{?is_kotd} -Release: <RELEASE>.gbe1f097 +Release: <RELEASE>.gd1ec066 %else Release: 0 %endif ++++++ kernel-lpae.spec ++++++ --- /var/tmp/diff_new_pack.PUYCYv/_old 2016-11-23 13:37:00.000000000 +0100 +++ /var/tmp/diff_new_pack.PUYCYv/_new 2016-11-23 13:37:00.000000000 +0100 @@ -20,7 +20,7 @@ # needssslcertforbuild %define srcversion 4.8 -%define patchversion 4.8.9 +%define patchversion 4.8.10 %define variant %{nil} %define vanilla_only 0 @@ -60,9 +60,9 @@ Summary: Kernel for LPAE enabled systems License: GPL-2.0 Group: System/Kernel -Version: 4.8.9 +Version: 4.8.10 %if 0%{?is_kotd} -Release: <RELEASE>.gbe1f097 +Release: <RELEASE>.gd1ec066 %else Release: 0 %endif ++++++ kernel-obs-build.spec ++++++ --- /var/tmp/diff_new_pack.PUYCYv/_old 2016-11-23 13:37:00.000000000 +0100 +++ /var/tmp/diff_new_pack.PUYCYv/_new 2016-11-23 13:37:00.000000000 +0100 @@ -19,7 +19,7 @@ #!BuildIgnore: post-build-checks -%define patchversion 4.8.9 +%define patchversion 4.8.10 %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.8.9 +Version: 4.8.10 %if 0%{?is_kotd} -Release: <RELEASE>.gbe1f097 +Release: <RELEASE>.gd1ec066 %else Release: 0 %endif ++++++ kernel-obs-qa.spec ++++++ --- /var/tmp/diff_new_pack.PUYCYv/_old 2016-11-23 13:37:00.000000000 +0100 +++ /var/tmp/diff_new_pack.PUYCYv/_new 2016-11-23 13:37:00.000000000 +0100 @@ -17,7 +17,7 @@ # needsrootforbuild -%define patchversion 4.8.9 +%define patchversion 4.8.10 %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.8.9 +Version: 4.8.10 %if 0%{?is_kotd} -Release: <RELEASE>.gbe1f097 +Release: <RELEASE>.gd1ec066 %else Release: 0 %endif ++++++ kernel-pae.spec ++++++ --- /var/tmp/diff_new_pack.PUYCYv/_old 2016-11-23 13:37:00.000000000 +0100 +++ /var/tmp/diff_new_pack.PUYCYv/_new 2016-11-23 13:37:00.000000000 +0100 @@ -20,7 +20,7 @@ # needssslcertforbuild %define srcversion 4.8 -%define patchversion 4.8.9 +%define patchversion 4.8.10 %define variant %{nil} %define vanilla_only 0 @@ -60,9 +60,9 @@ Summary: Kernel with PAE Support License: GPL-2.0 Group: System/Kernel -Version: 4.8.9 +Version: 4.8.10 %if 0%{?is_kotd} -Release: <RELEASE>.gbe1f097 +Release: <RELEASE>.gd1ec066 %else Release: 0 %endif ++++++ kernel-source.spec ++++++ --- /var/tmp/diff_new_pack.PUYCYv/_old 2016-11-23 13:37:00.000000000 +0100 +++ /var/tmp/diff_new_pack.PUYCYv/_new 2016-11-23 13:37:00.000000000 +0100 @@ -18,7 +18,7 @@ %define srcversion 4.8 -%define patchversion 4.8.9 +%define patchversion 4.8.10 %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.8.9 +Version: 4.8.10 %if 0%{?is_kotd} -Release: <RELEASE>.gbe1f097 +Release: <RELEASE>.gd1ec066 %else Release: 0 %endif ++++++ kernel-syms.spec ++++++ --- /var/tmp/diff_new_pack.PUYCYv/_old 2016-11-23 13:37:00.000000000 +0100 +++ /var/tmp/diff_new_pack.PUYCYv/_new 2016-11-23 13:37:00.000000000 +0100 @@ -24,10 +24,10 @@ Summary: Kernel Symbol Versions (modversions) License: GPL-2.0 Group: Development/Sources -Version: 4.8.9 +Version: 4.8.10 %if %using_buildservice %if 0%{?is_kotd} -Release: <RELEASE>.gbe1f097 +Release: <RELEASE>.gd1ec066 %else Release: 0 %endif ++++++ kernel-syzkaller.spec ++++++ --- /var/tmp/diff_new_pack.PUYCYv/_old 2016-11-23 13:37:00.000000000 +0100 +++ /var/tmp/diff_new_pack.PUYCYv/_new 2016-11-23 13:37:00.000000000 +0100 @@ -20,7 +20,7 @@ # needssslcertforbuild %define srcversion 4.8 -%define patchversion 4.8.9 +%define patchversion 4.8.10 %define variant %{nil} %define vanilla_only 0 @@ -60,9 +60,9 @@ Summary: Kernel used for fuzzing by syzkaller License: GPL-2.0 Group: System/Kernel -Version: 4.8.9 +Version: 4.8.10 %if 0%{?is_kotd} -Release: <RELEASE>.gbe1f097 +Release: <RELEASE>.gd1ec066 %else Release: 0 %endif kernel-vanilla.spec: same change ++++++ patches.fixes.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/zram-Fix-unbalanced-idr-management-at-hot-removal new/patches.fixes/zram-Fix-unbalanced-idr-management-at-hot-removal --- old/patches.fixes/zram-Fix-unbalanced-idr-management-at-hot-removal 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.fixes/zram-Fix-unbalanced-idr-management-at-hot-removal 2016-11-21 14:50:28.000000000 +0100 @@ -0,0 +1,88 @@ +From: Takashi Iwai <ti...@suse.de> +Date: Mon, 21 Nov 2016 14:21:40 +0100 +Message-id: <20161121132140.12683-1-ti...@suse.de> +Subject: [PATCH] zram: Fix unbalanced idr management at hot removal +Patch-mainline: Submitted, https://lkml.org/lkml/2016/11/21/326 +References: bsc#1010970 + +The zram hot removal code calls idr_remove() even when zram_remove() +returns an error (typically -EBUSY). This results in a leftover at +the device release, eventually leading to a crash when the module is +reloaded. + +As described in the bug report below, the following procedure would +cause an Oops with zram: + +- provision three zram devices via modprobe zram num_devices=3 +- configure a size for each device + + echo "1G" > /sys/block/$zram_name/disksize +- mkfs and mount zram0 only +- attempt to hot remove all three devices + + echo 2 > /sys/class/zram-control/hot_remove + + echo 1 > /sys/class/zram-control/hot_remove + + echo 0 > /sys/class/zram-control/hot_remove + - zram0 removal fails with EBUSY, as expected +- unmount zram0 +- try zram0 hot remove again + + echo 0 > /sys/class/zram-control/hot_remove + - fails with ENODEV (unexpected) +- unload zram kernel module + + completes successfully +- zram0 device node still exists +- attempt to mount /dev/zram0 + + mount command is killed + + following BUG is encountered + + BUG: unable to handle kernel paging request at ffffffffa0002ba0 + IP: [<ffffffff812eead6>] get_disk+0x16/0x50 + Oops: 0000 [#1] SMP + CPU: 0 PID: 252 Comm: mount Not tainted 4.9.0-rc6 #176 + task: ffff88001a9f2800 task.stack: ffffc90000300000 + RIP: 0010:[<ffffffff812eead6>] [<ffffffff812eead6>] get_disk+0x16/0x50 + Call Trace: + [<ffffffff812eeb1c>] exact_lock+0xc/0x20 + [<ffffffff813b3e1c>] kobj_lookup+0xdc/0x160 + [<ffffffff812edce0>] ? disk_map_sector_rcu+0x70/0x70 + [<ffffffff81127410>] ? blkdev_get_by_dev+0x50/0x50 + [<ffffffff812eef4f>] get_gendisk+0x2f/0x110 + [<ffffffff81127410>] ? blkdev_get_by_dev+0x50/0x50 + [<ffffffff81126e2c>] __blkdev_get+0x10c/0x3c0 + [<ffffffff81127410>] ? blkdev_get_by_dev+0x50/0x50 + [<ffffffff8112727d>] blkdev_get+0x19d/0x2e0 + [<ffffffff81127410>] ? blkdev_get_by_dev+0x50/0x50 + [<ffffffff81127466>] blkdev_open+0x56/0x70 + [<ffffffff810f3e0f>] do_dentry_open.isra.19+0x1ff/0x310 + [<ffffffff810f4aa3>] vfs_open+0x43/0x60 + [<ffffffff81103009>] path_openat+0x2c9/0xf30 + [<ffffffff81023c00>] ? __save_stack_trace+0x40/0xd0 + [<ffffffff81104b79>] do_filp_open+0x79/0xd0 + [<ffffffff81538219>] ? kmemleak_alloc+0x49/0xa0 + [<ffffffff810f4e44>] do_sys_open+0x114/0x1e0 + [<ffffffff810f4f29>] SyS_open+0x19/0x20 + [<ffffffff8153c2e0>] entry_SYSCALL_64_fastpath+0x13/0x94 + +This patch adds the proper error check in hot_remove_store() not to +call idr_remove() unconditionally. + +Bugzilla: https://bugzilla.opensuse.org/show_bug.cgi?id=1010970 +Reported-and-tested-by: David Disseldorp <dd...@suse.de> +Reviewed-by: David Disseldorp <dd...@suse.de> +Cc: <sta...@vger.kernel.org> +Signed-off-by: Takashi Iwai <ti...@suse.de> + +--- + drivers/block/zram/zram_drv.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/block/zram/zram_drv.c ++++ b/drivers/block/zram/zram_drv.c +@@ -1368,7 +1368,8 @@ static ssize_t hot_remove_store(struct c + zram = idr_find(&zram_index_idr, dev_id); + if (zram) { + ret = zram_remove(zram); +- idr_remove(&zram_index_idr, dev_id); ++ if (!ret) ++ idr_remove(&zram_index_idr, dev_id); + } else { + ret = -ENODEV; + } ++++++ patches.kernel.org.tar.bz2 ++++++ ++++ 4819 lines of diff (skipped) ++++++ series.conf ++++++ --- /var/tmp/diff_new_pack.PUYCYv/_old 2016-11-23 13:37:01.000000000 +0100 +++ /var/tmp/diff_new_pack.PUYCYv/_new 2016-11-23 13:37:01.000000000 +0100 @@ -36,6 +36,7 @@ patches.kernel.org/patch-4.8.6-7 patches.kernel.org/patch-4.8.7-8 patches.kernel.org/patch-4.8.8-9 + patches.kernel.org/patch-4.8.9-10 ######################################################## # Build fixes that apply to the vanilla kernel too. @@ -391,6 +392,8 @@ # Needs updating WRT d27769ec (block: add GENHD_FL_NO_PART_SCAN) +hare patches.suse/no-partition-scan + patches.fixes/zram-Fix-unbalanced-idr-management-at-hot-removal + ######################################################## # Other drivers we have added to the tree ######################################################## ++++++ source-timestamp ++++++ --- /var/tmp/diff_new_pack.PUYCYv/_old 2016-11-23 13:37:01.000000000 +0100 +++ /var/tmp/diff_new_pack.PUYCYv/_new 2016-11-23 13:37:01.000000000 +0100 @@ -1,3 +1,3 @@ -2016-11-19 10:52:42 +0100 -GIT Revision: be1f097d04cb2acf958ac69938d6ccad88437b4e +2016-11-21 14:50:28 +0100 +GIT Revision: d1ec0664a219eb386e31c8d46179200ce9dad85c GIT Branch: stable