Re: [PATCH v9 1/4] arm64: mte: implement CONFIG_ARM64_MTE_COMP

From: Will Deacon
Date: Wed Dec 13 2023 - 07:16:15 EST


On Tue, Dec 12, 2023 at 05:16:15PM +0000, Catalin Marinas wrote:
> On Mon, Nov 13, 2023 at 11:52:30AM +0100, Alexander Potapenko wrote:
> > The config implements the algorithm compressing memory tags for ARM MTE
> > during swapping.
> >
> > The algorithm is based on RLE and specifically targets buffers of tags
> > corresponding to a single page. In many cases a buffer can be compressed
> > into 63 bits, making it possible to store it without additional memory
> > allocation.
> >
> > Suggested-by: Evgenii Stepanov <eugenis@xxxxxxxxxx>
> > Signed-off-by: Alexander Potapenko <glider@xxxxxxxxxx>
>
> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx>
>
> > +void mte_tags_to_ranges(u8 *tags, u8 *out_tags, unsigned short *out_sizes,
> > + size_t *out_len)
> > +{
> [...]
> > +}
> > +EXPORT_SYMBOL_NS(mte_tags_to_ranges, MTECOMP);
>
> I may have asked before, what the reason for EXPORT_SYMBOL_NS? Is it for
> the kunit tests? Otherwise we don't expect those to be accessed from
> modules.

It looks like it. The Kconfig option for the test is tristate and it calls
this symbol directly.

Will