get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2194773,
    "url": "http://patchwork.ozlabs.org/api/patches/2194773/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/ubuntu-kernel/patch/20260209204547.486260-2-tim.whisonant@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": "<20260209204547.486260-2-tim.whisonant@canonical.com>",
    "list_archive_url": null,
    "date": "2026-02-09T20:45:43",
    "name": "[SRU,J/N/Q,1/1] net/sched: Enforce that teql can only be used as root qdisc",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "8ce3bf2577af6c0c4a171b1d1037312d79f401a9",
    "submitter": {
        "id": 89903,
        "url": "http://patchwork.ozlabs.org/api/people/89903/?format=api",
        "name": "Tim Whisonant",
        "email": "tim.whisonant@canonical.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/ubuntu-kernel/patch/20260209204547.486260-2-tim.whisonant@canonical.com/mbox/",
    "series": [
        {
            "id": 491568,
            "url": "http://patchwork.ozlabs.org/api/series/491568/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/ubuntu-kernel/list/?series=491568",
            "date": "2026-02-09T20:45:42",
            "name": "CVE-2026-23074",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/491568/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2194773/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2194773/checks/",
    "tags": {},
    "related": [],
    "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=oZgsya2j;\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 4f8xYY6bWCz1xtr\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 10 Feb 2026 07:46:09 +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 1vpY8o-0007lz-I0; Mon, 09 Feb 2026 20:45:54 +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 <tim.whisonant@canonical.com>)\n id 1vpY8n-0007lc-CD\n for kernel-team@lists.ubuntu.com; Mon, 09 Feb 2026 20:45:53 +0000",
            "from mail-yw1-f197.google.com (mail-yw1-f197.google.com\n [209.85.128.197])\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 1D2EC3F0F8\n for <kernel-team@lists.ubuntu.com>; Mon,  9 Feb 2026 20:45:53 +0000 (UTC)",
            "by mail-yw1-f197.google.com with SMTP id\n 00721157ae682-7962e684413so42584607b3.1\n for <kernel-team@lists.ubuntu.com>; Mon, 09 Feb 2026 12:45:53 -0800 (PST)",
            "from localhost (104-6-108-11.lightspeed.frokca.sbcglobal.net.\n [104.6.108.11]) by smtp.gmail.com with ESMTPSA id\n 00721157ae682-79641b5e7aasm43044737b3.39.2026.02.09.12.45.50\n for <kernel-team@lists.ubuntu.com>\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Mon, 09 Feb 2026 12:45:50 -0800 (PST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com;\n s=20251003; t=1770669953;\n bh=z3huOqDGUeqLCMoQtH/8vYT022Y3P/ulEdgZsKkPH5E=;\n h=From:To:Subject:Date:Message-ID:In-Reply-To:References:\n MIME-Version:Content-Type;\n b=oZgsya2j9DPunXB+Zuv35+RpCCL5ApsinleF6bYFueSu7qqda2uyTpdQKWY1VEBJe\n 1UaI5w9Cw3nuUlyaMfFPZuwfClh5cmy9XwQwPeMZ8l3nuXQSwpE2nn4Jv7dZqBmuNZ\n BmPgcJ4yYz4X8IznkSqxvzH6EgkRjC3HlizaMVlAtq3DNTvtZGR/OvmIO5VATTmTCq\n rQd4FuEu8scebz5IbX3PaHrF8nIYudNhx/oIm0DIO+WJ41UNJmm+LBBpTJ76XzMVkg\n zLV9D9mSZ3WbsHwgQAZG9tnjqvlIuF5fjL9yK3WAacms71K6EroPQxDPt2xsSORrgb\n HuHZOwfRYtI/6bwEdTsBBB7siijbz/4g0dvJ25HJi1gcRopPBQW8LydDeZEBtjvLuq\n DnMTl4h5HeHNa8nzdgi7+ydwDq3cH4opPVgLMSPPvK2fZfwGIeArOiZSHyQPKQgUPT\n ymLSdmsd4tZQENujx+hUOA7MPYZ+oSLu4s1mrkppH674vadxoaXxiFTNoNIFkCgK0B\n KICvKtRjde0CaKQ0Q11nWYuOCTdDgzpsyhrrckR9CTdnY4ftutH08XVb+jaYgtOFUd\n a24P5DnkYHm5rCMnqg2qWi87BOrGGR9fj1geOtX6gER6kM8LbnUTKTrL1p2N4Tp4hw\n Lpm7DSuQW1AHzRCoAN7/w1Vs=",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1770669951; x=1771274751;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to\n :cc:subject:date:message-id:reply-to;\n bh=z3huOqDGUeqLCMoQtH/8vYT022Y3P/ulEdgZsKkPH5E=;\n b=cA2PTIBfodEr63Pdh5/zUN0SKxDbGW9A2WAMe/9IsoEXfEqFKBJwntmeZ19Olr4mi1\n SdMCTw+9eAiMEWk7byEdodkl5426IuKR12pVTpzCEFYfg/ep+PDJAjoiXAyErlkGNxAr\n x7sAEClGd5MsTWuBar5xPPBjbY9bAbOzCoSyb19yjAGVPVO7kSL/nZyfNmNmj84qJngT\n JyPsC/Ud4J5Xurwquw9LHUbTW0RnIhs0uad7xoU7IoxSqYwu1msK4Fjye9lIIBh6URMV\n bzx8rdooPN/OztiSKTODF+68273mkInnoCIv/5NXum6hPWyLmQPEaosvDaZ7xi7btnhg\n TxtA==",
        "X-Gm-Message-State": "AOJu0YzOCOoiP85MFgM4aa/tjcOKKLG5GGw5DqJ+nFjpeOEfwJw9ZzEd\n J+InNg+q5tiC4ZdxRxaPbjJLnTD3GsKx+KKdDtybaTM/lMo4A9ETf34GFb31CvA/ndV3J/CUeLy\n WGJdLmpKJ/6KwcreExWERobUFwcGEubnx/FvMSdhl6CIVV7XRW7Zjfkbsue52PJW0e2SQx+SuEa\n s7pXV1Rctr61qmZQ==",
        "X-Gm-Gg": "AZuq6aLFtFrV9SX0gDbMjCW5i64rLD4a5HdMrKSb/S/ua6oOUckMdN0F3rHSrPumdWF\n fBvx3y7n9pMtfMmL/ar7OD0EFFL1fvgFtse84aIavO1dTGx8OvKipjGfPKvyG1Ziz3Q+p25uKoL\n AXZUG8zDbt4NFqhNVs8qVFH+bf17OU0kXDpTW7vC31aBCrMXeZMXfbfv21ZkkXYKvSuYscwhfQB\n eO1YkTIJOuToazZeYIAV8/kr2XzY+DBfQ8LHaSZNLD0W4mXBd/cEdkXzyitjUjrcumXpLtX1Aep\n SMCyaUFhMtSSgzhzYpQkbschjBs0/trfvSKh4CtAYBQljkn5ljUHVyp4Cnw9BMzcQC3a5Sugdf6\n CdGX7uLivbULRtYbXuloI5pVvTvmqUy2558CPRrNdWjM1zO1WHANAOgiyvb47E9QE",
        "X-Received": [
            "by 2002:a05:690c:c50f:b0:796:37bb:9ecc with SMTP id\n 00721157ae682-79637bba3eamr76036797b3.19.1770669951589;\n Mon, 09 Feb 2026 12:45:51 -0800 (PST)",
            "by 2002:a05:690c:c50f:b0:796:37bb:9ecc with SMTP id\n 00721157ae682-79637bba3eamr76036627b3.19.1770669951240;\n Mon, 09 Feb 2026 12:45:51 -0800 (PST)"
        ],
        "From": "Tim Whisonant <tim.whisonant@canonical.com>",
        "To": "kernel-team@lists.ubuntu.com",
        "Subject": "[SRU][J/N/Q][PATCH 1/1] net/sched: Enforce that teql can only be used\n as root qdisc",
        "Date": "Mon,  9 Feb 2026 12:45:43 -0800",
        "Message-ID": "<20260209204547.486260-2-tim.whisonant@canonical.com>",
        "X-Mailer": "git-send-email 2.43.0",
        "In-Reply-To": "<20260209204547.486260-1-tim.whisonant@canonical.com>",
        "References": "<20260209204547.486260-1-tim.whisonant@canonical.com>",
        "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": "From: Jamal Hadi Salim <jhs@mojatatu.com>\n\nDesign intent of teql is that it is only supposed to be used as root qdisc.\nWe need to check for that constraint.\n\nAlthough not important, I will describe the scenario that unearthed this\nissue for the curious.\n\nGangMin Kim <km.kim1503@gmail.com> managed to concot a scenario as follows:\n\nROOT qdisc 1:0 (QFQ)\n  ├── class 1:1 (weight=15, lmax=16384) netem with delay 6.4s\n  └── class 1:2 (weight=1, lmax=1514) teql\n\nGangMin sends a packet which is enqueued to 1:1 (netem).\nAny invocation of dequeue by QFQ from this class will not return a packet\nuntil after 6.4s. In the meantime, a second packet is sent and it lands on\n1:2. teql's enqueue will return success and this will activate class 1:2.\nMain issue is that teql only updates the parent visible qlen (sch->q.qlen)\nat dequeue. Since QFQ will only call dequeue if peek succeeds (and teql's\npeek always returns NULL), dequeue will never be called and thus the qlen\nwill remain as 0. With that in mind, when GangMin updates 1:2's lmax value,\nthe qfq_change_class calls qfq_deact_rm_from_agg. Since the child qdisc's\nqlen was not incremented, qfq fails to deactivate the class, but still\nfrees its pointers from the aggregate. So when the first packet is\nrescheduled after 6.4 seconds (netem's delay), a dangling pointer is\naccessed causing GangMin's causing a UAF.\n\nFixes: 1da177e4c3f4 (\"Linux-2.6.12-rc2\")\nReported-by: GangMin Kim <km.kim1503@gmail.com>\nTested-by: Victor Nogueira <victor@mojatatu.com>\nSigned-off-by: Jamal Hadi Salim <jhs@mojatatu.com>\nLink: https://patch.msgid.link/20260114160243.913069-2-jhs@mojatatu.com\nSigned-off-by: Jakub Kicinski <kuba@kernel.org>\n(cherry picked from commit 50da4b9d07a7a463e2cfb738f3ad4cff6b2c9c3b)\nCVE-2026-23074\nSigned-off-by: Tim Whisonant <tim.whisonant@canonical.com>\n---\n net/sched/sch_teql.c | 5 +++++\n 1 file changed, 5 insertions(+)",
    "diff": "diff --git a/net/sched/sch_teql.c b/net/sched/sch_teql.c\nindex 8badec6d82a24..6e4bdaa876ed6 100644\n--- a/net/sched/sch_teql.c\n+++ b/net/sched/sch_teql.c\n@@ -178,6 +178,11 @@ static int teql_qdisc_init(struct Qdisc *sch, struct nlattr *opt,\n \tif (m->dev == dev)\n \t\treturn -ELOOP;\n \n+\tif (sch->parent != TC_H_ROOT) {\n+\t\tNL_SET_ERR_MSG_MOD(extack, \"teql can only be used as root\");\n+\t\treturn -EOPNOTSUPP;\n+\t}\n+\n \tq->m = m;\n \n \tskb_queue_head_init(&q->q);\n",
    "prefixes": [
        "SRU",
        "J/N/Q",
        "1/1"
    ]
}