[lvc-project] [PATCH] nfsd: fix memory leak in __cld_pipe_inprogress_downcall()

Aleksandr Burakov a.burakov at rosalinux.ru
Fri Feb 16 16:45:41 MSK 2024


Dynamic memory, referenced by 'princhash.data' and 'name.data', 
is allocated by calling function 'memdup_user' and lost 
at __cld_pipe_inprogress_downcall() function return

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: 11a60d159259 ("nfsd: add a "GetVersion" upcall for nfsdcld")
Signed-off-by: Aleksandr Burakov <a.burakov at rosalinux.ru>
---
 fs/nfsd/nfs4recover.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c
index 2c060e0b1604..02663484782d 100644
--- a/fs/nfsd/nfs4recover.c
+++ b/fs/nfsd/nfs4recover.c
@@ -850,6 +850,8 @@ __cld_pipe_inprogress_downcall(const struct cld_msg_v2 __user *cmsg,
 			kfree(princhash.data);
 			return -EFAULT;
 		}
+		kfree(name.data);
+		kfree(princhash.data);
 		return nn->client_tracking_ops->msglen;
 	}
 	return -EFAULT;
-- 
2.25.1




More information about the lvc-project mailing list