Hello community, here is the log from the commit of package kernel-source for openSUSE:Factory checked in at 2016-12-04 15:07:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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-12-01 10:21:08.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.kernel-source.new/kernel-64kb.changes 2016-12-04 15:07:01.000000000 +0100 @@ -1,0 +2,25 @@ +Fri Dec 2 10:44:55 CET 2016 - jslaby@suse.cz + +- Linux 4.8.12 (CVE-2016-7913 bnc#1012628 bsc#1010478 + bsc#1000287). +- Delete + patches.apparmor/apparmor-fix-change_hat-not-finding-hat-after-policy-replacement.patch. +- Delete patches.fixes/xc2028-Fix-use-after-free-bug-properly. +- commit f8adb5a + +------------------------------------------------------------------- +Wed Nov 30 23:16:24 CET 2016 - jslaby@suse.cz + +- drm/i915: Mark CPU cache as dirty when used for rendering + (bnc#931300). +- commit 04f28df + +------------------------------------------------------------------- +Sun Nov 27 08:30:57 CET 2016 - tiwai@suse.de + +- Fix bug reference in + patches.fixes/Revert-ACPI-Execute-_PTS-before-system-reboot + (bsc#1012220). +- commit e617052 + +------------------------------------------------------------------- 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.qANvyT/_old 2016-12-04 15:07:06.000000000 +0100 +++ /var/tmp/diff_new_pack.qANvyT/_new 2016-12-04 15:07:06.000000000 +0100 @@ -20,7 +20,7 @@ # needssslcertforbuild %define srcversion 4.8 -%define patchversion 4.8.11 +%define patchversion 4.8.12 %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.11 +Version: 4.8.12 %if 0%{?is_kotd} -Release: <RELEASE>.gff417d1 +Release: <RELEASE>.gf8adb5a %else Release: 0 %endif kernel-debug.spec: same change kernel-default.spec: same change ++++++ kernel-docs.spec ++++++ --- /var/tmp/diff_new_pack.qANvyT/_old 2016-12-04 15:07:06.000000000 +0100 +++ /var/tmp/diff_new_pack.qANvyT/_new 2016-12-04 15:07:06.000000000 +0100 @@ -16,7 +16,7 @@ # -%define patchversion 4.8.11 +%define patchversion 4.8.12 %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.11 +Version: 4.8.12 %if 0%{?is_kotd} -Release: <RELEASE>.gff417d1 +Release: <RELEASE>.gf8adb5a %else Release: 0 %endif ++++++ kernel-lpae.spec ++++++ --- /var/tmp/diff_new_pack.qANvyT/_old 2016-12-04 15:07:06.000000000 +0100 +++ /var/tmp/diff_new_pack.qANvyT/_new 2016-12-04 15:07:06.000000000 +0100 @@ -20,7 +20,7 @@ # needssslcertforbuild %define srcversion 4.8 -%define patchversion 4.8.11 +%define patchversion 4.8.12 %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.11 +Version: 4.8.12 %if 0%{?is_kotd} -Release: <RELEASE>.gff417d1 +Release: <RELEASE>.gf8adb5a %else Release: 0 %endif ++++++ kernel-obs-build.spec ++++++ --- /var/tmp/diff_new_pack.qANvyT/_old 2016-12-04 15:07:06.000000000 +0100 +++ /var/tmp/diff_new_pack.qANvyT/_new 2016-12-04 15:07:06.000000000 +0100 @@ -19,7 +19,7 @@ #!BuildIgnore: post-build-checks -%define patchversion 4.8.11 +%define patchversion 4.8.12 %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.11 +Version: 4.8.12 %if 0%{?is_kotd} -Release: <RELEASE>.gff417d1 +Release: <RELEASE>.gf8adb5a %else Release: 0 %endif ++++++ kernel-obs-qa.spec ++++++ --- /var/tmp/diff_new_pack.qANvyT/_old 2016-12-04 15:07:06.000000000 +0100 +++ /var/tmp/diff_new_pack.qANvyT/_new 2016-12-04 15:07:06.000000000 +0100 @@ -17,7 +17,7 @@ # needsrootforbuild -%define patchversion 4.8.11 +%define patchversion 4.8.12 %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.11 +Version: 4.8.12 %if 0%{?is_kotd} -Release: <RELEASE>.gff417d1 +Release: <RELEASE>.gf8adb5a %else Release: 0 %endif ++++++ kernel-pae.spec ++++++ --- /var/tmp/diff_new_pack.qANvyT/_old 2016-12-04 15:07:06.000000000 +0100 +++ /var/tmp/diff_new_pack.qANvyT/_new 2016-12-04 15:07:06.000000000 +0100 @@ -20,7 +20,7 @@ # needssslcertforbuild %define srcversion 4.8 -%define patchversion 4.8.11 +%define patchversion 4.8.12 %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.11 +Version: 4.8.12 %if 0%{?is_kotd} -Release: <RELEASE>.gff417d1 +Release: <RELEASE>.gf8adb5a %else Release: 0 %endif ++++++ kernel-source.spec ++++++ --- /var/tmp/diff_new_pack.qANvyT/_old 2016-12-04 15:07:06.000000000 +0100 +++ /var/tmp/diff_new_pack.qANvyT/_new 2016-12-04 15:07:06.000000000 +0100 @@ -18,7 +18,7 @@ %define srcversion 4.8 -%define patchversion 4.8.11 +%define patchversion 4.8.12 %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.11 +Version: 4.8.12 %if 0%{?is_kotd} -Release: <RELEASE>.gff417d1 +Release: <RELEASE>.gf8adb5a %else Release: 0 %endif ++++++ kernel-syms.spec ++++++ --- /var/tmp/diff_new_pack.qANvyT/_old 2016-12-04 15:07:06.000000000 +0100 +++ /var/tmp/diff_new_pack.qANvyT/_new 2016-12-04 15:07:06.000000000 +0100 @@ -24,10 +24,10 @@ Summary: Kernel Symbol Versions (modversions) License: GPL-2.0 Group: Development/Sources -Version: 4.8.11 +Version: 4.8.12 %if %using_buildservice %if 0%{?is_kotd} -Release: <RELEASE>.gff417d1 +Release: <RELEASE>.gf8adb5a %else Release: 0 %endif ++++++ kernel-syzkaller.spec ++++++ --- /var/tmp/diff_new_pack.qANvyT/_old 2016-12-04 15:07:06.000000000 +0100 +++ /var/tmp/diff_new_pack.qANvyT/_new 2016-12-04 15:07:06.000000000 +0100 @@ -20,7 +20,7 @@ # needssslcertforbuild %define srcversion 4.8 -%define patchversion 4.8.11 +%define patchversion 4.8.12 %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.11 +Version: 4.8.12 %if 0%{?is_kotd} -Release: <RELEASE>.gff417d1 +Release: <RELEASE>.gf8adb5a %else Release: 0 %endif kernel-vanilla.spec: same change ++++++ patches.apparmor.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.apparmor/apparmor-fix-change_hat-not-finding-hat-after-policy-replacement.patch new/patches.apparmor/apparmor-fix-change_hat-not-finding-hat-after-policy-replacement.patch --- old/patches.apparmor/apparmor-fix-change_hat-not-finding-hat-after-policy-replacement.patch 2016-10-05 22:22:30.000000000 +0200 +++ new/patches.apparmor/apparmor-fix-change_hat-not-finding-hat-after-policy-replacement.patch 1970-01-01 01:00:00.000000000 +0100 @@ -1,47 +0,0 @@ -From: John Johansen <john.johansen@canonical.com> -Date: Wed, 31 Aug 2016 21:10:06 -0700 -Subject: apparmor: fix change_hat not finding hat after policy replacement -Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jj/linux-apparmor.git -Git-commit: 29fb087c5df8bb8ac354ab58d33c43e68270123b -Patch-mainline: Queued in subsystem maintainer repo -References: bsc#1000287 - -After a policy replacement, the task cred may be out of date and need -to be updated. However change_hat is using the stale profiles from -the out of date cred resulting in either: a stale profile being applied -or, incorrect failure when searching for a hat profile as it has been -migrated to the new parent profile. - -Fixes: 01e2b670aa898a39259bc85c78e3d74820f4d3b6 (failure to find hat) -Fixes: 898127c34ec03291c86f4ff3856d79e9e18952bc (stale policy being applied) -Signed-off-by: John Johansen <john.johansen@canonical.com> -Acked-by: Jeff Mahoney <jeffm@suse.com> ---- - security/apparmor/domain.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/security/apparmor/domain.c b/security/apparmor/domain.c -index f2a83b4..dbd68f2 100644 ---- a/security/apparmor/domain.c -+++ b/security/apparmor/domain.c -@@ -621,8 +621,8 @@ int aa_change_hat(const char *hats[], int count, u64 token, bool permtest) - /* released below */ - cred = get_current_cred(); - cxt = cred_cxt(cred); -- profile = aa_cred_profile(cred); -- previous_profile = cxt->previous; -+ profile = aa_get_newest_profile(aa_cred_profile(cred)); -+ previous_profile = aa_get_newest_profile(cxt->previous); - - if (unconfined(profile)) { - info = "unconfined"; -@@ -718,6 +718,8 @@ audit: - out: - aa_put_profile(hat); - kfree(name); -+ aa_put_profile(profile); -+ aa_put_profile(previous_profile); - put_cred(cred); - - return error; - ++++++ patches.fixes.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/Revert-ACPI-Execute-_PTS-before-system-reboot new/patches.fixes/Revert-ACPI-Execute-_PTS-before-system-reboot --- old/patches.fixes/Revert-ACPI-Execute-_PTS-before-system-reboot 2016-11-25 16:52:42.000000000 +0100 +++ new/patches.fixes/Revert-ACPI-Execute-_PTS-before-system-reboot 2016-12-02 10:44:55.000000000 +0100 @@ -5,7 +5,7 @@ Git-commit: 9713adc2a1a5488f4889c657a0c0ce0c16056d3c Git-repo: it://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git Patch-mainline: Queued in subsystem maintainer repository -References: bsc#101220 +References: bsc#1012220 Revert commit 2c85025c75df (ACPI: Execute _PTS before system reboot) as it is reported to cause poweroff and reboot to hang on Dell diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/drm-i915-Mark-CPU-cache-as-dirty-when-used-for-rende.patch new/patches.fixes/drm-i915-Mark-CPU-cache-as-dirty-when-used-for-rende.patch --- old/patches.fixes/drm-i915-Mark-CPU-cache-as-dirty-when-used-for-rende.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.fixes/drm-i915-Mark-CPU-cache-as-dirty-when-used-for-rende.patch 2016-12-02 10:44:55.000000000 +0100 @@ -0,0 +1,59 @@ +From: Chris Wilson <chris@chris-wilson.co.uk> +Date: Mon, 7 Nov 2016 16:52:04 +0000 +Subject: drm/i915: Mark CPU cache as dirty when used for rendering +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +Git-commit: 48004881f6935704e5e4ffaf9e0ec921a25db243 +Patch-mainline: v4.9-rc6 +References: bnc#931300 + +On LLC, or even snooped, machines rendering via the GPU ends up in the CPU +cache. This cacheline dirt also needs to be flushed to main memory when +moving to an incoherent domain, such as the display's scanout engine. +Mostly, this happens because either the object is marked as dirty from +its first use or is avoided by setting the object into the display +domain from the start. + +v2: Treat WT as not requiring a clflush prior to use on the display +engine as well. + +Fixes: 0f71979ab7fb ("drm/i915: Performed deferred clflush inside set-cache-level") +References: https://bugs.freedesktop.org/show_bug.cgi?id=95414 +Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> +Cc: Jani Nikula <jani.nikula@linux.intel.com> +Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> +Cc: <stable@vger.kernel.org> # v4.0+ +Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> +Link: http://patchwork.freedesktop.org/patch/msgid/20161107165204.7008-1-chris@chr... +(cherry picked from commit 7aa6ca61ee5546d74b76610894924cdb0d4a1af0) +Signed-off-by: Jani Nikula <jani.nikula@intel.com> +Signed-off-by: Jiri Slaby <jslaby@suse.cz> +--- + drivers/gpu/drm/i915/i915_gem_execbuffer.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c ++++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c +@@ -1079,6 +1079,12 @@ i915_gem_validate_context(struct drm_dev + return ctx; + } + ++static bool gpu_write_needs_clflush(struct drm_i915_gem_object *obj) ++{ ++ return !(obj->cache_level == I915_CACHE_NONE || ++ obj->cache_level == I915_CACHE_WT); ++} ++ + void + i915_gem_execbuffer_move_to_active(struct list_head *vmas, + struct drm_i915_gem_request *req) +@@ -1106,6 +1112,8 @@ i915_gem_execbuffer_move_to_active(struc + + /* update for the implicit flush after a batch */ + obj->base.write_domain &= ~I915_GEM_GPU_DOMAINS; ++ if (!obj->cache_dirty && gpu_write_needs_clflush(obj)) ++ obj->cache_dirty = true; + } + if (entry->flags & EXEC_OBJECT_NEEDS_FENCE) { + i915_gem_request_assign(&obj->last_fenced_req, req); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/xc2028-Fix-use-after-free-bug-properly new/patches.fixes/xc2028-Fix-use-after-free-bug-properly --- old/patches.fixes/xc2028-Fix-use-after-free-bug-properly 2016-11-25 16:52:42.000000000 +0100 +++ new/patches.fixes/xc2028-Fix-use-after-free-bug-properly 1970-01-01 01:00:00.000000000 +0100 @@ -1,128 +0,0 @@ -From 22a1e7783e173ab3d86018eb590107d68df46c11 Mon Sep 17 00:00:00 2001 -From: Takashi Iwai <tiwai@suse.de> -Date: Thu, 17 Nov 2016 10:49:31 +0100 -Subject: [PATCH] xc2028: Fix use-after-free bug properly -Git-commit: 22a1e7783e173ab3d86018eb590107d68df46c11 -References: CVE-2016-7913 bsc#1010478 -Patch-mainline: 4.9-rc7 - -The commit 8dfbcc4351a0 ("[media] xc2028: avoid use after free") tried -to address the reported use-after-free by clearing the reference. - -However, it's clearing the wrong pointer; it sets NULL to -priv->ctrl.fname, but it's anyway overwritten by the next line -memcpy(&priv->ctrl, p, sizeof(priv->ctrl)). - -OTOH, the actual code accessing the freed string is the strcmp() call -with priv->fname: - if (!firmware_name[0] && p->fname && - priv->fname && strcmp(p->fname, priv->fname)) - free_firmware(priv); - -where priv->fname points to the previous file name, and this was -already freed by kfree(). - -For fixing the bug properly, this patch does the following: - -- Keep the copy of firmware file name in only priv->fname, - priv->ctrl.fname isn't changed; -- The allocation is done only when the firmware gets loaded; -- The kfree() is called in free_firmware() commonly - -Fixes: commit 8dfbcc4351a0 ('[media] xc2028: avoid use after free') -Cc: <stable@vger.kernel.org> -Signed-off-by: Takashi Iwai <tiwai@suse.de> -Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com> - ---- - drivers/media/tuners/tuner-xc2028.c | 37 +++++++++++++++--------------------- - 1 file changed, 16 insertions(+), 21 deletions(-) - ---- a/drivers/media/tuners/tuner-xc2028.c -+++ b/drivers/media/tuners/tuner-xc2028.c -@@ -281,6 +281,14 @@ static void free_firmware(struct xc2028_ - int i; - tuner_dbg("%s called\n", __func__); - -+ /* free allocated f/w string */ -+ if (priv->fname != firmware_name) -+ kfree(priv->fname); -+ priv->fname = NULL; -+ -+ priv->state = XC2028_NO_FIRMWARE; -+ memset(&priv->cur_fw, 0, sizeof(priv->cur_fw)); -+ - if (!priv->firm) - return; - -@@ -291,9 +299,6 @@ static void free_firmware(struct xc2028_ - - priv->firm = NULL; - priv->firm_size = 0; -- priv->state = XC2028_NO_FIRMWARE; -- -- memset(&priv->cur_fw, 0, sizeof(priv->cur_fw)); - } - - static int load_all_firmwares(struct dvb_frontend *fe, -@@ -884,9 +889,8 @@ read_not_reliable: - return 0; - - fail: -- priv->state = XC2028_NO_FIRMWARE; -+ free_firmware(priv); - -- memset(&priv->cur_fw, 0, sizeof(priv->cur_fw)); - if (retry_count < 8) { - msleep(50); - retry_count++; -@@ -1332,11 +1336,8 @@ static int xc2028_dvb_release(struct dvb - mutex_lock(&xc2028_list_mutex); - - /* only perform final cleanup if this is the last instance */ -- if (hybrid_tuner_report_instance_count(priv) == 1) { -+ if (hybrid_tuner_report_instance_count(priv) == 1) - free_firmware(priv); -- kfree(priv->ctrl.fname); -- priv->ctrl.fname = NULL; -- } - - if (priv) - hybrid_tuner_release_state(priv); -@@ -1399,19 +1400,8 @@ static int xc2028_set_config(struct dvb_ - - /* - * Copy the config data. -- * For the firmware name, keep a local copy of the string, -- * in order to avoid troubles during device release. - */ -- kfree(priv->ctrl.fname); -- priv->ctrl.fname = NULL; - memcpy(&priv->ctrl, p, sizeof(priv->ctrl)); -- if (p->fname) { -- priv->ctrl.fname = kstrdup(p->fname, GFP_KERNEL); -- if (priv->ctrl.fname == NULL) { -- rc = -ENOMEM; -- goto unlock; -- } -- } - - /* - * If firmware name changed, frees firmware. As free_firmware will -@@ -1426,10 +1416,15 @@ static int xc2028_set_config(struct dvb_ - - if (priv->state == XC2028_NO_FIRMWARE) { - if (!firmware_name[0]) -- priv->fname = priv->ctrl.fname; -+ priv->fname = kstrdup(p->fname, GFP_KERNEL); - else - priv->fname = firmware_name; - -+ if (!priv->fname) { -+ rc = -ENOMEM; -+ goto unlock; -+ } -+ - rc = request_firmware_nowait(THIS_MODULE, 1, - priv->fname, - priv->i2c_props.adap->dev.parent, ++++++ patches.kernel.org.tar.bz2 ++++++ ++++ 1610 lines of diff (skipped) ++++++ series.conf ++++++ --- /var/tmp/diff_new_pack.qANvyT/_old 2016-12-04 15:07:07.000000000 +0100 +++ /var/tmp/diff_new_pack.qANvyT/_new 2016-12-04 15:07:07.000000000 +0100 @@ -38,6 +38,7 @@ patches.kernel.org/patch-4.8.8-9 patches.kernel.org/patch-4.8.9-10 patches.kernel.org/patch-4.8.10-11 + patches.kernel.org/patch-4.8.11-12 ######################################################## # Build fixes that apply to the vanilla kernel too. @@ -330,11 +331,11 @@ patches.drivers/drm-radeon-Always-store-CRTC-relative-radeon_crtc-cu patches.drivers/drm-radeon-Also-call-cursor_move_locked-when-the-cur patches.drivers/drm-radeon-Hide-the-HW-cursor-while-it-s-out-of-boun + patches.fixes/drm-i915-Mark-CPU-cache-as-dirty-when-used-for-rende.patch ######################################################## # video4linux ######################################################## - patches.fixes/xc2028-Fix-use-after-free-bug-properly ######################################################## # Network @@ -448,7 +449,6 @@ patches.apparmor/apparmor-basic-networking-rules.patch patches.apparmor/apparmor-fix-quieting-of-audit-messages-for-network-mediation.patch - patches.apparmor/apparmor-fix-change_hat-not-finding-hat-after-policy-replacement.patch ######################################################## # Address space layout randomization ++++++ source-timestamp ++++++ --- /var/tmp/diff_new_pack.qANvyT/_old 2016-12-04 15:07:07.000000000 +0100 +++ /var/tmp/diff_new_pack.qANvyT/_new 2016-12-04 15:07:07.000000000 +0100 @@ -1,3 +1,3 @@ -2016-11-26 19:34:47 +0100 -GIT Revision: ff417d1a10dee9e55cc9d29c6f0bae37395b6dcf +2016-12-02 10:44:55 +0100 +GIT Revision: f8adb5a4852a7e3163165fae006093e13b970eb1 GIT Branch: stable