[PATCH v6 31/39] kasan, vmalloc: only tag normal vmalloc allocations

Andrey Konovalov andreyknvl at gmail.com
Tue Mar 8 07:30:46 PST 2022


On Tue, Mar 8, 2022 at 4:17 PM Vasily Gorbik <gor at linux.ibm.com> wrote:
>
> On Mon, Jan 24, 2022 at 07:05:05PM +0100, andrey.konovalov at linux.dev wrote:
> > From: Andrey Konovalov <andreyknvl at google.com>
> >
> > The kernel can use to allocate executable memory. The only supported way
> > to do that is via __vmalloc_node_range() with the executable bit set in
> > the prot argument. (vmap() resets the bit via pgprot_nx()).
> >
> > Once tag-based KASAN modes start tagging vmalloc allocations, executing
> > code from such allocations will lead to the PC register getting a tag,
> > which is not tolerated by the kernel.
> >
> > Only tag the allocations for normal kernel pages.
> >
> > Signed-off-by: Andrey Konovalov <andreyknvl at google.com>
>
> This breaks s390 and produce huge amount of false positives.
> I haven't been testing linux-next with KASAN for while, now tried it with
> next-20220308 and bisected false positives to this commit.
>
> Any idea what is going wrong here?

Hi Vasily,

Could you try the attached fix?

Thanks!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: s390-kasan-vmalloc.fix
Type: application/octet-stream
Size: 536 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20220308/bc4d1798/attachment.obj>


More information about the linux-arm-kernel mailing list