{"id":2230062,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2230062/?format=json","web_url":"http://patchwork.ozlabs.org/project/ltp/patch/20260429064011.3200745-1-wakel@google.com/","project":{"id":59,"url":"http://patchwork.ozlabs.org/api/1.1/projects/59/?format=json","name":"Linux Test Project development","link_name":"ltp","list_id":"ltp.lists.linux.it","list_email":"ltp@lists.linux.it","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20260429064011.3200745-1-wakel@google.com>","date":"2026-04-29T06:40:10","name":"lapi/userfaultfd: Handle ENOSYS in SAFE_USERFAULTFD","commit_ref":null,"pull_url":null,"state":"changes-requested","archived":false,"hash":"3d82f4b89fab80a0057ccffaceaba67095f11cd8","submitter":{"id":92108,"url":"http://patchwork.ozlabs.org/api/1.1/people/92108/?format=json","name":"Wake Liu","email":"wakel@google.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/ltp/patch/20260429064011.3200745-1-wakel@google.com/mbox/","series":[{"id":502000,"url":"http://patchwork.ozlabs.org/api/1.1/series/502000/?format=json","web_url":"http://patchwork.ozlabs.org/project/ltp/list/?series=502000","date":"2026-04-29T06:40:10","name":"lapi/userfaultfd: Handle ENOSYS in SAFE_USERFAULTFD","version":1,"mbox":"http://patchwork.ozlabs.org/series/502000/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2230062/comments/","check":"warning","checks":"http://patchwork.ozlabs.org/api/patches/2230062/checks/","tags":{},"headers":{"Return-Path":"<ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it>","X-Original-To":["incoming@patchwork.ozlabs.org","ltp@lists.linux.it"],"Delivered-To":["patchwork-incoming@legolas.ozlabs.org","ltp@picard.linux.it"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=lists.linux.it header.i=@lists.linux.it\n header.a=rsa-sha256 header.s=picard header.b=ZE0QVLwo;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=google.com header.i=@google.com header.a=rsa-sha256\n header.s=20251104 header.b=dBjerSOv;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.linux.it\n (client-ip=213.254.12.146; helo=picard.linux.it;\n envelope-from=ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it;\n receiver=patchwork.ozlabs.org)"],"Received":["from picard.linux.it (picard.linux.it [213.254.12.146])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g573M1cTCz1yHX\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 29 Apr 2026 16:40:31 +1000 (AEST)","from picard.linux.it (localhost [IPv6:::1])\n\tby picard.linux.it (Postfix) with ESMTP id AFD6F3CFB7E\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 29 Apr 2026 08:40:23 +0200 (CEST)","from in-6.smtp.seeweb.it (in-6.smtp.seeweb.it [217.194.8.6])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature ECDSA (secp384r1))\n (No client certificate requested)\n by picard.linux.it (Postfix) with ESMTPS id 4C2063CFB7E\n for <ltp@lists.linux.it>; Wed, 29 Apr 2026 08:40:19 +0200 (CEST)","from mail-pf1-x44a.google.com (mail-pf1-x44a.google.com\n [IPv6:2607:f8b0:4864:20::44a])\n (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)\n key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n (No client certificate requested)\n by in-6.smtp.seeweb.it (Postfix) with ESMTPS id 739F31400C5E\n for <ltp@lists.linux.it>; Wed, 29 Apr 2026 08:40:19 +0200 (CEST)","by mail-pf1-x44a.google.com with SMTP id\n d2e1a72fcca58-8230d6d54a5so343742b3a.1\n for <ltp@lists.linux.it>; Tue, 28 Apr 2026 23:40:19 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=lists.linux.it;\n i=@lists.linux.it; q=dns/txt; s=picard; t=1777444823; h=date :\n mime-version : message-id : to : subject : list-id : list-unsubscribe\n : list-archive : list-post : list-help : list-subscribe : from :\n reply-to : cc : content-type : content-transfer-encoding : sender :\n from; bh=7HFNguQ22Sp+erEk2sBTgAd0VWVQo8o2N3jaP/ds47U=;\n b=ZE0QVLwoaOqZbjRDYBVcBQo/Nm/3P58Jc0EJxNqnhkI320tPUiZV1m/F9hSNeeiU+HOBy\n rJc5SFW3ryELn3TNpUdW3xyj/wVeB+iy0bKA0XjoUoe1UiTv7SzVtVYxoYC8OBjb8PeQsCQ\n 4nMXc3bhDz4VVCy5hIueaX92djgqveA=","v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=google.com; s=20251104; t=1777444818; x=1778049618; darn=lists.linux.it;\n h=cc:to:from:subject:message-id:mime-version:date:from:to:cc:subject\n :date:message-id:reply-to;\n bh=CtMOpEZHJnfO8XEgUPd4HjCnhQ9LXVJvyOVUvR0wIMU=;\n b=dBjerSOvG4r/Zk7y3JzxaRqF3xL1hAc2T/3TPVm4CZZrYVL+0xLyrRZZ87cwsYGt+Q\n iCvmaCueLzFdx6obWVaiFpcgakkBDa2x+Trqa3tGnwb2EBplA+JDaFXiE2xj/0IAgnGg\n SNG2YWJo8AlyZxySQPyKuTdF2jLfg5tdgYr7bxiPCZc++U5Z31nwRGGkpocXC7gQaAtA\n f/8BWbhN54rW8bt5Q2PDjNw6i3yOSrdtufYc21J8lDezOAjBt/phpnIjv2hA8AXqZrn1\n +6fzh193IEaDtE1GKrncfyPXbZnqzzMJXpWjsQ+xzd0W6jJxgD26cYgvxsvp27vCydbE\n 7jmw=="],"X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777444818; x=1778049618;\n h=cc:to:from:subject:message-id:mime-version:date:x-gm-message-state\n :from:to:cc:subject:date:message-id:reply-to;\n bh=CtMOpEZHJnfO8XEgUPd4HjCnhQ9LXVJvyOVUvR0wIMU=;\n b=PlHlG7rbDuxo3qePO13XJluiDg+XgJ+A6RI4q+Ye8U3BWYtdgCcYlZWWwxZS0Gd9PN\n EnA4BTgdJ1qnj/6hjGblUrD9sdzFl24yCARk05Bxzd3OcXwoyHdWZsf/CrQ0iZiJH4MW\n kti60sOGnh/VsQCWC2WgYkxwWq1KF7wcCC+Hz+Kw4itq9H1JKOx8vNL/Vh6bGXKxTV5u\n vhF21SS0+PdEJDYqmuM4U1u85d2UwVsWI5VD9A8POMHqAHi95ZAjoB1UuIRsqeneejxl\n 4MyJJJOfbtNNFajp5pCGuggQoGmnQRdIZHcqWgCcxSE+ELhjztDRYLClqCuTqN0b9aeA\n g7/g==","X-Gm-Message-State":"AOJu0YxUy7Sz/g5FO9EUs/SNmcP+0iPDsa7LZBYZpPKD49S4jkbJA4AM\n Ugxbxb3qEx+tI2HyVT87Ta6nJKTAEJV6gU/qYbq1HPgUeIhuzGvQUyVHI+7EOae/n5Qc7YnRAgm\n igMZhLhs6cG2/lVL2K9I4eb9Ta+VRMon7e9iQYSk0QsGBrlWFESBYnWAEN5xT/qweZwWoVA9Vlp\n k6qhu0oqqcjT+K3h4V8y5Q/QV+yw==","X-Received":"from pffy15.prod.google.com ([2002:aa7:93cf:0:b0:82f:2cac:686a])\n (user=wakel job=prod-delivery.src-stubby-dispatcher) by\n 2002:a05:6a00:b47:b0:82f:39df:dd54\n with SMTP id d2e1a72fcca58-834eb434f21mr1897871b3a.8.1777444817341; Tue, 28\n Apr 2026 23:40:17 -0700 (PDT)","Date":"Wed, 29 Apr 2026 14:40:10 +0800","Mime-Version":"1.0","X-Mailer":"git-send-email 2.54.0.545.g6539524ca2-goog","Message-ID":"<20260429064011.3200745-1-wakel@google.com>","To":"ltp@lists.linux.it","X-Spam-Status":"No, score=-7.4 required=7.0 tests=DKIM_SIGNED,DKIM_VALID,\n DKIM_VALID_AU,SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL\n shortcircuit=no autolearn=disabled version=4.0.1","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on in-6.smtp.seeweb.it","X-Virus-Scanned":"clamav-milter 1.0.9 at in-6.smtp.seeweb.it","X-Virus-Status":"Clean","Subject":"[LTP] [PATCH] lapi/userfaultfd: Handle ENOSYS in SAFE_USERFAULTFD","X-BeenThere":"ltp@lists.linux.it","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"Linux Test Project <ltp.lists.linux.it>","List-Unsubscribe":"<https://lists.linux.it/options/ltp>,\n <mailto:ltp-request@lists.linux.it?subject=unsubscribe>","List-Archive":"<http://lists.linux.it/pipermail/ltp/>","List-Post":"<mailto:ltp@lists.linux.it>","List-Help":"<mailto:ltp-request@lists.linux.it?subject=help>","List-Subscribe":"<https://lists.linux.it/listinfo/ltp>,\n <mailto:ltp-request@lists.linux.it?subject=subscribe>","From":"Wake Liu via ltp <ltp@lists.linux.it>","Reply-To":"Wake Liu <wakel@google.com>","Cc":"Wake Liu <wakel@google.com>, camann@suse.com, rbranco@suse.com","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it","Sender":"\"ltp\" <ltp-bounces+incoming=patchwork.ozlabs.org@lists.linux.it>"},"content":"When CONFIG_USERFAULTFD is not enabled in the kernel, the userfaultfd\nsyscall returns ENOSYS. Currently, SAFE_USERFAULTFD calls tst_brk(TBROK)\nfor any error other than EPERM, causing tests to fail when they should\nbe skipped.\n\nAdd a check for ENOSYS to return TCONF, so that tests using\nSAFE_USERFAULTFD are skipped appropriately on kernels without\nuserfaultfd support.\n\nSigned-off-by: Wake Liu <wakel@google.com>\n---\n include/lapi/userfaultfd.h | 4 ++++\n 1 file changed, 4 insertions(+)","diff":"diff --git a/include/lapi/userfaultfd.h b/include/lapi/userfaultfd.h\nindex 0c9e34c84..09126d856 100644\n--- a/include/lapi/userfaultfd.h\n+++ b/include/lapi/userfaultfd.h\n@@ -244,6 +244,10 @@ static inline int safe_userfaultfd(const char *file, const int lineno, int\n retry:\n \tret = tst_syscall(__NR_userfaultfd, flags);\n \tif (ret == -1) {\n+\t\tif (errno == ENOSYS) {\n+\t\t\ttst_brk_(file, lineno, TCONF | TERRNO,\n+\t\t\t\t\"userfaultfd() is not supported by this kernel\");\n+\t\t}\n \t\tif (errno == EPERM) {\n \t\t\tif (retry && !(flags & UFFD_USER_MODE_ONLY)) {\n \t\t\t\tflags |= UFFD_USER_MODE_ONLY;\n","prefixes":[]}