aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSasha Levin <sashal@kernel.org>2024-04-29 09:38:16 -0400
committerSasha Levin <sashal@kernel.org>2024-04-29 09:38:16 -0400
commit728f4deed6552d85d9e86c32d8da3eea24b6c309 (patch)
tree95da4295dc14c178d0e1d0f0208068f4616213e3
parentb07b3c89cb842faaf2e27a442666dc105b964121 (diff)
downloadstable-queue-728f4deed6552d85d9e86c32d8da3eea24b6c309.tar.gz
Fixes for 5.10
Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--queue-5.10/dma-xilinx_dpdma-fix-locking.patch149
-rw-r--r--queue-5.10/dmaengine-owl-fix-register-access-functions.patch58
-rw-r--r--queue-5.10/i2c-smbus-fix-null-function-pointer-dereference.patch64
-rw-r--r--queue-5.10/idma64-don-t-try-to-serve-interrupts-when-device-is-.patch44
-rw-r--r--queue-5.10/riscv-fix-task_size-on-64-bit-nommu.patch41
-rw-r--r--queue-5.10/riscv-fix-vmalloc_start-definition.patch70
-rw-r--r--queue-5.10/series6
7 files changed, 432 insertions, 0 deletions
diff --git a/queue-5.10/dma-xilinx_dpdma-fix-locking.patch b/queue-5.10/dma-xilinx_dpdma-fix-locking.patch
new file mode 100644
index 0000000000..ce462088fd
--- /dev/null
+++ b/queue-5.10/dma-xilinx_dpdma-fix-locking.patch
@@ -0,0 +1,149 @@
+From 2d61c79b7b1e6e14746ec301e8e9574763087d32 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 8 Mar 2024 16:00:32 -0500
+Subject: dma: xilinx_dpdma: Fix locking
+
+From: Sean Anderson <sean.anderson@linux.dev>
+
+[ Upstream commit 244296cc3a155199a8b080d19e645d7d49081a38 ]
+
+There are several places where either chan->lock or chan->vchan.lock was
+not held. Add appropriate locking. This fixes lockdep warnings like
+
+[ 31.077578] ------------[ cut here ]------------
+[ 31.077831] WARNING: CPU: 2 PID: 40 at drivers/dma/xilinx/xilinx_dpdma.c:834 xilinx_dpdma_chan_queue_transfer+0x274/0x5e0
+[ 31.077953] Modules linked in:
+[ 31.078019] CPU: 2 PID: 40 Comm: kworker/u12:1 Not tainted 6.6.20+ #98
+[ 31.078102] Hardware name: xlnx,zynqmp (DT)
+[ 31.078169] Workqueue: events_unbound deferred_probe_work_func
+[ 31.078272] pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
+[ 31.078377] pc : xilinx_dpdma_chan_queue_transfer+0x274/0x5e0
+[ 31.078473] lr : xilinx_dpdma_chan_queue_transfer+0x270/0x5e0
+[ 31.078550] sp : ffffffc083bb2e10
+[ 31.078590] x29: ffffffc083bb2e10 x28: 0000000000000000 x27: ffffff880165a168
+[ 31.078754] x26: ffffff880164e920 x25: ffffff880164eab8 x24: ffffff880164d480
+[ 31.078920] x23: ffffff880165a148 x22: ffffff880164e988 x21: 0000000000000000
+[ 31.079132] x20: ffffffc082aa3000 x19: ffffff880164e880 x18: 0000000000000000
+[ 31.079295] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000
+[ 31.079453] x14: 0000000000000000 x13: ffffff8802263dc0 x12: 0000000000000001
+[ 31.079613] x11: 0001ffc083bb2e34 x10: 0001ff880164e98f x9 : 0001ffc082aa3def
+[ 31.079824] x8 : 0001ffc082aa3dec x7 : 0000000000000000 x6 : 0000000000000516
+[ 31.079982] x5 : ffffffc7f8d43000 x4 : ffffff88003c9c40 x3 : ffffffffffffffff
+[ 31.080147] x2 : ffffffc7f8d43000 x1 : 00000000000000c0 x0 : 0000000000000000
+[ 31.080307] Call trace:
+[ 31.080340] xilinx_dpdma_chan_queue_transfer+0x274/0x5e0
+[ 31.080518] xilinx_dpdma_issue_pending+0x11c/0x120
+[ 31.080595] zynqmp_disp_layer_update+0x180/0x3ac
+[ 31.080712] zynqmp_dpsub_plane_atomic_update+0x11c/0x21c
+[ 31.080825] drm_atomic_helper_commit_planes+0x20c/0x684
+[ 31.080951] drm_atomic_helper_commit_tail+0x5c/0xb0
+[ 31.081139] commit_tail+0x234/0x294
+[ 31.081246] drm_atomic_helper_commit+0x1f8/0x210
+[ 31.081363] drm_atomic_commit+0x100/0x140
+[ 31.081477] drm_client_modeset_commit_atomic+0x318/0x384
+[ 31.081634] drm_client_modeset_commit_locked+0x8c/0x24c
+[ 31.081725] drm_client_modeset_commit+0x34/0x5c
+[ 31.081812] __drm_fb_helper_restore_fbdev_mode_unlocked+0x104/0x168
+[ 31.081899] drm_fb_helper_set_par+0x50/0x70
+[ 31.081971] fbcon_init+0x538/0xc48
+[ 31.082047] visual_init+0x16c/0x23c
+[ 31.082207] do_bind_con_driver.isra.0+0x2d0/0x634
+[ 31.082320] do_take_over_console+0x24c/0x33c
+[ 31.082429] do_fbcon_takeover+0xbc/0x1b0
+[ 31.082503] fbcon_fb_registered+0x2d0/0x34c
+[ 31.082663] register_framebuffer+0x27c/0x38c
+[ 31.082767] __drm_fb_helper_initial_config_and_unlock+0x5c0/0x91c
+[ 31.082939] drm_fb_helper_initial_config+0x50/0x74
+[ 31.083012] drm_fbdev_dma_client_hotplug+0xb8/0x108
+[ 31.083115] drm_client_register+0xa0/0xf4
+[ 31.083195] drm_fbdev_dma_setup+0xb0/0x1cc
+[ 31.083293] zynqmp_dpsub_drm_init+0x45c/0x4e0
+[ 31.083431] zynqmp_dpsub_probe+0x444/0x5e0
+[ 31.083616] platform_probe+0x8c/0x13c
+[ 31.083713] really_probe+0x258/0x59c
+[ 31.083793] __driver_probe_device+0xc4/0x224
+[ 31.083878] driver_probe_device+0x70/0x1c0
+[ 31.083961] __device_attach_driver+0x108/0x1e0
+[ 31.084052] bus_for_each_drv+0x9c/0x100
+[ 31.084125] __device_attach+0x100/0x298
+[ 31.084207] device_initial_probe+0x14/0x20
+[ 31.084292] bus_probe_device+0xd8/0xdc
+[ 31.084368] deferred_probe_work_func+0x11c/0x180
+[ 31.084451] process_one_work+0x3ac/0x988
+[ 31.084643] worker_thread+0x398/0x694
+[ 31.084752] kthread+0x1bc/0x1c0
+[ 31.084848] ret_from_fork+0x10/0x20
+[ 31.084932] irq event stamp: 64549
+[ 31.084970] hardirqs last enabled at (64548): [<ffffffc081adf35c>] _raw_spin_unlock_irqrestore+0x80/0x90
+[ 31.085157] hardirqs last disabled at (64549): [<ffffffc081adf010>] _raw_spin_lock_irqsave+0xc0/0xdc
+[ 31.085277] softirqs last enabled at (64503): [<ffffffc08001071c>] __do_softirq+0x47c/0x500
+[ 31.085390] softirqs last disabled at (64498): [<ffffffc080017134>] ____do_softirq+0x10/0x1c
+[ 31.085501] ---[ end trace 0000000000000000 ]---
+
+Fixes: 7cbb0c63de3f ("dmaengine: xilinx: dpdma: Add the Xilinx DisplayPort DMA engine driver")
+Signed-off-by: Sean Anderson <sean.anderson@linux.dev>
+Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
+Link: https://lore.kernel.org/r/20240308210034.3634938-2-sean.anderson@linux.dev
+Signed-off-by: Vinod Koul <vkoul@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/dma/xilinx/xilinx_dpdma.c | 13 ++++++++++---
+ 1 file changed, 10 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/dma/xilinx/xilinx_dpdma.c b/drivers/dma/xilinx/xilinx_dpdma.c
+index 6c709803203ad..058c3a6ed6bbf 100644
+--- a/drivers/dma/xilinx/xilinx_dpdma.c
++++ b/drivers/dma/xilinx/xilinx_dpdma.c
+@@ -213,7 +213,8 @@ struct xilinx_dpdma_tx_desc {
+ * @running: true if the channel is running
+ * @first_frame: flag for the first frame of stream
+ * @video_group: flag if multi-channel operation is needed for video channels
+- * @lock: lock to access struct xilinx_dpdma_chan
++ * @lock: lock to access struct xilinx_dpdma_chan. Must be taken before
++ * @vchan.lock, if both are to be held.
+ * @desc_pool: descriptor allocation pool
+ * @err_task: error IRQ bottom half handler
+ * @desc: References to descriptors being processed
+@@ -1101,12 +1102,14 @@ static void xilinx_dpdma_chan_vsync_irq(struct xilinx_dpdma_chan *chan)
+ * Complete the active descriptor, if any, promote the pending
+ * descriptor to active, and queue the next transfer, if any.
+ */
++ spin_lock(&chan->vchan.lock);
+ if (chan->desc.active)
+ vchan_cookie_complete(&chan->desc.active->vdesc);
+ chan->desc.active = pending;
+ chan->desc.pending = NULL;
+
+ xilinx_dpdma_chan_queue_transfer(chan);
++ spin_unlock(&chan->vchan.lock);
+
+ out:
+ spin_unlock_irqrestore(&chan->lock, flags);
+@@ -1264,10 +1267,12 @@ static void xilinx_dpdma_issue_pending(struct dma_chan *dchan)
+ struct xilinx_dpdma_chan *chan = to_xilinx_chan(dchan);
+ unsigned long flags;
+
+- spin_lock_irqsave(&chan->vchan.lock, flags);
++ spin_lock_irqsave(&chan->lock, flags);
++ spin_lock(&chan->vchan.lock);
+ if (vchan_issue_pending(&chan->vchan))
+ xilinx_dpdma_chan_queue_transfer(chan);
+- spin_unlock_irqrestore(&chan->vchan.lock, flags);
++ spin_unlock(&chan->vchan.lock);
++ spin_unlock_irqrestore(&chan->lock, flags);
+ }
+
+ static int xilinx_dpdma_config(struct dma_chan *dchan,
+@@ -1491,7 +1496,9 @@ static void xilinx_dpdma_chan_err_task(struct tasklet_struct *t)
+ XILINX_DPDMA_EINTR_CHAN_ERR_MASK << chan->id);
+
+ spin_lock_irqsave(&chan->lock, flags);
++ spin_lock(&chan->vchan.lock);
+ xilinx_dpdma_chan_queue_transfer(chan);
++ spin_unlock(&chan->vchan.lock);
+ spin_unlock_irqrestore(&chan->lock, flags);
+ }
+
+--
+2.43.0
+
diff --git a/queue-5.10/dmaengine-owl-fix-register-access-functions.patch b/queue-5.10/dmaengine-owl-fix-register-access-functions.patch
new file mode 100644
index 0000000000..aeb7f65f6c
--- /dev/null
+++ b/queue-5.10/dmaengine-owl-fix-register-access-functions.patch
@@ -0,0 +1,58 @@
+From 77d28a877230f0ea43e1b58beb9393639b70028d Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 22 Mar 2024 14:21:07 +0100
+Subject: dmaengine: owl: fix register access functions
+
+From: Arnd Bergmann <arnd@arndb.de>
+
+[ Upstream commit 43c633ef93a5d293c96ebcedb40130df13128428 ]
+
+When building with 'make W=1', clang notices that the computed register
+values are never actually written back but instead the wrong variable
+is set:
+
+drivers/dma/owl-dma.c:244:6: error: variable 'regval' set but not used [-Werror,-Wunused-but-set-variable]
+ 244 | u32 regval;
+ | ^
+drivers/dma/owl-dma.c:268:6: error: variable 'regval' set but not used [-Werror,-Wunused-but-set-variable]
+ 268 | u32 regval;
+ | ^
+
+Change these to what was most likely intended.
+
+Fixes: 47e20577c24d ("dmaengine: Add Actions Semi Owl family S900 DMA driver")
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Reviewed-by: Peter Korsgaard <peter@korsgaard.com>
+Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
+Link: https://lore.kernel.org/r/20240322132116.906475-1-arnd@kernel.org
+Signed-off-by: Vinod Koul <vkoul@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/dma/owl-dma.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/dma/owl-dma.c b/drivers/dma/owl-dma.c
+index 04202d75f4eed..695feb3443d80 100644
+--- a/drivers/dma/owl-dma.c
++++ b/drivers/dma/owl-dma.c
+@@ -249,7 +249,7 @@ static void pchan_update(struct owl_dma_pchan *pchan, u32 reg,
+ else
+ regval &= ~val;
+
+- writel(val, pchan->base + reg);
++ writel(regval, pchan->base + reg);
+ }
+
+ static void pchan_writel(struct owl_dma_pchan *pchan, u32 reg, u32 data)
+@@ -273,7 +273,7 @@ static void dma_update(struct owl_dma *od, u32 reg, u32 val, bool state)
+ else
+ regval &= ~val;
+
+- writel(val, od->base + reg);
++ writel(regval, od->base + reg);
+ }
+
+ static void dma_writel(struct owl_dma *od, u32 reg, u32 data)
+--
+2.43.0
+
diff --git a/queue-5.10/i2c-smbus-fix-null-function-pointer-dereference.patch b/queue-5.10/i2c-smbus-fix-null-function-pointer-dereference.patch
new file mode 100644
index 0000000000..f58bf5c644
--- /dev/null
+++ b/queue-5.10/i2c-smbus-fix-null-function-pointer-dereference.patch
@@ -0,0 +1,64 @@
+From 4aad2ffb3cc4298e320002778203702b617bd679 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Fri, 26 Apr 2024 08:44:08 +0200
+Subject: i2c: smbus: fix NULL function pointer dereference
+
+From: Wolfram Sang <wsa+renesas@sang-engineering.com>
+
+[ Upstream commit 91811a31b68d3765b3065f4bb6d7d6d84a7cfc9f ]
+
+Baruch reported an OOPS when using the designware controller as target
+only. Target-only modes break the assumption of one transfer function
+always being available. Fix this by always checking the pointer in
+__i2c_transfer.
+
+Reported-by: Baruch Siach <baruch@tkos.co.il>
+Closes: https://lore.kernel.org/r/4269631780e5ba789cf1ae391eec1b959def7d99.1712761976.git.baruch@tkos.co.il
+Fixes: 4b1acc43331d ("i2c: core changes for slave support")
+[wsa: dropped the simplification in core-smbus to avoid theoretical regressions]
+Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
+Tested-by: Baruch Siach <baruch@tkos.co.il>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/i2c/i2c-core-base.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c
+index 34fecf97a355b..e8a89e18c640e 100644
+--- a/drivers/i2c/i2c-core-base.c
++++ b/drivers/i2c/i2c-core-base.c
+@@ -2013,13 +2013,18 @@ static int i2c_check_for_quirks(struct i2c_adapter *adap, struct i2c_msg *msgs,
+ * Returns negative errno, else the number of messages executed.
+ *
+ * Adapter lock must be held when calling this function. No debug logging
+- * takes place. adap->algo->master_xfer existence isn't checked.
++ * takes place.
+ */
+ int __i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)
+ {
+ unsigned long orig_jiffies;
+ int ret, try;
+
++ if (!adap->algo->master_xfer) {
++ dev_dbg(&adap->dev, "I2C level transfers not supported\n");
++ return -EOPNOTSUPP;
++ }
++
+ if (WARN_ON(!msgs || num < 1))
+ return -EINVAL;
+
+@@ -2086,11 +2091,6 @@ int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs, int num)
+ {
+ int ret;
+
+- if (!adap->algo->master_xfer) {
+- dev_dbg(&adap->dev, "I2C level transfers not supported\n");
+- return -EOPNOTSUPP;
+- }
+-
+ /* REVISIT the fault reporting model here is weak:
+ *
+ * - When we get an error after receiving N bytes from a slave,
+--
+2.43.0
+
diff --git a/queue-5.10/idma64-don-t-try-to-serve-interrupts-when-device-is-.patch b/queue-5.10/idma64-don-t-try-to-serve-interrupts-when-device-is-.patch
new file mode 100644
index 0000000000..3bdf95bc32
--- /dev/null
+++ b/queue-5.10/idma64-don-t-try-to-serve-interrupts-when-device-is-.patch
@@ -0,0 +1,44 @@
+From 8085b07b4fdc87742593b7bcaa7b9514ff87e0a0 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Thu, 21 Mar 2024 14:04:21 +0200
+Subject: idma64: Don't try to serve interrupts when device is powered off
+
+From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+
+[ Upstream commit 9140ce47872bfd89fca888c2f992faa51d20c2bc ]
+
+When iDMA 64-bit device is powered off, the IRQ status register
+is all 1:s. This is never happen in real case and signalling that
+the device is simply powered off. Don't try to serve interrupts
+that are not ours.
+
+Fixes: 667dfed98615 ("dmaengine: add a driver for Intel integrated DMA 64-bit")
+Reported-by: Heiner Kallweit <hkallweit1@gmail.com>
+Closes: https://lore.kernel.org/r/700bbb84-90e1-4505-8ff0-3f17ea8bc631@gmail.com
+Tested-by: Heiner Kallweit <hkallweit1@gmail.com>
+Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+Link: https://lore.kernel.org/r/20240321120453.1360138-1-andriy.shevchenko@linux.intel.com
+Signed-off-by: Vinod Koul <vkoul@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/dma/idma64.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/drivers/dma/idma64.c b/drivers/dma/idma64.c
+index f5a84c8463945..db506e1f7ef4e 100644
+--- a/drivers/dma/idma64.c
++++ b/drivers/dma/idma64.c
+@@ -167,6 +167,10 @@ static irqreturn_t idma64_irq(int irq, void *dev)
+ u32 status_err;
+ unsigned short i;
+
++ /* Since IRQ may be shared, check if DMA controller is powered on */
++ if (status == GENMASK(31, 0))
++ return IRQ_NONE;
++
+ dev_vdbg(idma64->dma.dev, "%s: status=%#x\n", __func__, status);
+
+ /* Check if we have any interrupt from the DMA controller */
+--
+2.43.0
+
diff --git a/queue-5.10/riscv-fix-task_size-on-64-bit-nommu.patch b/queue-5.10/riscv-fix-task_size-on-64-bit-nommu.patch
new file mode 100644
index 0000000000..a8e95a78c9
--- /dev/null
+++ b/queue-5.10/riscv-fix-task_size-on-64-bit-nommu.patch
@@ -0,0 +1,41 @@
+From a718cff2563e5c3d57a7c06f81e143a25dbd49c8 Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 26 Feb 2024 16:34:46 -0800
+Subject: riscv: Fix TASK_SIZE on 64-bit NOMMU
+
+From: Samuel Holland <samuel.holland@sifive.com>
+
+[ Upstream commit 6065e736f82c817c9a597a31ee67f0ce4628e948 ]
+
+On NOMMU, userspace memory can come from anywhere in physical RAM. The
+current definition of TASK_SIZE is wrong if any RAM exists above 4G,
+causing spurious failures in the userspace access routines.
+
+Fixes: 6bd33e1ece52 ("riscv: add nommu support")
+Fixes: c3f896dcf1e4 ("mm: switch the test_vmalloc module to use __vmalloc_node")
+Signed-off-by: Samuel Holland <samuel.holland@sifive.com>
+Reviewed-by: Jisheng Zhang <jszhang@kernel.org>
+Reviewed-by: Bo Gan <ganboing@gmail.com>
+Link: https://lore.kernel.org/r/20240227003630.3634533-2-samuel.holland@sifive.com
+Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/riscv/include/asm/pgtable.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/riscv/include/asm/pgtable.h b/arch/riscv/include/asm/pgtable.h
+index d048fb5faa691..982745572945e 100644
+--- a/arch/riscv/include/asm/pgtable.h
++++ b/arch/riscv/include/asm/pgtable.h
+@@ -456,7 +456,7 @@ static inline int ptep_clear_flush_young(struct vm_area_struct *vma,
+ #define PAGE_SHARED __pgprot(0)
+ #define PAGE_KERNEL __pgprot(0)
+ #define swapper_pg_dir NULL
+-#define TASK_SIZE 0xffffffffUL
++#define TASK_SIZE _AC(-1, UL)
+ #define VMALLOC_START _AC(0, UL)
+ #define VMALLOC_END TASK_SIZE
+
+--
+2.43.0
+
diff --git a/queue-5.10/riscv-fix-vmalloc_start-definition.patch b/queue-5.10/riscv-fix-vmalloc_start-definition.patch
new file mode 100644
index 0000000000..50f82c7ae5
--- /dev/null
+++ b/queue-5.10/riscv-fix-vmalloc_start-definition.patch
@@ -0,0 +1,70 @@
+From 87d28e44af215540d086fd3e34c022f0bb222a8e Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Tue, 5 Dec 2023 11:02:55 +0800
+Subject: riscv: fix VMALLOC_START definition
+
+From: Baoquan He <bhe@redhat.com>
+
+[ Upstream commit ac88ff6b9d7dea9f0907c86bdae204dde7d5c0e6 ]
+
+When below config items are set, compiler complained:
+
+--------------------
+CONFIG_CRASH_CORE=y
+CONFIG_KEXEC_CORE=y
+CONFIG_CRASH_DUMP=y
+......
+-----------------------
+
+-------------------------------------------------------------------
+arch/riscv/kernel/crash_core.c: In function 'arch_crash_save_vmcoreinfo':
+arch/riscv/kernel/crash_core.c:11:58: warning: format '%lx' expects argument of type 'long unsigned int', but argument 2 has type 'int' [-Wformat=]
+11 | vmcoreinfo_append_str("NUMBER(VMALLOC_START)=0x%lx\n", VMALLOC_START);
+ | ~~^
+ | |
+ | long unsigned int
+ | %x
+----------------------------------------------------------------------
+
+This is because on riscv macro VMALLOC_START has different type when
+CONFIG_MMU is set or unset.
+
+arch/riscv/include/asm/pgtable.h:
+--------------------------------------------------
+
+Changing it to _AC(0, UL) in case CONFIG_MMU=n can fix the warning.
+
+Link: https://lkml.kernel.org/r/ZW7OsX4zQRA3mO4+@MiWiFi-R3L-srv
+Signed-off-by: Baoquan He <bhe@redhat.com>
+Reported-by: Randy Dunlap <rdunlap@infradead.org>
+Acked-by: Randy Dunlap <rdunlap@infradead.org>
+Tested-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
+Cc: Eric DeVolder <eric_devolder@yahoo.com>
+Cc: Ignat Korchagin <ignat@cloudflare.com>
+Cc: Stephen Rothwell <sfr@canb.auug.org.au>
+Cc: Paul Walmsley <paul.walmsley@sifive.com>
+Cc: Palmer Dabbelt <palmer@dabbelt.com>
+Cc: Albert Ou <aou@eecs.berkeley.edu>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Stable-dep-of: 6065e736f82c ("riscv: Fix TASK_SIZE on 64-bit NOMMU")
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/riscv/include/asm/pgtable.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/riscv/include/asm/pgtable.h b/arch/riscv/include/asm/pgtable.h
+index 5ab13570daa53..d048fb5faa691 100644
+--- a/arch/riscv/include/asm/pgtable.h
++++ b/arch/riscv/include/asm/pgtable.h
+@@ -457,7 +457,7 @@ static inline int ptep_clear_flush_young(struct vm_area_struct *vma,
+ #define PAGE_KERNEL __pgprot(0)
+ #define swapper_pg_dir NULL
+ #define TASK_SIZE 0xffffffffUL
+-#define VMALLOC_START 0
++#define VMALLOC_START _AC(0, UL)
+ #define VMALLOC_END TASK_SIZE
+
+ static inline void __kernel_map_pages(struct page *page, int numpages, int enable) {}
+--
+2.43.0
+
diff --git a/queue-5.10/series b/queue-5.10/series
index 461351d3e3..eeefefce97 100644
--- a/queue-5.10/series
+++ b/queue-5.10/series
@@ -125,3 +125,9 @@ stackdepot-respect-__gfp_nolockdep-allocation-flag.patch
mtd-diskonchip-work-around-ubsan-link-failure.patch
tcp-clean-up-kernel-listener-s-reqsk-in-inet_twsk_purge.patch
tcp-fix-new_syn_recv-handling-in-inet_twsk_purge.patch
+dmaengine-owl-fix-register-access-functions.patch
+idma64-don-t-try-to-serve-interrupts-when-device-is-.patch
+dma-xilinx_dpdma-fix-locking.patch
+riscv-fix-vmalloc_start-definition.patch
+riscv-fix-task_size-on-64-bit-nommu.patch
+i2c-smbus-fix-null-function-pointer-dereference.patch