]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
afs: Fix error code in afs_extract_vl_addrs()
authorDan Carpenter <error27@gmail.com>
Mon, 22 Jun 2026 09:08:36 +0000 (10:08 +0100)
committerChristian Brauner <brauner@kernel.org>
Wed, 1 Jul 2026 13:26:18 +0000 (15:26 +0200)
The error codes on these paths are only set on the first iteration
through the loop.  Set the correct error code on every iteration.

Fixes: 0a5143f2f89c ("afs: Implement VL server rotation")
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Link: https://patch.msgid.link/20260622090856.2746629-3-dhowells@redhat.com
cc: Marc Dionne <marc.dionne@auristor.com>
cc: linux-afs@lists.infradead.org
Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
fs/afs/vl_list.c

index 3e4966915ea4ccf93dfe7b7f4fe2cd50486ba7ee..003889cf0f18dcf4af5bb3dde43260802cc967d7 100644 (file)
@@ -92,7 +92,7 @@ static struct afs_addr_list *afs_extract_vl_addrs(struct afs_net *net,
 {
        struct afs_addr_list *alist;
        const u8 *b = *_b;
-       int ret = -EINVAL;
+       int ret;
 
        alist = afs_alloc_addrlist(nr_addrs);
        if (!alist)
@@ -110,6 +110,7 @@ static struct afs_addr_list *afs_extract_vl_addrs(struct afs_net *net,
                case DNS_ADDRESS_IS_IPV4:
                        if (end - b < 4) {
                                _leave(" = -EINVAL [short inet]");
+                               ret = -EINVAL;
                                goto error;
                        }
                        memcpy(x, b, 4);
@@ -122,6 +123,7 @@ static struct afs_addr_list *afs_extract_vl_addrs(struct afs_net *net,
                case DNS_ADDRESS_IS_IPV6:
                        if (end - b < 16) {
                                _leave(" = -EINVAL [short inet6]");
+                               ret = -EINVAL;
                                goto error;
                        }
                        memcpy(x, b, 16);