]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
Fixes for 5.13
authorSasha Levin <sashal@kernel.org>
Mon, 6 Sep 2021 01:10:38 +0000 (21:10 -0400)
committerSasha Levin <sashal@kernel.org>
Mon, 6 Sep 2021 01:10:38 +0000 (21:10 -0400)
Signed-off-by: Sasha Levin <sashal@kernel.org>
14 files changed:
queue-5.13/ceph-fix-possible-null-pointer-dereference-in-ceph_m.patch [new file with mode: 0644]
queue-5.13/cryptoloop-add-a-deprecation-warning.patch [new file with mode: 0644]
queue-5.13/gpu-ipu-v3-fix-i.mx-ipu-v3-offset-calculations-for-s.patch [new file with mode: 0644]
queue-5.13/net-dsa-mv88e6xxx-update-mv88e6393x-serdes-errata.patch [new file with mode: 0644]
queue-5.13/net-macb-add-a-null-check-on-desc_ptp.patch [new file with mode: 0644]
queue-5.13/perf-x86-amd-ibs-work-around-erratum-1197.patch [new file with mode: 0644]
queue-5.13/perf-x86-amd-power-assign-pmu.module.patch [new file with mode: 0644]
queue-5.13/perf-x86-intel-pt-fix-mask-of-num_address_ranges.patch [new file with mode: 0644]
queue-5.13/qed-fix-the-vf-msix-vectors-flow.patch [new file with mode: 0644]
queue-5.13/qede-fix-memset-corruption.patch [new file with mode: 0644]
queue-5.13/reset-reset-zynqmp-fixed-the-argument-data-type.patch [new file with mode: 0644]
queue-5.13/riscv-dts-microchip-add-ethernet0-to-the-aliases-nod.patch [new file with mode: 0644]
queue-5.13/riscv-dts-microchip-use-local-mac-address-for-emac1.patch [new file with mode: 0644]
queue-5.13/series

