]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
fix up the build/merge mess that ended up in the 5.10 queue somehow
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 8 Oct 2024 09:10:47 +0000 (11:10 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 8 Oct 2024 09:10:47 +0000 (11:10 +0200)
Now builds and applies properly.

12 files changed:
queue-5.10/btrfs-fix-a-null-pointer-dereference-when-failed-to-.patch [deleted file]
queue-5.10/clk-qcom-clk-rpmh-fix-overflow-in-bcm-vote.patch-10977 [deleted file]
queue-5.10/drm-omapdrm-add-missing-check-for-alloc_ordered_work.patch [deleted file]
queue-5.10/i2c-xiic-fix-pm_runtime_set_suspended-with-runtime-p.patch
queue-5.10/i2c-xiic-simplify-with-dev_err_probe.patch
queue-5.10/i2c-xiic-use-devm_clk_get_enabled.patch
queue-5.10/nfsd-fix-delegation_blocked-to-block-correctly-for-a.patch [deleted file]
queue-5.10/nfsd-fix-nfsv4-s-putpubfh-operation.patch-2672 [deleted file]
queue-5.10/pci-xilinx-nwl-clean-up-clock-on-probe-failure-remov.patch [deleted file]
queue-5.10/platform-provide-a-remove-callback-that-returns-no-v.patch [deleted file]
queue-5.10/rtc-at91sam9-fix-of-node-leak-in-probe-error-path.patch-26252 [deleted file]
queue-5.10/series

diff --git a/queue-5.10/btrfs-fix-a-null-pointer-dereference-when-failed-to-.patch b/queue-5.10/btrfs-fix-a-null-pointer-dereference-when-failed-to-.patch
deleted file mode 100644 (file)
index 51d88cb..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-From a8f623be9c15c9820e4a9a8a75156f6c3cabc08e Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sat, 28 Sep 2024 08:05:58 +0930
-Subject: btrfs: fix a NULL pointer dereference when failed to start a new
- trasacntion
-
-From: Qu Wenruo <wqu@suse.com>
-
-[ Upstream commit c3b47f49e83197e8dffd023ec568403bcdbb774b ]
-
-[BUG]
-Syzbot reported a NULL pointer dereference with the following crash:
-
-  FAULT_INJECTION: forcing a failure.
-   start_transaction+0x830/0x1670 fs/btrfs/transaction.c:676
-   prepare_to_relocate+0x31f/0x4c0 fs/btrfs/relocation.c:3642
-   relocate_block_group+0x169/0xd20 fs/btrfs/relocation.c:3678
-  ...
-  BTRFS info (device loop0): balance: ended with status: -12
-  Oops: general protection fault, probably for non-canonical address 0xdffffc00000000cc: 0000 [#1] PREEMPT SMP KASAN NOPTI
-  KASAN: null-ptr-deref in range [0x0000000000000660-0x0000000000000667]
-  RIP: 0010:btrfs_update_reloc_root+0x362/0xa80 fs/btrfs/relocation.c:926
-  Call Trace:
-   <TASK>
-   commit_fs_roots+0x2ee/0x720 fs/btrfs/transaction.c:1496
-   btrfs_commit_transaction+0xfaf/0x3740 fs/btrfs/transaction.c:2430
-   del_balance_item fs/btrfs/volumes.c:3678 [inline]
-   reset_balance_state+0x25e/0x3c0 fs/btrfs/volumes.c:3742
-   btrfs_balance+0xead/0x10c0 fs/btrfs/volumes.c:4574
-   btrfs_ioctl_balance+0x493/0x7c0 fs/btrfs/ioctl.c:3673
-   vfs_ioctl fs/ioctl.c:51 [inline]
-   __do_sys_ioctl fs/ioctl.c:907 [inline]
-   __se_sys_ioctl+0xf9/0x170 fs/ioctl.c:893
-   do_syscall_x64 arch/x86/entry/common.c:52 [inline]
-   do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83
-   entry_SYSCALL_64_after_hwframe+0x77/0x7f
-
-[CAUSE]
-The allocation failure happens at the start_transaction() inside
-prepare_to_relocate(), and during the error handling we call
-unset_reloc_control(), which makes fs_info->balance_ctl to be NULL.
-
-Then we continue the error path cleanup in btrfs_balance() by calling
-reset_balance_state() which will call del_balance_item() to fully delete
-the balance item in the root tree.
-
-However during the small window between set_reloc_contrl() and
-unset_reloc_control(), we can have a subvolume tree update and created a
-reloc_root for that subvolume.
-
-Then we go into the final btrfs_commit_transaction() of
-del_balance_item(), and into btrfs_update_reloc_root() inside
-commit_fs_roots().
-
-That function checks if fs_info->reloc_ctl is in the merge_reloc_tree
-stage, but since fs_info->reloc_ctl is NULL, it results a NULL pointer
-dereference.
-
-[FIX]
-Just add extra check on fs_info->reloc_ctl inside
-btrfs_update_reloc_root(), before checking
-fs_info->reloc_ctl->merge_reloc_tree.
-
-That DEAD_RELOC_TREE handling is to prevent further modification to the
-reloc tree during merge stage, but since there is no reloc_ctl at all,
-we do not need to bother that.
-
-Reported-by: syzbot+283673dbc38527ef9f3d@syzkaller.appspotmail.com
-Link: https://lore.kernel.org/linux-btrfs/66f6bfa7.050a0220.38ace9.0019.GAE@google.com/
-CC: stable@vger.kernel.org # 4.19+
-Reviewed-by: Josef Bacik <josef@toxicpanda.com>
-Signed-off-by: Qu Wenruo <wqu@suse.com>
-Reviewed-by: David Sterba <dsterba@suse.com>
-Signed-off-by: David Sterba <dsterba@suse.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- fs/btrfs/relocation.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c
-index 93db4486a9433..cdd16583b2ff0 100644
---- a/fs/btrfs/relocation.c
-+++ b/fs/btrfs/relocation.c
-@@ -910,7 +910,7 @@ int btrfs_update_reloc_root(struct btrfs_trans_handle *trans,
-       btrfs_grab_root(reloc_root);
-       /* root->reloc_root will stay until current relocation finished */
--      if (fs_info->reloc_ctl->merge_reloc_tree &&
-+      if (fs_info->reloc_ctl && fs_info->reloc_ctl->merge_reloc_tree &&
-           btrfs_root_refs(root_item) == 0) {
-               set_bit(BTRFS_ROOT_DEAD_RELOC_TREE, &root->state);
-               /*
--- 
-2.43.0
-
diff --git a/queue-5.10/clk-qcom-clk-rpmh-fix-overflow-in-bcm-vote.patch-10977 b/queue-5.10/clk-qcom-clk-rpmh-fix-overflow-in-bcm-vote.patch-10977
deleted file mode 100644 (file)
index 3596fcc..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-From b7b7ce6eef0b55fdf657dd7e496e65a49e187dff Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 9 Aug 2024 10:51:29 +0530
-Subject: clk: qcom: clk-rpmh: Fix overflow in BCM vote
-
-From: Mike Tipton <quic_mdtipton@quicinc.com>
-
-[ Upstream commit a4e5af27e6f6a8b0d14bc0d7eb04f4a6c7291586 ]
-
-Valid frequencies may result in BCM votes that exceed the max HW value.
-Set vote ceiling to BCM_TCS_CMD_VOTE_MASK to ensure the votes aren't
-truncated, which can result in lower frequencies than desired.
-
-Fixes: 04053f4d23a4 ("clk: qcom: clk-rpmh: Add IPA clock support")
-Cc: stable@vger.kernel.org
-Signed-off-by: Mike Tipton <quic_mdtipton@quicinc.com>
-Reviewed-by: Taniya Das <quic_tdas@quicinc.com>
-Signed-off-by: Imran Shaik <quic_imrashai@quicinc.com>
-Link: https://lore.kernel.org/r/20240809-clk-rpmh-bcm-vote-fix-v2-1-240c584b7ef9@quicinc.com
-Signed-off-by: Bjorn Andersson <andersson@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/clk/qcom/clk-rpmh.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/drivers/clk/qcom/clk-rpmh.c b/drivers/clk/qcom/clk-rpmh.c
-index e2c669b08affc..6c7cce8e82f71 100644
---- a/drivers/clk/qcom/clk-rpmh.c
-+++ b/drivers/clk/qcom/clk-rpmh.c
-@@ -270,6 +270,8 @@ static int clk_rpmh_bcm_send_cmd(struct clk_rpmh *c, bool enable)
-               cmd_state = 0;
-       }
-+      cmd_state = min(cmd_state, BCM_TCS_CMD_VOTE_MASK);
-+
-       if (c->last_sent_aggr_state != cmd_state) {
-               cmd.addr = c->res_addr;
-               cmd.data = BCM_TCS_CMD(1, enable, 0, cmd_state);
--- 
-2.43.0
-
diff --git a/queue-5.10/drm-omapdrm-add-missing-check-for-alloc_ordered_work.patch b/queue-5.10/drm-omapdrm-add-missing-check-for-alloc_ordered_work.patch
deleted file mode 100644 (file)
index 6b86a6c..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-From 52b3db6cdb0c93e30d1a3a701c771a227a6f71a6 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Thu, 8 Aug 2024 14:13:36 +0800
-Subject: drm: omapdrm: Add missing check for alloc_ordered_workqueue
-
-From: Ma Ke <make24@iscas.ac.cn>
-
-[ Upstream commit e794b7b9b92977365c693760a259f8eef940c536 ]
-
-As it may return NULL pointer and cause NULL pointer dereference. Add check
-for the return value of alloc_ordered_workqueue.
-
-Cc: stable@vger.kernel.org
-Fixes: 2f95bc6d324a ("drm: omapdrm: Perform initialization/cleanup at probe/remove time")
-Signed-off-by: Ma Ke <make24@iscas.ac.cn>
-Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
-Link: https://patchwork.freedesktop.org/patch/msgid/20240808061336.2796729-1-make24@iscas.ac.cn
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/gpu/drm/omapdrm/omap_drv.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c b/drivers/gpu/drm/omapdrm/omap_drv.c
-index 53d5e184ee77c..8c664ef0cf629 100644
---- a/drivers/gpu/drm/omapdrm/omap_drv.c
-+++ b/drivers/gpu/drm/omapdrm/omap_drv.c
-@@ -600,6 +600,10 @@ static int omapdrm_init(struct omap_drm_private *priv, struct device *dev)
-       soc = soc_device_match(omapdrm_soc_devices);
-       priv->omaprev = soc ? (unsigned int)soc->data : 0;
-       priv->wq = alloc_ordered_workqueue("omapdrm", 0);
-+      if (!priv->wq) {
-+              ret = -ENOMEM;
-+              goto err_alloc_workqueue;
-+      }
-       mutex_init(&priv->list_lock);
-       INIT_LIST_HEAD(&priv->obj_list);
-@@ -649,6 +653,7 @@ static int omapdrm_init(struct omap_drm_private *priv, struct device *dev)
- err_gem_deinit:
-       omap_gem_deinit(ddev);
-       destroy_workqueue(priv->wq);
-+err_alloc_workqueue:
-       omap_disconnect_pipelines(ddev);
-       omap_crtc_pre_uninit(priv);
-       drm_dev_put(ddev);
--- 
-2.43.0
-
index 27197b0c2e383a712f94805e111daef13daeddab..24db184154caeae943bbbe8662ea31f4e211ac1f 100644 (file)
@@ -17,14 +17,12 @@ Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
 Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- drivers/i2c/busses/i2c-xiic.c | 2 +-
+ drivers/i2c/busses/i2c-xiic.c |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/drivers/i2c/busses/i2c-xiic.c b/drivers/i2c/busses/i2c-xiic.c
-index 30839ead38361..e3a1fe8bbe25c 100644
 --- a/drivers/i2c/busses/i2c-xiic.c
 +++ b/drivers/i2c/busses/i2c-xiic.c
-@@ -871,8 +871,8 @@ static int xiic_i2c_probe(struct platform_device *pdev)
+@@ -893,8 +893,8 @@ static int xiic_i2c_probe(struct platfor
        return 0;
  
  err_pm_disable:
@@ -34,6 +32,3 @@ index 30839ead38361..e3a1fe8bbe25c 100644
  
        return ret;
  }
--- 
-2.43.0
-
index bc9e08642bdc3d0a80810e8bbfc09b0ba3fa09c9..bd3c3eff20f7e844eb454b6468efb853c7c0f5fc 100644 (file)
@@ -16,15 +16,13 @@ Signed-off-by: Wolfram Sang <wsa@kernel.org>
 Stable-dep-of: 0c8d604dea43 ("i2c: xiic: Fix pm_runtime_set_suspended() with runtime pm enabled")
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- drivers/i2c/busses/i2c-xiic.c | 9 ++++-----
+ drivers/i2c/busses/i2c-xiic.c |    9 ++++-----
  1 file changed, 4 insertions(+), 5 deletions(-)
 
-diff --git a/drivers/i2c/busses/i2c-xiic.c b/drivers/i2c/busses/i2c-xiic.c
-index 568e97c3896d1..9652e8bea2d0b 100644
 --- a/drivers/i2c/busses/i2c-xiic.c
 +++ b/drivers/i2c/busses/i2c-xiic.c
-@@ -816,11 +816,10 @@ static int xiic_i2c_probe(struct platform_device *pdev)
-       init_waitqueue_head(&i2c->wait);
+@@ -838,11 +838,10 @@ static int xiic_i2c_probe(struct platfor
+       mutex_init(&i2c->lock);
  
        i2c->clk = devm_clk_get(&pdev->dev, NULL);
 -      if (IS_ERR(i2c->clk)) {
@@ -39,6 +37,3 @@ index 568e97c3896d1..9652e8bea2d0b 100644
        ret = clk_prepare_enable(i2c->clk);
        if (ret) {
                dev_err(&pdev->dev, "Unable to enable clock.\n");
--- 
-2.43.0
-
index 563d5638992f32bc4aeea9985a53153f84dc3560..344c89e82bef26cfd312eaf00319efcc46cc451b 100644 (file)
@@ -16,16 +16,14 @@ Signed-off-by: Wolfram Sang <wsa@kernel.org>
 Stable-dep-of: 0c8d604dea43 ("i2c: xiic: Fix pm_runtime_set_suspended() with runtime pm enabled")
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- drivers/i2c/busses/i2c-xiic.c | 20 +++++++-------------
+ drivers/i2c/busses/i2c-xiic.c |   20 +++++++-------------
  1 file changed, 7 insertions(+), 13 deletions(-)
 
-diff --git a/drivers/i2c/busses/i2c-xiic.c b/drivers/i2c/busses/i2c-xiic.c
-index 9652e8bea2d0b..30839ead38361 100644
 --- a/drivers/i2c/busses/i2c-xiic.c
 +++ b/drivers/i2c/busses/i2c-xiic.c
-@@ -815,16 +815,11 @@ static int xiic_i2c_probe(struct platform_device *pdev)
+@@ -837,16 +837,11 @@ static int xiic_i2c_probe(struct platfor
        mutex_init(&i2c->lock);
-       init_waitqueue_head(&i2c->wait);
  
 -      i2c->clk = devm_clk_get(&pdev->dev, NULL);
 +      i2c->clk = devm_clk_get_enabled(&pdev->dev, NULL);
@@ -42,7 +40,7 @@ index 9652e8bea2d0b..30839ead38361 100644
        i2c->dev = &pdev->dev;
        pm_runtime_set_autosuspend_delay(i2c->dev, XIIC_PM_TIMEOUT);
        pm_runtime_use_autosuspend(i2c->dev);
-@@ -836,7 +831,7 @@ static int xiic_i2c_probe(struct platform_device *pdev)
+@@ -858,7 +853,7 @@ static int xiic_i2c_probe(struct platfor
  
        if (ret < 0) {
                dev_err(&pdev->dev, "Cannot claim IRQ\n");
@@ -51,7 +49,7 @@ index 9652e8bea2d0b..30839ead38361 100644
        }
  
        i2c->singlemaster =
-@@ -857,14 +852,14 @@ static int xiic_i2c_probe(struct platform_device *pdev)
+@@ -879,14 +874,14 @@ static int xiic_i2c_probe(struct platfor
        ret = xiic_reinit(i2c);
        if (ret < 0) {
                dev_err(&pdev->dev, "Cannot xiic_reinit\n");
@@ -68,7 +66,7 @@ index 9652e8bea2d0b..30839ead38361 100644
        }
  
        if (pdata) {
-@@ -875,10 +870,10 @@ static int xiic_i2c_probe(struct platform_device *pdev)
+@@ -897,10 +892,10 @@ static int xiic_i2c_probe(struct platfor
  
        return 0;
  
@@ -81,7 +79,7 @@ index 9652e8bea2d0b..30839ead38361 100644
        return ret;
  }
  
-@@ -896,7 +891,6 @@ static int xiic_i2c_remove(struct platform_device *pdev)
+@@ -918,7 +913,6 @@ static int xiic_i2c_remove(struct platfo
  
        xiic_deinit(i2c);
        pm_runtime_put_sync(i2c->dev);
@@ -89,6 +87,3 @@ index 9652e8bea2d0b..30839ead38361 100644
        pm_runtime_disable(&pdev->dev);
        pm_runtime_set_suspended(&pdev->dev);
        pm_runtime_dont_use_autosuspend(&pdev->dev);
--- 
-2.43.0
-
diff --git a/queue-5.10/nfsd-fix-delegation_blocked-to-block-correctly-for-a.patch b/queue-5.10/nfsd-fix-delegation_blocked-to-block-correctly-for-a.patch
deleted file mode 100644 (file)
index ff5526a..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-From 93529c612ade28e53bf1b0639f1d519476e164ad Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 9 Sep 2024 15:06:36 +1000
-Subject: nfsd: fix delegation_blocked() to block correctly for at least 30
- seconds
-
-From: NeilBrown <neilb@suse.de>
-
-[ Upstream commit 45bb63ed20e02ae146336412889fe5450316a84f ]
-
-The pair of bloom filtered used by delegation_blocked() was intended to
-block delegations on given filehandles for between 30 and 60 seconds.  A
-new filehandle would be recorded in the "new" bit set.  That would then
-be switch to the "old" bit set between 0 and 30 seconds later, and it
-would remain as the "old" bit set for 30 seconds.
-
-Unfortunately the code intended to clear the old bit set once it reached
-30 seconds old, preparing it to be the next new bit set, instead cleared
-the *new* bit set before switching it to be the old bit set.  This means
-that the "old" bit set is always empty and delegations are blocked
-between 0 and 30 seconds.
-
-This patch updates bd->new before clearing the set with that index,
-instead of afterwards.
-
-Reported-by: Olga Kornievskaia <okorniev@redhat.com>
-Cc: stable@vger.kernel.org
-Fixes: 6282cd565553 ("NFSD: Don't hand out delegations for 30 seconds after recalling them.")
-Signed-off-by: NeilBrown <neilb@suse.de>
-Reviewed-by: Benjamin Coddington <bcodding@redhat.com>
-Reviewed-by: Jeff Layton <jlayton@kernel.org>
-Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- fs/nfsd/nfs4state.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
-index 8e84ddccce4bf..18d64a9312a7a 100644
---- a/fs/nfsd/nfs4state.c
-+++ b/fs/nfsd/nfs4state.c
-@@ -1090,7 +1090,8 @@ static void nfs4_free_deleg(struct nfs4_stid *stid)
-  * When a delegation is recalled, the filehandle is stored in the "new"
-  * filter.
-  * Every 30 seconds we swap the filters and clear the "new" one,
-- * unless both are empty of course.
-+ * unless both are empty of course.  This results in delegations for a
-+ * given filehandle being blocked for between 30 and 60 seconds.
-  *
-  * Each filter is 256 bits.  We hash the filehandle to 32bit and use the
-  * low 3 bytes as hash-table indices.
-@@ -1119,9 +1120,9 @@ static int delegation_blocked(struct knfsd_fh *fh)
-               if (ktime_get_seconds() - bd->swap_time > 30) {
-                       bd->entries -= bd->old_entries;
-                       bd->old_entries = bd->entries;
-+                      bd->new = 1-bd->new;
-                       memset(bd->set[bd->new], 0,
-                              sizeof(bd->set[0]));
--                      bd->new = 1-bd->new;
-                       bd->swap_time = ktime_get_seconds();
-               }
-               spin_unlock(&blocked_delegations_lock);
--- 
-2.43.0
-
diff --git a/queue-5.10/nfsd-fix-nfsv4-s-putpubfh-operation.patch-2672 b/queue-5.10/nfsd-fix-nfsv4-s-putpubfh-operation.patch-2672
deleted file mode 100644 (file)
index 88d2857..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-From 8a4e92f880f9caba6dd521e29c331d1a7d8b72ce Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sun, 11 Aug 2024 13:11:07 -0400
-Subject: NFSD: Fix NFSv4's PUTPUBFH operation
-
-From: Chuck Lever <chuck.lever@oracle.com>
-
-[ Upstream commit 202f39039a11402dcbcd5fece8d9fa6be83f49ae ]
-
-According to RFC 8881, all minor versions of NFSv4 support PUTPUBFH.
-
-Replace the XDR decoder for PUTPUBFH with a "noop" since we no
-longer want the minorversion check, and PUTPUBFH has no arguments to
-decode. (Ideally nfsd4_decode_noop should really be called
-nfsd4_decode_void).
-
-PUTPUBFH should now behave just like PUTROOTFH.
-
-Reported-by: Cedric Blancher <cedric.blancher@gmail.com>
-Fixes: e1a90ebd8b23 ("NFSD: Combine decode operations for v4 and v4.1")
-Cc: Dan Shelton <dan.f.shelton@gmail.com>
-Cc: Roland Mainz <roland.mainz@nrubsig.org>
-Cc: stable@vger.kernel.org
-Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- fs/nfsd/nfs4xdr.c | 10 +---------
- 1 file changed, 1 insertion(+), 9 deletions(-)
-
-diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
-index 5a68c62864925..d1625a6ff3ce3 100644
---- a/fs/nfsd/nfs4xdr.c
-+++ b/fs/nfsd/nfs4xdr.c
-@@ -1245,14 +1245,6 @@ nfsd4_decode_putfh(struct nfsd4_compoundargs *argp, union nfsd4_op_u *u)
-       return nfs_ok;
- }
--static __be32
--nfsd4_decode_putpubfh(struct nfsd4_compoundargs *argp, union nfsd4_op_u *p)
--{
--      if (argp->minorversion == 0)
--              return nfs_ok;
--      return nfserr_notsupp;
--}
--
- static __be32
- nfsd4_decode_read(struct nfsd4_compoundargs *argp, union nfsd4_op_u *u)
- {
-@@ -2345,7 +2337,7 @@ static const nfsd4_dec nfsd4_dec_ops[] = {
-       [OP_OPEN_CONFIRM]       = nfsd4_decode_open_confirm,
-       [OP_OPEN_DOWNGRADE]     = nfsd4_decode_open_downgrade,
-       [OP_PUTFH]              = nfsd4_decode_putfh,
--      [OP_PUTPUBFH]           = nfsd4_decode_putpubfh,
-+      [OP_PUTPUBFH]           = nfsd4_decode_noop,
-       [OP_PUTROOTFH]          = nfsd4_decode_noop,
-       [OP_READ]               = nfsd4_decode_read,
-       [OP_READDIR]            = nfsd4_decode_readdir,
--- 
-2.43.0
-
diff --git a/queue-5.10/pci-xilinx-nwl-clean-up-clock-on-probe-failure-remov.patch b/queue-5.10/pci-xilinx-nwl-clean-up-clock-on-probe-failure-remov.patch
deleted file mode 100644 (file)
index f784dcf..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-From 0564b67bc1b624c7a4fc3dcd78f3b95a7920d658 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 31 May 2024 12:13:35 -0400
-Subject: PCI: xilinx-nwl: Clean up clock on probe failure/removal
-
-From: Sean Anderson <sean.anderson@linux.dev>
-
-[ Upstream commit cfd67903977b13f63340a4eb5a1cc890994f2c62 ]
-
-Make sure we turn off the clock on probe failure and device removal.
-
-Fixes: de0a01f52966 ("PCI: xilinx-nwl: Enable the clock through CCF")
-Link: https://lore.kernel.org/r/20240531161337.864994-6-sean.anderson@linux.dev
-Signed-off-by: Sean Anderson <sean.anderson@linux.dev>
-Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/pci/controller/pcie-xilinx-nwl.c | 23 +++++++++++++++++++----
- 1 file changed, 19 insertions(+), 4 deletions(-)
-
-diff --git a/drivers/pci/controller/pcie-xilinx-nwl.c b/drivers/pci/controller/pcie-xilinx-nwl.c
-index 5c6653d825fb5..396fa1ffe698c 100644
---- a/drivers/pci/controller/pcie-xilinx-nwl.c
-+++ b/drivers/pci/controller/pcie-xilinx-nwl.c
-@@ -817,6 +817,7 @@ static int nwl_pcie_probe(struct platform_device *pdev)
-               return -ENODEV;
-       pcie = pci_host_bridge_priv(bridge);
-+      platform_set_drvdata(pdev, pcie);
-       pcie->dev = dev;
-       pcie->ecam_value = NWL_ECAM_VALUE_DEFAULT;
-@@ -840,13 +841,13 @@ static int nwl_pcie_probe(struct platform_device *pdev)
-       err = nwl_pcie_bridge_init(pcie);
-       if (err) {
-               dev_err(dev, "HW Initialization failed\n");
--              return err;
-+              goto err_clk;
-       }
-       err = nwl_pcie_init_irq_domain(pcie);
-       if (err) {
-               dev_err(dev, "Failed creating IRQ Domain\n");
--              return err;
-+              goto err_clk;
-       }
-       bridge->sysdata = pcie;
-@@ -856,11 +857,24 @@ static int nwl_pcie_probe(struct platform_device *pdev)
-               err = nwl_pcie_enable_msi(pcie);
-               if (err < 0) {
-                       dev_err(dev, "failed to enable MSI support: %d\n", err);
--                      return err;
-+                      goto err_clk;
-               }
-       }
--      return pci_host_probe(bridge);
-+      err = pci_host_probe(bridge);
-+      if (!err)
-+              return 0;
-+
-+err_clk:
-+      clk_disable_unprepare(pcie->clk);
-+      return err;
-+}
-+
-+static void nwl_pcie_remove(struct platform_device *pdev)
-+{
-+      struct nwl_pcie *pcie = platform_get_drvdata(pdev);
-+
-+      clk_disable_unprepare(pcie->clk);
- }
- static struct platform_driver nwl_pcie_driver = {
-@@ -870,5 +884,6 @@ static struct platform_driver nwl_pcie_driver = {
-               .of_match_table = nwl_pcie_of_match,
-       },
-       .probe = nwl_pcie_probe,
-+      .remove_new = nwl_pcie_remove,
- };
- builtin_platform_driver(nwl_pcie_driver);
--- 
-2.43.0
-
diff --git a/queue-5.10/platform-provide-a-remove-callback-that-returns-no-v.patch b/queue-5.10/platform-provide-a-remove-callback-that-returns-no-v.patch
deleted file mode 100644 (file)
index 5b46f87..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-From 706cc7dd5bd3352196a8773379fc8d194cbcc565 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 9 Dec 2022 16:09:14 +0100
-Subject: platform: Provide a remove callback that returns no value
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
-
-[ Upstream commit 5c5a7680e67ba6fbbb5f4d79fa41485450c1985c ]
-
-struct platform_driver::remove returning an integer made driver authors
-expect that returning an error code was proper error handling. However
-the driver core ignores the error and continues to remove the device
-because there is nothing the core could do anyhow and reentering the
-remove callback again is only calling for trouble.
-
-So this is an source for errors typically yielding resource leaks in the
-error path.
-
-As there are too many platform drivers to neatly convert them all to
-return void in a single go, do it in several steps after this patch:
-
- a) Convert all drivers to implement .remove_new() returning void instead
-    of .remove() returning int;
- b) Change struct platform_driver::remove() to return void and so make
-    it identical to .remove_new();
- c) Change all drivers back to .remove() now with the better prototype;
- d) drop struct platform_driver::remove_new().
-
-While this touches all drivers eventually twice, steps a) and c) can be
-done one driver after another and so reduces coordination efforts
-immensely and simplifies review.
-
-Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
-Link: https://lore.kernel.org/r/20221209150914.3557650-1-u.kleine-koenig@pengutronix.de
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Stable-dep-of: cfd67903977b ("PCI: xilinx-nwl: Clean up clock on probe failure/removal")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/base/platform.c         |  4 +++-
- include/linux/platform_device.h | 11 +++++++++++
- 2 files changed, 14 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/base/platform.c b/drivers/base/platform.c
-index d0b15cbab0ff0..e07043d85c65c 100644
---- a/drivers/base/platform.c
-+++ b/drivers/base/platform.c
-@@ -1306,7 +1306,9 @@ static int platform_remove(struct device *_dev)
-       struct platform_driver *drv = to_platform_driver(_dev->driver);
-       struct platform_device *dev = to_platform_device(_dev);
--      if (drv->remove) {
-+      if (drv->remove_new) {
-+              drv->remove_new(dev);
-+      } else if (drv->remove) {
-               int ret = drv->remove(dev);
-               if (ret)
-diff --git a/include/linux/platform_device.h b/include/linux/platform_device.h
-index e7a83b0218077..870a918aa251c 100644
---- a/include/linux/platform_device.h
-+++ b/include/linux/platform_device.h
-@@ -203,7 +203,18 @@ extern void platform_device_put(struct platform_device *pdev);
- struct platform_driver {
-       int (*probe)(struct platform_device *);
-+
-+      /*
-+       * Traditionally the remove callback returned an int which however is
-+       * ignored by the driver core. This led to wrong expectations by driver
-+       * authors who thought returning an error code was a valid error
-+       * handling strategy. To convert to a callback returning void, new
-+       * drivers should implement .remove_new() until the conversion it done
-+       * that eventually makes .remove() return void.
-+       */
-       int (*remove)(struct platform_device *);
-+      void (*remove_new)(struct platform_device *);
-+
-       void (*shutdown)(struct platform_device *);
-       int (*suspend)(struct platform_device *, pm_message_t state);
-       int (*resume)(struct platform_device *);
--- 
-2.43.0
-
diff --git a/queue-5.10/rtc-at91sam9-fix-of-node-leak-in-probe-error-path.patch-26252 b/queue-5.10/rtc-at91sam9-fix-of-node-leak-in-probe-error-path.patch-26252
deleted file mode 100644 (file)
index 77b5982..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-From 5b708029a103cf96a12595f381de535455b2cb71 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sun, 25 Aug 2024 20:31:03 +0200
-Subject: rtc: at91sam9: fix OF node leak in probe() error path
-
-From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
-
-[ Upstream commit 73580e2ee6adfb40276bd420da3bb1abae204e10 ]
-
-Driver is leaking an OF node reference obtained from
-of_parse_phandle_with_fixed_args().
-
-Fixes: 43e112bb3dea ("rtc: at91sam9: make use of syscon/regmap to access GPBR registers")
-Cc: stable@vger.kernel.org
-Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
-Link: https://lore.kernel.org/r/20240825183103.102904-1-krzysztof.kozlowski@linaro.org
-Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/rtc/rtc-at91sam9.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/drivers/rtc/rtc-at91sam9.c b/drivers/rtc/rtc-at91sam9.c
-index e39e89867d293..881d750d09005 100644
---- a/drivers/rtc/rtc-at91sam9.c
-+++ b/drivers/rtc/rtc-at91sam9.c
-@@ -368,6 +368,7 @@ static int at91_rtc_probe(struct platform_device *pdev)
-               return ret;
-       rtc->gpbr = syscon_node_to_regmap(args.np);
-+      of_node_put(args.np);
-       rtc->gpbr_offset = args.args[0];
-       if (IS_ERR(rtc->gpbr)) {
-               dev_err(&pdev->dev, "failed to retrieve gpbr regmap, aborting.\n");
--- 
-2.43.0
-
index 9dc5501f31f98b99c03a728f53a4c1e0e777f557..f99d1450069673ecd4cd470dc39ecbf010573af7 100644 (file)
@@ -164,8 +164,6 @@ drivers-media-dvb-frontends-rtl2832-fix-an-out-of-bo.patch
 drivers-media-dvb-frontends-rtl2830-fix-an-out-of-bo.patch
 pci-keystone-fix-if-statement-expression-in-ks_pcie_.patch
 pci-xilinx-nwl-fix-register-misspelling.patch
-platform-provide-a-remove-callback-that-returns-no-v.patch
-pci-xilinx-nwl-clean-up-clock-on-probe-failure-remov.patch
 rdma-iwcm-fix-warning-at_kernel-workqueue.c-check_fl.patch
 pinctrl-single-fix-missing-error-code-in-pcs_probe.patch
 clk-ti-dra7-atl-fix-leak-of-of_nodes.patch
@@ -430,21 +428,15 @@ arm64-add-cortex-715-cpu-part-definition.patch
 arm64-cputype-add-neoverse-n3-definitions.patch
 arm64-errata-expand-speculative-ssbs-workaround-once.patch
 uprobes-fix-kernel-info-leak-via-uprobes-vma.patch
-drm-omapdrm-add-missing-check-for-alloc_ordered_work.patch
 drm-rockchip-define-gamma-registers-for-rk3399.patch
 drm-rockchip-support-gamma-control-on-rk3399.patch
 drm-rockchip-vop-clear-dma-stop-bit-on-rk3066.patch
-nfsd-fix-delegation_blocked-to-block-correctly-for-a.patch
-nfsd-fix-nfsv4-s-putpubfh-operation.patch-2672
 clk-imx6ul-fix-enet1-gate-configuration.patch
 clk-imx6ul-add-ethernet-refclock-mux-support.patch
 clk-imx6ul-retain-early-uart-clocks-during-kernel-in.patch
 clk-imx6ul-fix-clock-parent-for-imx6ul_clk_enetx_ref.patch
 clk-qcom-dispcc-sm8250-use-clk_set_rate_parent-for-b.patch
-clk-qcom-clk-rpmh-fix-overflow-in-bcm-vote.patch-10977
 r8169-fix-spelling-mistake-tx_underun-tx_underrun.patch
 r8169-add-tally-counter-fields-added-with-rtl8125.patch
-rtc-at91sam9-fix-of-node-leak-in-probe-error-path.patch-26252
 acpi-battery-simplify-battery-hook-locking.patch
 acpi-battery-fix-possible-crash-when-unregistering-a.patch
-btrfs-fix-a-null-pointer-dereference-when-failed-to-.patch