Show a cover letter.

GET /api/1.2/covers/2233152/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2233152,
    "url": "http://patchwork.ozlabs.org/api/1.2/covers/2233152/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/glibc/cover/20260505190809.3898686-1-adhemerval.zanella@linaro.org/",
    "project": {
        "id": 41,
        "url": "http://patchwork.ozlabs.org/api/1.2/projects/41/?format=api",
        "name": "GNU C Library",
        "link_name": "glibc",
        "list_id": "libc-alpha.sourceware.org",
        "list_email": "libc-alpha@sourceware.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260505190809.3898686-1-adhemerval.zanella@linaro.org>",
    "list_archive_url": null,
    "date": "2026-05-05T19:06:49",
    "name": "[v2,0/3] nptl: Fix robust mutex support detection and defer robust list initialization",
    "submitter": {
        "id": 66065,
        "url": "http://patchwork.ozlabs.org/api/1.2/people/66065/?format=api",
        "name": "Adhemerval Zanella Netto",
        "email": "adhemerval.zanella@linaro.org"
    },
    "mbox": "http://patchwork.ozlabs.org/project/glibc/cover/20260505190809.3898686-1-adhemerval.zanella@linaro.org/mbox/",
    "series": [
        {
            "id": 502884,
            "url": "http://patchwork.ozlabs.org/api/1.2/series/502884/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/glibc/list/?series=502884",
            "date": "2026-05-05T19:06:49",
            "name": "nptl: Fix robust mutex support detection and defer robust list initialization",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/502884/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/2233152/comments/",
    "headers": {
        "Return-Path": "<libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "libc-alpha@sourceware.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@legolas.ozlabs.org",
            "libc-alpha@sourceware.org"
        ],
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=s0OrrT6B;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org\n (client-ip=2620:52:6:3111::32; helo=vm01.sourceware.org;\n envelope-from=libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org;\n receiver=patchwork.ozlabs.org)",
            "sourceware.org;\n\tdkim=pass (2048-bit key,\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=s0OrrT6B",
            "sourceware.org;\n dmarc=pass (p=none dis=none) header.from=linaro.org",
            "sourceware.org; spf=pass smtp.mailfrom=linaro.org",
            "server2.sourceware.org;\n arc=none smtp.remote-ip=2607:f8b0:4864:20::e33"
        ],
        "Received": [
            "from vm01.sourceware.org (vm01.sourceware.org\n [IPv6:2620:52:6:3111::32])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g97ND3Dkxz1yJx\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 06 May 2026 05:08:59 +1000 (AEST)",
            "from vm01.sourceware.org (localhost [127.0.0.1])\n\tby sourceware.org (Postfix) with ESMTP id 3FF3A4BABF30\n\tfor <incoming@patchwork.ozlabs.org>; Tue,  5 May 2026 19:08:57 +0000 (GMT)",
            "from mail-vs1-xe33.google.com (mail-vs1-xe33.google.com\n [IPv6:2607:f8b0:4864:20::e33])\n by sourceware.org (Postfix) with ESMTPS id E171B4BA799B\n for <libc-alpha@sourceware.org>; Tue,  5 May 2026 19:08:16 +0000 (GMT)",
            "by mail-vs1-xe33.google.com with SMTP id\n ada2fe7eead31-60fee2fa3b8so1985861137.2\n for <libc-alpha@sourceware.org>; Tue, 05 May 2026 12:08:16 -0700 (PDT)",
            "from mandiga.. ([2804:1b3:a7c1:364:abee:44ff:b045:5a7])\n by smtp.gmail.com with ESMTPSA id\n a1e0cc1a2514c-95ce08f4a7asm7504046241.5.2026.05.05.12.08.13\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 05 May 2026 12:08:15 -0700 (PDT)"
        ],
        "DKIM-Filter": [
            "OpenDKIM Filter v2.11.0 sourceware.org 3FF3A4BABF30",
            "OpenDKIM Filter v2.11.0 sourceware.org E171B4BA799B"
        ],
        "DMARC-Filter": "OpenDMARC Filter v1.4.2 sourceware.org E171B4BA799B",
        "ARC-Filter": "OpenARC Filter v1.0.0 sourceware.org E171B4BA799B",
        "ARC-Seal": "i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1778008097; cv=none;\n b=qg4VXcVgpML/OHYkMGlINx6Yp0xk5+JjBvz8Q0ueRA2pn755KIfurbRT8oEDKs2CXB2fFNeJKjk/czYMkvu7d2TmEuJtr5MoDUbJE1TbmxsU2nRHmlxtliSNtLnwCjqy/3Hoen4RWx5SI6w5oAHXlIxP/rCnbRR+xdcBiWb79WA=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=sourceware.org; s=key;\n t=1778008097; c=relaxed/simple;\n bh=Idjhmz5i/ZkGxksGxXqH0Ym6GVZxPrV3LtrnClibSG8=;\n h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version;\n b=nYJ89d5e8tBcaC3hQUOjBiD+v/7VPUzE/2BCwBNInP6f42CWDkgQRo+sGu1FkTJaMiotrzbc/Z9RgkpFUhf0Yiqtj2ygJnSg+21REClkjw8ihhqX4Hiu68wZHMfWd85QSb1V+KeX0gBXlf9nnRseqJuD+8XpAzOWtn01p9z2+jE=",
        "ARC-Authentication-Results": "i=1; server2.sourceware.org",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1778008096; x=1778612896; darn=sourceware.org;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:from:to:cc:subject:date:message-id:reply-to;\n bh=091KF/3nFEj6OqJHcMJ71T5i+wWdj86kPppsNjlCT2s=;\n b=s0OrrT6BAAgGXCWA/n5uJp7H3LmfVomHWRvfLMNE+nJdHQgfdpsrdhRG0gGZZ84uHs\n +V6gFmZ4456fJsP2yzWmwtjUFb9VPNFZ25czX0Aw9n30ve8RmaSQSa4N6VapidFjASJB\n MD9q5AZilyAINnUiL0SpTs+2heZzQdi89x+ZVHEtwfo2vlpQBtg/lqp14Mq1JRAxHk2j\n yCmEUNZvgGWRzLJpBjinwhKKauXlJ3ubgzZP/8aV+UheNbOn/+dN+bUDBzmBTYSAtJOJ\n M9CqEsnsvxTmq2mxa7hwTDGmc1g3WeRn3RsygBVuvVyM4BSck0OvX0/ykOeADV5jm5s9\n g6tQ==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1778008096; x=1778612896;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=091KF/3nFEj6OqJHcMJ71T5i+wWdj86kPppsNjlCT2s=;\n b=Eh8Jjh7cJtzpCNfib3svemCWvGpVEGDXIuVaR8/TykoR4wXbcKOSELdkNIYrqCJ4yk\n Sih5ZryI4x7ai4DZJMjc+Ifoz3vk+jA3McI5ngpzagwjyAEfCqCAroOgiTZ5k3dciFI9\n UsofAxN3G3d18hF0EUg7CPRARswCdttlqZCoD7GKfiYT63xfgMi9H8MuHlhELs2DeGUE\n qqTFEPJ9mkhGUOobb4lP+EQHh8KSsxHEstcOfmKXllAg682efYgknTxRogIrpE7o3GQd\n CHX6VzIL4AsabE/fhUYElMLbz9Vroq4G397XlfRYk00NefzdLmCoOgIk3zcGH2HtyYL+\n 2/Bg==",
        "X-Gm-Message-State": "AOJu0YzBM/r7aAmc1ZjiRe1SrspxtYErYJO09Lf0iH3UinWL9f4zbjZ0\n l5QVkMH0PldtopziiR3JarANrGOQ/EJHiVc2SHqqq0KxCOxOnaXjJLJhLER9bqo7LFOvx7WQGgS\n oECWT",
        "X-Gm-Gg": "AeBDiesgq59CMgB2TSF5tHmxqbPPMsj2X9B4AB8GoiMgEHTgTxvXo9YhLIGiY835PF1\n K8P5gWMFn2F8qV/eYbVKwPey0lwCfhVQBSRr7ZY6GTdu2eefeUhxOL5pa6xXDJFcnRWkFDOKkd2\n wObzhhISKiupu/7tOgg9hDwj1wlUi+sh5FJhCfOKys6+Xv5Qlt/ZOCnRG6A/yv2q+maG9y3XPvx\n M2hja6HyySuZqdBlHh+dq7C6H4H5ctev/IEUGFPednev3zxDtNtwj83NMFXJXj3CzZvUI/glX+t\n QLnnw435cIySeNFdM5fCX9ETIipFR19KDEg5i8VHAqzEIvPYMImivnzEshScPAlGsBmYVelixBd\n tw9/DZVfAYVLu2rXYGB0SAtysxDlzcCsh8uR4CIdxCM5zkBt+BKwwEooEsQOtbH0MvENsxpW0YL\n Hy2FUT4ZbxuaJOHl20vUn7dtzV/dzhZ0PfRlmwL55f4bBG3qV2fwTj9Q==",
        "X-Received": "by 2002:a05:6102:5813:b0:62f:357a:329a with SMTP id\n ada2fe7eead31-630f8c3229bmr19024137.0.1778008095848;\n Tue, 05 May 2026 12:08:15 -0700 (PDT)",
        "From": "Adhemerval Zanella <adhemerval.zanella@linaro.org>",
        "To": "libc-alpha@sourceware.org",
        "Cc": "Florian Weimer <fweimer@redhat.com>,\n Daniel Henrique Barboza <dbarboza@ventanamicro.com>",
        "Subject": "[PATCH v2 0/3] nptl: Fix robust mutex support detection and defer\n robust list initialization",
        "Date": "Tue,  5 May 2026 16:06:49 -0300",
        "Message-ID": "<20260505190809.3898686-1-adhemerval.zanella@linaro.org>",
        "X-Mailer": "git-send-email 2.43.0",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "libc-alpha@sourceware.org",
        "X-Mailman-Version": "2.1.30",
        "Precedence": "list",
        "List-Id": "Libc-alpha mailing list <libc-alpha.sourceware.org>",
        "List-Unsubscribe": "<https://sourceware.org/mailman/options/libc-alpha>,\n <mailto:libc-alpha-request@sourceware.org?subject=unsubscribe>",
        "List-Archive": "<https://sourceware.org/pipermail/libc-alpha/>",
        "List-Post": "<mailto:libc-alpha@sourceware.org>",
        "List-Help": "<mailto:libc-alpha-request@sourceware.org?subject=help>",
        "List-Subscribe": "<https://sourceware.org/mailman/listinfo/libc-alpha>,\n <mailto:libc-alpha-request@sourceware.org?subject=subscribe>",
        "Errors-To": "libc-alpha-bounces~incoming=patchwork.ozlabs.org@sourceware.org"
    },
    "content": "qemu-user does not implement the set_robust_list syscall for any\narchitecture [1].  On architectures without __ASSUME_SET_ROBUST_LIST\n(e.g. riscv64), glibc probes the syscall at startup and correctly\npropagates the failure: pthread_mutex_init returns ENOTSUP for\nprocess-shared robust mutexes.  On architectures with\n__ASSUME_SET_ROBUST_LIST (e.g. x86_64, aarch64), the runtime probe is\nskipped entirely, so the missing syscall goes undetected and\npthread_mutex_init silently returns success (BZ 33225).\n\nThe fix removes __ASSUME_SET_ROBUST_LIST and always probes for\nset_robust_list availability at runtime.  As an additional improvement,\nthe probe is moved out of process/thread startup and deferred to the\nfirst actual robust mutex operation (pthread_mutex_init for\nprocess-shared+robust, or the first lock of any robust mutex).  This\navoids the syscall altogether for programs that never use robust mutexes.\n\n[1] https://gitlab.com/qemu-project/qemu/-/issues/3044\nReported-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>\n\nAdhemerval Zanella (3):\n  support: Add support_process_shared_robust_mutex\n  nptl: Do not always assume set_robust_list availability (BZ 33225)\n  nptl: Only initialize robust list at mutex usage\n\n nptl/Makefile                                 |  2 +\n nptl/Versions                                 |  1 -\n nptl/allocatestack.c                          |  9 +-\n nptl/descr.h                                  | 31 +++++++\n nptl/nptl_robust_setup.c                      | 38 ++++++++\n nptl/pthread_create.c                         | 12 ---\n nptl/pthread_mutex_init.c                     |  5 +-\n nptl/pthread_mutex_lock.c                     |  2 +\n nptl/pthread_mutex_timedlock.c                |  2 +\n nptl/pthread_mutex_trylock.c                  |  2 +\n nptl/tst-mutexpi10.c                          |  4 +-\n nptl/tst-robust-fork.c                        | 21 +++++\n nptl/tst-robust-pshared.c                     | 89 +++++++++++++++++++\n support/Makefile                              |  1 +\n support/support_mutex_robust.c                | 34 +++++++\n support/xthread.h                             |  3 +\n sysdeps/nptl/_Fork.c                          | 24 ++---\n sysdeps/nptl/dl-tls_init_tp.c                 | 23 +----\n sysdeps/nptl/pthreadP.h                       |  8 +-\n sysdeps/pthread/tst-robust7.c                 |  1 -\n sysdeps/pthread/tst-robust8.c                 |  6 ++\n sysdeps/pthread/tst-robust9.c                 |  1 -\n sysdeps/unix/sysv/linux/arm/kernel-features.h |  7 --\n .../unix/sysv/linux/hppa/kernel-features.h    |  3 -\n sysdeps/unix/sysv/linux/kernel-features.h     |  5 --\n .../unix/sysv/linux/m68k/kernel-features.h    |  5 --\n .../unix/sysv/linux/mips/kernel-features.h    |  6 --\n .../unix/sysv/linux/riscv/kernel-features.h   |  5 --\n .../unix/sysv/linux/sparc/kernel-features.h   |  6 --\n 29 files changed, 251 insertions(+), 105 deletions(-)\n create mode 100644 nptl/nptl_robust_setup.c\n create mode 100644 nptl/tst-robust-pshared.c\n create mode 100644 support/support_mutex_robust.c"
}