[PATCH] smb: client: Use common code in smb2_push_mandatory_locks()

Markus Elfring posted 1 patch 4 months ago
fs/smb/client/smb2file.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
[PATCH] smb: client: Use common code in smb2_push_mandatory_locks()
Posted by Markus Elfring 4 months ago
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Tue, 7 Oct 2025 21:37:18 +0200

Use an additional label so that a bit of common code can be better reused
at the end of this function implementation.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
 fs/smb/client/smb2file.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/fs/smb/client/smb2file.c b/fs/smb/client/smb2file.c
index a7f629238830..42ac00f7e728 100644
--- a/fs/smb/client/smb2file.c
+++ b/fs/smb/client/smb2file.c
@@ -413,8 +413,8 @@ smb2_push_mandatory_locks(struct cifsFileInfo *cfile)
 	 */
 	max_buf = tlink_tcon(cfile->tlink)->ses->server->maxBuf;
 	if (max_buf < sizeof(struct smb2_lock_element)) {
-		free_xid(xid);
-		return -EINVAL;
+		rc = -EINVAL;
+		goto free_xid;
 	}
 
 	BUILD_BUG_ON(sizeof(struct smb2_lock_element) > PAGE_SIZE);
@@ -422,8 +422,8 @@ smb2_push_mandatory_locks(struct cifsFileInfo *cfile)
 	max_num = max_buf / sizeof(struct smb2_lock_element);
 	buf = kcalloc(max_num, sizeof(struct smb2_lock_element), GFP_KERNEL);
 	if (!buf) {
-		free_xid(xid);
-		return -ENOMEM;
+		rc = -ENOMEM;
+		goto free_xid;
 	}
 
 	list_for_each_entry(fdlocks, &cinode->llist, llist) {
@@ -433,6 +433,7 @@ smb2_push_mandatory_locks(struct cifsFileInfo *cfile)
 	}
 
 	kfree(buf);
+free_xid:
 	free_xid(xid);
 	return rc;
 }
-- 
2.51.0