Hello community, here is the log from the commit of package kernel-source for openSUSE:Factory checked in at 2017-02-12 00:48:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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/dtb-aarch64.changes 2017-02-08 10:59:38.602764484 +0100 +++ /work/SRC/openSUSE:Factory/.kernel-source.new/dtb-aarch64.changes 2017-02-12 00:48:05.473160688 +0100 @@ -1,0 +2,31 @@ +Thu Feb 9 11:55:53 CET 2017 - jsl...@suse.cz + +- Linux 4.9.9 (bnc#1012628 bsc#1021921 bsc#1022181). +- Delete + patches.drivers/drm-i915-execlists-Reset-RING-registers-upon-resume. +- Delete + patches.fixes/PCI-ASPM-Handle-PCI-to-PCIe-bridges-as-roots-of-PCIe. +- commit 6c5120c + +------------------------------------------------------------------- +Thu Feb 9 07:26:26 CET 2017 - mkube...@suse.cz + +- ip6_gre: fix ip6gre_err() invalid reads (CVE-2017-5897 + bsc#1023762). +- commit e1a455d + +------------------------------------------------------------------- +Tue Feb 7 16:51:24 CET 2017 - ti...@suse.de + +- iwlwifi: Expose the default fallback ucode API to module info + (boo#1021082, boo#1023884). +- commit 25d564c + +------------------------------------------------------------------- +Tue Feb 7 02:09:44 CET 2017 - je...@suse.com + +- btrfs: fix btrfs_compat_ioctl failures on non-compat ioctls + (bsc#1018100). +- commit b456c83 + +------------------------------------------------------------------- @@ -134,0 +166,7 @@ + +------------------------------------------------------------------- +Fri Jan 13 14:22:55 CET 2017 - je...@suse.com + +- config: RING_BUFFER_BENCHMARK=m on s390x (bsc#1019860). + Commit 0b422208 should have done this but set it =y instead. +- commit 6cd2532 dtb-armv6l.changes: same change dtb-armv7l.changes: same change kernel-64kb.changes: same change 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: ------------------ ++++++ dtb-aarch64.spec ++++++ --- /var/tmp/diff_new_pack.HAdD68/_old 2017-02-12 00:48:44.763566098 +0100 +++ /var/tmp/diff_new_pack.HAdD68/_new 2017-02-12 00:48:44.763566098 +0100 @@ -16,14 +16,14 @@ # -%define patchversion 4.9.8 +%define patchversion 4.9.9 %include %_sourcedir/kernel-spec-macros Name: dtb-aarch64 -Version: 4.9.8 +Version: 4.9.9 %if 0%{?is_kotd} -Release: <RELEASE>.gaf90696 +Release: <RELEASE>.g6c5120c %else Release: 0 %endif dtb-armv6l.spec: same change dtb-armv7l.spec: same change ++++++ kernel-64kb.spec ++++++ --- /var/tmp/diff_new_pack.HAdD68/_old 2017-02-12 00:48:44.839555278 +0100 +++ /var/tmp/diff_new_pack.HAdD68/_new 2017-02-12 00:48:44.843554708 +0100 @@ -18,7 +18,7 @@ %define srcversion 4.9 -%define patchversion 4.9.8 +%define patchversion 4.9.9 %define variant %{nil} %define vanilla_only 0 @@ -58,9 +58,9 @@ Summary: Kernel with 64kb PAGE_SIZE License: GPL-2.0 Group: System/Kernel -Version: 4.9.8 +Version: 4.9.9 %if 0%{?is_kotd} -Release: <RELEASE>.gaf90696 +Release: <RELEASE>.g6c5120c %else Release: 0 %endif kernel-debug.spec: same change kernel-default.spec: same change ++++++ kernel-docs.spec ++++++ --- /var/tmp/diff_new_pack.HAdD68/_old 2017-02-12 00:48:44.915544458 +0100 +++ /var/tmp/diff_new_pack.HAdD68/_new 2017-02-12 00:48:44.915544458 +0100 @@ -16,7 +16,7 @@ # -%define patchversion 4.9.8 +%define patchversion 4.9.9 %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.9.8 +Version: 4.9.9 %if 0%{?is_kotd} -Release: <RELEASE>.gaf90696 +Release: <RELEASE>.g6c5120c %else Release: 0 %endif ++++++ kernel-lpae.spec ++++++ --- /var/tmp/diff_new_pack.HAdD68/_old 2017-02-12 00:48:44.935541610 +0100 +++ /var/tmp/diff_new_pack.HAdD68/_new 2017-02-12 00:48:44.935541610 +0100 @@ -18,7 +18,7 @@ %define srcversion 4.9 -%define patchversion 4.9.8 +%define patchversion 4.9.9 %define variant %{nil} %define vanilla_only 0 @@ -58,9 +58,9 @@ Summary: Kernel for LPAE enabled systems License: GPL-2.0 Group: System/Kernel -Version: 4.9.8 +Version: 4.9.9 %if 0%{?is_kotd} -Release: <RELEASE>.gaf90696 +Release: <RELEASE>.g6c5120c %else Release: 0 %endif ++++++ kernel-obs-build.spec ++++++ --- /var/tmp/diff_new_pack.HAdD68/_old 2017-02-12 00:48:44.959538194 +0100 +++ /var/tmp/diff_new_pack.HAdD68/_new 2017-02-12 00:48:44.959538194 +0100 @@ -19,7 +19,7 @@ #!BuildIgnore: post-build-checks -%define patchversion 4.9.8 +%define patchversion 4.9.9 %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.9.8 +Version: 4.9.9 %if 0%{?is_kotd} -Release: <RELEASE>.gaf90696 +Release: <RELEASE>.g6c5120c %else Release: 0 %endif ++++++ kernel-obs-qa.spec ++++++ --- /var/tmp/diff_new_pack.HAdD68/_old 2017-02-12 00:48:44.983534777 +0100 +++ /var/tmp/diff_new_pack.HAdD68/_new 2017-02-12 00:48:44.983534777 +0100 @@ -17,7 +17,7 @@ # needsrootforbuild -%define patchversion 4.9.8 +%define patchversion 4.9.9 %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.9.8 +Version: 4.9.9 %if 0%{?is_kotd} -Release: <RELEASE>.gaf90696 +Release: <RELEASE>.g6c5120c %else Release: 0 %endif ++++++ kernel-pae.spec ++++++ --- /var/tmp/diff_new_pack.HAdD68/_old 2017-02-12 00:48:45.007531359 +0100 +++ /var/tmp/diff_new_pack.HAdD68/_new 2017-02-12 00:48:45.007531359 +0100 @@ -18,7 +18,7 @@ %define srcversion 4.9 -%define patchversion 4.9.8 +%define patchversion 4.9.9 %define variant %{nil} %define vanilla_only 0 @@ -58,9 +58,9 @@ Summary: Kernel with PAE Support License: GPL-2.0 Group: System/Kernel -Version: 4.9.8 +Version: 4.9.9 %if 0%{?is_kotd} -Release: <RELEASE>.gaf90696 +Release: <RELEASE>.g6c5120c %else Release: 0 %endif ++++++ kernel-source.spec ++++++ --- /var/tmp/diff_new_pack.HAdD68/_old 2017-02-12 00:48:45.031527943 +0100 +++ /var/tmp/diff_new_pack.HAdD68/_new 2017-02-12 00:48:45.035527373 +0100 @@ -18,7 +18,7 @@ %define srcversion 4.9 -%define patchversion 4.9.8 +%define patchversion 4.9.9 %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.9.8 +Version: 4.9.9 %if 0%{?is_kotd} -Release: <RELEASE>.gaf90696 +Release: <RELEASE>.g6c5120c %else Release: 0 %endif ++++++ kernel-syms.spec ++++++ --- /var/tmp/diff_new_pack.HAdD68/_old 2017-02-12 00:48:45.055524526 +0100 +++ /var/tmp/diff_new_pack.HAdD68/_new 2017-02-12 00:48:45.059523957 +0100 @@ -24,10 +24,10 @@ Summary: Kernel Symbol Versions (modversions) License: GPL-2.0 Group: Development/Sources -Version: 4.9.8 +Version: 4.9.9 %if %using_buildservice %if 0%{?is_kotd} -Release: <RELEASE>.gaf90696 +Release: <RELEASE>.g6c5120c %else Release: 0 %endif ++++++ kernel-syzkaller.spec ++++++ --- /var/tmp/diff_new_pack.HAdD68/_old 2017-02-12 00:48:45.079521109 +0100 +++ /var/tmp/diff_new_pack.HAdD68/_new 2017-02-12 00:48:45.083520540 +0100 @@ -18,7 +18,7 @@ %define srcversion 4.9 -%define patchversion 4.9.8 +%define patchversion 4.9.9 %define variant %{nil} %define vanilla_only 0 @@ -58,9 +58,9 @@ Summary: Kernel used for fuzzing by syzkaller License: GPL-2.0 Group: System/Kernel -Version: 4.9.8 +Version: 4.9.9 %if 0%{?is_kotd} -Release: <RELEASE>.gaf90696 +Release: <RELEASE>.g6c5120c %else Release: 0 %endif kernel-vanilla.spec: same change ++++++ config.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/config/s390x/default new/config/s390x/default --- old/config/s390x/default 2017-02-02 13:10:43.000000000 +0100 +++ new/config/s390x/default 2017-02-09 11:40:48.000000000 +0100 @@ -2651,7 +2651,7 @@ CONFIG_TRACING_MAP=y CONFIG_HIST_TRIGGERS=y # CONFIG_TRACEPOINT_BENCHMARK is not set -CONFIG_RING_BUFFER_BENCHMARK=y +CONFIG_RING_BUFFER_BENCHMARK=m # CONFIG_RING_BUFFER_STARTUP_TEST is not set # CONFIG_TRACE_ENUM_MAP_FILE is not set ++++++ patches.drivers.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.drivers/drm-i915-execlists-Reset-RING-registers-upon-resume new/patches.drivers/drm-i915-execlists-Reset-RING-registers-upon-resume --- old/patches.drivers/drm-i915-execlists-Reset-RING-registers-upon-resume 2017-02-01 09:00:07.000000000 +0100 +++ new/patches.drivers/drm-i915-execlists-Reset-RING-registers-upon-resume 1970-01-01 01:00:00.000000000 +0100 @@ -1,97 +0,0 @@ -From bafb2f7d4755bf1571bd5e9a03b97f3fc4fe69ae Mon Sep 17 00:00:00 2001 -From: Chris Wilson <ch...@chris-wilson.co.uk> -Date: Wed, 21 Sep 2016 14:51:08 +0100 -Subject: [PATCH] drm/i915/execlists: Reset RING registers upon resume -Git-commit: bafb2f7d4755bf1571bd5e9a03b97f3fc4fe69ae -Patch-mainline: 4.10-rc1 -References: bsc#1021921 - -There is a disparity in the context image saved to disk and our own -bookkeeping - that is we presume the RING_HEAD and RING_TAIL match our -stored ce->ring->tail value. However, as we emit WA_TAIL_DWORDS into the -ring but may not tell the GPU about them, the GPU may be lagging behind -our bookkeeping. Upon hibernation we do not save stolen pages, presuming -that their contents are volatile. This means that although we start -writing into the ring at tail, the GPU starts executing from its HEAD -and there may be some garbage in between and so the GPU promptly hangs -upon resume. - -Testcase: igt/gem_exec_suspend/basic-S4 -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96526 -Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk> -Reviewed-by: Joonas Lahtinen <joonas.lahti...@linux.intel.com> -Link: http://patchwork.freedesktop.org/patch/msgid/20160921135108.29574-3-ch...@chris-wilson.co.uk -Acked-by: Takashi Iwai <ti...@suse.de> - ---- - drivers/gpu/drm/i915/intel_lrc.c | 58 +++++++++++++++++++++++---------------- - 1 file changed, 35 insertions(+), 23 deletions(-) - ---- a/drivers/gpu/drm/i915/intel_lrc.c -+++ b/drivers/gpu/drm/i915/intel_lrc.c -@@ -2153,30 +2153,42 @@ error_deref_obj: - - void intel_lr_context_resume(struct drm_i915_private *dev_priv) - { -- struct i915_gem_context *ctx = dev_priv->kernel_context; - struct intel_engine_cs *engine; -+ struct i915_gem_context *ctx; - -- for_each_engine(engine, dev_priv) { -- struct intel_context *ce = &ctx->engine[engine->id]; -- void *vaddr; -- uint32_t *reg_state; -- -- if (!ce->state) -- continue; -- -- vaddr = i915_gem_object_pin_map(ce->state->obj, I915_MAP_WB); -- if (WARN_ON(IS_ERR(vaddr))) -- continue; -- -- reg_state = vaddr + LRC_STATE_PN * PAGE_SIZE; -- -- reg_state[CTX_RING_HEAD+1] = 0; -- reg_state[CTX_RING_TAIL+1] = 0; -- -- ce->state->obj->dirty = true; -- i915_gem_object_unpin_map(ce->state->obj); -- -- ce->ring->head = 0; -- ce->ring->tail = 0; -+ /* Because we emit WA_TAIL_DWORDS there may be a disparity -+ * between our bookkeeping in ce->ring->head and ce->ring->tail and -+ * that stored in context. As we only write new commands from -+ * ce->ring->tail onwards, everything before that is junk. If the GPU -+ * starts reading from its RING_HEAD from the context, it may try to -+ * execute that junk and die. -+ * -+ * So to avoid that we reset the context images upon resume. For -+ * simplicity, we just zero everything out. -+ */ -+ list_for_each_entry(ctx, &dev_priv->context_list, link) { -+ for_each_engine(engine, dev_priv) { -+ struct intel_context *ce = &ctx->engine[engine->id]; -+ u32 *reg; -+ -+ if (!ce->state) -+ continue; -+ -+ reg = i915_gem_object_pin_map(ce->state->obj, -+ I915_MAP_WB); -+ if (WARN_ON(IS_ERR(reg))) -+ continue; -+ -+ reg += LRC_STATE_PN * PAGE_SIZE / sizeof(*reg); -+ reg[CTX_RING_HEAD+1] = 0; -+ reg[CTX_RING_TAIL+1] = 0; -+ -+ ce->state->obj->dirty = true; -+ i915_gem_object_unpin_map(ce->state->obj); -+ -+ ce->ring->head = ce->ring->tail = 0; -+ ce->ring->last_retired_head = -1; -+ intel_ring_update_space(ce->ring); -+ } - } - } ++++++ patches.fixes.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/PCI-ASPM-Handle-PCI-to-PCIe-bridges-as-roots-of-PCIe new/patches.fixes/PCI-ASPM-Handle-PCI-to-PCIe-bridges-as-roots-of-PCIe --- old/patches.fixes/PCI-ASPM-Handle-PCI-to-PCIe-bridges-as-roots-of-PCIe 2017-02-01 09:00:07.000000000 +0100 +++ new/patches.fixes/PCI-ASPM-Handle-PCI-to-PCIe-bridges-as-roots-of-PCIe 1970-01-01 01:00:00.000000000 +0100 @@ -1,76 +0,0 @@ -From 672980c62c684a625fe3a688ca8c6214062d712b Mon Sep 17 00:00:00 2001 -From: Bjorn Helgaas <bhelg...@google.com> -Date: Fri, 27 Jan 2017 15:00:45 -0600 -Subject: [PATCH] PCI/ASPM: Handle PCI-to-PCIe bridges as roots of PCIe hierarchies -Git-commit: 672980c62c684a625fe3a688ca8c6214062d712b -References: bsc#1022181 -Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git -Patch-mainline: Queued in subsystem maintainer repository - -In a struct pcie_link_state, link->root points to the pcie_link_state of -the root of the PCIe hierarchy. For the topmost link, this points to -itself (link->root = link). For others, we copy the pointer from the -parent (link->root = link->parent->root). - -Previously we recognized that Root Ports originated PCIe hierarchies, but -we treated PCI/PCI-X to PCIe Bridges as being in the middle of the -hierarchy, and when we tried to copy the pointer from link->parent->root, -there was no parent, and we dereferenced a NULL pointer: - - BUG: unable to handle kernel NULL pointer dereference at 0000000000000090 - IP: [<ffffffff9e424350>] pcie_aspm_init_link_state+0x170/0x820 - -Recognize that PCI/PCI-X to PCIe Bridges originate PCIe hierarchies just -like Root Ports do, so link->root for these devices should also point to -itself. - -Fixes: 51ebfc92b72b ("PCI: Enumerate switches below PCI-to-PCIe bridges") -Link: https://bugzilla.opensuse.org/show_bug.cgi?id=1022181 -Signed-off-by: Bjorn Helgaas <bhelg...@google.com> -Acked-by: Takashi Iwai <ti...@suse.de> - ---- - drivers/pci/pcie/aspm.c | 19 +++++++++++++------ - 1 file changed, 13 insertions(+), 6 deletions(-) - ---- a/drivers/pci/pcie/aspm.c -+++ b/drivers/pci/pcie/aspm.c -@@ -518,25 +518,32 @@ static struct pcie_link_state *alloc_pci - link = kzalloc(sizeof(*link), GFP_KERNEL); - if (!link) - return NULL; -+ - INIT_LIST_HEAD(&link->sibling); - INIT_LIST_HEAD(&link->children); - INIT_LIST_HEAD(&link->link); - link->pdev = pdev; -- if (pci_pcie_type(pdev) != PCI_EXP_TYPE_ROOT_PORT) { -+ -+ /* -+ * Root Ports and PCI/PCI-X to PCIe Bridges are roots of PCIe -+ * hierarchies. -+ */ -+ if (pci_pcie_type(pdev) == PCI_EXP_TYPE_ROOT_PORT || -+ pci_pcie_type(pdev) == PCI_EXP_TYPE_PCIE_BRIDGE) { -+ link->root = link; -+ } else { - struct pcie_link_state *parent; -+ - parent = pdev->bus->parent->self->link_state; - if (!parent) { - kfree(link); - return NULL; - } -+ - link->parent = parent; -+ link->root = link->parent->root; - list_add(&link->link, &parent->children); - } -- /* Setup a pointer to the root port link */ -- if (!link->parent) -- link->root = link; -- else -- link->root = link->parent->root; - - list_add(&link->sibling, &link_list); - pdev->link_state = link; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.fixes/ip6_gre-fix-ip6gre_err-invalid-reads.patch new/patches.fixes/ip6_gre-fix-ip6gre_err-invalid-reads.patch --- old/patches.fixes/ip6_gre-fix-ip6gre_err-invalid-reads.patch 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.fixes/ip6_gre-fix-ip6gre_err-invalid-reads.patch 2017-02-09 11:55:53.000000000 +0100 @@ -0,0 +1,95 @@ +From: Eric Dumazet <eduma...@google.com> +Date: Sat, 4 Feb 2017 23:18:55 -0800 +Subject: ip6_gre: fix ip6gre_err() invalid reads +Patch-mainline: v4.10 +Git-commit: 7892032cfe67f4bde6fc2ee967e45a8fbaf33756 +References: CVE-2017-5897 bsc#1023762 + +Andrey Konovalov reported out of bound accesses in ip6gre_err() + +If GRE flags contains GRE_KEY, the following expression +*(((__be32 *)p) + (grehlen / 4) - 1) + +accesses data ~40 bytes after the expected point, since +grehlen includes the size of IPv6 headers. + +Let's use a "struct gre_base_hdr *greh" pointer to make this +code more readable. + +p[1] becomes greh->protocol. +grhlen is the GRE header length. + +Fixes: c12b395a4664 ("gre: Support GRE over IPv6") +Signed-off-by: Eric Dumazet <eduma...@google.com> +Reported-by: Andrey Konovalov <andreyk...@google.com> +Signed-off-by: David S. Miller <da...@davemloft.net> +Acked-by: Michal Kubecek <mkube...@suse.cz> + +--- + net/ipv6/ip6_gre.c | 40 +++++++++++++++++++++------------------- + 1 file changed, 21 insertions(+), 19 deletions(-) + +diff --git a/net/ipv6/ip6_gre.c b/net/ipv6/ip6_gre.c +index d7d6d3ae0b3b..0a5922055da2 100644 +--- a/net/ipv6/ip6_gre.c ++++ b/net/ipv6/ip6_gre.c +@@ -367,35 +367,37 @@ static void ip6gre_tunnel_uninit(struct net_device *dev) + + + static void ip6gre_err(struct sk_buff *skb, struct inet6_skb_parm *opt, +- u8 type, u8 code, int offset, __be32 info) ++ u8 type, u8 code, int offset, __be32 info) + { +- const struct ipv6hdr *ipv6h = (const struct ipv6hdr *)skb->data; +- __be16 *p = (__be16 *)(skb->data + offset); +- int grehlen = offset + 4; ++ const struct gre_base_hdr *greh; ++ const struct ipv6hdr *ipv6h; ++ int grehlen = sizeof(*greh); + struct ip6_tnl *t; ++ int key_off = 0; + __be16 flags; ++ __be32 key; + +- flags = p[0]; +- if (flags&(GRE_CSUM|GRE_KEY|GRE_SEQ|GRE_ROUTING|GRE_VERSION)) { +- if (flags&(GRE_VERSION|GRE_ROUTING)) +- return; +- if (flags&GRE_KEY) { +- grehlen += 4; +- if (flags&GRE_CSUM) +- grehlen += 4; +- } ++ if (!pskb_may_pull(skb, offset + grehlen)) ++ return; ++ greh = (const struct gre_base_hdr *)(skb->data + offset); ++ flags = greh->flags; ++ if (flags & (GRE_VERSION | GRE_ROUTING)) ++ return; ++ if (flags & GRE_CSUM) ++ grehlen += 4; ++ if (flags & GRE_KEY) { ++ key_off = grehlen + offset; ++ grehlen += 4; + } + +- /* If only 8 bytes returned, keyed message will be dropped here */ +- if (!pskb_may_pull(skb, grehlen)) ++ if (!pskb_may_pull(skb, offset + grehlen)) + return; + ipv6h = (const struct ipv6hdr *)skb->data; +- p = (__be16 *)(skb->data + offset); ++ greh = (const struct gre_base_hdr *)(skb->data + offset); ++ key = key_off ? *(__be32 *)(skb->data + key_off) : 0; + + t = ip6gre_tunnel_lookup(skb->dev, &ipv6h->daddr, &ipv6h->saddr, +- flags & GRE_KEY ? +- *(((__be32 *)p) + (grehlen / 4) - 1) : 0, +- p[1]); ++ key, greh->protocol); + if (!t) + return; + +-- +2.11.1 + ++++++ patches.kernel.org.tar.bz2 ++++++ ++++ 2410 lines of diff (skipped) ++++++ patches.suse.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/btrfs-fix-btrfs_compat_ioctl-failures-on-non-compat-ioctls new/patches.suse/btrfs-fix-btrfs_compat_ioctl-failures-on-non-compat-ioctls --- old/patches.suse/btrfs-fix-btrfs_compat_ioctl-failures-on-non-compat-ioctls 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.suse/btrfs-fix-btrfs_compat_ioctl-failures-on-non-compat-ioctls 2017-02-07 16:51:24.000000000 +0100 @@ -0,0 +1,40 @@ +From: Jeff Mahoney <je...@suse.com> +Subject: btrfs: fix btrfs_compat_ioctl failures on non-compat ioctls +References: bsc#1018100 +Patch-mainline: Submitted, linux-btrfs, 6 Feb 2017 + +Commit 4c63c2454ef incorrectly assumed that returning -ENOIOCTLCMD would +cause the native ioctl to be called. The ->compat_ioctl callback is +expected to handle all ioctls, not just compat variants. As a result, +when using 32-bit userspace on 64-bit kernels, everything except those +three ioctls would return -ENOTTY. + +Fixes: 4c63c2454ef ("btrfs: bugfix: handle FS_IOC32_{GETFLAGS,SETFLAGS,GETVERSION} in btrfs_ioctl") +Cc: sta...@vger.kernel.org +Signed-off-by: Jeff Mahoney <je...@suse.com> +--- + fs/btrfs/ioctl.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +--- a/fs/btrfs/ioctl.c ++++ b/fs/btrfs/ioctl.c +@@ -5653,6 +5653,10 @@ long btrfs_ioctl(struct file *file, unsi + #ifdef CONFIG_COMPAT + long btrfs_compat_ioctl(struct file *file, unsigned int cmd, unsigned long arg) + { ++ /* ++ * These all access 32-bit values anyway so no further ++ * handling is necessary. ++ */ + switch (cmd) { + case FS_IOC32_GETFLAGS: + cmd = FS_IOC_GETFLAGS; +@@ -5663,8 +5667,6 @@ long btrfs_compat_ioctl(struct file *fil + case FS_IOC32_GETVERSION: + cmd = FS_IOC_GETVERSION; + break; +- default: +- return -ENOIOCTLCMD; + } + + return btrfs_ioctl(file, cmd, (unsigned long) compat_ptr(arg)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/patches.suse/iwlwifi-expose-default-fallback-ucode-api new/patches.suse/iwlwifi-expose-default-fallback-ucode-api --- old/patches.suse/iwlwifi-expose-default-fallback-ucode-api 1970-01-01 01:00:00.000000000 +0100 +++ new/patches.suse/iwlwifi-expose-default-fallback-ucode-api 2017-02-07 16:51:24.000000000 +0100 @@ -0,0 +1,63 @@ +From: Takashi Iwai <ti...@suse.de> +Subject: iwlwifi: Expose the default fallback ucode API to module info +Patch-mainline: No, a tentative fix until firmware files are prepared +References: boo#1021082, boo#1023884 + +The upstream iwlwifi driver sets the max ucode API versions to some +non-exist firmware files, and this results in the broken WiFi in initrd +or in installation image because they are built with the information +given by modinfo. + +So far, the upstream doesn't take any action to it, so we need to paper +over it temporarily by manually adding the MODULE_FIRMWARE() entries. + +Signed-off-by: Takashi Iwai <ti...@suse.de> + +--- + drivers/net/wireless/intel/iwlwifi/iwl-7000.c | 9 +++++++++ + drivers/net/wireless/intel/iwlwifi/iwl-8000.c | 4 ++++ + 2 files changed, 13 insertions(+) + +--- a/drivers/net/wireless/intel/iwlwifi/iwl-7000.c ++++ b/drivers/net/wireless/intel/iwlwifi/iwl-7000.c +@@ -72,9 +72,13 @@ + + /* Highest firmware API version supported */ + #define IWL7260_UCODE_API_MAX 17 ++#define IWL7260_UCODE_API_DEFAULT_FALLBACK 17 + #define IWL7265_UCODE_API_MAX 17 ++#define IWL7265_UCODE_API_DEFAULT_FALLBACK 17 + #define IWL7265D_UCODE_API_MAX 26 ++#define IWL7265D_UCODE_API_DEFAULT_FALLBACK 22 + #define IWL3168_UCODE_API_MAX 26 ++#define IWL3168_UCODE_API_DEFAULT_FALLBACK 22 + + /* Lowest firmware API version supported */ + #define IWL7260_UCODE_API_MIN 17 +@@ -382,3 +386,8 @@ MODULE_FIRMWARE(IWL3160_MODULE_FIRMWARE( + MODULE_FIRMWARE(IWL3168_MODULE_FIRMWARE(IWL3168_UCODE_API_MAX)); + MODULE_FIRMWARE(IWL7265_MODULE_FIRMWARE(IWL7265_UCODE_API_MAX)); + MODULE_FIRMWARE(IWL7265D_MODULE_FIRMWARE(IWL7265D_UCODE_API_MAX)); ++MODULE_FIRMWARE(IWL7260_MODULE_FIRMWARE(IWL7260_UCODE_API_DEFAULT_FALLBACK)); ++MODULE_FIRMWARE(IWL3160_MODULE_FIRMWARE(IWL7260_UCODE_API_DEFAULT_FALLBACK)); ++MODULE_FIRMWARE(IWL3168_MODULE_FIRMWARE(IWL3168_UCODE_API_DEFAULT_FALLBACK)); ++MODULE_FIRMWARE(IWL7265_MODULE_FIRMWARE(IWL7265_UCODE_API_DEFAULT_FALLBACK)); ++MODULE_FIRMWARE(IWL7265D_MODULE_FIRMWARE(IWL7265D_UCODE_API_DEFAULT_FALLBACK)); +--- a/drivers/net/wireless/intel/iwlwifi/iwl-8000.c ++++ b/drivers/net/wireless/intel/iwlwifi/iwl-8000.c +@@ -71,7 +71,9 @@ + + /* Highest firmware API version supported */ + #define IWL8000_UCODE_API_MAX 26 ++#define IWL8000_UCODE_API_DEFAULT_FALLBACK 22 + #define IWL8265_UCODE_API_MAX 26 ++#define IWL8265_UCODE_API_DEFAULT_FALLBACK 22 + + /* Lowest firmware API version supported */ + #define IWL8000_UCODE_API_MIN 17 +@@ -278,3 +280,5 @@ const struct iwl_cfg iwl4165_2ac_sdio_cf + + MODULE_FIRMWARE(IWL8000_MODULE_FIRMWARE(IWL8000_UCODE_API_MAX)); + MODULE_FIRMWARE(IWL8265_MODULE_FIRMWARE(IWL8265_UCODE_API_MAX)); ++MODULE_FIRMWARE(IWL8000_MODULE_FIRMWARE(IWL8000_UCODE_API_DEFAULT_FALLBACK)); ++MODULE_FIRMWARE(IWL8265_MODULE_FIRMWARE(IWL8265_UCODE_API_DEFAULT_FALLBACK)); ++++++ series.conf ++++++ --- /var/tmp/diff_new_pack.HAdD68/_old 2017-02-12 00:48:46.559310403 +0100 +++ /var/tmp/diff_new_pack.HAdD68/_new 2017-02-12 00:48:46.559310403 +0100 @@ -35,6 +35,7 @@ patches.kernel.org/patch-4.9.5-6 patches.kernel.org/patch-4.9.6-7 patches.kernel.org/patch-4.9.7-8 + patches.kernel.org/patch-4.9.8-9 ######################################################## # Build fixes that apply to the vanilla kernel too. @@ -216,6 +217,7 @@ ######################################################## # Networking, IPv6 ######################################################## + patches.fixes/ip6_gre-fix-ip6gre_err-invalid-reads.patch ######################################################## # Netfilter @@ -252,6 +254,7 @@ patches.suse/revert-btrfs-fix-lockdep-warning-on-deadlock-against-an-inode-s-log-mutex.patch patches.suse/revert-btrfs-improve-performance-on-fsync-against-new-inode-after-rename-unlink.patch patches.suse/btrfs-fix-extent-tree-corruption-due-to-relocation.patch + patches.suse/btrfs-fix-btrfs_compat_ioctl-failures-on-non-compat-ioctls ######################################################## # Reiserfs Patches @@ -322,7 +325,6 @@ ######################################################## patches.fixes/drm-i915-Fix-S4-resume-breakage patches.fixes/drm-Use-u64-for-intermediate-dotclock-calculations.patch - patches.drivers/drm-i915-execlists-Reset-RING-registers-upon-resume patches.drivers/drm-reference-count-event-completion ######################################################## @@ -338,6 +340,7 @@ # Wireless Networking ######################################################## patches.suse/b43-missing-firmware-info.patch + patches.suse/iwlwifi-expose-default-fallback-ucode-api ######################################################## # ISDN @@ -351,7 +354,6 @@ ######################################################## # PCI and PCI hotplug ######################################################## - patches.fixes/PCI-ASPM-Handle-PCI-to-PCIe-bridges-as-roots-of-PCIe ######################################################## # sysfs / driver core ++++++ source-timestamp ++++++ --- /var/tmp/diff_new_pack.HAdD68/_old 2017-02-12 00:48:46.595305277 +0100 +++ /var/tmp/diff_new_pack.HAdD68/_new 2017-02-12 00:48:46.595305277 +0100 @@ -1,3 +1,3 @@ -2017-02-04 10:04:54 +0100 -GIT Revision: af906961a8a0f35534631a809aeae8a069805068 +2017-02-09 11:55:53 +0100 +GIT Revision: 6c5120caac312a1909e2347a00433920d10ebd9f GIT Branch: stable