Re: [PATCH 5.4] NFSD: Force all NFSv4.2 COPY requests to be synchronous

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[ Sasha's backport helper bot ]

Hi,

The upstream commit SHA1 provided is correct: 8d915bbf39266bb66082c1e4980e123883f19830

WARNING: Author mismatch between patch and upstream commit:
Backport author: cel@xxxxxxxxxx
Commit author: Chuck Lever <chuck.lever@xxxxxxxxxx>


Status in newer kernel trees:
6.12.y | Present (exact SHA1)
6.11.y | Present (exact SHA1)
6.6.y | Not found
6.1.y | Not found
5.15.y | Not found
5.10.y | Not found
5.4.y | Not found

Note: The patch differs from the upstream commit:
---
--- -	2024-11-20 15:40:02.161540833 -0500
+++ /tmp/tmp.PdmCvDR3aZ	2024-11-20 15:40:02.153931894 -0500
@@ -1,3 +1,5 @@
+[ Upstream commit 8d915bbf39266bb66082c1e4980e123883f19830 ]
+
 We've discovered that delivering a CB_OFFLOAD operation can be
 unreliable in some pretty unremarkable situations. Examples
 include:
@@ -28,16 +30,18 @@
 COPY result is returned in that case, and the client can present
 a fresh COPY request for the remainder.
 
+Link: https://nvd.nist.gov/vuln/detail/CVE-2024-49974
+[ cel: adjusted to apply to origin/linux-5.4.y ]
 Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx>
 ---
  fs/nfsd/nfs4proc.c | 7 +++++++
  1 file changed, 7 insertions(+)
 
 diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c
-index ea3cc3e870a7f..46bd20fe5c0f4 100644
+index e38f873f98a7..27e9754ad3b9 100644
 --- a/fs/nfsd/nfs4proc.c
 +++ b/fs/nfsd/nfs4proc.c
-@@ -1807,6 +1807,13 @@ nfsd4_copy(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
+@@ -1262,6 +1262,13 @@ nfsd4_copy(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
  	__be32 status;
  	struct nfsd4_copy *async_copy = NULL;
  
@@ -46,8 +50,11 @@
 +	 * requests to be synchronous to avoid client application
 +	 * hangs waiting for COPY completion.
 +	 */
-+	nfsd4_copy_set_sync(copy, true);
++	copy->cp_synchronous = 1;
 +
- 	copy->cp_clp = cstate->clp;
- 	if (nfsd4_ssc_is_inter(copy)) {
- 		trace_nfsd_copy_inter(copy);
+ 	status = nfsd4_verify_copy(rqstp, cstate, &copy->cp_src_stateid,
+ 				   &copy->nf_src, &copy->cp_dst_stateid,
+ 				   &copy->nf_dst);
+-- 
+2.47.0
+
---

Results of testing on various branches:

| Branch                    | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-5.4.y        |  Success    |  Success   |




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux