From: sashiko-bot@kernel.org
To: "Luigi Rizzo" <lrizzo@google.com>,
"Luigi Rizzo" <rizzo.unipi@gmail.com>,
"Joerg Roedel" <joro@8bytes.org>, "Will Deacon" <will@kernel.org>,
"Robin Murphy" <robin.murphy@arm.com>,
"Christoph Hellwig" <hch@lst.de>,
"Marek Szyprowski" <m.szyprowski@samsung.com>,
"Andrew Morton" <akpm@linux-foundation.org>,
"Vlastimil Babka" <vbabka@kernel.org>,
"David Hildenbrand" <david@kernel.org>,
"Jens Axboe" <axboe@kernel.dk>,
"David S . Miller" <davem@davemloft.net>,
"Eric Dumazet" <edumazet@kernel.org>,
"Jakub Kicinski" <kuba@kernel.org>,
"Paolo Abeni" <pabeni@redhat.com>
Cc: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Rafael J . Wysocki" <rafael@kernel.org>,
"Danilo Krummrich" <dakr@kernel.org>,
"Jonathan Corbet" <corbet@lwn.net>,
"Matthew Wilcox" <willy@infradead.org>,
"Lorenzo Stoakes" <ljs@kernel.org>,
"Jesper Dangaard Brouer" <hawk@kernel.org>,
"Ilias Apalodimas" <ilias.apalodimas@linaro.org>,
"Willem de Bruijn" <willemb@google.com>,
"Kuniyuki Iwashima" <kuniyu@google.com>,
"Joshua Washington" <joshwash@google.com>,
"Harshitha Ramamurthy" <hramamurthy@google.com>,
"Alexander Lobakin" <aleksander.lobakin@intel.com>,
linux-mm@kvack.org
Subject: Re: [RFC PATCH v2 16/25] mm/slub: Add SLAB_CACHE_PISA_RO for PISA-backed slab caches
Date: Wed, 11 Nov 2026 01:03:02 +0000 [thread overview]
Message-ID: <sashiko-outbox-208044@kernel.org> (raw)
In-Reply-To: <20261109182533.3594984-17-lrizzo@google.com>
Thank you for your contribution! Sashiko AI review found 5 potential
issues to consider:
- [High] mm/slub: order clamping in calculate_sizes() breaks non-4K
pages and slab->objects
- [Medium] iommu/pisa: pisa_alloc_folio() pollutes per-node allocator on
__GFP_THISNODE
- [Medium] mm/slub: __GFP_PISA_RO leaks into alloc_slab_obj_exts() via
OBJCGS_CLEAR_MASK
- [Medium] mm/slub: alloc_slab_page() and pisa_alloc_folio() bypass
current_gfp_context()
- [Low] iommu/pisa: kmem_cache leak in test_slub_page_alloc() on
allocation failure
--
commit 48ed47e1e79e98a68d2521a0d03cf1f63453e5e9
Author: Luigi Rizzo <lrizzo@google.com>
mm/slub: Add SLAB_CACHE_PISA_RO for PISA-backed slab caches
This commit adds the SLAB_CACHE_PISA_RO flag so SLUB caches can allocate
zeroed, read-only PISA folios via pisa_alloc_folio().
> diff --git a/drivers/iommu/pisa-alloc.c b/drivers/iommu/pisa-alloc.c
> index 4b61ec84ed6d1..3b5c49d143a7e 100644
> --- a/drivers/iommu/pisa-alloc.c
> +++ b/drivers/iommu/pisa-alloc.c
> @@ -848,6 +848,33 @@ unsigned long pisa_alloc_pages_bulk(gfp_t gfp, unsigned int order, int preferred
> return pisa_alloc_bulk(pa, gfp & ~__GFP_PISA_RW, nr_pages, page_array, frozen);
> }
>
> +/**
> + * pisa_alloc_folio - Allocate a frozen folio for SLUB (SLAB_CACHE_PISA_RO)
> + * @gfp: GFP flags (must have __GFP_PISA_RW or __GFP_PISA_RO set)
> + * @order: Folio order
> + * @nid: Target NUMA node (or NUMA_NO_NODE)
> + *
> + * Drops __GFP_THISNODE before calling the per-node allocator and verifies
> + * node placement afterwards.
> + *
> + * Return: Frozen folio of @order, or NULL.
> + */
> +struct folio *pisa_alloc_folio(gfp_t gfp, unsigned int order, int nid)
> +{
> + struct page *page;
> +
> + page = pisa_alloc_pages(gfp & ~__GFP_THISNODE, order, nid, NULL);
> + if (!page)
> + return NULL;
> + if (unlikely((gfp & __GFP_THISNODE) && nid != NUMA_NO_NODE &&
> + page_to_nid(page) != nid)) {
> + page_ref_unfreeze(page, 1);
> + __free_pages(page, order);
> + return NULL;
> + }
> + return page_folio(page);
> +}
[Severity: Medium]
Can stripping __GFP_THISNODE here attach a remote 2MB PISA page to nid's
per-node PISA allocator?
When ___slab_alloc() tries the local node first, it passes
GFP_NOWAIT | __GFP_NOWARN | __GFP_THISNODE. If nid's PISA allocator and
reservoir are empty, pisa_alloc_pages() reaches __pisa_page_alloc(), which
calls alloc_pages_node(nid, gfp, PISA_ORDER) without __GFP_THISNODE. When
nid has no free order-9 buddy pages, alloc_pages_node() falls back to a
remote node, and __pisa_alloc_bulk() binds that remote 2MB page's
pisa_meta to nid's pisa_alloc and sets PISA_ACTIVE.
pisa_alloc_folio() then rejects the block because page_to_nid(page) != nid
and calls __free_pages(page, order), which intercepts PISA_ACTIVE in
__free_pages_prepare() -> pisa_free_page() and recycles the remote block
back into nid's pisa_alloc instead of freeing the 2MB page. Subsequent
__GFP_THISNODE allocations on nid will repeatedly pop and reject blocks
from that remote 2MB page.
> diff --git a/drivers/iommu/pisa-kunit.c b/drivers/iommu/pisa-kunit.c
> index 40bf7801183da..9cc1328893ace 100644
> --- a/drivers/iommu/pisa-kunit.c
> +++ b/drivers/iommu/pisa-kunit.c
[ ... ]
> @@ -621,6 +622,23 @@ static void test_reservoir_and_scrubber(struct kunit *test)
> WRITE_ONCE(pisa_scrub_max, old_scrub);
> }
>
> +static void test_slub_page_alloc(struct kunit *test)
> +{
> + struct kmem_cache *s;
> + void *obj;
> +
> + s = kmem_cache_create("pisa_kunit_slab", 1024, NULL,
> + SLAB_NO_MERGE | SLAB_CACHE_PISA_RO);
> + KUNIT_ASSERT_NOT_NULL(test, s);
> +
> + obj = kmem_cache_alloc(s, GFP_KERNEL);
> + KUNIT_ASSERT_NOT_NULL(test, obj);
> + KUNIT_EXPECT_TRUE(test, is_pisa_page(virt_to_page(obj)));
> + kmem_cache_free(s, obj);
> +
> + kmem_cache_destroy(s);
> +}
[Severity: Low]
Does KUNIT_ASSERT_NOT_NULL(test, obj) leak the kmem_cache s if
kmem_cache_alloc() fails? KUNIT_ASSERT_NOT_NULL() aborts the test
immediately before reaching kmem_cache_destroy(s).
> diff --git a/mm/slub.c b/mm/slub.c
> index 45e077c7526c2..63609768f4e3f 100644
> --- a/mm/slub.c
> +++ b/mm/slub.c
[ ... ]
> @@ -3378,6 +3379,8 @@ static inline struct slab *alloc_slab_page(gfp_t flags, int node,
> if (unlikely(!allow_spin))
> page = alloc_frozen_pages_nolock(0/* __GFP_COMP is implied */,
> node, order);
> + else if (unlikely(flags & __GFP_PISA_RO))
> + page = (struct page *)pisa_alloc_folio(flags, order, node);
> else if (node == NUMA_NO_NODE)
> page = alloc_frozen_pages(flags, order);
> else
[Severity: Medium]
Does calling pisa_alloc_folio() directly bypass current_gfp_context()?
alloc_frozen_pages() and __alloc_frozen_pages() apply
current_gfp_context(gfp) in __alloc_frozen_pages_noprof() to strip
__GFP_DIRECT_RECLAIM, __GFP_FS, or __GFP_IO under scoped
memalloc_noreclaim_save(), memalloc_nofs_save(), or memalloc_noio_save()
sections. Neither alloc_slab_page() nor pisa_alloc_folio() applies
current_gfp_context(flags), so a GFP_KERNEL allocation from a
SLAB_CACHE_PISA_RO cache inside memalloc_noreclaim_save() still has
gfpflags_allow_blocking(gfp) true and can sleep in pisa_alloc_split_page(),
and inside memalloc_nofs_save() or memalloc_noio_save() can enter
pisa_meta_init() from __pisa_page_alloc() before pisa_memalloc_save() is
called.
> @@ -3484,7 +3487,7 @@ static struct slab *allocate_slab(struct kmem_cache *s, gfp_t flags,
> gfp_t alloc_gfp;
> void *start;
>
> - flags &= gfp_allowed_mask;
> + flags &= gfp_allowed_mask & ~__GFP_PISA_RW;
>
> flags |= s->allocflags;
[Severity: Medium]
Does __GFP_PISA_RO in s->allocflags leak into internal slabobj_ext
allocations?
flags |= s->allocflags sets __GFP_PISA_RO in flags after ~__GFP_PISA_RW is
masked out, and allocate_slab() then passes flags to account_slab() ->
alloc_slab_obj_exts(). Because OBJCGS_CLEAR_MASK does not include
__GFP_PISA_RW:
mm/slub.c:
#define OBJCGS_CLEAR_MASK (__GFP_DMA | __GFP_RECLAIMABLE | \
__GFP_ACCOUNT | __GFP_NOFAIL | \
__GFP_THISNODE | __GFP_COMP)
alloc_slab_obj_exts() (and alloc_empty_sheaf() when a caller passes
__GFP_PISA_RO) leaves __GFP_PISA_RO set on the internal kmalloc call. If
the slabobj_ext array exceeds KMALLOC_MAX_CACHE_SIZE,
___kmalloc_large_node() allocates the SLUB metadata array from a PISA RO
page. Adding __GFP_PISA_RW to OBJCGS_CLEAR_MASK would prevent this.
[ ... ]
> @@ -8182,6 +8189,11 @@ static int calculate_sizes(struct kmem_cache_args *args, struct kmem_cache *s)
> if (s->flags & SLAB_RECLAIM_ACCOUNT)
> s->allocflags |= __GFP_RECLAIMABLE;
>
> + if (s->flags & SLAB_CACHE_PISA_RO) {
> + s->allocflags |= __GFP_PISA_RO | __GFP_ZERO;
> + order = clamp_t(unsigned int, order, 2, PAGE_ALLOC_COSTLY_ORDER);
> + }
> +
> /*
> * For kmalloc caches we enable sheaves later by
> * bootstrap_kmalloc_sheaves() to avoid recursion.
[Severity: High]
Does clamping order to [2, PAGE_ALLOC_COSTLY_ORDER] after
calculate_order(size) break on 16KB and 64KB page kernels?
In pisa_init(), read-only PISA allocators are only created for order 2 and
SKB_FRAG_PAGE_ORDER:
drivers/iommu/pisa-alloc.c:pisa_init() {
const struct {
u8 order;
bool ro;
bool pcp;
} cfg[] = {
{ 0, false, true },
{ 2, true, false },
{ SKB_FRAG_PAGE_ORDER, true, true },
};
On ARM64 with 16KB or 64KB pages, SKB_FRAG_PAGE_ORDER is 1 or 0, so no
order-3 (PAGE_ALLOC_COSTLY_ORDER) read-only PISA allocator exists. When
calculate_order(size) returns 3, pisa_alloc_folio() looks up
pisa_node_pa(nid, 3, true), which returns NULL, and allocate_slab() skips
the s->min fallback for SLAB_CACHE_PISA_RO, causing every allocation from
the cache to fail.
In addition, clamping order up to 2 runs after calculate_order(size) has
enforced MAX_OBJS_PER_PAGE (32767). On 64KB pages with s->size == 8,
forcing order 2 produces 32768 objects, which fits in the 16-bit OO_MASK of
s->oo but truncates the 15-bit unsigned slab->objects bitfield to 0 in
allocate_slab(), corrupting freelist setup in build_slab_freelist() or
looping in ___slab_alloc(). Finally, if s->size exceeds
PAGE_SIZE << PAGE_ALLOC_COSTLY_ORDER when SLUB_DEBUG inflates metadata,
clamping order down makes oo_objects(s->oo) == 0 before
do_kmem_cache_create() can reach disable_higher_order_debug.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261109182533.3594984-1-lrizzo@google.com?part=16
next prev parent reply other threads:[~2026-11-11 1:03 UTC|newest]
Thread overview: 107+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-03 21:22 [RFC: DMA_PMD 00/22] DMA_PMD: PMD_SIZE-backed IO buffer pools Luigi Rizzo
2026-10-03 21:22 ` [RFC: DMA_PMD 01/22] iommu/dma: introduce CONFIG_DMA_PMD and metadata table Luigi Rizzo
2026-10-03 21:44 ` Randy Dunlap
2026-10-04 9:14 ` Luigi Rizzo
2026-10-03 21:22 ` [RFC: DMA_PMD 02/22] iommu/dma: add DMA_PMD pool lifecycle and page recycle hook Luigi Rizzo
2026-10-10 2:59 ` kernel test robot
2026-10-03 21:22 ` [RFC: DMA_PMD 03/22] mm: Add split_page_compound() Luigi Rizzo
2026-10-03 21:22 ` [RFC: DMA_PMD 04/22] iommu/dma: add DMA_PMD pool block allocation Luigi Rizzo
2026-10-03 21:22 ` [RFC: DMA_PMD 05/22] iommu/dma: Global cap and shrinker for DMA_PMD pool memory Luigi Rizzo
2026-10-03 21:22 ` [RFC: DMA_PMD 06/22] iommu/dma: reserve a per-domain IOVA window for DMA_PMD pages Luigi Rizzo
2026-10-03 21:22 ` [RFC: DMA_PMD 07/22] iommu/dma: release DMA_PMD domain mappings on domain teardown Luigi Rizzo
2026-10-03 21:22 ` [RFC: DMA_PMD 08/22] iommu/dma: use per-domain IOVA window to map DMA_PMD memory Luigi Rizzo
2026-10-03 21:22 ` [RFC: DMA_PMD 09/22] iommu/dma: Add DMA_PMD arena allocator Luigi Rizzo
2026-10-03 21:22 ` [RFC: DMA_PMD 10/22] driver core: Add per-device dma_pmd_* sysfs attributes Luigi Rizzo
2026-10-03 21:22 ` [RFC: DMA_PMD 11/22] dma-mapping: Use DMA_PMD arena for dma_alloc_attrs() Luigi Rizzo
2026-10-03 21:22 ` [RFC: DMA_PMD 12/22] net/core: Use per-CPU DMA_PMD pools for skb_page_frag_refill() Luigi Rizzo
2026-10-03 21:22 ` [RFC: DMA_PMD 13/22] net/core: Use DMA_PMD for page_pool memory Luigi Rizzo
2026-10-03 21:22 ` [RFC: DMA_PMD 14/22] iommu/dma: Support decrypted and pinned DMA_PMD pages Luigi Rizzo
2026-10-03 21:22 ` [RFC: DMA_PMD 15/22] iommu/dma: Add background page scrubber for DMA_PMD pools Luigi Rizzo
2026-10-03 21:22 ` [RFC: DMA_PMD 16/22] iommu/dma: Add per-NUMA-node PMD page reservoir Luigi Rizzo
2026-10-03 21:22 ` [RFC: DMA_PMD 17/22] net/gve: Use DMA_PMD memory for RX buffers Luigi Rizzo
2026-10-03 21:22 ` [RFC: DMA_PMD 18/22] net/gve: Use DMA_PMD memory for tx header bounce buffers Luigi Rizzo
2026-10-03 21:22 ` [RFC: DMA_PMD 19/22] net/mlx5e: " Luigi Rizzo
2026-10-14 17:22 ` Dragos Tatulea
2026-10-14 17:50 ` Dragos Tatulea
2026-10-14 18:28 ` Luigi Rizzo
2026-10-03 21:22 ` [RFC: DMA_PMD 20/22] net/idpf: " Luigi Rizzo
2026-10-03 21:22 ` [RFC: DMA_PMD 21/22] net/bnxt: " Luigi Rizzo
2026-10-03 21:22 ` [RFC: DMA_PMD 22/22] iommu/dma: Add DMA_PMD statistics and debugfs Luigi Rizzo
2026-10-11 9:02 ` [RFC: DMA_PMD 00/22] DMA_PMD: PMD_SIZE-backed IO buffer pools Pranjal Shrivastava
2026-10-12 13:51 ` David Hildenbrand (Arm)
2026-10-12 14:45 ` Luigi Rizzo
2026-10-12 19:43 ` David Hildenbrand (Arm)
2026-10-13 10:42 ` Robin Murphy
2026-10-14 10:47 ` David Hildenbrand (Arm)
2026-10-14 11:05 ` Luigi Rizzo
2026-10-17 17:11 ` Luigi Rizzo
2026-10-22 20:12 ` Jason Gunthorpe
2026-10-22 21:51 ` Luigi Rizzo
2026-10-23 14:01 ` Jason Gunthorpe
2026-10-23 14:30 ` Luigi Rizzo
2026-10-23 14:50 ` Jason Gunthorpe
2026-10-23 15:12 ` Luigi Rizzo
2026-10-23 17:27 ` Jakub Kicinski
2026-10-23 20:22 ` Luigi Rizzo
2026-11-03 8:09 ` Christoph Hellwig
2026-11-03 9:13 ` Luigi Rizzo
2026-11-03 15:10 ` Jason Gunthorpe
2026-11-06 17:21 ` Naman Gulati
2026-11-06 17:30 ` Jason Gunthorpe
2026-11-06 18:00 ` Naman Gulati
2026-11-06 18:07 ` Jason Gunthorpe
2026-11-06 18:17 ` Naman Gulati
2026-11-06 18:43 ` Jason Gunthorpe
2026-11-06 19:01 ` Luigi Rizzo
2026-11-06 19:11 ` Naman Gulati
2026-10-12 14:49 ` Mostafa Saleh
2026-10-12 15:02 ` Luigi Rizzo
2026-10-14 17:28 ` Dragos Tatulea
2026-10-14 18:14 ` Luigi Rizzo
2026-11-09 18:25 ` [RFC PATCH v2 00/25] PISA: Pre-mapped IOVA Superpage Allocator for DMA and CoCo Luigi Rizzo
2026-11-09 18:25 ` [RFC PATCH v2 01/25] iommu/dma: Introduce CONFIG_PISA and metadata table Luigi Rizzo
2026-11-10 23:12 ` sashiko-bot
2026-11-09 18:25 ` [RFC PATCH v2 02/25] iommu/dma: Add PISA allocator lifecycle and page recycle hook Luigi Rizzo
2026-11-09 18:25 ` [RFC PATCH v2 03/25] iommu/dma: Add per-NUMA-node PISA page reservoir Luigi Rizzo
2026-11-10 23:12 ` sashiko-bot
2026-11-09 18:25 ` [RFC PATCH v2 04/25] iommu/dma: Add PISA block allocation Luigi Rizzo
2026-11-10 23:12 ` sashiko-bot
2026-11-09 18:25 ` [RFC PATCH v2 05/25] iommu/dma: Add global cap and shrinker for PISA pages Luigi Rizzo
2026-11-09 18:25 ` [RFC PATCH v2 06/25] iommu/dma: Reserve a per-domain IOVA window " Luigi Rizzo
2026-11-09 18:25 ` [RFC PATCH v2 07/25] iommu/dma: Release PISA domain mappings on domain teardown Luigi Rizzo
2026-11-10 23:12 ` sashiko-bot
2026-11-09 18:25 ` [RFC PATCH v2 08/25] iommu/dma: Use per-domain IOVA window to map PISA memory Luigi Rizzo
2026-11-10 23:12 ` sashiko-bot
2026-11-09 18:25 ` [RFC PATCH v2 09/25] driver core: Add per-device pisa_* sysfs attributes for PISA optin Luigi Rizzo
2026-11-10 23:12 ` sashiko-bot
2026-11-09 18:25 ` [RFC PATCH v2 10/25] iommu/dma: Use PISA for coherent DMA allocations Luigi Rizzo
2026-11-10 23:12 ` sashiko-bot
2026-11-09 18:25 ` [RFC PATCH v2 11/25] iommu/dma: Add per-CPU block caches to PISA allocators Luigi Rizzo
2026-11-10 23:12 ` sashiko-bot
2026-11-09 18:25 ` [RFC PATCH v2 12/25] net/core: Use per-node PISA allocators for skb_page_frag_refill() Luigi Rizzo
2026-11-10 23:50 ` sashiko-bot
2026-11-09 18:25 ` [RFC PATCH v2 13/25] net/core: Use PISA for page_pool memory Luigi Rizzo
2026-11-09 18:25 ` [RFC PATCH v2 14/25] iommu/dma: Support decrypted PISA pages Luigi Rizzo
2026-11-11 0:19 ` sashiko-bot
2026-11-09 18:25 ` [RFC PATCH v2 15/25] iommu/dma: Add background page scrubber for PISA allocators Luigi Rizzo
2026-11-11 0:37 ` sashiko-bot
2026-11-09 18:25 ` [RFC PATCH v2 16/25] mm/slub: Add SLAB_CACHE_PISA_RO for PISA-backed slab caches Luigi Rizzo
2026-11-11 1:03 ` sashiko-bot [this message]
2026-11-09 18:25 ` [RFC PATCH v2 17/25] net: Allocate small skb heads from PISA Luigi Rizzo
2026-11-11 1:33 ` sashiko-bot
2026-11-09 18:25 ` [RFC PATCH v2 18/25] iommu/dma: Migrate user pages into PISA for TX zerocopy Luigi Rizzo
2026-11-11 2:41 ` sashiko-bot
2026-11-09 18:25 ` [RFC PATCH v2 19/25] iommu/dma: Stop recycling old PISA pages when allocator waste is high Luigi Rizzo
2026-11-11 2:57 ` sashiko-bot
2026-11-09 18:25 ` [RFC PATCH v2 20/25] net/libeth: Use GFP_KERNEL when pre-filling RX rings Luigi Rizzo
2026-11-11 3:13 ` sashiko-bot
2026-11-09 18:25 ` [RFC PATCH v2 21/25] net/gve: " Luigi Rizzo
2026-11-11 3:22 ` sashiko-bot
2026-11-09 18:25 ` [RFC PATCH v2 22/25] net/gve: Use PISA memory for RX buffers Luigi Rizzo
2026-11-11 3:43 ` sashiko-bot
2026-11-09 18:25 ` [RFC PATCH v2 23/25] block, mm, iommu/dma: Support PISA for disk I/O and scrub migration Luigi Rizzo
2026-11-11 4:16 ` sashiko-bot
2026-11-09 18:25 ` [RFC PATCH v2 24/25] Documentation: Add PISA architecture documentation Luigi Rizzo
2026-11-11 4:24 ` sashiko-bot
2026-11-09 18:25 ` [RFC PATCH v2 25/25] iommu/dma: Add PISA statistics and debugfs Luigi Rizzo
2026-11-11 4:37 ` sashiko-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=sashiko-outbox-208044@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=aleksander.lobakin@intel.com \
--cc=axboe@kernel.dk \
--cc=corbet@lwn.net \
--cc=dakr@kernel.org \
--cc=davem@davemloft.net \
--cc=david@kernel.org \
--cc=edumazet@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=hawk@kernel.org \
--cc=hch@lst.de \
--cc=hramamurthy@google.com \
--cc=ilias.apalodimas@linaro.org \
--cc=joro@8bytes.org \
--cc=joshwash@google.com \
--cc=kuba@kernel.org \
--cc=kuniyu@google.com \
--cc=linux-mm@kvack.org \
--cc=ljs@kernel.org \
--cc=lrizzo@google.com \
--cc=m.szyprowski@samsung.com \
--cc=pabeni@redhat.com \
--cc=rafael@kernel.org \
--cc=rizzo.unipi@gmail.com \
--cc=robin.murphy@arm.com \
--cc=sashiko-reviews@lists.linux.dev \
--cc=vbabka@kernel.org \
--cc=will@kernel.org \
--cc=willemb@google.com \
--cc=willy@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox