summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThorsten Leemhuis <fedora@leemhuis.info>2018-06-05 11:56:39 +0200
committerThorsten Leemhuis <fedora@leemhuis.info>2018-06-05 11:56:39 +0200
commita958049b6126c728ae61874c0c5c3b95f21f7bad (patch)
tree805ad412369c304df49b0e2e31185dd98517f404
parentec5072b4f27c16b694f0cadba9cf64f4f58cd121 (diff)
parentb5f6906612f259606c39f138992b62bea1e0d381 (diff)
downloadkernel-a958049b6126c728ae61874c0c5c3b95f21f7bad.tar.gz
kernel-a958049b6126c728ae61874c0c5c3b95f21f7bad.tar.xz
kernel-a958049b6126c728ae61874c0c5c3b95f21f7bad.zip
Merge remote-tracking branch 'origin/f27' into f27-user-thl-vanilla-fedora
-rw-r--r--bcm2835-hwrng-Handle-deferred-clock-properly.patch42
-rw-r--r--bcm2837-lan78xx-fixes.patch173
-rw-r--r--bcm283x-Fix-probing-of-bcm2835-i2s.patch44
-rw-r--r--kernel.spec14
-rw-r--r--libata-Drop-SanDisk-SD7UB3Q-G1001-NOLPM-quirk.patch54
5 files changed, 65 insertions, 262 deletions
diff --git a/bcm2835-hwrng-Handle-deferred-clock-properly.patch b/bcm2835-hwrng-Handle-deferred-clock-properly.patch
deleted file mode 100644
index 4b4cdfea0..000000000
--- a/bcm2835-hwrng-Handle-deferred-clock-properly.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From patchwork Mon Feb 12 20:11:36 2018
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: hwrng: bcm2835: Handle deferred clock properly
-From: Stefan Wahren <stefan.wahren@i2se.com>
-X-Patchwork-Id: 10214385
-Message-Id: <1518466296-30161-1-git-send-email-stefan.wahren@i2se.com>
-To: Herbert Xu <herbert@gondor.apana.org.au>, Matt Mackall <mpm@selenic.com>
-Cc: Stefan Wahren <stefan.wahren@i2se.com>,
- Florian Fainelli <f.fainelli@gmail.com>, Arnd Bergmann <arnd@arndb.de>,
- Scott Branden <sbranden@broadcom.com>, Jon Mason <jonmason@broadcom.com>,
- Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
- Eric Anholt <eric@anholt.net>,
- bcm-kernel-feedback-list@broadcom.com, linux-crypto@vger.kernel.org,
- Ray Jui <rjui@broadcom.com>, linux-arm-kernel@lists.infradead.org
-Date: Mon, 12 Feb 2018 21:11:36 +0100
-
-In case the probe of the clock is deferred, we would assume it is
-optional. This is wrong, so defer the probe of this driver until
-the clock is available.
-
-Fixes: 791af4f4907a ("hwrng: bcm2835 - Manage an optional clock")
-Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
-Acked-by: Florian Fainelli <f.fainelli@gmail.com>
----
- drivers/char/hw_random/bcm2835-rng.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/drivers/char/hw_random/bcm2835-rng.c b/drivers/char/hw_random/bcm2835-rng.c
-index 7a84cec..6767d96 100644
---- a/drivers/char/hw_random/bcm2835-rng.c
-+++ b/drivers/char/hw_random/bcm2835-rng.c
-@@ -163,6 +163,8 @@ static int bcm2835_rng_probe(struct platform_device *pdev)
-
- /* Clock is optional on most platforms */
- priv->clk = devm_clk_get(dev, NULL);
-+ if (IS_ERR(priv->clk) && PTR_ERR(priv->clk) == -EPROBE_DEFER)
-+ return -EPROBE_DEFER;
-
- priv->rng.name = pdev->name;
- priv->rng.init = bcm2835_rng_init;
diff --git a/bcm2837-lan78xx-fixes.patch b/bcm2837-lan78xx-fixes.patch
index 7fa432a5e..e0603c762 100644
--- a/bcm2837-lan78xx-fixes.patch
+++ b/bcm2837-lan78xx-fixes.patch
@@ -259,179 +259,6 @@ index eb492d47f717..8f9c90379732 100644
--
2.17.0
-From 7d76fccb22d71c80209eb9ef5b013a630424cb6c Mon Sep 17 00:00:00 2001
-From: Alexander Graf <agraf@suse.de>
-Date: Wed, 4 Apr 2018 00:19:35 +0200
-Subject: [PATCH 2/9] lan78xx: Connect phy early
-
-When using wicked with a lan78xx device attached to the system, we
-end up with ethtool commands issued on the device before an ifup
-got issued. That lead to the following crash:
-
- Unable to handle kernel NULL pointer dereference at virtual address 0000039c
- pgd = ffff800035b30000
- [0000039c] *pgd=0000000000000000
- Internal error: Oops: 96000004 [#1] SMP
- Modules linked in: [...]
- Supported: Yes
- CPU: 3 PID: 638 Comm: wickedd Tainted: G E 4.12.14-0-default #1
- Hardware name: raspberrypi rpi/rpi, BIOS 2018.03-rc2 02/21/2018
- task: ffff800035e74180 task.stack: ffff800036718000
- PC is at phy_ethtool_ksettings_get+0x20/0x98
- LR is at lan78xx_get_link_ksettings+0x44/0x60 [lan78xx]
- pc : [<ffff0000086f7f30>] lr : [<ffff000000dcca84>] pstate: 20000005
- sp : ffff80003671bb20
- x29: ffff80003671bb20 x28: ffff800035e74180
- x27: ffff000008912000 x26: 000000000000001d
- x25: 0000000000000124 x24: ffff000008f74d00
- x23: 0000004000114809 x22: 0000000000000000
- x21: ffff80003671bbd0 x20: 0000000000000000
- x19: ffff80003671bbd0 x18: 000000000000040d
- x17: 0000000000000001 x16: 0000000000000000
- x15: 0000000000000000 x14: ffffffffffffffff
- x13: 0000000000000000 x12: 0000000000000020
- x11: 0101010101010101 x10: fefefefefefefeff
- x9 : 7f7f7f7f7f7f7f7f x8 : fefefeff31677364
- x7 : 0000000080808080 x6 : ffff80003671bc9c
- x5 : ffff80003671b9f8 x4 : ffff80002c296190
- x3 : 0000000000000000 x2 : 0000000000000000
- x1 : ffff80003671bbd0 x0 : ffff80003671bc00
- Process wickedd (pid: 638, stack limit = 0xffff800036718000)
- Call trace:
- Exception stack(0xffff80003671b9e0 to 0xffff80003671bb20)
- b9e0: ffff80003671bc00 ffff80003671bbd0 0000000000000000 0000000000000000
- ba00: ffff80002c296190 ffff80003671b9f8 ffff80003671bc9c 0000000080808080
- ba20: fefefeff31677364 7f7f7f7f7f7f7f7f fefefefefefefeff 0101010101010101
- ba40: 0000000000000020 0000000000000000 ffffffffffffffff 0000000000000000
- ba60: 0000000000000000 0000000000000001 000000000000040d ffff80003671bbd0
- ba80: 0000000000000000 ffff80003671bbd0 0000000000000000 0000004000114809
- baa0: ffff000008f74d00 0000000000000124 000000000000001d ffff000008912000
- bac0: ffff800035e74180 ffff80003671bb20 ffff000000dcca84 ffff80003671bb20
- bae0: ffff0000086f7f30 0000000020000005 ffff80002c296000 ffff800035223900
- bb00: 0000ffffffffffff 0000000000000000 ffff80003671bb20 ffff0000086f7f30
- [<ffff0000086f7f30>] phy_ethtool_ksettings_get+0x20/0x98
- [<ffff000000dcca84>] lan78xx_get_link_ksettings+0x44/0x60 [lan78xx]
- [<ffff0000087cbc40>] ethtool_get_settings+0x68/0x210
- [<ffff0000087cc0d4>] dev_ethtool+0x214/0x2180
- [<ffff0000087e5008>] dev_ioctl+0x400/0x630
- [<ffff00000879dd00>] sock_do_ioctl+0x70/0x88
- [<ffff00000879f5f8>] sock_ioctl+0x208/0x368
- [<ffff0000082cde10>] do_vfs_ioctl+0xb0/0x848
- [<ffff0000082ce634>] SyS_ioctl+0x8c/0xa8
- Exception stack(0xffff80003671bec0 to 0xffff80003671c000)
- bec0: 0000000000000009 0000000000008946 0000fffff4e841d0 0000aa0032687465
- bee0: 0000aaaafa2319d4 0000fffff4e841d4 0000000032687465 0000000032687465
- bf00: 000000000000001d 7f7fff7f7f7f7f7f 72606b622e71ff4c 7f7f7f7f7f7f7f7f
- bf20: 0101010101010101 0000000000000020 ffffffffffffffff 0000ffff7f510c68
- bf40: 0000ffff7f6a9d18 0000ffff7f44ce30 000000000000040d 0000ffff7f6f98f0
- bf60: 0000fffff4e842c0 0000000000000001 0000aaaafa2c2e00 0000ffff7f6ab000
- bf80: 0000fffff4e842c0 0000ffff7f62a000 0000aaaafa2b9f20 0000aaaafa2c2e00
- bfa0: 0000fffff4e84818 0000fffff4e841a0 0000ffff7f5ad0cc 0000fffff4e841a0
- bfc0: 0000ffff7f44ce3c 0000000080000000 0000000000000009 000000000000001d
- bfe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
-
-The culprit is quite simple: The driver tries to access the phy left and right,
-but only actually has a working reference to it when the device is up.
-
-The fix thus is quite simple too: Get a reference to the phy on probe already
-and keep it even when the device is going down.
-
-With this patch applied, I can successfully run wicked on my system and bring
-the interface up and down as many times as I want, without getting NULL pointer
-dereferences in between.
-
-Signed-off-by: Alexander Graf <agraf@suse.de>
-Signed-off-by: David S. Miller <davem@davemloft.net>
----
- drivers/net/usb/lan78xx.c | 34 ++++++++++++++++++----------------
- 1 file changed, 18 insertions(+), 16 deletions(-)
-
-diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c
-index 32cf21716f19..145bb7cbf5b2 100644
---- a/drivers/net/usb/lan78xx.c
-+++ b/drivers/net/usb/lan78xx.c
-@@ -2083,10 +2083,6 @@ static int lan78xx_phy_init(struct lan78xx_net *dev)
-
- dev->fc_autoneg = phydev->autoneg;
-
-- phy_start(phydev);
--
-- netif_dbg(dev, ifup, dev->net, "phy initialised successfully");
--
- return 0;
-
- error:
-@@ -2523,9 +2519,9 @@ static int lan78xx_open(struct net_device *net)
- if (ret < 0)
- goto done;
-
-- ret = lan78xx_phy_init(dev);
-- if (ret < 0)
-- goto done;
-+ phy_start(net->phydev);
-+
-+ netif_dbg(dev, ifup, dev->net, "phy initialised successfully");
-
- /* for Link Check */
- if (dev->urb_intr) {
-@@ -2586,13 +2582,8 @@ static int lan78xx_stop(struct net_device *net)
- if (timer_pending(&dev->stat_monitor))
- del_timer_sync(&dev->stat_monitor);
-
-- phy_unregister_fixup_for_uid(PHY_KSZ9031RNX, 0xfffffff0);
-- phy_unregister_fixup_for_uid(PHY_LAN8835, 0xfffffff0);
--
-- phy_stop(net->phydev);
-- phy_disconnect(net->phydev);
--
-- net->phydev = NULL;
-+ if (net->phydev)
-+ phy_stop(net->phydev);
-
- clear_bit(EVENT_DEV_OPEN, &dev->flags);
- netif_stop_queue(net);
-@@ -3507,8 +3498,13 @@ static void lan78xx_disconnect(struct usb_interface *intf)
- return;
-
- udev = interface_to_usbdev(intf);
--
- net = dev->net;
-+
-+ phy_unregister_fixup_for_uid(PHY_KSZ9031RNX, 0xfffffff0);
-+ phy_unregister_fixup_for_uid(PHY_LAN8835, 0xfffffff0);
-+
-+ phy_disconnect(net->phydev);
-+
- unregister_netdev(net);
-
- cancel_delayed_work_sync(&dev->wq);
-@@ -3664,8 +3660,14 @@ static int lan78xx_probe(struct usb_interface *intf,
- pm_runtime_set_autosuspend_delay(&udev->dev,
- DEFAULT_AUTOSUSPEND_DELAY);
-
-+ ret = lan78xx_phy_init(dev);
-+ if (ret < 0)
-+ goto out4;
-+
- return 0;
-
-+out4:
-+ unregister_netdev(netdev);
- out3:
- lan78xx_unbind(dev, intf);
- out2:
-@@ -4013,7 +4015,7 @@ static int lan78xx_reset_resume(struct usb_interface *intf)
-
- lan78xx_reset(dev);
-
-- lan78xx_phy_init(dev);
-+ phy_start(dev->net->phydev);
-
- return lan78xx_resume(intf);
- }
---
-2.17.0
-
From 502356f8db439d77a41958041feec187c42f72bb Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 11 Apr 2018 12:02:47 +0100
diff --git a/bcm283x-Fix-probing-of-bcm2835-i2s.patch b/bcm283x-Fix-probing-of-bcm2835-i2s.patch
index 911b2d982..0176baf46 100644
--- a/bcm283x-Fix-probing-of-bcm2835-i2s.patch
+++ b/bcm283x-Fix-probing-of-bcm2835-i2s.patch
@@ -72,47 +72,3 @@ index 65783de..7bb0362 100644
dmas = <&dma 2>,
<&dma 3>;
-From patchwork Fri Feb 16 10:55:34 2018
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Subject: [V3,2/2,RESEND] ARM: dts: bcm283x: Fix probing of bcm2835-i2s
-From: Stefan Wahren <stefan.wahren@i2se.com>
-X-Patchwork-Id: 10224427
-Message-Id: <1518778534-3328-3-git-send-email-stefan.wahren@i2se.com>
-To: Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>,
- Eric Anholt <eric@anholt.net>
-Cc: Stefan Wahren <stefan.wahren@i2se.com>, devicetree@vger.kernel.org,
- alsa-devel@alsa-project.org, Liam Girdwood <lgirdwood@gmail.com>,
- Mark Brown <broonie@kernel.org>, linux-rpi-kernel@lists.infradead.org,
- linux-arm-kernel@lists.infradead.org
-Date: Fri, 16 Feb 2018 11:55:34 +0100
-
-Since 517e7a1537a ("ASoC: bcm2835: move to use the clock framework")
-the bcm2835-i2s requires a clock as DT property. Unfortunately
-the necessary DT change has never been applied. While we are at it
-also fix the first PCM register range to cover the PCM_GRAY register.
-
-Fixes: 517e7a1537a ("ASoC: bcm2835: move to use the clock framework")
-Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
-Reviewed-by: Eric Anholt <eric@anholt.net>
-Tested-by: Matthias Reichl <hias@horus.com>
----
- arch/arm/boot/dts/bcm283x.dtsi | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
-index 013431e..e08203c 100644
---- a/arch/arm/boot/dts/bcm283x.dtsi
-+++ b/arch/arm/boot/dts/bcm283x.dtsi
-@@ -396,8 +396,8 @@
-
- i2s: i2s@7e203000 {
- compatible = "brcm,bcm2835-i2s";
-- reg = <0x7e203000 0x20>,
-- <0x7e101098 0x02>;
-+ reg = <0x7e203000 0x24>;
-+ clocks = <&clocks BCM2835_CLOCK_PCM>;
-
- dmas = <&dma 2>,
- <&dma 3>;
diff --git a/kernel.spec b/kernel.spec
index 497e45634..f29ba216d 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -613,9 +613,6 @@ Patch310: bcm283x-Fix-probing-of-bcm2835-i2s.patch
# https://www.spinics.net/lists/arm-kernel/msg633942.html
Patch311: mmc-sdhci-iproc-Disable-preset-values-for-BCM2835.patch
-# https://www.spinics.net/lists/arm-kernel/msg633945.html
-Patch312: bcm2835-hwrng-Handle-deferred-clock-properly.patch
-
Patch313: bcm283x-clk-audio-fixes.patch
# https://marc.info/?l=linux-kernel&m=152328880417846&w=2
@@ -689,6 +686,10 @@ Patch512: mailbox-ACPI-erroneous-error-message-when-parsing-ACPI.patch
# CVE-2018-10840 rhbz 1582346 1582348
Patch513: ext4-correctly-handle-a-zero-length-xattr-with-a-non.patch
+# rhbz 1583207
+# https://www.spinics.net/lists/kernel/msg2818652.html applies cleanly to 4.17
+Patch514: libata-Drop-SanDisk-SD7UB3Q-G1001-NOLPM-quirk.patch
+
# END OF PATCH DEFINITIONS
%endif
@@ -1945,6 +1946,13 @@ fi
#
#
%changelog
+* Mon Jun 04 2018 Jeremy Cline <jeremy@jcline.org>
+- Drop SanDisk SD7UB3Q*G1001 NOLPM quirk (rhbz 1583207)
+
+* Wed May 30 2018 Jeremy Cline <jcline@redhat.com> - 4.16.13-200
+- Linux v4.16.13
+- Fixes CVE-2018-11506 (rhbz 1583210 1583213)
+
* Fri May 25 2018 Jeremy Cline <jcline@redhat.com> - 4.16.12-200
- Linux v4.16.12
- Fix CVE-2018-10840 (rhbz 1582346 1582348)
diff --git a/libata-Drop-SanDisk-SD7UB3Q-G1001-NOLPM-quirk.patch b/libata-Drop-SanDisk-SD7UB3Q-G1001-NOLPM-quirk.patch
new file mode 100644
index 000000000..97c6c2a37
--- /dev/null
+++ b/libata-Drop-SanDisk-SD7UB3Q-G1001-NOLPM-quirk.patch
@@ -0,0 +1,54 @@
+From b7f83ebcd7e36af0520f38fec9ba33da9394f09c Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Thu, 31 May 2018 13:16:29 +0200
+Subject: [PATCH] libata: Drop SanDisk SD7UB3Q*G1001 NOLPM quirk
+
+Commit 184add2ca23c ("libata: Apply NOLPM quirk for SanDisk
+SD7UB3Q*G1001 SSDs") disabled LPM for SanDisk SD7UB3Q*G1001 SSDs.
+
+This has lead to several reports of users of that SSD where LPM
+was working fine and who know have a significantly increased idle
+power consumption on their laptops.
+
+Likely there is another problem on the T450s from the original
+reporter which gets exposed by the uncore reaching deeper sleep
+states (higher PC-states) due to LPM being enabled. The problem as
+reported, a hardfreeze about once a day, already did not sound like
+it would be caused by LPM and the reports of the SSD working fine
+confirm this. The original reporter is ok with dropping the quirk.
+
+A X250 user has reported the same hard freeze problem and for him
+the problem went away after unrelated updates, I suspect some GPU
+driver stack changes fixed things.
+
+TL;DR: The original reporters problem were triggered by LPM but not
+an LPM issue, so drop the quirk for the SSD in question.
+
+BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1583207
+Cc: stable@vger.kernel.org
+Cc: Richard W.M. Jones <rjones@redhat.com>
+Cc: Lorenzo Dalrio <lorenzo.dalrio@gmail.com>
+Reported-by: Lorenzo Dalrio <lorenzo.dalrio@gmail.com>
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+Signed-off-by: Jeremy Cline <jcline@redhat.com>
+---
+ drivers/ata/libata-core.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
+index d4fb9e0c29ee..d8d45072e4ad 100644
+--- a/drivers/ata/libata-core.c
++++ b/drivers/ata/libata-core.c
+@@ -4553,9 +4553,6 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
+ ATA_HORKAGE_ZERO_AFTER_TRIM |
+ ATA_HORKAGE_NOLPM, },
+
+- /* Sandisk devices which are known to not handle LPM well */
+- { "SanDisk SD7UB3Q*G1001", NULL, ATA_HORKAGE_NOLPM, },
+-
+ /* devices that don't properly handle queued TRIM commands */
+ { "Micron_M500IT_*", "MU01", ATA_HORKAGE_NO_NCQ_TRIM |
+ ATA_HORKAGE_ZERO_AFTER_TRIM, },
+--
+2.17.1
+