diff --git a/queue-5.13/ceph-fix-possible-null-pointer-dereference-in-ceph_m.patch b/queue-5.13/ceph-fix-possible-null-pointer-dereference-in-ceph_m.patch
new file mode 100644 (file)
index 0000000..0dd065e
--- /dev/null
@@ -0,0 +1,53 @@
+From 77837783fc16dbeccf04dca9c7ba2d6c40def849 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Thu, 5 Aug 2021 08:14:34 -0700
+Subject: ceph: fix possible null-pointer dereference in ceph_mdsmap_decode()
+
+From: Tuo Li <islituo@gmail.com>
+
+[ Upstream commit a9e6ffbc5b7324b6639ee89028908b1e91ceed51 ]
+
+kcalloc() is called to allocate memory for m->m_info, and if it fails,
+ceph_mdsmap_destroy() behind the label out_err will be called:
+  ceph_mdsmap_destroy(m);
+
+In ceph_mdsmap_destroy(), m->m_info is dereferenced through:
+  kfree(m->m_info[i].export_targets);
+
+To fix this possible null-pointer dereference, check m->m_info before the
+for loop to free m->m_info[i].export_targets.
+
+[ jlayton: fix up whitespace damage
+          only kfree(m->m_info) if it's non-NULL ]
+
+Reported-by: TOTE Robot <oslab@tsinghua.edu.cn>
+Signed-off-by: Tuo Li <islituo@gmail.com>
+Signed-off-by: Jeff Layton <jlayton@kernel.org>
+Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ fs/ceph/mdsmap.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/fs/ceph/mdsmap.c b/fs/ceph/mdsmap.c
+index abd9af7727ad..3c444b9cb17b 100644
+--- a/fs/ceph/mdsmap.c
++++ b/fs/ceph/mdsmap.c
+@@ -394,9 +394,11 @@ void ceph_mdsmap_destroy(struct ceph_mdsmap *m)
+ {
+       int i;
+-      for (i = 0; i < m->possible_max_rank; i++)
+-              kfree(m->m_info[i].export_targets);
+-      kfree(m->m_info);
++      if (m->m_info) {
++              for (i = 0; i < m->possible_max_rank; i++)
++                      kfree(m->m_info[i].export_targets);
++              kfree(m->m_info);
++      }
+       kfree(m->m_data_pg_pools);
+       kfree(m);
+ }
+-- 
+2.30.2
+
diff --git a/queue-5.13/cryptoloop-add-a-deprecation-warning.patch b/queue-5.13/cryptoloop-add-a-deprecation-warning.patch
new file mode 100644 (file)
index 0000000..37763db
--- /dev/null
@@ -0,0 +1,62 @@
+From 422b0647c8957bec1c25afcb6716140bcd3d727a Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 27 Aug 2021 18:32:50 +0200
+Subject: cryptoloop: add a deprecation warning
+
+From: Christoph Hellwig <hch@lst.de>
+
+[ Upstream commit 222013f9ac30b9cec44301daa8dbd0aae38abffb ]
+
+Support for cryptoloop has been officially marked broken and deprecated
+in favor of dm-crypt (which supports the same broken algorithms if
+needed) in Linux 2.6.4 (released in March 2004), and support for it has
+been entirely removed from losetup in util-linux 2.23 (released in April
+2013).  Add a warning and a deprecation schedule.
+
+Signed-off-by: Christoph Hellwig <hch@lst.de>
+Link: https://lore.kernel.org/r/20210827163250.255325-1-hch@lst.de
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/block/Kconfig      | 4 ++--
+ drivers/block/cryptoloop.c | 2 ++
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
+index 63056cfd4b62..fbb3a558139f 100644
+--- a/drivers/block/Kconfig
++++ b/drivers/block/Kconfig
+@@ -213,7 +213,7 @@ config BLK_DEV_LOOP_MIN_COUNT
+         dynamically allocated with the /dev/loop-control interface.
+ config BLK_DEV_CRYPTOLOOP
+-      tristate "Cryptoloop Support"
++      tristate "Cryptoloop Support (DEPRECATED)"
+       select CRYPTO
+       select CRYPTO_CBC
+       depends on BLK_DEV_LOOP
+@@ -225,7 +225,7 @@ config BLK_DEV_CRYPTOLOOP
+         WARNING: This device is not safe for journaled file systems like
+         ext3 or Reiserfs. Please use the Device Mapper crypto module
+         instead, which can be configured to be on-disk compatible with the
+-        cryptoloop device.
++        cryptoloop device.  cryptoloop support will be removed in Linux 5.16.
+ source "drivers/block/drbd/Kconfig"
+diff --git a/drivers/block/cryptoloop.c b/drivers/block/cryptoloop.c
+index 3cabc335ae74..f0a91faa43a8 100644
+--- a/drivers/block/cryptoloop.c
++++ b/drivers/block/cryptoloop.c
+@@ -189,6 +189,8 @@ init_cryptoloop(void)
+       if (rc)
+               printk(KERN_ERR "cryptoloop: loop_register_transfer failed\n");
++      else
++              pr_warn("the cryptoloop driver has been deprecated and will be removed in in Linux 5.16\n");
+       return rc;
+ }
+-- 
+2.30.2
+
diff --git a/queue-5.13/gpu-ipu-v3-fix-i.mx-ipu-v3-offset-calculations-for-s.patch b/queue-5.13/gpu-ipu-v3-fix-i.mx-ipu-v3-offset-calculations-for-s.patch
new file mode 100644 (file)
index 0000000..01f4287
--- /dev/null
@@ -0,0 +1,69 @@
+From 3525a2fb941c3e5367eb70c2f27de80b2e4a31ac Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 7 Jun 2021 12:49:07 +0200
+Subject: gpu: ipu-v3: Fix i.MX IPU-v3 offset calculations for (semi)planar U/V
+ formats
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: Krzysztof HaƂasa <khalasa@piap.pl>
+
+[ Upstream commit 7cca7c8096e2c8a4149405438329b5035d0744f0 ]
+
+Video captured in 1400x1050 resolution (bytesperline aka stride = 1408
+bytes) is invalid. Fix it.
+
+Signed-off-by: Krzysztof Halasa <khalasa@piap.pl>
+Link: https://lore.kernel.org/r/m3y2bmq7a4.fsf@t19.piap.pl
+[p.zabel@pengutronix.de: added "gpu: ipu-v3:" prefix to commit description]
+Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/gpu/ipu-v3/ipu-cpmem.c | 30 +++++++++++++++---------------
+ 1 file changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/drivers/gpu/ipu-v3/ipu-cpmem.c b/drivers/gpu/ipu-v3/ipu-cpmem.c
+index a1c85d1521f5..82b244cb313e 100644
+--- a/drivers/gpu/ipu-v3/ipu-cpmem.c
++++ b/drivers/gpu/ipu-v3/ipu-cpmem.c
+@@ -585,21 +585,21 @@ static const struct ipu_rgb def_bgra_16 = {
+       .bits_per_pixel = 16,
+ };
+-#define Y_OFFSET(pix, x, y)   ((x) + pix->width * (y))
+-#define U_OFFSET(pix, x, y)   ((pix->width * pix->height) +           \
+-                               (pix->width * ((y) / 2) / 2) + (x) / 2)
+-#define V_OFFSET(pix, x, y)   ((pix->width * pix->height) +           \
+-                               (pix->width * pix->height / 4) +       \
+-                               (pix->width * ((y) / 2) / 2) + (x) / 2)
+-#define U2_OFFSET(pix, x, y)  ((pix->width * pix->height) +           \
+-                               (pix->width * (y) / 2) + (x) / 2)
+-#define V2_OFFSET(pix, x, y)  ((pix->width * pix->height) +           \
+-                               (pix->width * pix->height / 2) +       \
+-                               (pix->width * (y) / 2) + (x) / 2)
+-#define UV_OFFSET(pix, x, y)  ((pix->width * pix->height) +   \
+-                               (pix->width * ((y) / 2)) + (x))
+-#define UV2_OFFSET(pix, x, y) ((pix->width * pix->height) +   \
+-                               (pix->width * y) + (x))
++#define Y_OFFSET(pix, x, y)   ((x) + pix->bytesperline * (y))
++#define U_OFFSET(pix, x, y)   ((pix->bytesperline * pix->height) +     \
++                               (pix->bytesperline * ((y) / 2) / 2) + (x) / 2)
++#define V_OFFSET(pix, x, y)   ((pix->bytesperline * pix->height) +     \
++                               (pix->bytesperline * pix->height / 4) + \
++                               (pix->bytesperline * ((y) / 2) / 2) + (x) / 2)
++#define U2_OFFSET(pix, x, y)  ((pix->bytesperline * pix->height) +     \
++                               (pix->bytesperline * (y) / 2) + (x) / 2)
++#define V2_OFFSET(pix, x, y)  ((pix->bytesperline * pix->height) +     \
++                               (pix->bytesperline * pix->height / 2) + \
++                               (pix->bytesperline * (y) / 2) + (x) / 2)
++#define UV_OFFSET(pix, x, y)  ((pix->bytesperline * pix->height) +     \
++                               (pix->bytesperline * ((y) / 2)) + (x))
++#define UV2_OFFSET(pix, x, y) ((pix->bytesperline * pix->height) +     \
++                               (pix->bytesperline * y) + (x))
+ #define NUM_ALPHA_CHANNELS    7
+-- 
+2.30.2
+
diff --git a/queue-5.13/net-dsa-mv88e6xxx-update-mv88e6393x-serdes-errata.patch b/queue-5.13/net-dsa-mv88e6xxx-update-mv88e6393x-serdes-errata.patch
new file mode 100644 (file)
index 0000000..908221b
--- /dev/null
@@ -0,0 +1,55 @@
+From 57c218c6ba9b232332a97fd35fa1a928274938a3 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 24 Aug 2021 06:44:13 +0000
+Subject: net: dsa: mv88e6xxx: Update mv88e6393x serdes errata
+
+From: Nathan Rossi <nathan.rossi@digi.com>
+
+[ Upstream commit 3b0720ba00a7413997ad331838d22c81f252556a ]
+
+In early erratas this issue only covered port 0 when changing from
+[x]MII (rev A 3.6). In subsequent errata versions this errata changed to
+cover the additional "Hardware reset in CPU managed mode" condition, and
+removed the note specifying that it only applied to port 0.
+
+In designs where the device is configured with CPU managed mode
+(CPU_MGD), on reset all SERDES ports (p0, p9, p10) have a stuck power
+down bit and require this initial power up procedure. As such apply this
+errata to all three SERDES ports of the mv88e6393x.
+
+Signed-off-by: Nathan Rossi <nathan.rossi@digi.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/net/dsa/mv88e6xxx/serdes.c | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/net/dsa/mv88e6xxx/serdes.c b/drivers/net/dsa/mv88e6xxx/serdes.c
+index b1d46dd8eaab..6ea003678798 100644
+--- a/drivers/net/dsa/mv88e6xxx/serdes.c
++++ b/drivers/net/dsa/mv88e6xxx/serdes.c
+@@ -1277,15 +1277,16 @@ static int mv88e6393x_serdes_port_errata(struct mv88e6xxx_chip *chip, int lane)
+       int err;
+       /* mv88e6393x family errata 4.6:
+-       * Cannot clear PwrDn bit on SERDES on port 0 if device is configured
+-       * CPU_MGD mode or P0_mode is configured for [x]MII.
+-       * Workaround: Set Port0 SERDES register 4.F002 bit 5=0 and bit 15=1.
++       * Cannot clear PwrDn bit on SERDES if device is configured CPU_MGD
++       * mode or P0_mode is configured for [x]MII.
++       * Workaround: Set SERDES register 4.F002 bit 5=0 and bit 15=1.
+        *
+        * It seems that after this workaround the SERDES is automatically
+        * powered up (the bit is cleared), so power it down.
+        */
+-      if (lane == MV88E6393X_PORT0_LANE) {
+-              err = mv88e6390_serdes_read(chip, MV88E6393X_PORT0_LANE,
++      if (lane == MV88E6393X_PORT0_LANE || lane == MV88E6393X_PORT9_LANE ||
++          lane == MV88E6393X_PORT10_LANE) {
++              err = mv88e6390_serdes_read(chip, lane,
+                                           MDIO_MMD_PHYXS,
+                                           MV88E6393X_SERDES_POC, &reg);
+               if (err)
+-- 
+2.30.2
+
diff --git a/queue-5.13/net-macb-add-a-null-check-on-desc_ptp.patch b/queue-5.13/net-macb-add-a-null-check-on-desc_ptp.patch
new file mode 100644 (file)
index 0000000..c3c1309
--- /dev/null
@@ -0,0 +1,61 @@
+From 7e613b84acdcecba22d540f375065f02f1d5bfec Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 24 Aug 2021 15:32:09 +0530
+Subject: net: macb: Add a NULL check on desc_ptp
+
+From: Harini Katakam <harini.katakam@xilinx.com>
+
+[ Upstream commit 85520079afce885b80647fbd0d13d8f03d057167 ]
+
+macb_ptp_desc will not return NULL under most circumstances with correct
+Kconfig and IP design config register. But for the sake of the extreme
+corner case, check for NULL when using the helper. In case of rx_tstamp,
+no action is necessary except to return (similar to timestamp disabled)
+and warn. In case of TX, return -EINVAL to let the skb be free. Perform
+this check before marking skb in progress.
+Fixes coverity warning:
+(4) Event dereference:
+Dereferencing a null pointer "desc_ptp"
+
+Signed-off-by: Harini Katakam <harini.katakam@xilinx.com>
+Reviewed-by: Radhey Shyam Pandey <radhey.shyam.pandey@xilinx.com>
+Signed-off-by: Michal Simek <michal.simek@xilinx.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/net/ethernet/cadence/macb_ptp.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/net/ethernet/cadence/macb_ptp.c b/drivers/net/ethernet/cadence/macb_ptp.c
+index 283918aeb741..09d64a29f56e 100644
+--- a/drivers/net/ethernet/cadence/macb_ptp.c
++++ b/drivers/net/ethernet/cadence/macb_ptp.c
+@@ -275,6 +275,12 @@ void gem_ptp_rxstamp(struct macb *bp, struct sk_buff *skb,
+       if (GEM_BFEXT(DMA_RXVALID, desc->addr)) {
+               desc_ptp = macb_ptp_desc(bp, desc);
++              /* Unlikely but check */
++              if (!desc_ptp) {
++                      dev_warn_ratelimited(&bp->pdev->dev,
++                                           "Timestamp not supported in BD\n");
++                      return;
++              }
+               gem_hw_timestamp(bp, desc_ptp->ts_1, desc_ptp->ts_2, &ts);
+               memset(shhwtstamps, 0, sizeof(struct skb_shared_hwtstamps));
+               shhwtstamps->hwtstamp = ktime_set(ts.tv_sec, ts.tv_nsec);
+@@ -307,8 +313,11 @@ int gem_ptp_txstamp(struct macb_queue *queue, struct sk_buff *skb,
+       if (CIRC_SPACE(head, tail, PTP_TS_BUFFER_SIZE) == 0)
+               return -ENOMEM;
+-      skb_shinfo(skb)->tx_flags |= SKBTX_IN_PROGRESS;
+       desc_ptp = macb_ptp_desc(queue->bp, desc);
++      /* Unlikely but check */
++      if (!desc_ptp)
++              return -EINVAL;
++      skb_shinfo(skb)->tx_flags |= SKBTX_IN_PROGRESS;
+       tx_timestamp = &queue->tx_timestamps[head];
+       tx_timestamp->skb = skb;
+       /* ensure ts_1/ts_2 is loaded after ctrl (TX_USED check) */
+-- 
+2.30.2
+
diff --git a/queue-5.13/perf-x86-amd-ibs-work-around-erratum-1197.patch b/queue-5.13/perf-x86-amd-ibs-work-around-erratum-1197.patch
new file mode 100644 (file)
index 0000000..898b294
--- /dev/null
@@ -0,0 +1,64 @@
+From dee54aa1aa36e2023f1853476158cdc2c2bd0e9d Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 17 Aug 2021 17:10:42 -0500
+Subject: perf/x86/amd/ibs: Work around erratum #1197
+
+From: Kim Phillips <kim.phillips@amd.com>
+
+[ Upstream commit 26db2e0c51fe83e1dd852c1321407835b481806e ]
+
+Erratum #1197 "IBS (Instruction Based Sampling) Register State May be
+Incorrect After Restore From CC6" is published in a document:
+
+  "Revision Guide for AMD Family 19h Models 00h-0Fh Processors" 56683 Rev. 1.04 July 2021
+
+  https://bugzilla.kernel.org/show_bug.cgi?id=206537
+
+Implement the erratum's suggested workaround and ignore IBS samples if
+MSRC001_1031 == 0.
+
+Signed-off-by: Kim Phillips <kim.phillips@amd.com>
+Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
+Signed-off-by: Ingo Molnar <mingo@kernel.org>
+Link: https://lore.kernel.org/r/20210817221048.88063-3-kim.phillips@amd.com
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/x86/events/amd/ibs.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/arch/x86/events/amd/ibs.c b/arch/x86/events/amd/ibs.c
+index 40669eac9d6d..921f47b9bb24 100644
+--- a/arch/x86/events/amd/ibs.c
++++ b/arch/x86/events/amd/ibs.c
+@@ -90,6 +90,7 @@ struct perf_ibs {
+       unsigned long                   offset_mask[1];
+       int                             offset_max;
+       unsigned int                    fetch_count_reset_broken : 1;
++      unsigned int                    fetch_ignore_if_zero_rip : 1;
+       struct cpu_perf_ibs __percpu    *pcpu;
+       struct attribute                **format_attrs;
+@@ -672,6 +673,10 @@ fail:
+       if (check_rip && (ibs_data.regs[2] & IBS_RIP_INVALID)) {
+               regs.flags &= ~PERF_EFLAGS_EXACT;
+       } else {
++              /* Workaround for erratum #1197 */
++              if (perf_ibs->fetch_ignore_if_zero_rip && !(ibs_data.regs[1]))
++                      goto out;
++
+               set_linear_ip(&regs, ibs_data.regs[1]);
+               regs.flags |= PERF_EFLAGS_EXACT;
+       }
+@@ -769,6 +774,9 @@ static __init void perf_event_ibs_init(void)
+       if (boot_cpu_data.x86 >= 0x16 && boot_cpu_data.x86 <= 0x18)
+               perf_ibs_fetch.fetch_count_reset_broken = 1;
++      if (boot_cpu_data.x86 == 0x19 && boot_cpu_data.x86_model < 0x10)
++              perf_ibs_fetch.fetch_ignore_if_zero_rip = 1;
++
+       perf_ibs_pmu_init(&perf_ibs_fetch, "ibs_fetch");
+       if (ibs_caps & IBS_CAPS_OPCNT) {
+-- 
+2.30.2
+
diff --git a/queue-5.13/perf-x86-amd-power-assign-pmu.module.patch b/queue-5.13/perf-x86-amd-power-assign-pmu.module.patch
new file mode 100644 (file)
index 0000000..ee88d40
--- /dev/null
@@ -0,0 +1,35 @@
+From 179fa40bbfeb087bf31229f820c3a9df5c09fe82 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 17 Aug 2021 17:10:43 -0500
+Subject: perf/x86/amd/power: Assign pmu.module
+
+From: Kim Phillips <kim.phillips@amd.com>
+
+[ Upstream commit ccf26483416a339c114409f6e7cd02abdeaf8052 ]
+
+Assign pmu.module so the driver can't be unloaded whilst in use.
+
+Signed-off-by: Kim Phillips <kim.phillips@amd.com>
+Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
+Signed-off-by: Ingo Molnar <mingo@kernel.org>
+Link: https://lore.kernel.org/r/20210817221048.88063-4-kim.phillips@amd.com
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/x86/events/amd/power.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/arch/x86/events/amd/power.c b/arch/x86/events/amd/power.c
+index 16a2369c586e..37d5b380516e 100644
+--- a/arch/x86/events/amd/power.c
++++ b/arch/x86/events/amd/power.c
+@@ -213,6 +213,7 @@ static struct pmu pmu_class = {
+       .stop           = pmu_event_stop,
+       .read           = pmu_event_read,
+       .capabilities   = PERF_PMU_CAP_NO_EXCLUDE,
++      .module         = THIS_MODULE,
+ };
+ static int power_cpu_exit(unsigned int cpu)
+-- 
+2.30.2
+
diff --git a/queue-5.13/perf-x86-intel-pt-fix-mask-of-num_address_ranges.patch b/queue-5.13/perf-x86-intel-pt-fix-mask-of-num_address_ranges.patch
new file mode 100644 (file)
index 0000000..5c45035
--- /dev/null
@@ -0,0 +1,37 @@
+From 64bbab9fb3ed5cf2147b5de1d9772501c804372f Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 24 Aug 2021 12:06:22 +0800
+Subject: perf/x86/intel/pt: Fix mask of num_address_ranges
+
+From: Xiaoyao Li <xiaoyao.li@intel.com>
+
+[ Upstream commit c53c6b7409f4cd9e542991b53d597fbe2751d7db ]
+
+Per SDM, bit 2:0 of CPUID(0x14,1).EAX[2:0] reports the number of
+configurable address ranges for filtering, not bit 1:0.
+
+Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
+Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
+Acked-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
+Link: https://lkml.kernel.org/r/20210824040622.4081502-1-xiaoyao.li@intel.com
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/x86/events/intel/pt.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/x86/events/intel/pt.c b/arch/x86/events/intel/pt.c
+index 915847655c06..b044577785bb 100644
+--- a/arch/x86/events/intel/pt.c
++++ b/arch/x86/events/intel/pt.c
+@@ -62,7 +62,7 @@ static struct pt_cap_desc {
+       PT_CAP(single_range_output,     0, CPUID_ECX, BIT(2)),
+       PT_CAP(output_subsys,           0, CPUID_ECX, BIT(3)),
+       PT_CAP(payloads_lip,            0, CPUID_ECX, BIT(31)),
+-      PT_CAP(num_address_ranges,      1, CPUID_EAX, 0x3),
++      PT_CAP(num_address_ranges,      1, CPUID_EAX, 0x7),
+       PT_CAP(mtc_periods,             1, CPUID_EAX, 0xffff0000),
+       PT_CAP(cycle_thresholds,        1, CPUID_EBX, 0xffff),
+       PT_CAP(psb_periods,             1, CPUID_EBX, 0xffff0000),
+-- 
+2.30.2
+
diff --git a/queue-5.13/qed-fix-the-vf-msix-vectors-flow.patch b/queue-5.13/qed-fix-the-vf-msix-vectors-flow.patch
new file mode 100644 (file)
index 0000000..dbeb944
--- /dev/null
@@ -0,0 +1,43 @@
+From 95f8bf775e6b0653562399e7452e62e8124d1391 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Sun, 22 Aug 2021 22:21:14 +0300
+Subject: qed: Fix the VF msix vectors flow
+
+From: Shai Malin <smalin@marvell.com>
+
+[ Upstream commit b0cd08537db8d2fbb227cdb2e5835209db295a24 ]
+
+For VFs we should return with an error in case we didn't get the exact
+number of msix vectors as we requested.
+Not doing that will lead to a crash when starting queues for this VF.
+
+Signed-off-by: Prabhakar Kushwaha <pkushwaha@marvell.com>
+Signed-off-by: Ariel Elior <aelior@marvell.com>
+Signed-off-by: Shai Malin <smalin@marvell.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/net/ethernet/qlogic/qed/qed_main.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/net/ethernet/qlogic/qed/qed_main.c b/drivers/net/ethernet/qlogic/qed/qed_main.c
+index 5bd58c65e163..6bb9ec98a12b 100644
+--- a/drivers/net/ethernet/qlogic/qed/qed_main.c
++++ b/drivers/net/ethernet/qlogic/qed/qed_main.c
+@@ -616,7 +616,12 @@ static int qed_enable_msix(struct qed_dev *cdev,
+                       rc = cnt;
+       }
+-      if (rc > 0) {
++      /* For VFs, we should return with an error in case we didn't get the
++       * exact number of msix vectors as we requested.
++       * Not doing that will lead to a crash when starting queues for
++       * this VF.
++       */
++      if ((IS_PF(cdev) && rc > 0) || (IS_VF(cdev) && rc == cnt)) {
+               /* MSI-x configuration was achieved */
+               int_params->out.int_mode = QED_INT_MODE_MSIX;
+               int_params->out.num_vectors = rc;
+-- 
+2.30.2
+
diff --git a/queue-5.13/qede-fix-memset-corruption.patch b/queue-5.13/qede-fix-memset-corruption.patch
new file mode 100644 (file)
index 0000000..5a0d6b3
--- /dev/null
@@ -0,0 +1,48 @@
+From 83ef0493e6964fb5f3cb4e35fd389fc23d2f2ee7 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 24 Aug 2021 19:52:49 +0300
+Subject: qede: Fix memset corruption
+
+From: Shai Malin <smalin@marvell.com>
+
+[ Upstream commit e543468869e2532f5d7926e8f417782b48eca3dc ]
+
+Thanks to Kees Cook who detected the problem of memset that starting
+from not the first member, but sized for the whole struct.
+The better change will be to remove the redundant memset and to clear
+only the msix_cnt member.
+
+Signed-off-by: Prabhakar Kushwaha <pkushwaha@marvell.com>
+Signed-off-by: Ariel Elior <aelior@marvell.com>
+Signed-off-by: Shai Malin <smalin@marvell.com>
+Reported-by: Kees Cook <keescook@chromium.org>
+Reviewed-by: Kees Cook <keescook@chromium.org>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/net/ethernet/qlogic/qede/qede_main.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/net/ethernet/qlogic/qede/qede_main.c b/drivers/net/ethernet/qlogic/qede/qede_main.c
+index 7c6064baeba2..1c7f9ed6f1c1 100644
+--- a/drivers/net/ethernet/qlogic/qede/qede_main.c
++++ b/drivers/net/ethernet/qlogic/qede/qede_main.c
+@@ -1874,6 +1874,7 @@ static void qede_sync_free_irqs(struct qede_dev *edev)
+       }
+       edev->int_info.used_cnt = 0;
++      edev->int_info.msix_cnt = 0;
+ }
+ static int qede_req_msix_irqs(struct qede_dev *edev)
+@@ -2427,7 +2428,6 @@ static int qede_load(struct qede_dev *edev, enum qede_load_mode mode,
+       goto out;
+ err4:
+       qede_sync_free_irqs(edev);
+-      memset(&edev->int_info.msix_cnt, 0, sizeof(struct qed_int_info));
+ err3:
+       qede_napi_disable_remove(edev);
+ err2:
+-- 
+2.30.2
+
diff --git a/queue-5.13/reset-reset-zynqmp-fixed-the-argument-data-type.patch b/queue-5.13/reset-reset-zynqmp-fixed-the-argument-data-type.patch
new file mode 100644 (file)
index 0000000..9e1dda2
--- /dev/null
@@ -0,0 +1,39 @@
+From 211dc65e017c38f8bcc8fd1ae20de172b884e020 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 23 Jun 2021 13:46:20 +0200
+Subject: reset: reset-zynqmp: Fixed the argument data type
+
+From: Sai Krishna Potthuri <lakshmi.sai.krishna.potthuri@xilinx.com>
+
+[ Upstream commit ed104ca4bd9c405b41e968ad4ece51f6462e90b6 ]
+
+This patch changes the data type of the variable 'val' from
+int to u32.
+
+Addresses-Coverity: argument of type "int *" is incompatible with parameter of type "u32 *"
+Signed-off-by: Sai Krishna Potthuri <lakshmi.sai.krishna.potthuri@xilinx.com>
+Signed-off-by: Michal Simek <michal.simek@xilinx.com>
+Link: https://lore.kernel.org/r/925cebbe4eb73c7d0a536da204748d33c7100d8c.1624448778.git.michal.simek@xilinx.com
+Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/reset/reset-zynqmp.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/reset/reset-zynqmp.c b/drivers/reset/reset-zynqmp.c
+index ebd433fa09dd..8c51768e9a72 100644
+--- a/drivers/reset/reset-zynqmp.c
++++ b/drivers/reset/reset-zynqmp.c
+@@ -53,7 +53,8 @@ static int zynqmp_reset_status(struct reset_controller_dev *rcdev,
+                              unsigned long id)
+ {
+       struct zynqmp_reset_data *priv = to_zynqmp_reset_data(rcdev);
+-      int val, err;
++      int err;
++      u32 val;
+       err = zynqmp_pm_reset_get_status(priv->data->reset_id + id, &val);
+       if (err)
+-- 
+2.30.2
+
diff --git a/queue-5.13/riscv-dts-microchip-add-ethernet0-to-the-aliases-nod.patch b/queue-5.13/riscv-dts-microchip-add-ethernet0-to-the-aliases-nod.patch
new file mode 100644 (file)
index 0000000..9792442
--- /dev/null
@@ -0,0 +1,41 @@
+From e52ce51d35803b82d268411ae98b4ec9c7169552 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 4 Aug 2021 20:30:15 +0800
+Subject: riscv: dts: microchip: Add ethernet0 to the aliases node
+
+From: Bin Meng <bin.meng@windriver.com>
+
+[ Upstream commit 417166ddec020c4e969aea064e23822591ad54df ]
+
+U-Boot expects this alias to be in place in order to fix up the mac
+address of the ethernet node.
+
+Note on the Icicle Kit board, currently only emac1 is enabled so it
+becomes the 'ethernet0'.
+
+Signed-off-by: Bin Meng <bin.meng@windriver.com>
+Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
+Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/riscv/boot/dts/microchip/microchip-mpfs-icicle-kit.dts | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/arch/riscv/boot/dts/microchip/microchip-mpfs-icicle-kit.dts b/arch/riscv/boot/dts/microchip/microchip-mpfs-icicle-kit.dts
+index ec79944065c9..baea7d204639 100644
+--- a/arch/riscv/boot/dts/microchip/microchip-mpfs-icicle-kit.dts
++++ b/arch/riscv/boot/dts/microchip/microchip-mpfs-icicle-kit.dts
+@@ -14,6 +14,10 @@
+       model = "Microchip PolarFire-SoC Icicle Kit";
+       compatible = "microchip,mpfs-icicle-kit";
++      aliases {
++              ethernet0 = &emac1;
++      };
++
+       chosen {
+               stdout-path = &serial0;
+       };
+-- 
+2.30.2
+
diff --git a/queue-5.13/riscv-dts-microchip-use-local-mac-address-for-emac1.patch b/queue-5.13/riscv-dts-microchip-use-local-mac-address-for-emac1.patch
new file mode 100644 (file)
index 0000000..1d5ea21
--- /dev/null
@@ -0,0 +1,40 @@
+From 9cbbfab42fdc5605a32eab4a8f79f942e54369e7 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Wed, 4 Aug 2021 20:30:14 +0800
+Subject: riscv: dts: microchip: Use 'local-mac-address' for emac1
+
+From: Bin Meng <bin.meng@windriver.com>
+
+[ Upstream commit 719588dee26bac0d5979c122bc530c43dc5d07c7 ]
+
+Per the DT spec, 'local-mac-address' is used to specify MAC address
+that was assigned to the network device, while 'mac-address' is used
+to specify the MAC address that was last used by the boot program,
+and shall be used only if the value differs from 'local-mac-address'
+property value.
+
+Signed-off-by: Bin Meng <bin.meng@windriver.com>
+Reviewed-by: conor dooley <conor.dooley@microchip.com>
+Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
+Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/riscv/boot/dts/microchip/microchip-mpfs.dtsi | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/riscv/boot/dts/microchip/microchip-mpfs.dtsi b/arch/riscv/boot/dts/microchip/microchip-mpfs.dtsi
+index b9819570a7d1..9d2fbbc1f777 100644
+--- a/arch/riscv/boot/dts/microchip/microchip-mpfs.dtsi
++++ b/arch/riscv/boot/dts/microchip/microchip-mpfs.dtsi
+@@ -317,7 +317,7 @@
+                       reg = <0x0 0x20112000 0x0 0x2000>;
+                       interrupt-parent = <&plic>;
+                       interrupts = <70 71 72 73>;
+-                      mac-address = [00 00 00 00 00 00];
++                      local-mac-address = [00 00 00 00 00 00];
+                       clocks = <&clkcfg 5>, <&clkcfg 2>;
+                       status = "disabled";
+                       clock-names = "pclk", "hclk";
+-- 
+2.30.2
+
index 23e63a16edc80f2ccca2c36006b8e5f4b2c6d1b5..8067a68b525b2e602c00f9959aa8f965f1660c1f 100644 (file)
@@ -1,2 +1,15 @@
 ext4-fix-race-writing-to-an-inline_data-file-while-its-xattrs-are-changing.patch
 ext4-fix-e2fsprogs-checksum-failure-for-mounted-filesystem.patch
+gpu-ipu-v3-fix-i.mx-ipu-v3-offset-calculations-for-s.patch
+reset-reset-zynqmp-fixed-the-argument-data-type.patch
+qed-fix-the-vf-msix-vectors-flow.patch
+net-dsa-mv88e6xxx-update-mv88e6393x-serdes-errata.patch
+riscv-dts-microchip-use-local-mac-address-for-emac1.patch
+riscv-dts-microchip-add-ethernet0-to-the-aliases-nod.patch
+net-macb-add-a-null-check-on-desc_ptp.patch
+qede-fix-memset-corruption.patch
+perf-x86-intel-pt-fix-mask-of-num_address_ranges.patch
+ceph-fix-possible-null-pointer-dereference-in-ceph_m.patch
+perf-x86-amd-ibs-work-around-erratum-1197.patch
+perf-x86-amd-power-assign-pmu.module.patch
+cryptoloop-add-a-deprecation-warning.patch