get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2231512,
    "url": "http://patchwork.ozlabs.org/api/patches/2231512/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/ubuntu-kernel/patch/82d89f32da0a78886a4a4b34c4dfbde1009c2028.1777576284.git.massimiliano.pellizzer@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": "<82d89f32da0a78886a4a4b34c4dfbde1009c2028.1777576284.git.massimiliano.pellizzer@canonical.com>",
    "list_archive_url": null,
    "date": "2026-04-30T19:28:06",
    "name": "[SRU,Q,v2,2/6] crypto: algif_aead - snapshot IV for async AEAD requests",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "f700dd15b243aa0668d43d0a7427a504d58d7cf6",
    "submitter": {
        "id": 89057,
        "url": "http://patchwork.ozlabs.org/api/people/89057/?format=api",
        "name": "Massimiliano Pellizzer",
        "email": "massimiliano.pellizzer@canonical.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/ubuntu-kernel/patch/82d89f32da0a78886a4a4b34c4dfbde1009c2028.1777576284.git.massimiliano.pellizzer@canonical.com/mbox/",
    "series": [
        {
            "id": 502365,
            "url": "http://patchwork.ozlabs.org/api/series/502365/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/ubuntu-kernel/list/?series=502365",
            "date": "2026-04-30T19:28:04",
            "name": "CVE-2026-31431",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/502365/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2231512/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2231512/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=KCGECcd4;\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 4g64450DGvz1yHv\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 01 May 2026 05:29:25 +1000 (AEST)",
            "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 1wIX4Z-0001jz-QV; Thu, 30 Apr 2026 19:29:19 +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 <massimiliano.pellizzer@canonical.com>)\n id 1wIX4Y-0001hu-HN\n for kernel-team@lists.ubuntu.com; Thu, 30 Apr 2026 19:29:18 +0000",
            "from mail-wr1-f69.google.com (mail-wr1-f69.google.com\n [209.85.221.69])\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 72E803F637\n for <kernel-team@lists.ubuntu.com>; Thu, 30 Apr 2026 19:29:18 +0000 (UTC)",
            "by mail-wr1-f69.google.com with SMTP id\n ffacd0b85a97d-4411a1f9601so974324f8f.0\n for <kernel-team@lists.ubuntu.com>; Thu, 30 Apr 2026 12:29:18 -0700 (PDT)",
            "from tuxedo-infinitybook (net-93-71-66-38.cust.vodafonedsl.it.\n [93.71.66.38]) by smtp.gmail.com with ESMTPSA id\n ffacd0b85a97d-448e74324a5sm8133217f8f.12.2026.04.30.12.29.16\n for <kernel-team@lists.ubuntu.com>\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 30 Apr 2026 12:29:16 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com;\n s=20251003; t=1777577358;\n bh=pdRbKlJSUoP2TW03Kk8R8+2zf7cjMuMiG+b5Tf9CR8o=;\n h=From:To:Subject:Date:Message-ID:In-Reply-To:References:\n MIME-Version;\n b=KCGECcd4BAXSiF5G7hh2Ni8/qZTgC0FSeJ8yP8gSRGSzKBMs/7uKDfc5SkZqgBBh8\n cgQQYAhHqS19AOpbf2J68AYz4Mmf5XGgOHCOkTYxzr96JNXDDXNMnJ6iQK8c78HkGK\n 00JpwiqW/+JP2Kkm8oY8y4dswY3522wnevEEOAs8cSOgdvyDykp7M2VE6XRj2lXUu9\n 3TLOszwXteLi6ZBch6rNQ/u0akKxhmd4cAJpci6pyBsBDv8dMur/MuCse3/nbtym3o\n Ay/D8wXuTcU798bGyyYGDGSohRkchutb+cNjjRCVM+Dn8aR8CxUMyAQVzWXwU5cXF2\n Mng3jsE2JAu/LZtlnBV+FCuOKNQCUitLwf5WApkC3+6SGS5jKxsYnuLZQneyDlZq1H\n cRIMmxYw/UuwJ3JbA+ZdScNxnUJC2aa8zePCbYb45ypY0w/Ul7YzrAPyisHEaxMAtw\n gmkeazGbeO36iozqMr2SDWYQkQruR5BNuBc1UUVU6jtoNjnv8lxmNDEbfKa02EDoCh\n KAmNDoCHTY+NgAWrPUpRHgYFyT11x9GBVcFJUXehf8vgJirhTW9VAHeRxXGAOYXIM5\n Nan/64yMXuNiDJSqDl9iTHxpQsHuPhe3hVlX84p7Sszgeo9ZXFfCfHynsEKl70C+y7\n /8Ml5JfCa/MyMfvhoZ8yRzJA=",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777577358; x=1778182158;\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=pdRbKlJSUoP2TW03Kk8R8+2zf7cjMuMiG+b5Tf9CR8o=;\n b=fqRo59FitwOz+gUUBj68NlVPhuHhTWCru/kIonaA5GbutJhRRa68ZMX0+MhzoiHYu+\n iFHcGLhmo7ZqN62YPuyzG3XRj5WoboBPjsFF6kYGQlLDeDK2+bxazcIE8NnIprE5mVpH\n Kp0mDUtaos1c62+34Gu3k0KG747j8Cv26BForthIwyewPsnOhsRBGJL62SNC5mlzskQU\n NLqw+mcsKbJJ7dTQ1NI6any2/DchEbWuTqYEn4kpqH6OVfnBeGJvMKKoUQzw112/Bgr0\n +HBDb61blD8IKzKcJgB/vpd1RVg7GfDY9wXg9eWM8i2Qyuw+f8G5CWhIIo8pu8efJtqg\n O6ow==",
        "X-Gm-Message-State": "AOJu0Yzm6+xBORV1yA5DchMveY2NfXCdUlw7ZxCoDAA2V+T8brWUbH5D\n +7Fh4/FA9kBq2YaP1ZeEs5YCQBAl664qjmaM3hVwjxsiPsDGLslxZ/C6/OqiDMP41sTvqTPPm10\n oBhlRmUO1uu0SI8A2BJTv71czi40dpHpBsJmFQScRhs2oTVEPcfMB9OWvKpueMg2K8oFuS/1PCB\n cuPlEl/W6+bJ1jiw==",
        "X-Gm-Gg": "AeBDiesM6FElRr0n2xQ9YLEilW0dXLLTrS8mq+WwgiIuwVnpYJveCTcxH22Ex+cjuxY\n CLjsUELB4iBLlyJvW6D99XViT6mc4/C1ztGIsNfAjzErpFdrko+tjvTt4puUxLKESUAa4MHidFY\n MCTzaxVRupkH5LlgZZEP13xlVdiVTb/sKLpoPczE625++xOkc1lf/wLIbpA0yuLnEYYAkBXKtyO\n 93DelaQ0DRYDJVskPvuD+Dg9i9co/P+HBa8tXLeAjWAQw/20Ce9RBujwthdQPYOVtUPRB+kLDMP\n 2HiZTunhxVgND+pzJnsbCETkk9ch/EjARxmCkpOFy4GSDjEnxdf99NudaDkC4jTEDp648OW7Z+G\n 7T7zJehFuxY/xx2i86ox/U9KOQ0TdU8zU0GDVQshE7YNfOEPMqJzvoEIN93nTVnjkJGNUVyoicv\n uHUprLQyyMcNpMWd+rN88rtwAD2oTScOhCKFYZeKuAocGdt9Qhy6/KftTKFCgo/0vRykdyYYijQ\n XbhQyZhflTPFg==",
        "X-Received": [
            "by 2002:adf:ee89:0:b0:44a:2f78:e873 with SMTP id\n ffacd0b85a97d-44a2f78fdbdmr1422214f8f.17.1777577357762;\n Thu, 30 Apr 2026 12:29:17 -0700 (PDT)",
            "by 2002:adf:ee89:0:b0:44a:2f78:e873 with SMTP id\n ffacd0b85a97d-44a2f78fdbdmr1422179f8f.17.1777577356967;\n Thu, 30 Apr 2026 12:29:16 -0700 (PDT)"
        ],
        "From": "Massimiliano Pellizzer <massimiliano.pellizzer@canonical.com>",
        "To": "kernel-team@lists.ubuntu.com",
        "Subject": "[SRU][Q][PATCH v2 2/6] crypto: algif_aead - snapshot IV for async\n AEAD requests",
        "Date": "Thu, 30 Apr 2026 21:28:06 +0200",
        "Message-ID": "\n <82d89f32da0a78886a4a4b34c4dfbde1009c2028.1777576284.git.massimiliano.pellizzer@canonical.com>",
        "X-Mailer": "git-send-email 2.53.0",
        "In-Reply-To": "<cover.1777576284.git.massimiliano.pellizzer@canonical.com>",
        "References": "\n <177757626672.818044.11792928639290212185@tuxedo-infinitybook.public>\n <cover.1777576284.git.massimiliano.pellizzer@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: Douya Le <ldy3087146292@gmail.com>\n\nAF_ALG AEAD AIO requests currently use the socket-wide IV buffer during\nrequest processing.  For async requests, later socket activity can\nupdate that shared state before the original request has fully\ncompleted, which can lead to inconsistent IV handling.\n\nSnapshot the IV into per-request storage when preparing the AEAD\nrequest, so in-flight operations no longer depend on mutable socket\nstate.\n\nFixes: d887c52d6ae4 (\"crypto: algif_aead - overhaul memory management\")\nCc: stable@kernel.org\nReported-by: Yuan Tan <yuantan098@gmail.com>\nReported-by: Yifan Wu <yifanwucs@gmail.com>\nReported-by: Juefei Pu <tomapufckgml@gmail.com>\nReported-by: Xin Liu <bird@lzu.edu.cn>\nCo-developed-by: Luxing Yin <tr0jan@lzu.edu.cn>\nSigned-off-by: Luxing Yin <tr0jan@lzu.edu.cn>\nTested-by: Yucheng Lu <kanolyc@gmail.com>\nSigned-off-by: Douya Le <ldy3087146292@gmail.com>\nSigned-off-by: Ren Wei <n05ec@lzu.edu.cn>\nSigned-off-by: Herbert Xu <herbert@gondor.apana.org.au>\n(cherry picked from commit 5aa58c3a572b3e3b6c786953339f7978b845cc52)\nCVE-2026-31431\nSigned-off-by: Massimiliano Pellizzer <massimiliano.pellizzer@canonical.com>\n---\n crypto/algif_aead.c | 10 ++++++++--\n 1 file changed, 8 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/crypto/algif_aead.c b/crypto/algif_aead.c\nindex dda15bb05e89..c54693d18832 100644\n--- a/crypto/algif_aead.c\n+++ b/crypto/algif_aead.c\n@@ -72,8 +72,10 @@ static int _aead_recvmsg(struct socket *sock, struct msghdr *msg,\n \tstruct af_alg_ctx *ctx = ask->private;\n \tstruct crypto_aead *tfm = pask->private;\n \tunsigned int as = crypto_aead_authsize(tfm);\n+\tunsigned int ivsize = crypto_aead_ivsize(tfm);\n \tstruct af_alg_async_req *areq;\n \tstruct scatterlist *rsgl_src, *tsgl_src = NULL;\n+\tvoid *iv;\n \tint err = 0;\n \tsize_t used = 0;\t\t/* [in]  TX bufs to be en/decrypted */\n \tsize_t outlen = 0;\t\t/* [out] RX bufs produced by kernel */\n@@ -125,10 +127,14 @@ static int _aead_recvmsg(struct socket *sock, struct msghdr *msg,\n \n \t/* Allocate cipher request for current operation. */\n \tareq = af_alg_alloc_areq(sk, sizeof(struct af_alg_async_req) +\n-\t\t\t\t     crypto_aead_reqsize(tfm));\n+\t\t\t\t     crypto_aead_reqsize(tfm) + ivsize);\n \tif (IS_ERR(areq))\n \t\treturn PTR_ERR(areq);\n \n+\tiv = (u8 *)aead_request_ctx(&areq->cra_u.aead_req) +\n+\t     crypto_aead_reqsize(tfm);\n+\tmemcpy(iv, ctx->iv, ivsize);\n+\n \t/* convert iovecs of output buffers into RX SGL */\n \terr = af_alg_get_rsgl(sk, msg, flags, areq, outlen, &usedpages);\n \tif (err)\n@@ -187,7 +193,7 @@ static int _aead_recvmsg(struct socket *sock, struct msghdr *msg,\n \n \t/* Initialize the crypto operation */\n \taead_request_set_crypt(&areq->cra_u.aead_req, tsgl_src,\n-\t\t\t       areq->first_rsgl.sgl.sgt.sgl, used, ctx->iv);\n+\t\t\t       areq->first_rsgl.sgl.sgt.sgl, used, iv);\n \taead_request_set_ad(&areq->cra_u.aead_req, ctx->aead_assoclen);\n \taead_request_set_tfm(&areq->cra_u.aead_req, tfm);\n \n",
    "prefixes": [
        "SRU",
        "Q",
        "v2",
        "2/6"
    ]
}