]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
5.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Apr 2020 10:17:06 +0000 (12:17 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 15 Apr 2020 10:17:06 +0000 (12:17 +0200)
added patches:
arm64-dts-allwinner-h5-fix-pmu-compatible.patch
arm64-dts-allwinner-h6-fix-pmu-compatible.patch
mm-memcg-do-not-high-throttle-allocators-based-on-wraparound.patch
net-qualcomm-rmnet-allow-configuration-updates-to-existing-devices.patch
powerpc-pseries-drop-pointless-static-qualifier-in-vpa_debugfs_init.patch
sched-core-remove-duplicate-assignment-in-sched_tick_remote.patch
tools-gpio-fix-out-of-tree-build-regression.patch

queue-5.4/arm64-dts-allwinner-h5-fix-pmu-compatible.patch [new file with mode: 0644]
queue-5.4/arm64-dts-allwinner-h6-fix-pmu-compatible.patch [new file with mode: 0644]
queue-5.4/mm-memcg-do-not-high-throttle-allocators-based-on-wraparound.patch [new file with mode: 0644]
queue-5.4/net-qualcomm-rmnet-allow-configuration-updates-to-existing-devices.patch [new file with mode: 0644]
queue-5.4/powerpc-pseries-drop-pointless-static-qualifier-in-vpa_debugfs_init.patch [new file with mode: 0644]
queue-5.4/sched-core-remove-duplicate-assignment-in-sched_tick_remote.patch [new file with mode: 0644]
queue-5.4/series
queue-5.4/tools-gpio-fix-out-of-tree-build-regression.patch [new file with mode: 0644]

diff --git a/queue-5.4/arm64-dts-allwinner-h5-fix-pmu-compatible.patch b/queue-5.4/arm64-dts-allwinner-h5-fix-pmu-compatible.patch
new file mode 100644 (file)
index 0000000..5d2759c
--- /dev/null
@@ -0,0 +1,37 @@
+From 4ae7a3c3d7d31260f690d8d658f0365f3eca67a2 Mon Sep 17 00:00:00 2001
+From: Maxime Ripard <maxime@cerno.tech>
+Date: Mon, 10 Feb 2020 10:55:59 +0100
+Subject: arm64: dts: allwinner: h5: Fix PMU compatible
+
+From: Maxime Ripard <maxime@cerno.tech>
+
+commit 4ae7a3c3d7d31260f690d8d658f0365f3eca67a2 upstream.
+
+The commit c35a516a4618 ("arm64: dts: allwinner: H5: Add PMU node")
+introduced support for the PMU found on the Allwinner H5. However, the
+binding only allows for a single compatible, while the patch was adding
+two.
+
+Make sure we follow the binding.
+
+Fixes: c35a516a4618 ("arm64: dts: allwinner: H5: Add PMU node")
+Signed-off-by: Maxime Ripard <maxime@cerno.tech>
+Cc: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi |    3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+--- a/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi
++++ b/arch/arm64/boot/dts/allwinner/sun50i-h5.dtsi
+@@ -77,8 +77,7 @@
+       };
+       pmu {
+-              compatible = "arm,cortex-a53-pmu",
+-                           "arm,armv8-pmuv3";
++              compatible = "arm,cortex-a53-pmu";
+               interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
diff --git a/queue-5.4/arm64-dts-allwinner-h6-fix-pmu-compatible.patch b/queue-5.4/arm64-dts-allwinner-h6-fix-pmu-compatible.patch
new file mode 100644 (file)
index 0000000..5ee6d2e
--- /dev/null
@@ -0,0 +1,37 @@
+From 4c7eeb9af3e41ae7d840977119c58f3bbb3f4f59 Mon Sep 17 00:00:00 2001
+From: Maxime Ripard <maxime@cerno.tech>
+Date: Mon, 10 Feb 2020 10:56:00 +0100
+Subject: arm64: dts: allwinner: h6: Fix PMU compatible
+
+From: Maxime Ripard <maxime@cerno.tech>
+
+commit 4c7eeb9af3e41ae7d840977119c58f3bbb3f4f59 upstream.
+
+The commit 7aa9b9eb7d6a ("arm64: dts: allwinner: H6: Add PMU mode")
+introduced support for the PMU found on the Allwinner H6. However, the
+binding only allows for a single compatible, while the patch was adding
+two.
+
+Make sure we follow the binding.
+
+Fixes: 7aa9b9eb7d6a ("arm64: dts: allwinner: H6: Add PMU mode")
+Signed-off-by: Maxime Ripard <maxime@cerno.tech>
+Cc: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi |    3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
++++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
+@@ -71,8 +71,7 @@
+       };
+       pmu {
+-              compatible = "arm,cortex-a53-pmu",
+-                           "arm,armv8-pmuv3";
++              compatible = "arm,cortex-a53-pmu";
+               interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
+                            <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
diff --git a/queue-5.4/mm-memcg-do-not-high-throttle-allocators-based-on-wraparound.patch b/queue-5.4/mm-memcg-do-not-high-throttle-allocators-based-on-wraparound.patch
new file mode 100644 (file)
index 0000000..ae83564
--- /dev/null
@@ -0,0 +1,60 @@
+From 9b8b17541f13809d06f6f873325305ddbb760e3e Mon Sep 17 00:00:00 2001
+From: Jakub Kicinski <kuba@kernel.org>
+Date: Fri, 10 Apr 2020 14:32:19 -0700
+Subject: mm, memcg: do not high throttle allocators based on wraparound
+
+From: Jakub Kicinski <kuba@kernel.org>
+
+commit 9b8b17541f13809d06f6f873325305ddbb760e3e upstream.
+
+If a cgroup violates its memory.high constraints, we may end up unduly
+penalising it.  For example, for the following hierarchy:
+
+  A:   max high, 20 usage
+  A/B: 9 high, 10 usage
+  A/C: max high, 10 usage
+
+We would end up doing the following calculation below when calculating
+high delay for A/B:
+
+  A/B: 10 - 9 = 1...
+  A:   20 - PAGE_COUNTER_MAX = 21, so set max_overage to 21.
+
+This gets worse with higher disparities in usage in the parent.
+
+I have no idea how this disappeared from the final version of the patch,
+but it is certainly Not Good(tm).  This wasn't obvious in testing because,
+for a simple cgroup hierarchy with only one child, the result is usually
+roughly the same.  It's only in more complex hierarchies that things go
+really awry (although still, the effects are limited to a maximum of 2
+seconds in schedule_timeout_killable at a maximum).
+
+[chris@chrisdown.name: changelog]
+Fixes: e26733e0d0ec ("mm, memcg: throttle allocators based on ancestral memory.high")
+Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+Signed-off-by: Chris Down <chris@chrisdown.name>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Acked-by: Michal Hocko <mhocko@suse.com>
+Cc: Johannes Weiner <hannes@cmpxchg.org>
+Cc: <stable@vger.kernel.org>   [5.4.x]
+Link: http://lkml.kernel.org/r/20200331152424.GA1019937@chrisdown.name
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Cc: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ mm/memcontrol.c |    3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/mm/memcontrol.c
++++ b/mm/memcontrol.c
+@@ -2441,6 +2441,9 @@ static unsigned long calculate_high_dela
+               usage = page_counter_read(&memcg->memory);
+               high = READ_ONCE(memcg->high);
++              if (usage <= high)
++                      continue;
++
+               /*
+                * Prevent division by 0 in overage calculation by acting as if
+                * it was a threshold of 1 page
diff --git a/queue-5.4/net-qualcomm-rmnet-allow-configuration-updates-to-existing-devices.patch b/queue-5.4/net-qualcomm-rmnet-allow-configuration-updates-to-existing-devices.patch
new file mode 100644 (file)
index 0000000..80dd131
--- /dev/null
@@ -0,0 +1,74 @@
+From 2abb5792387eb188b12051337d5dcd2cba615cb0 Mon Sep 17 00:00:00 2001
+From: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
+Date: Wed, 1 Apr 2020 15:23:55 -0600
+Subject: net: qualcomm: rmnet: Allow configuration updates to existing devices
+
+From: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
+
+commit 2abb5792387eb188b12051337d5dcd2cba615cb0 upstream.
+
+This allows the changelink operation to succeed if the mux_id was
+specified as an argument. Note that the mux_id must match the
+existing mux_id of the rmnet device or should be an unused mux_id.
+
+Fixes: 1dc49e9d164c ("net: rmnet: do not allow to change mux id if mux id is duplicated")
+Reported-and-tested-by: Alex Elder <elder@linaro.org>
+Signed-off-by: Sean Tranchetti <stranche@codeaurora.org>
+Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Cc: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c |   31 ++++++++++++---------
+ 1 file changed, 19 insertions(+), 12 deletions(-)
+
+--- a/drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
++++ b/drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c
+@@ -279,7 +279,6 @@ static int rmnet_changelink(struct net_d
+ {
+       struct rmnet_priv *priv = netdev_priv(dev);
+       struct net_device *real_dev;
+-      struct rmnet_endpoint *ep;
+       struct rmnet_port *port;
+       u16 mux_id;
+@@ -294,19 +293,27 @@ static int rmnet_changelink(struct net_d
+       if (data[IFLA_RMNET_MUX_ID]) {
+               mux_id = nla_get_u16(data[IFLA_RMNET_MUX_ID]);
+-              if (rmnet_get_endpoint(port, mux_id)) {
+-                      NL_SET_ERR_MSG_MOD(extack, "MUX ID already exists");
+-                      return -EINVAL;
+-              }
+-              ep = rmnet_get_endpoint(port, priv->mux_id);
+-              if (!ep)
+-                      return -ENODEV;
+-              hlist_del_init_rcu(&ep->hlnode);
+-              hlist_add_head_rcu(&ep->hlnode, &port->muxed_ep[mux_id]);
++              if (mux_id != priv->mux_id) {
++                      struct rmnet_endpoint *ep;
++
++                      ep = rmnet_get_endpoint(port, priv->mux_id);
++                      if (!ep)
++                              return -ENODEV;
++
++                      if (rmnet_get_endpoint(port, mux_id)) {
++                              NL_SET_ERR_MSG_MOD(extack,
++                                                 "MUX ID already exists");
++                              return -EINVAL;
++                      }
++
++                      hlist_del_init_rcu(&ep->hlnode);
++                      hlist_add_head_rcu(&ep->hlnode,
++                                         &port->muxed_ep[mux_id]);
+-              ep->mux_id = mux_id;
+-              priv->mux_id = mux_id;
++                      ep->mux_id = mux_id;
++                      priv->mux_id = mux_id;
++              }
+       }
+       if (data[IFLA_RMNET_FLAGS]) {
diff --git a/queue-5.4/powerpc-pseries-drop-pointless-static-qualifier-in-vpa_debugfs_init.patch b/queue-5.4/powerpc-pseries-drop-pointless-static-qualifier-in-vpa_debugfs_init.patch
new file mode 100644 (file)
index 0000000..e3420fa
--- /dev/null
@@ -0,0 +1,35 @@
+From 11dd34f3eae5a468013bb161a1dcf1fecd2ca321 Mon Sep 17 00:00:00 2001
+From: YueHaibing <yuehaibing@huawei.com>
+Date: Mon, 18 Feb 2019 12:56:44 +0000
+Subject: powerpc/pseries: Drop pointless static qualifier in vpa_debugfs_init()
+
+From: YueHaibing <yuehaibing@huawei.com>
+
+commit 11dd34f3eae5a468013bb161a1dcf1fecd2ca321 upstream.
+
+There is no need to have the 'struct dentry *vpa_dir' variable static
+since new value always be assigned before use it.
+
+Fixes: c6c26fb55e8e ("powerpc/pseries: Export raw per-CPU VPA data via debugfs")
+Signed-off-by: YueHaibing <yuehaibing@huawei.com>
+Reviewed-by: Daniel Axtens <dja@axtens.net>
+Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
+Link: https://lore.kernel.org/r/20190218125644.87448-1-yuehaibing@huawei.com
+Cc: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/powerpc/platforms/pseries/lpar.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/arch/powerpc/platforms/pseries/lpar.c
++++ b/arch/powerpc/platforms/pseries/lpar.c
+@@ -1992,7 +1992,7 @@ static int __init vpa_debugfs_init(void)
+ {
+       char name[16];
+       long i;
+-      static struct dentry *vpa_dir;
++      struct dentry *vpa_dir;
+       if (!firmware_has_feature(FW_FEATURE_SPLPAR))
+               return 0;
diff --git a/queue-5.4/sched-core-remove-duplicate-assignment-in-sched_tick_remote.patch b/queue-5.4/sched-core-remove-duplicate-assignment-in-sched_tick_remote.patch
new file mode 100644 (file)
index 0000000..d3d016b
--- /dev/null
@@ -0,0 +1,34 @@
+From 82e0516ce3a147365a5dd2a9bedd5ba43a18663d Mon Sep 17 00:00:00 2001
+From: Scott Wood <swood@redhat.com>
+Date: Mon, 3 Feb 2020 19:35:58 -0500
+Subject: sched/core: Remove duplicate assignment in sched_tick_remote()
+
+From: Scott Wood <swood@redhat.com>
+
+commit 82e0516ce3a147365a5dd2a9bedd5ba43a18663d upstream.
+
+A redundant "curr = rq->curr" was added; remove it.
+
+Fixes: ebc0f83c78a2 ("timers/nohz: Update NOHZ load in remote tick")
+Signed-off-by: Scott Wood <swood@redhat.com>
+Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
+Signed-off-by: Ingo Molnar <mingo@kernel.org>
+Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
+Link: https://lkml.kernel.org/r/1580776558-12882-1-git-send-email-swood@redhat.com
+Cc: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ kernel/sched/core.c |    1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/kernel/sched/core.c
++++ b/kernel/sched/core.c
+@@ -3676,7 +3676,6 @@ static void sched_tick_remote(struct wor
+       if (cpu_is_offline(cpu))
+               goto out_unlock;
+-      curr = rq->curr;
+       update_rq_clock(rq);
+       if (!is_idle_task(curr)) {
index bc5d5bb28228d759486b0410019c3e3f40913e01..76cc9af6a27abac70eeeefc43fa3abf1740bc4ce 100644 (file)
@@ -152,3 +152,10 @@ crypto-mxs-dcp-fix-scatterlist-linearization-for-hash.patch
 erofs-correct-the-remaining-shrink-objects.patch
 io_uring-honor-original-task-rlimit_fsize.patch
 mmc-sdhci-of-esdhc-fix-esdhc_reset-for-different-controller-versions.patch
+powerpc-pseries-drop-pointless-static-qualifier-in-vpa_debugfs_init.patch
+tools-gpio-fix-out-of-tree-build-regression.patch
+net-qualcomm-rmnet-allow-configuration-updates-to-existing-devices.patch
+arm64-dts-allwinner-h6-fix-pmu-compatible.patch
+sched-core-remove-duplicate-assignment-in-sched_tick_remote.patch
+arm64-dts-allwinner-h5-fix-pmu-compatible.patch
+mm-memcg-do-not-high-throttle-allocators-based-on-wraparound.patch
diff --git a/queue-5.4/tools-gpio-fix-out-of-tree-build-regression.patch b/queue-5.4/tools-gpio-fix-out-of-tree-build-regression.patch
new file mode 100644 (file)
index 0000000..d1357ae
--- /dev/null
@@ -0,0 +1,42 @@
+From 82f04bfe2aff428b063eefd234679b2d693228ed Mon Sep 17 00:00:00 2001
+From: Anssi Hannula <anssi.hannula@bitwise.fi>
+Date: Wed, 25 Mar 2020 12:31:54 +0200
+Subject: tools: gpio: Fix out-of-tree build regression
+
+From: Anssi Hannula <anssi.hannula@bitwise.fi>
+
+commit 82f04bfe2aff428b063eefd234679b2d693228ed upstream.
+
+Commit 0161a94e2d1c7 ("tools: gpio: Correctly add make dependencies for
+gpio_utils") added a make rule for gpio-utils-in.o but used $(output)
+instead of the correct $(OUTPUT) for the output directory, breaking
+out-of-tree build (O=xx) with the following error:
+
+  No rule to make target 'out/tools/gpio/gpio-utils-in.o', needed by 'out/tools/gpio/lsgpio-in.o'.  Stop.
+
+Fix that.
+
+Fixes: 0161a94e2d1c ("tools: gpio: Correctly add make dependencies for gpio_utils")
+Cc: <stable@vger.kernel.org>
+Cc: Laura Abbott <labbott@redhat.com>
+Signed-off-by: Anssi Hannula <anssi.hannula@bitwise.fi>
+Link: https://lore.kernel.org/r/20200325103154.32235-1-anssi.hannula@bitwise.fi
+Reviewed-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
+Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ tools/gpio/Makefile |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/tools/gpio/Makefile
++++ b/tools/gpio/Makefile
+@@ -35,7 +35,7 @@ $(OUTPUT)include/linux/gpio.h: ../../inc
+ prepare: $(OUTPUT)include/linux/gpio.h
+-GPIO_UTILS_IN := $(output)gpio-utils-in.o
++GPIO_UTILS_IN := $(OUTPUT)gpio-utils-in.o
+ $(GPIO_UTILS_IN): prepare FORCE
+       $(Q)$(MAKE) $(build)=gpio-utils