get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/1.1/patches/2233407/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2233407,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2233407/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/ltp/patch/20260506113655.10797-3-mmenashe@redhat.com/",
    "project": {
        "id": 59,
        "url": "http://patchwork.ozlabs.org/api/1.1/projects/59/?format=api",
        "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": "<20260506113655.10797-3-mmenashe@redhat.com>",
    "date": "2026-05-06T11:36:53",
    "name": "[2/4] futex_wait07: Add EINTR error coverage test",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": false,
    "hash": "3146014aab2bf1c099d7617a565a63d50ebd5a4a",
    "submitter": {
        "id": 93123,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/93123/?format=api",
        "name": "Michael Menasherov",
        "email": "mmenashe@redhat.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/ltp/patch/20260506113655.10797-3-mmenashe@redhat.com/mbox/",
    "series": [
        {
            "id": 502973,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/502973/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/ltp/list/?series=502973",
            "date": "2026-05-06T11:36:51",
            "name": "futex: Add error coverage tests for wait, wake and cmp_requeue",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/502973/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2233407/comments/",
    "check": "fail",
    "checks": "http://patchwork.ozlabs.org/api/patches/2233407/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=KVkFjzI3;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=SL0k30oB;\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 4g9YKP6Bfzz1yJq\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 06 May 2026 21:38:01 +1000 (AEST)",
            "from picard.linux.it (localhost [IPv6:::1])\n\tby picard.linux.it (Postfix) with ESMTP id C61AC3E6159\n\tfor <incoming@patchwork.ozlabs.org>; Wed,  6 May 2026 13:37:59 +0200 (CEST)",
            "from in-4.smtp.seeweb.it (in-4.smtp.seeweb.it [217.194.8.4])\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 734463E2CC3\n for <ltp@lists.linux.it>; Wed,  6 May 2026 13:37:06 +0200 (CEST)",
            "from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.129.124])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n (No client certificate requested)\n by in-4.smtp.seeweb.it (Postfix) with ESMTPS id CA46810009F7\n for <ltp@lists.linux.it>; Wed,  6 May 2026 13:37:05 +0200 (CEST)",
            "from mail-wm1-f71.google.com (mail-wm1-f71.google.com\n [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-219-ljqfjmgNPa2w2nctMOwoFA-1; Wed, 06 May 2026 07:37:03 -0400",
            "by mail-wm1-f71.google.com with SMTP id\n 5b1f17b1804b1-48a7994e8ddso59704375e9.0\n for <ltp@lists.linux.it>; Wed, 06 May 2026 04:37:02 -0700 (PDT)",
            "from fedora.redhat.com (85.65.168.167.dynamic.barak-online.net.\n [85.65.168.167]) by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-45055960022sm11919938f8f.26.2026.05.06.04.36.59\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 06 May 2026 04:37:00 -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=1778067479; h=to : date :\n message-id : in-reply-to : references : mime-version : subject :\n list-id : list-unsubscribe : list-archive : list-post : list-help :\n list-subscribe : from : reply-to : content-type :\n content-transfer-encoding : sender : from;\n bh=YIDZ+VjQ+QTpGPSpe41L7vB6AHlBhvlGEcwIqgUwq/k=;\n b=KVkFjzI334ZrPe0yWfUUcaFkt97AFumtHOTJxdy9Y8tIXh+TOqURGuWx5f+TsmtCqPHDN\n W3IlaL2aOG0V0d2k/wiiWeTUjDpNAio4DPdYjfBGiVy74QwvXn6bUHHwtlB8+dYneh5PiIH\n mce4+Aiw74Ril4Eov2M3f/aWM9vT4X0=",
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1778067424;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=ELO5/95huPjkbBSpOBLFHod6zNbd5CTogwmcbz0btZ8=;\n b=SL0k30oBSEF+O00iAXycOeiWVl3ajeZ8tAFVCnCBorV9raX3AccptBzNjuUFNMs9Jqz06U\n ae/YUcMaGmaWxG038Nto1tnoKkZi9ZymBczF+l+J4zkcuV6Fb3Ld7S3+0wxpOxvzT1IJhF\n kH64k8DfvwjSrPqDAyPsoQYSIByUx4k="
        ],
        "X-MC-Unique": "ljqfjmgNPa2w2nctMOwoFA-1",
        "X-Mimecast-MFC-AGG-ID": "ljqfjmgNPa2w2nctMOwoFA_1778067422",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1778067421; x=1778672221;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=ELO5/95huPjkbBSpOBLFHod6zNbd5CTogwmcbz0btZ8=;\n b=bqadyekFcOXMHNbnow7RraRwL4wqk/kUQm8kkYKzcYxUAYoBrO/nx+FCkcO+fzfgPW\n 9Da0qCsU52SwELgQjmwuOudrT3UsFLTx9U/REazlf/VvddUitQ1XzxDr5J02cri1WDIa\n h8kvmWcNg1Kzl2XtdAstIxsVKemybISDmc64aGC9BnNwi0KpMCzQw90W7WAwC+Q6IS8I\n 3G3Q3rZmr3ljZ49JZiymle/t6T6ZxLehdrGnJmT/siuO5eoO165KWC71lQ4YlaXO37kX\n uxM8ZaeNBxXqPRxkbEBu1TVLufDgwxu40EjsfIVaPKVrrCDk7hCPQ8yaEgYeR6khZ7V9\n lFyA==",
        "X-Gm-Message-State": "AOJu0Ywy27cv/ddGxdsiCGgFqNsshRtazptN1564bSRNXYtxDTGK0iBt\n jBJ+qzqIfhzfV3u2EkjVeIYAxVxVxBRh8CpYfo1NsPaOeK769+wYwpguHH8Ul/H5quMo8E6chKn\n UhJWhYxg8RyYEe2AGF5FHlH7zsu2BDBdoz+ltgjx0rfMHBgd7WYH9K3AmTJ39xpu4iaAXQi0esg\n srWbNBRp5E47oxL+hZHjIdiOMrwg0rhQmc7X/c",
        "X-Gm-Gg": "AeBDieuUEC2p7w79Xy4gu3d+fGXry+WHAMwBEuZssFxl21xEyIIjXWD358bD5C/0xqW\n Or/7YegcEmiDF06198TgEGw4xoKTk1S4RABnrZ0gnyke6ElhrIAULmPb5gd6qLbU+qqHdeVgf1f\n YMTcOZbfqYfyRVv3Dz/hZ/b/EaNoJccZ39HwPkftvo8y+9uVs/Bx0n6k0bt0T3Hzv0ZpZ1FB7Xv\n C4gUZ+mAjM3QTaWgCgscfozwY9QomOojBbicUmQxx4VVwwTg+tmfOijF72HyPJ2iLTVyikFe4kx\n 1woINwzDl+6f48Bfy8A+ZMglpOftAiCFM7EZL0LNf0Akx+TOMtvNRGG6krD6lBS3ljnwlLI7kTl\n fE27Rwq+ydaYcrlPSSjLXv4LAl2pzBBBDbnMeISUTaQy8oZfororokjSTGKvX/3/zNMyu/7mbdm\n 6DdrH0wg==",
        "X-Received": [
            "by 2002:a05:600c:5308:b0:48a:906a:9050 with SMTP id\n 5b1f17b1804b1-48e51e20759mr51473935e9.10.1778067421230;\n Wed, 06 May 2026 04:37:01 -0700 (PDT)",
            "by 2002:a05:600c:5308:b0:48a:906a:9050 with SMTP id\n 5b1f17b1804b1-48e51e20759mr51473295e9.10.1778067420605;\n Wed, 06 May 2026 04:37:00 -0700 (PDT)"
        ],
        "To": "ltp@lists.linux.it",
        "Date": "Wed,  6 May 2026 14:36:53 +0300",
        "Message-ID": "<20260506113655.10797-3-mmenashe@redhat.com>",
        "X-Mailer": "git-send-email 2.53.0",
        "In-Reply-To": "<20260506113655.10797-1-mmenashe@redhat.com>",
        "References": "<20260506113655.10797-1-mmenashe@redhat.com>",
        "MIME-Version": "1.0",
        "X-Mimecast-Spam-Score": "0",
        "X-Mimecast-MFC-PROC-ID": "RCkzh0K5IsMX4WqJTsNzgIYkHGGBOaoQqcubA5ni-gg_1778067422",
        "X-Mimecast-Originator": "redhat.com",
        "X-Spam-Status": "No, score=0.1 required=7.0 tests=DKIM_SIGNED,DKIM_VALID,\n DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS shortcircuit=no\n autolearn=disabled version=4.0.1",
        "X-Spam-Checker-Version": "SpamAssassin 4.0.1 (2024-03-25) on in-4.smtp.seeweb.it",
        "X-Virus-Scanned": "clamav-milter 1.0.9 at in-4.smtp.seeweb.it",
        "X-Virus-Status": "Clean",
        "Subject": "[LTP] [PATCH 2/4] futex_wait07: Add EINTR error coverage test",
        "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": "Michael Menasherov via ltp <ltp@lists.linux.it>",
        "Reply-To": "Michael Menasherov <mmenashe@redhat.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": "---\n runtest/syscalls                              |  1 +\n testcases/kernel/syscalls/futex/.gitignore    |  1 +\n .../kernel/syscalls/futex/futex_wait07.c      | 91 +++++++++++++++++++\n 3 files changed, 93 insertions(+)\n create mode 100644 testcases/kernel/syscalls/futex/futex_wait07.c",
    "diff": "diff --git a/runtest/syscalls b/runtest/syscalls\nindex 621355e04..75b7754db 100644\n--- a/runtest/syscalls\n+++ b/runtest/syscalls\n@@ -1906,3 +1906,4 @@ io_uring03 io_uring03\n # Tests below may cause kernel memory leak\n perf_event_open03 perf_event_open03\n futex_wait06 futex_wait06\n+futex_wait07 futex_wait07\ndiff --git a/testcases/kernel/syscalls/futex/.gitignore b/testcases/kernel/syscalls/futex/.gitignore\nindex 56596dcb4..74ac9a926 100644\n--- a/testcases/kernel/syscalls/futex/.gitignore\n+++ b/testcases/kernel/syscalls/futex/.gitignore\n@@ -14,3 +14,4 @@\n /futex_waitv02\n /futex_waitv03\n /futex_wait06\n+/futex_wait07\ndiff --git a/testcases/kernel/syscalls/futex/futex_wait07.c b/testcases/kernel/syscalls/futex/futex_wait07.c\nnew file mode 100644\nindex 000000000..c3063389a\n--- /dev/null\n+++ b/testcases/kernel/syscalls/futex/futex_wait07.c\n@@ -0,0 +1,91 @@\n+// SPDX-License-Identifier: GPL-2.0-or-later\n+/*\n+ * Copyright (C) 2026 Red Hat, Inc.\n+ */\n+\n+/*\\\n+ * Check that futex(FUTEX_WAIT) returns EINTR when interrupted by a signal.\n+ * A child process blocks on futex_wait() with a long timeout. The parent\n+ * waits for the child to enter sleep state, then sends SIGUSR1 to it.\n+ * The child verifies it received EINTR and exits accordingly.\n+ */\n+\n+#include <errno.h>\n+#include <signal.h>\n+\n+#include \"futextest.h\"\n+\n+static futex_t *futex;\n+\n+static struct futex_test_variants variants[] = {\n+#if (__NR_futex != __LTP__NR_INVALID_SYSCALL)\n+\t{ .fntype = FUTEX_FN_FUTEX, .tstype = TST_KERN_OLD_TIMESPEC, .desc = \"syscall with old kernel spec\"},\n+#endif\n+\n+#if (__NR_futex_time64 != __LTP__NR_INVALID_SYSCALL)\n+\t{ .fntype = FUTEX_FN_FUTEX64, .tstype = TST_KERN_TIMESPEC, .desc = \"syscall time64 with kernel spec\"},\n+#endif\n+};\n+\n+/* We need a handler so SIGUSR1 is caught instead of killing the process.\n+ * The empty body is needed, just receiving the signal is enough to\n+ * interrupt futex_wait() and make it return into EINTR -1 status.\n+ */\n+static void sigusr1_handler(int sig LTP_ATTRIBUTE_UNUSED)\n+{\n+}\n+\n+static void do_child(void)\n+{\n+\tstruct futex_test_variants *tv = &variants[tst_variant];\n+\tstruct sigaction sa;\n+\tstruct tst_ts timeout;\n+\n+\tsa.sa_handler = sigusr1_handler;\n+\tsa.sa_flags = 0;\n+\tSAFE_SIGEMPTYSET(&sa.sa_mask);\n+\tSAFE_SIGACTION(SIGUSR1, &sa, NULL);\n+\n+\ttimeout = tst_ts_from_ms(tv->tstype, 5000);\n+\tTST_EXP_FAIL(futex_wait(tv->fntype, futex, *futex, &timeout, 0), EINTR);\n+\texit(0);\n+}\n+\n+static void run(void)\n+{\n+\tpid_t child;\n+\n+\tchild = SAFE_FORK();\n+\n+\tif (child == 0)\n+\t\tdo_child();\n+\n+\tTST_PROCESS_STATE_WAIT(child, 'S', 0);\n+\tSAFE_KILL(child, SIGUSR1);\n+}\n+\n+static void setup(void)\n+{\n+\tstruct futex_test_variants *tv = &variants[tst_variant];\n+\n+\ttst_res(TINFO, \"Testing variant: %s\", tv->desc);\n+\tfutex_supported_by_kernel(tv->fntype);\n+\n+\tfutex = SAFE_MMAP(NULL, sizeof(*futex), PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_SHARED, -1, 0);\n+\t*futex = FUTEX_INITIALIZER;\n+}\n+\n+static void cleanup(void)\n+{\n+\tif (futex) {\n+\t\tSAFE_MUNMAP((void *)futex, sizeof(*futex));\n+\t}\n+}\n+\n+static struct tst_test test = {\n+\t.setup = setup,\n+\t.cleanup = cleanup,\n+\t.test_all = run,\n+\t.test_variants = ARRAY_SIZE(variants),\n+\t.forks_child = 1,\n+};\n",
    "prefixes": [
        "2/4"
    ]
}