Show a cover letter.

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

{
    "id": 2225002,
    "url": "http://patchwork.ozlabs.org/api/1.1/covers/2225002/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-cifs-client/cover/20260420083705.1009074-1-dhowells@redhat.com/",
    "project": {
        "id": 12,
        "url": "http://patchwork.ozlabs.org/api/1.1/projects/12/?format=api",
        "name": "Linux CIFS Client",
        "link_name": "linux-cifs-client",
        "list_id": "linux-cifs.vger.kernel.org",
        "list_email": "linux-cifs@vger.kernel.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": ""
    },
    "msgid": "<20260420083705.1009074-1-dhowells@redhat.com>",
    "date": "2026-04-20T08:36:51",
    "name": "[00/11] netfs: Further miscellaneous fixes",
    "submitter": {
        "id": 59,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/59/?format=api",
        "name": "David Howells",
        "email": "dhowells@redhat.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/linux-cifs-client/cover/20260420083705.1009074-1-dhowells@redhat.com/mbox/",
    "series": [
        {
            "id": 500568,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/500568/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-cifs-client/list/?series=500568",
            "date": "2026-04-20T08:36:52",
            "name": "netfs: Further miscellaneous fixes",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/500568/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/2225002/comments/",
    "headers": {
        "Return-Path": "\n <linux-cifs+bounces-10923-incoming=patchwork.ozlabs.org@vger.kernel.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "linux-cifs@vger.kernel.org"
        ],
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=JntNMLLx;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.105.105.114; helo=tor.lore.kernel.org;\n envelope-from=linux-cifs+bounces-10923-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)",
            "smtp.subspace.kernel.org;\n\tdkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com\n header.b=\"JntNMLLx\"",
            "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=170.10.129.124",
            "smtp.subspace.kernel.org;\n dmarc=pass (p=quarantine dis=none) header.from=redhat.com",
            "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=redhat.com"
        ],
        "Received": [
            "from tor.lore.kernel.org (tor.lore.kernel.org [172.105.105.114])\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 4fzf6L73Wrz1yD4\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 20 Apr 2026 18:39:06 +1000 (AEST)",
            "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id D13B330461B4\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 20 Apr 2026 08:37:27 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 30BEE38AC85;\n\tMon, 20 Apr 2026 08:37:21 +0000 (UTC)",
            "from us-smtp-delivery-124.mimecast.com\n (us-smtp-delivery-124.mimecast.com [170.10.129.124])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 9E69338945C\n\tfor <linux-cifs@vger.kernel.org>; Mon, 20 Apr 2026 08:37:19 +0000 (UTC)",
            "from mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com\n (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by\n relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,\n cipher=TLS_AES_256_GCM_SHA384) id us-mta-231-QXkkHxJ9MweldKo0LKm6Jw-1; Mon,\n 20 Apr 2026 04:37:15 -0400",
            "from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com\n (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby mx-prod-mc-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS\n id 695AE1800358;\n\tMon, 20 Apr 2026 08:37:13 +0000 (UTC)",
            "from warthog.procyon.org.com (unknown [10.44.48.17])\n\tby mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP\n id 84BF519560AB;\n\tMon, 20 Apr 2026 08:37:09 +0000 (UTC)"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1776674241; cv=none;\n b=lG6MClMy+k4kEqsc/GVH2mUROhI3wiYC98hCdbOR052CihbR7YlG0J3krTZUm373jCKvziDS6m8brCtK7Opa2c++ZvPKHH0vbepciIWprP6SbJ8UemfMoNqsAV7ZduLaI0d4b3BcU1NRrU7R/jqA6SNyIUkF7J0sjYi2uouQwUo=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1776674241; c=relaxed/simple;\n\tbh=HHzZW79uNqFYtnh17CbdC+S5FUFfAD3faFM1gcXFMIs=;\n\th=From:To:Cc:Subject:Date:Message-ID:MIME-Version;\n b=njODgTmGBpTtSeuolOwO+8buq8snCZwtxev7GY2Hnr8v4jk5HHYyec9OKY/RQVVdx2aOPfYxK0WQKqKpqEi5fDi8Oz8qiFhCweE0Yo5QgfV258yYod6YnVnRkOj0UC2Uhhp2cwynnRVe1p1Szbu8Q5A3gKoFXFUgaYhCQe5CvEQ=",
        "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=quarantine dis=none) header.from=redhat.com;\n spf=pass smtp.mailfrom=redhat.com;\n dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com\n header.b=JntNMLLx; arc=none smtp.client-ip=170.10.129.124",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1776674238;\n\th=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n\t to:to:cc:cc:mime-version:mime-version:\n\t content-transfer-encoding:content-transfer-encoding;\n\tbh=WfuRXW6PO7eHQomUNdqzWCM5UdKk2eW774Sgalu0km4=;\n\tb=JntNMLLxznRHoeF0JEFDFsKEA5M0MUPbOqugrybbIoSI/JSE7YYsl62ycEmno/pcFwlI10\n\tVbhSOKpz+PJ+ifNtcR9okfSNuW9bVa9Fz85alA28eyIZcfv6bLYCHxPl7wSnoEq/yS4sKc\n\tR25ppKmFfa0bBUW5jM0uz9RppfpoO+k=",
        "X-MC-Unique": "QXkkHxJ9MweldKo0LKm6Jw-1",
        "X-Mimecast-MFC-AGG-ID": "QXkkHxJ9MweldKo0LKm6Jw_1776674234",
        "From": "David Howells <dhowells@redhat.com>",
        "To": "Christian Brauner <christian@brauner.io>",
        "Cc": "David Howells <dhowells@redhat.com>,\n\tPaulo Alcantara <pc@manguebit.org>,\n\tnetfs@lists.linux.dev,\n\tlinux-afs@lists.infradead.org,\n\tlinux-cifs@vger.kernel.org,\n\tceph-devel@vger.kernel.org,\n\tlinux-fsdevel@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org",
        "Subject": "[PATCH 00/11] netfs: Further miscellaneous fixes",
        "Date": "Mon, 20 Apr 2026 09:36:51 +0100",
        "Message-ID": "<20260420083705.1009074-1-dhowells@redhat.com>",
        "Precedence": "bulk",
        "X-Mailing-List": "linux-cifs@vger.kernel.org",
        "List-Id": "<linux-cifs.vger.kernel.org>",
        "List-Subscribe": "<mailto:linux-cifs+subscribe@vger.kernel.org>",
        "List-Unsubscribe": "<mailto:linux-cifs+unsubscribe@vger.kernel.org>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-Scanned-By": "MIMEDefang 3.0 on 10.30.177.12"
    },
    "content": "Hi Christian,\n\nHere are some more miscellaneous fixes for netfslib, found by Sashiko.dev's\nAI review[1] in response to the previous miscellaneous fix posting[2], plus\na repeat of another patch you haven't picked up yet:\n\n (1) Fix an early put of the sink page used in netfs_read_gaps(), before\n     the request has completed.\n\n (2) Fix request leak in netfs_write_begin() error handling.\n\n (3) Fix a potential UAF in netfs_unlock_abandoned_read_pages() due to\n     trying to check index of each folio we're abandoning to see if that\n     folio is actually owned by the caller (in which case, we're not\n     actually allowed to dereference it).\n\n (4) Fix a potentially uninitialised error value in\n     netfs_extract_user_iter().\n\n (5) Fix incorrect adjustment of dirty region when partially invalidating a\n     streaming write folio.\n\n (6) Fix the trace displayed by the total overwrite of a streaming-write\n     folio.\n\n (7) Fix the handling of folio->private in netfs_perform_write() and the\n     attached netfs_folio and/or group when a streaming write folio is\n     modified.\n\n (8) Fix the handling of a group attached to the netfs_folio attached to\n     folio->private when netfs_read_gaps() fills out the folio.\n\n (9) Fix the potential for 64-bit tearing on a 32-bit machine when reading\n     netfs_inode->remote_i_size and ->zero_point by using much the same\n     mechanism as is used for ->i_size.\n\n(10) Fix a comment about avoiding streaming write on O_RDWR files as that\n     bit of code is removed in vfs.fixes.  This could be folded down, but\n     makes no change of behaviour.\n\n(11) Fix netfs_read_folio() to wait on writeback first (it holds the folio\n     lock) otherwise we aren't allowed to look at the netfs_folio struct as\n     that could be modified at any time by the writeback collector.\n\nThese are applied on top of your vfs.fixes branch.  Patch 6 fixes a commit\nin vfs.fixes, but would need moving before that patch rather than simply\nfolding down - and as it just changes the trace output, it's probably not\nworth moving.  Patch 8 fixes a bug in one of the commits in vfs.fixes.\nPatch 10 just tidies up a comment in one of the vfs.fixes commits.\n\nThe patches can also be found here:\n\n\thttps://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git/log/?h=netfs-fixes\n\nThanks,\nDavid\n\n[1] https://sashiko.dev/#/patchset/20260414082004.3756080-1-dhowells%40redhat.com\n\n[2] https://lore.kernel.org/r/20260414082004.3756080-1-dhowells@redhat.com/\n\nDavid Howells (11):\n  netfs: Fix early put of sink folio in netfs_read_gaps()\n  netfs: Fix leak of request in netfs_write_begin() error handling\n  netfs: Fix potential UAF in netfs_unlock_abandoned_read_pages()\n  netfs: Fix potential uninitialised var in netfs_extract_user_iter()\n  netfs: Fix partial invalidation of streaming-write folio\n  netfs: Fix the trace displayed for the total overwrite of a streamed\n    write\n  netfs: Fix folio->private handling in netfs_perform_write()\n  netfs: Fix group handling in netfs_read_gaps()\n  netfs: Fix potential for tearing in ->remote_i_size and ->zero_point\n  netfs: Fix comment about write-streaming avoidance\n  netfs: Fix netfs_read_folio() to wait on writeback\n\n fs/9p/vfs_inode.c            |   2 +-\n fs/9p/vfs_inode_dotl.c       |   4 +-\n fs/afs/inode.c               |   8 +-\n fs/afs/write.c               |   2 +-\n fs/netfs/buffered_read.c     |  25 +--\n fs/netfs/buffered_write.c    | 100 +++++++-----\n fs/netfs/direct_write.c      |   4 +-\n fs/netfs/iterator.c          |   2 +-\n fs/netfs/misc.c              |  15 +-\n fs/netfs/read_collect.c      |   2 +-\n fs/netfs/read_retry.c        |   2 +-\n fs/netfs/write_collect.c     |   3 +-\n fs/smb/client/cifsfs.c       |  24 +--\n fs/smb/client/cifssmb.c      |   2 +-\n fs/smb/client/file.c         |   9 +-\n fs/smb/client/inode.c        |   9 +-\n fs/smb/client/readdir.c      |   3 +-\n fs/smb/client/smb2ops.c      |  16 +-\n fs/smb/client/smb2pdu.c      |   2 +-\n include/linux/netfs.h        | 301 +++++++++++++++++++++++++++++++++--\n include/trace/events/netfs.h |   3 +\n 21 files changed, 426 insertions(+), 112 deletions(-)"
}