Show a cover letter.

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

{
    "id": 2216473,
    "url": "http://patchwork.ozlabs.org/api/covers/2216473/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/ubuntu-kernel/cover/20260326141813.285753-1-jacob.martin@canonical.com/",
    "project": {
        "id": 15,
        "url": "http://patchwork.ozlabs.org/api/projects/15/?format=api",
        "name": "Ubuntu Kernel",
        "link_name": "ubuntu-kernel",
        "list_id": "kernel-team.lists.ubuntu.com",
        "list_email": "kernel-team@lists.ubuntu.com",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260326141813.285753-1-jacob.martin@canonical.com>",
    "list_archive_url": null,
    "date": "2026-03-26T14:18:12",
    "name": "[SRU,R,v2,0/1] Enable BTF generation for out-of-tree module builds",
    "submitter": {
        "id": 85661,
        "url": "http://patchwork.ozlabs.org/api/people/85661/?format=api",
        "name": "Jacob Martin",
        "email": "jacob.martin@canonical.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/ubuntu-kernel/cover/20260326141813.285753-1-jacob.martin@canonical.com/mbox/",
    "series": [
        {
            "id": 497599,
            "url": "http://patchwork.ozlabs.org/api/series/497599/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/ubuntu-kernel/list/?series=497599",
            "date": "2026-03-26T14:18:12",
            "name": "Enable BTF generation for out-of-tree module builds",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/497599/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/2216473/comments/",
    "headers": {
        "Return-Path": "<kernel-team-bounces@lists.ubuntu.com>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (4096-bit key;\n unprotected) header.d=canonical.com header.i=@canonical.com\n header.a=rsa-sha256 header.s=20251003 header.b=fmF6ov9A;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ubuntu.com\n (client-ip=185.125.189.65; helo=lists.ubuntu.com;\n envelope-from=kernel-team-bounces@lists.ubuntu.com;\n receiver=patchwork.ozlabs.org)"
        ],
        "Received": [
            "from lists.ubuntu.com (lists.ubuntu.com [185.125.189.65])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fhQqV3chdz1y1G\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 27 Mar 2026 01:18:29 +1100 (AEDT)",
            "from localhost ([127.0.0.1] helo=lists.ubuntu.com)\n\tby lists.ubuntu.com with esmtp (Exim 4.86_2)\n\t(envelope-from <kernel-team-bounces@lists.ubuntu.com>)\n\tid 1w5lXN-00017j-Jd; Thu, 26 Mar 2026 14:18:17 +0000",
            "from smtp-relay-internal-1.internal ([10.131.114.114]\n helo=smtp-relay-internal-1.canonical.com)\n by lists.ubuntu.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.86_2) (envelope-from <jacob.martin@canonical.com>)\n id 1w5lXM-00017a-N5\n for kernel-team@lists.ubuntu.com; Thu, 26 Mar 2026 14:18:16 +0000",
            "from mail-oi1-f199.google.com (mail-oi1-f199.google.com\n [209.85.167.199])\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 smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id 880223F0B1\n for <kernel-team@lists.ubuntu.com>; Thu, 26 Mar 2026 14:18:16 +0000 (UTC)",
            "by mail-oi1-f199.google.com with SMTP id\n 5614622812f47-4670333a4afso1833365b6e.1\n for <kernel-team@lists.ubuntu.com>; Thu, 26 Mar 2026 07:18:16 -0700 (PDT)",
            "from localhost ([2001:67c:1562:8007::aac:47ab])\n by smtp.gmail.com with ESMTPSA id\n 5614622812f47-46a7093f066sm1685605b6e.9.2026.03.26.07.18.14\n for <kernel-team@lists.ubuntu.com>\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 26 Mar 2026 07:18:14 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com;\n s=20251003; t=1774534696;\n bh=HQcwY/sCfoK9mQ0euJtB5N3PYm3Y62EfzCXmq0zoKBE=;\n h=From:To:Subject:Date:Message-ID:MIME-Version;\n b=fmF6ov9AnZZATwH0xaaJBkrg1aDWGq4OQP53g8FNVfS4ewN/Il3ihd6bswdV3YaBp\n 12MYr5uwglgfkr+pVUcpq8BLrxiwRiAiJvB30oEYPGTTS5x4omiV47lUmtFeAAStgu\n RnEVmwnmepiwF09Np4pdOu7oKg2FpSxhEDUZd/1WtRsxyfQjQgHMeXIql3MQf0hc45\n 1GHHnoExHXyKxvDsw9Ni5B7s0CjdWavFDlylfV/RF4Z3a72VQ2a63zvCocezF07VVv\n NdL6DNUwhHtTzdZe0ulUqN1yRrQyNOMyuQaJhhozAVULV+NfIf0d6E0m/P1/jEfkD0\n jg/UrjIel73bjw0tFYwQ/c6p5WjY9ng2rfwKhEYU3aj7YQyi5Qs5sAO9txXDs/VVJ5\n e9pEtZWSS1IdjBHr6VGcDt4mu8QqAndIdzOwQiHjOWFN6WWtGR4IWdsdx9HrJBUGb+\n 2fjgcxzipF0GltfrcYzB6nCBap+C3E+2TUcJ7qsBnT4EgkqQMEeYpTZ64DeuCilysV\n LZuN+A5W8TlqLR2VogjD5sLeI0P1x/h1m/w1jTArD6UALeEzLGNtWaBDPnIKvYPTCJ\n BuyPTmG5Fqkemo6h5k8eRXTO6kPIStBDMbVGwbeMmZhZHEUkwWjrf4QNVBdlA5HCQN\n TxJzdReyPww0JYF2IfBXeIkQ=",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1774534695; x=1775139495;\n h=content-transfer-encoding:mime-version:message-id:date:subject:to\n :from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id\n :reply-to;\n bh=HQcwY/sCfoK9mQ0euJtB5N3PYm3Y62EfzCXmq0zoKBE=;\n b=UoP/s4MZ/U6SfwMHYR+Lj0OwcsGGd4Hy5KT/DK1W4YB+Nw7Kl16x+XIGwgkBfcgkie\n oymABmNEU2oxGc0fJlXfAih206SZBDYxUJsInYILnBZoxnqexe2Z3invIxf2kbHXFjOP\n kFerBQVSBUERZPsBEFjHKPeUfsY1SaJ4NsJYdiAM7jx7yLVwO11Tj8dMRAnigjBJ7dwm\n LfoKJUp1J2iOSZIAxuUNoh/KxZlsvmZg+P2Xem69WVAfyMslhH8STvi5mwkcyLh8XTYa\n 8YElQ/Drk/8uWgtwjYrMyXWeESU9yRv4EOxTa7QP9wejkxXdeoSr5VFI1w3sH/VyfXIq\n VyFA==",
        "X-Gm-Message-State": "AOJu0YxI4MU9kNvzieSTk1s5Y6eLSWr0KBVLDz66oby3zaGwfc7kkgIw\n N/do4mBAoueNGht0hGEa2AYgIINaFpEuaerktZcDt1vvKppKI/0xTDIzfwdXAxolhSer2IOoXwQ\n Z0Hawh9OrvtjbIv3rXicWxN7bPFqzkuOk6iyOQ7lrQiOTgbWBHWWV+DJMmMFwm0/Q+oDZ0k+iMF\n NJP9izk9g6jP2bOQ==",
        "X-Gm-Gg": "ATEYQzyR/F6UZSI220jsEHl2MphpUzkEC07HsNsIKubDH7p8YSwqZ8HzJSBqJfonSRX\n za5bed68S09m6jwzJJ6eLPpJz2WYgs8PtBJ5utbTq/CRfmeoAX+/Udb6WV8v5CSMU8xJoSytE4m\n p5n2W6PXTwaN/YmCEKgmWheWq24aTdlf2jQvGqgSrCo6tIfZP1LrkLHg8yXjhmfcLR3F5TqaA29\n pSmeSAfgq6seHDbzLjTv6IeoHXg6iQWVXgyKvanpEEASuW147YVTAsOXjvItZNEbQw1L2oRe9ME\n vbWKpursKOotcWzHtbP7ViSrCCqLwa91uZcJknwLgw0fJ7SmLQtAeQYH12py0vaLYQJr6rEe+pr\n R40i0mU/myLHOSdigPA==",
        "X-Received": [
            "by 2002:a05:6808:229e:b0:469:fc59:b128 with SMTP id\n 5614622812f47-46a5c64e7famr3891398b6e.25.1774534695382;\n Thu, 26 Mar 2026 07:18:15 -0700 (PDT)",
            "by 2002:a05:6808:229e:b0:469:fc59:b128 with SMTP id\n 5614622812f47-46a5c64e7famr3891387b6e.25.1774534694924;\n Thu, 26 Mar 2026 07:18:14 -0700 (PDT)"
        ],
        "From": "Jacob Martin <jacob.martin@canonical.com>",
        "To": "kernel-team@lists.ubuntu.com",
        "Subject": "[SRU][R][PATCH v2 0/1] Enable BTF generation for out-of-tree module\n builds",
        "Date": "Thu, 26 Mar 2026 09:18:12 -0500",
        "Message-ID": "<20260326141813.285753-1-jacob.martin@canonical.com>",
        "X-Mailer": "git-send-email 2.43.0",
        "MIME-Version": "1.0",
        "X-BeenThere": "kernel-team@lists.ubuntu.com",
        "X-Mailman-Version": "2.1.20",
        "Precedence": "list",
        "List-Id": "Kernel team discussions <kernel-team.lists.ubuntu.com>",
        "List-Unsubscribe": "<https://lists.ubuntu.com/mailman/options/kernel-team>,\n <mailto:kernel-team-request@lists.ubuntu.com?subject=unsubscribe>",
        "List-Archive": "<https://lists.ubuntu.com/archives/kernel-team>",
        "List-Post": "<mailto:kernel-team@lists.ubuntu.com>",
        "List-Help": "<mailto:kernel-team-request@lists.ubuntu.com?subject=help>",
        "List-Subscribe": "<https://lists.ubuntu.com/mailman/listinfo/kernel-team>,\n <mailto:kernel-team-request@lists.ubuntu.com?subject=subscribe>",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "base64",
        "Errors-To": "kernel-team-bounces@lists.ubuntu.com",
        "Sender": "\"kernel-team\" <kernel-team-bounces@lists.ubuntu.com>"
    },
    "content": "BugLink: https://bugs.launchpad.net/bugs/2133794\n\n[Impact]\n\nWhen building out-of-tree kernel modules (via DKMS or manual module\nbuild), BTF (BPF Type Format) generation is skipped due to a vmlinux not\nbeing found in the expected location. This prevents BPF-based tracing\ntools (bpftrace, BCC) from attaching kprobes/kfuncs to out-of-tree\nmodule functions.\n\n[Fix]\n\nThe patch \"UBUNTU: [Packaging] add stripped-down vmlinux with only BTF\nsections to flavour headers package\" resolves this issue by including a\nstripped-down version of the vmlinux with only .BTF and .BTF_ids\nsections at /usr/src/linux-headers-7.0.0-xx-generic/vmlinux in the\nlinux-headers-7.0.0-xx-<flavour> packages.\n\nThis solution matches the one in Debian by Bastian Blank:\nhttps://salsa.debian.org/kernel-team/linux/-/commit/0dedced119aea5426f81a9318c36e0a6c7339547.\n\n[Test Plan]\n\nVerify that BTF generation succeeds:\n\n1. Install headers for the target kernel.\n\n$ sudo apt install linux-headers-7.0.0-xx-generic\n\n2. Obtain sources for a test kernel module.\n\n$ git clone https://github.com/ivbakula/hello-world-kernel-module\n\n3. Build this kernel module.\n\nmake -C /lib/modules/7.0.0-xx-generic/build M=hello-world-kernel-module modules\n\n4. Verify BTF generation is successful.\n\n$ objdump --section=.BTF -s ~/hello-world-kernel-module/hello.ko\n\n/root/hello-world-kernel-module/hello.ko: file format elf64-x86-64\n\nContents of section .BTF:\n 0000 9feb0100 18000000 00000000 60000000 ............`...\n 0010 60000000 16000000 00000000 0000000a `...............\n 0020 02000000 00000000 00000003 00000000 ................\n 0030 03000000 01000000 05000000 00000000 ................\n 0040 0000000a 04000000 15000000 0000000c ................\n 0050 09000000 20000000 0000000c 08000000 .... ...........\n 0060 00000000 0000000d 01000000 00000000 ................\n 0070 0000000d 00000000 68656c6c 6f5f6578 ........hello_ex\n 0080 69740068 656c6c6f 5f696e69 7400 it.hello_init.\n\nNote: if BTF generation is unsuccessful, the output will appear as:\n\n$ objdump --section=.BTF -s hello.nobtf.ko\n\nhello.nobtf.ko: file format elf64-x86-64\n\nobjdump: section '.BTF' mentioned in a -j option, but not found in any input file\n\n[Where issues could occur]\n\nThis modifies the flavour-specific header package to include a\nstripped-down vmlinux with only .BTF and .BTF_ids sections. Issues could\noccur if software on the system assumes vmlinux at this path will be a\nfull vmlinux, but finds the version with only .BTF and .BTF_ids\nsections. As a vmlinux file was not included in the headers at all\nbefore, it is unlikely existing functionality was relying on it.\n\n[Other notes]\n\nChanged in v2: Rather than rely on the dbgsyms package being installed,\nprovide a stripped-down vmlinux file in the headers package, with only\n.BTF and .BTF_ids sections.\n\nJacob Martin (1):\n  UBUNTU: [Packaging] add stripped-down vmlinux with only BTF\n    sections to flavour headers package\n\n debian/rules.d/2-binary-arch.mk | 8 ++++++++\n 1 file changed, 8 insertions(+)"
}