]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
selftests: ncdevmem: don't retry EFAULT
authorStanislav Fomichev <sdf@fomichev.me>
Thu, 4 Sep 2025 18:27:10 +0000 (11:27 -0700)
committerJakub Kicinski <kuba@kernel.org>
Sat, 6 Sep 2025 01:14:34 +0000 (18:14 -0700)
devmem test fails on NIPA. Most likely we get skb(s) with readable
frags (why?) but the failure manifests as an OOM. The OOM happens
because ncdevmem spams the following message:

  recvmsg ret=-1
  recvmsg: Bad address

As of today, ncdevmem can't deal with various reasons of EFAULT:
- falling back to regular recvmsg for non-devmem skbs
- increasing ctrl_data size (can't happen with ncdevmem's large buffer)

Exit (cleanly) with error when recvmsg returns EFAULT. This should at
least cause the test to cleanup its state.

Signed-off-by: Stanislav Fomichev <sdf@fomichev.me>
Reviewed-by: Mina Almasry <almasrymina@google.com>
Link: https://patch.msgid.link/20250904182710.1586473-1-sdf@fomichev.me
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/drivers/net/hw/ncdevmem.c

index 8dc9511d046f1fbcaa4bd346c63e9bd79822e6ca..c0a22938bed2d5e2c2554c8ceed16b1dee530821 100644 (file)
@@ -945,6 +945,10 @@ static int do_server(struct memory_buffer *mem)
                        continue;
                if (ret < 0) {
                        perror("recvmsg");
+                       if (errno == EFAULT) {
+                               pr_err("received EFAULT, won't recover");
+                               goto err_close_client;
+                       }
                        continue;
                }
                if (ret == 0) {