Linux v3.18.4
This commit is contained in:
parent
aaa68966b7
commit
1040b10023
|
@ -1,61 +0,0 @@
|
|||
From: Sven Eckelmann <sven@narfation.org>
|
||||
Date: Sat, 20 Dec 2014 13:48:55 +0100
|
||||
Subject: [PATCH] batman-adv: Calculate extra tail size based on queued
|
||||
fragments
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The fragmentation code was replaced in 610bfc6bc99bc83680d190ebc69359a05fc7f605
|
||||
("batman-adv: Receive fragmented packets and merge"). The new code provided a
|
||||
mostly unused parameter skb for the merging function. It is used inside the
|
||||
function to calculate the additionally needed skb tailroom. But instead of
|
||||
increasing its own tailroom, it is only increasing the tailroom of the first
|
||||
queued skb. This is not correct in some situations because the first queued
|
||||
entry can be a different one than the parameter.
|
||||
|
||||
An observed problem was:
|
||||
|
||||
1. packet with size 104, total_size 1464, fragno 1 was received
|
||||
- packet is queued
|
||||
2. packet with size 1400, total_size 1464, fragno 0 was received
|
||||
- packet is queued at the end of the list
|
||||
3. enough data was received and can be given to the merge function
|
||||
(1464 == (1400 - 20) + (104 - 20))
|
||||
- merge functions gets 1400 byte large packet as skb argument
|
||||
4. merge function gets first entry in queue (104 byte)
|
||||
- stored as skb_out
|
||||
5. merge function calculates the required extra tail as total_size - skb->len
|
||||
- pskb_expand_head tail of skb_out with 64 bytes
|
||||
6. merge function tries to squeeze the extra 1380 bytes from the second queued
|
||||
skb (1400 byte aka skb parameter) in the 64 extra tail bytes of skb_out
|
||||
|
||||
Instead calculate the extra required tail bytes for skb_out also using skb_out
|
||||
instead of using the parameter skb. The skb parameter is only used to get the
|
||||
total_size from the last received packet. This is also the total_size used to
|
||||
decide that all fragments were received.
|
||||
|
||||
Reported-by: Philipp Psurek <philipp.psurek@gmail.com>
|
||||
Signed-off-by: Sven Eckelmann <sven@narfation.org>
|
||||
Acked-by: Martin Hundebøll <martin@hundeboll.net>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
net/batman-adv/fragmentation.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/net/batman-adv/fragmentation.c b/net/batman-adv/fragmentation.c
|
||||
index fc1835c6bb40..8af3461d18d2 100644
|
||||
--- a/net/batman-adv/fragmentation.c
|
||||
+++ b/net/batman-adv/fragmentation.c
|
||||
@@ -251,7 +251,7 @@ batadv_frag_merge_packets(struct hlist_head *chain, struct sk_buff *skb)
|
||||
kfree(entry);
|
||||
|
||||
/* Make room for the rest of the fragments. */
|
||||
- if (pskb_expand_head(skb_out, 0, size - skb->len, GFP_ATOMIC) < 0) {
|
||||
+ if (pskb_expand_head(skb_out, 0, size - skb_out->len, GFP_ATOMIC) < 0) {
|
||||
kfree_skb(skb_out);
|
||||
skb_out = NULL;
|
||||
goto free;
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
From: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
|
||||
Date: Tue, 2 Dec 2014 09:53:25 +0200
|
||||
Subject: [PATCH] cfg80211: don't WARN about two consecutive Country IE hint
|
||||
|
||||
This can happen and there is no point in added more
|
||||
detection code lower in the stack. Catching these in one
|
||||
single point (cfg80211) is enough. Stop WARNING about this
|
||||
case.
|
||||
|
||||
This fixes:
|
||||
https://bugzilla.kernel.org/show_bug.cgi?id=89001
|
||||
|
||||
Cc: <stable@vger.kernel.org>
|
||||
Fixes: 2f1c6c572d7b ("cfg80211: process non country IE conflicting first")
|
||||
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
|
||||
Acked-by: Luis R. Rodriguez <mcgrof@suse.com>
|
||||
---
|
||||
net/wireless/reg.c | 7 ++-----
|
||||
1 file changed, 2 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/net/wireless/reg.c b/net/wireless/reg.c
|
||||
index 1afdf45db38f..e676723e29e2 100644
|
||||
--- a/net/wireless/reg.c
|
||||
+++ b/net/wireless/reg.c
|
||||
@@ -1799,11 +1799,8 @@ __reg_process_hint_country_ie(struct wiphy *wiphy,
|
||||
return REG_REQ_IGNORE;
|
||||
return REG_REQ_ALREADY_SET;
|
||||
}
|
||||
- /*
|
||||
- * Two consecutive Country IE hints on the same wiphy.
|
||||
- * This should be picked up early by the driver/stack
|
||||
- */
|
||||
- if (WARN_ON(regdom_changes(country_ie_request->alpha2)))
|
||||
+
|
||||
+ if (regdom_changes(country_ie_request->alpha2))
|
||||
return REG_REQ_OK;
|
||||
return REG_REQ_ALREADY_SET;
|
||||
}
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -1415,6 +1415,7 @@ CONFIG_IXGBE_HWMON=y
|
|||
CONFIG_I40E=m
|
||||
# CONFIG_I40E_VXLAN is not set
|
||||
# CONFIG_I40E_DCB is not set
|
||||
# CONFIG_I40E_FCOE is not set
|
||||
CONFIG_I40EVF=m
|
||||
CONFIG_FM10K=m
|
||||
# CONFIG_FM10K_VXLAN is not set
|
||||
|
|
41
kernel.spec
41
kernel.spec
|
@ -42,7 +42,7 @@ Summary: The Linux kernel
|
|||
# For non-released -rc kernels, this will be appended after the rcX and
|
||||
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
|
||||
#
|
||||
%global baserelease 201
|
||||
%global baserelease 200
|
||||
%global fedora_build %{baserelease}
|
||||
|
||||
# base_sublevel is the kernel version we're starting with and patching
|
||||
|
@ -54,7 +54,7 @@ Summary: The Linux kernel
|
|||
%if 0%{?released_kernel}
|
||||
|
||||
# Do we have a -stable update to apply?
|
||||
%define stable_update 3
|
||||
%define stable_update 4
|
||||
# Set rpm version accordingly
|
||||
%if 0%{?stable_update}
|
||||
%define stablerev %{stable_update}
|
||||
|
@ -609,25 +609,12 @@ Patch26058: asus-nb-wmi-Add-wapf4-quirk-for-the-X550VB.patch
|
|||
#rhbz 1135338
|
||||
Patch26090: HID-add-support-for-MS-Surface-Pro-3-Type-Cover.patch
|
||||
|
||||
#rhbz 1164945
|
||||
Patch26092: xhci-Add-broken-streams-quirk-for-Fresco-Logic-FL100.patch
|
||||
Patch26093: uas-Add-US_FL_NO_ATA_1X-for-Seagate-devices-with-usb.patch
|
||||
Patch26094: uas-Add-US_FL_NO_REPORT_OPCODES-for-JMicron-JMS566-w.patch
|
||||
|
||||
#rhbz 1172543
|
||||
Patch26096: cfg80211-don-t-WARN-about-two-consecutive-Country-IE.patch
|
||||
|
||||
#rhbz 1173806
|
||||
Patch26101: powerpc-powernv-force-all-CPUs-to-be-bootable.patch
|
||||
|
||||
Patch26107: uapi-linux-target_core_user.h-fix-headers_install.sh.patch
|
||||
|
||||
#rhbz 1163927
|
||||
Patch26121: Set-UID-in-sess_auth_rawntlmssp_authenticate-too.patch
|
||||
|
||||
#CVE-2014-9428 rhbz 1178826,1178833
|
||||
Patch26122: batman-adv-Calculate-extra-tail-size-based-on-queued.patch
|
||||
|
||||
#CVE-2014-9529 rhbz 1179813 1179853
|
||||
Patch26124: KEYS-close-race-between-key-lookup-and-freeing.patch
|
||||
|
||||
|
@ -649,10 +636,6 @@ Patch30000: kernel-arm64.patch
|
|||
# Fix for big-endian arches, already upstream
|
||||
Patch30001: mpssd-x86-only.patch
|
||||
|
||||
# Patches from 3.18.4 stable queue (should fix i915 issues)
|
||||
Patch30002: stable-3.18.4-queue.patch
|
||||
Patch30003: xhci-check-if-slot-is-already-in-default-state.patch
|
||||
|
||||
#CVE-2015-0239 rhbz 1186448 1186453
|
||||
Patch30004: KVM-x86-SYSENTER-emulation-is-broken.patch
|
||||
|
||||
|
@ -1374,25 +1357,12 @@ ApplyPatch asus-nb-wmi-Add-wapf4-quirk-for-the-X550VB.patch
|
|||
#rhbz 1135338
|
||||
ApplyPatch HID-add-support-for-MS-Surface-Pro-3-Type-Cover.patch
|
||||
|
||||
#rhbz 1164945
|
||||
ApplyPatch xhci-Add-broken-streams-quirk-for-Fresco-Logic-FL100.patch
|
||||
ApplyPatch uas-Add-US_FL_NO_ATA_1X-for-Seagate-devices-with-usb.patch
|
||||
ApplyPatch uas-Add-US_FL_NO_REPORT_OPCODES-for-JMicron-JMS566-w.patch
|
||||
|
||||
#rhbz 1172543
|
||||
ApplyPatch cfg80211-don-t-WARN-about-two-consecutive-Country-IE.patch
|
||||
|
||||
#rhbz 1173806
|
||||
ApplyPatch powerpc-powernv-force-all-CPUs-to-be-bootable.patch
|
||||
|
||||
ApplyPatch uapi-linux-target_core_user.h-fix-headers_install.sh.patch
|
||||
|
||||
#rhbz 1163927
|
||||
ApplyPatch Set-UID-in-sess_auth_rawntlmssp_authenticate-too.patch
|
||||
|
||||
#CVE-2014-9428 rhbz 1178826,1178833
|
||||
ApplyPatch batman-adv-Calculate-extra-tail-size-based-on-queued.patch
|
||||
|
||||
#CVE-2014-9529 rhbz 1179813 1179853
|
||||
ApplyPatch KEYS-close-race-between-key-lookup-and-freeing.patch
|
||||
|
||||
|
@ -1411,10 +1381,6 @@ ApplyPatch acpi-video-Add-disable_native_backlight-quirk-for-Sa.patch
|
|||
# Fix for big-endian arches, already upstream
|
||||
ApplyPatch mpssd-x86-only.patch
|
||||
|
||||
# Patches from 3.18.4 stable queue (should fix i915 issues)
|
||||
ApplyPatch stable-3.18.4-queue.patch
|
||||
ApplyPatch xhci-check-if-slot-is-already-in-default-state.patch
|
||||
|
||||
#CVE-2015-0239 rhbz 1186448 1186453
|
||||
ApplyPatch KVM-x86-SYSENTER-emulation-is-broken.patch
|
||||
|
||||
|
@ -2288,6 +2254,9 @@ fi
|
|||
# ||----w |
|
||||
# || ||
|
||||
%changelog
|
||||
* Tue Jan 27 2015 Justin M. Forbes <jforbes@fedoraproject.org> - 3.18.4-200
|
||||
- Linux v3.18.4
|
||||
|
||||
* Tue Jan 27 2015 Josh Boyer <jwboyer@fedoraproject.org>
|
||||
- CVE-2015-0239 kvm: insufficient sysenter emulation from 16-bit (rhbz 1186448 1186453)
|
||||
|
||||
|
|
2
sources
2
sources
|
@ -1,3 +1,3 @@
|
|||
9e854df51ca3fef8bfe566dbd7b89241 linux-3.18.tar.xz
|
||||
813ccb96f0b379d656e57442c2587ca3 perf-man-3.18.tar.gz
|
||||
0d4f5406f6fbe34a53e1c5e1d2037e8b patch-3.18.3.xz
|
||||
e7c510c0df50abb2cbaea2a1a87f35b7 patch-3.18.4.xz
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,36 +0,0 @@
|
|||
From: Kyle McMartin <kyle@redhat.com>
|
||||
Date: Thu, 18 Dec 2014 12:57:14 -0500
|
||||
Subject: [PATCH] uapi/linux/target_core_user.h: fix headers_install.sh badness
|
||||
|
||||
scripts/headers_install.sh will transform __packed to
|
||||
__attribute__((packed)), so the #ifndef is not necessary.
|
||||
(and, in fact, it's problematic, because we'll end up with the header
|
||||
containing:
|
||||
#ifndef __attribute__((packed))
|
||||
#define __attribu...
|
||||
and so forth.)
|
||||
|
||||
Cc: stable@vger.kernel.org # 3.18
|
||||
Signed-off-by: Kyle McMartin <kyle@redhat.com>
|
||||
---
|
||||
include/uapi/linux/target_core_user.h | 4 ----
|
||||
1 file changed, 4 deletions(-)
|
||||
|
||||
diff --git a/include/uapi/linux/target_core_user.h b/include/uapi/linux/target_core_user.h
|
||||
index 7dcfbe6771b1..b483d1909d3e 100644
|
||||
--- a/include/uapi/linux/target_core_user.h
|
||||
+++ b/include/uapi/linux/target_core_user.h
|
||||
@@ -6,10 +6,6 @@
|
||||
#include <linux/types.h>
|
||||
#include <linux/uio.h>
|
||||
|
||||
-#ifndef __packed
|
||||
-#define __packed __attribute__((packed))
|
||||
-#endif
|
||||
-
|
||||
#define TCMU_VERSION "1.0"
|
||||
|
||||
/*
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Fri, 5 Dec 2014 11:06:36 +0100
|
||||
Subject: [PATCH] uas: Add US_FL_NO_ATA_1X for Seagate devices with usb-id
|
||||
0bc2:a013
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This is yet another Seagate device which needs the US_FL_NO_ATA_1X quirk
|
||||
|
||||
Reported-by: Marcin Zajączkowski <mszpak@wp.pl>
|
||||
Cc: stable@vger.kernel.org # 3.16
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
---
|
||||
drivers/usb/storage/unusual_uas.h | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h
|
||||
index 18a283d6de1c..2918376a1979 100644
|
||||
--- a/drivers/usb/storage/unusual_uas.h
|
||||
+++ b/drivers/usb/storage/unusual_uas.h
|
||||
@@ -68,6 +68,13 @@ UNUSUAL_DEV(0x0bc2, 0xa003, 0x0000, 0x9999,
|
||||
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
||||
US_FL_NO_ATA_1X),
|
||||
|
||||
+/* Reported-by: Marcin Zajączkowski <mszpak@wp.pl> */
|
||||
+UNUSUAL_DEV(0x0bc2, 0xa013, 0x0000, 0x9999,
|
||||
+ "Seagate",
|
||||
+ "Backup Plus",
|
||||
+ USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
||||
+ US_FL_NO_ATA_1X),
|
||||
+
|
||||
/* https://bbs.archlinux.org/viewtopic.php?id=183190 */
|
||||
UNUSUAL_DEV(0x0bc2, 0xab20, 0x0000, 0x9999,
|
||||
"Seagate",
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Mon, 8 Dec 2014 09:46:36 +0100
|
||||
Subject: [PATCH] uas: Add US_FL_NO_REPORT_OPCODES for JMicron JMS566 with
|
||||
usb-id 0bc2:a013
|
||||
|
||||
Like the JMicron JMS567 enclosures with the JMS566 choke on report-opcodes,
|
||||
so avoid it.
|
||||
|
||||
Tested-and-reported-by: Takeo Nakayama <javhera@gmx.com>
|
||||
Cc: stable@vger.kernel.org # 3.16
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
---
|
||||
drivers/usb/storage/unusual_uas.h | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h
|
||||
index 2918376a1979..2f0a3d35269a 100644
|
||||
--- a/drivers/usb/storage/unusual_uas.h
|
||||
+++ b/drivers/usb/storage/unusual_uas.h
|
||||
@@ -111,6 +111,13 @@ UNUSUAL_DEV(0x2109, 0x0711, 0x0000, 0x9999,
|
||||
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
||||
US_FL_NO_ATA_1X),
|
||||
|
||||
+/* Reported-by: Takeo Nakayama <javhera@gmx.com> */
|
||||
+UNUSUAL_DEV(0x357d, 0x7788, 0x0000, 0x9999,
|
||||
+ "JMicron",
|
||||
+ "JMS566",
|
||||
+ USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
||||
+ US_FL_NO_REPORT_OPCODES),
|
||||
+
|
||||
/* Reported-by: Hans de Goede <hdegoede@redhat.com> */
|
||||
UNUSUAL_DEV(0x4971, 0x1012, 0x0000, 0x9999,
|
||||
"Hitachi",
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Fri, 5 Dec 2014 11:01:00 +0100
|
||||
Subject: [PATCH] xhci: Add broken-streams quirk for Fresco Logic FL1000G xhci
|
||||
controllers
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Streams do not work reliabe on Fresco Logic FL1000G xhci controllers,
|
||||
trying to use them results in errors like this:
|
||||
|
||||
21:37:33 kernel: xhci_hcd 0000:04:00.0: ERROR Transfer event for disabled endpoint or incorrect stream ring
|
||||
21:37:33 kernel: xhci_hcd 0000:04:00.0: @00000000368b3570 9067b000 00000000 05000000 01078001
|
||||
21:37:33 kernel: xhci_hcd 0000:04:00.0: ERROR Transfer event for disabled endpoint or incorrect stream ring
|
||||
21:37:33 kernel: xhci_hcd 0000:04:00.0: @00000000368b3580 9067b400 00000000 05000000 01038001
|
||||
|
||||
As always I've ordered a pci-e addon card with a Fresco Logic controller for
|
||||
myself to see if I can come up with a better fix then the big hammer, in
|
||||
the mean time this will make uas devices work again (in usb-storage mode)
|
||||
for FL1000G users.
|
||||
|
||||
Reported-by: Marcin Zajączkowski <mszpak@wp.pl>
|
||||
Cc: stable@vger.kernel.org # 3.15
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
---
|
||||
drivers/usb/host/xhci-pci.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
|
||||
index d41ce7aaa97d..63f79aa82673 100644
|
||||
--- a/drivers/usb/host/xhci-pci.c
|
||||
+++ b/drivers/usb/host/xhci-pci.c
|
||||
@@ -80,6 +80,8 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
|
||||
"must be suspended extra slowly",
|
||||
pdev->revision);
|
||||
}
|
||||
+ if (pdev->device == PCI_DEVICE_ID_FRESCO_LOGIC_PDK)
|
||||
+ xhci->quirks |= XHCI_BROKEN_STREAMS;
|
||||
/* Fresco Logic confirms: all revisions of this chip do not
|
||||
* support MSI, even though some of them claim to in their PCI
|
||||
* capabilities.
|
||||
--
|
||||
2.1.0
|
||||
|
|
@ -1,51 +0,0 @@
|
|||
commit f161ead70fa6a62e432dff6e9dab8e3cfbeabea6
|
||||
Author: Mathias Nyman <mathias.nyman@linux.intel.com>
|
||||
Date: Fri Jan 9 17:18:28 2015 +0200
|
||||
|
||||
xhci: Check if slot is already in default state before moving it there
|
||||
|
||||
Solves xhci error cases with debug messages:
|
||||
xhci_hcd 0000:00:14.0: Setup ERROR: setup context command for slot 1.
|
||||
usb 1-6: hub failed to enable device, error -22
|
||||
|
||||
xhci will give a context state error if we try to set a slot in default
|
||||
state to the same default state with a special address device command.
|
||||
|
||||
Turns out this happends in several cases:
|
||||
- retry reading the device rescriptor in hub_port_init()
|
||||
- usb_reset_device() is called for a slot in default state
|
||||
- in resume path, usb_port_resume() calls hub_port_init()
|
||||
|
||||
The default state is usually reached from most states with a reset device
|
||||
command without any context state errors, but using the address device
|
||||
command with BSA bit set (block set address) only works from the enabled
|
||||
state and will otherwise cause context error.
|
||||
|
||||
solve this by checking if we are already in the default state before issuing
|
||||
a address device BSA=1 command.
|
||||
|
||||
Fixes: 48fc7dbd52c0 ("usb: xhci: change enumeration scheme to 'new scheme'")
|
||||
Cc: <stable@vger.kernel.org> # v3.14+
|
||||
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
|
||||
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
|
||||
index 01fcbb5..c50d8d2 100644
|
||||
--- a/drivers/usb/host/xhci.c
|
||||
+++ b/drivers/usb/host/xhci.c
|
||||
@@ -3803,6 +3803,15 @@ static int xhci_setup_device(struct usb_hcd *hcd, struct usb_device *udev,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
+ if (setup == SETUP_CONTEXT_ONLY) {
|
||||
+ slot_ctx = xhci_get_slot_ctx(xhci, virt_dev->out_ctx);
|
||||
+ if (GET_SLOT_STATE(le32_to_cpu(slot_ctx->dev_state)) ==
|
||||
+ SLOT_STATE_DEFAULT) {
|
||||
+ xhci_dbg(xhci, "Slot already in default state\n");
|
||||
+ return 0;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
command = xhci_alloc_command(xhci, false, false, GFP_KERNEL);
|
||||
if (!command)
|
||||
return -ENOMEM;
|
Loading…
Reference in New Issue