Re: [PATCHv2] lib/test_kasan: add roundtrip tests

From: Mark Rutland
Date: Fri Aug 23 2019 - 06:41:18 EST


Hi Andrew,

On Thu, Aug 22, 2019 at 04:48:57PM -0700, Andrew Morton wrote:
> On Mon, 19 Aug 2019 17:14:49 +0100 Mark Rutland <mark.rutland@xxxxxxx> wrote:
>
> > In several places we need to be able to operate on pointers which have
> > gone via a roundtrip:
> >
> > virt -> {phys,page} -> virt
> >
> > With KASAN_SW_TAGS, we can't preserve the tag for SLUB objects, and the
> > {phys,page} -> virt conversion will use KASAN_TAG_KERNEL.
> >
> > This patch adds tests to ensure that this works as expected, without
> > false positives which have recently been spotted [1,2] in testing.
> >
> > [1] https://lore.kernel.org/linux-arm-kernel/20190819114420.2535-1-walter-zh.wu@xxxxxxxxxxxx/
> > [2] https://lore.kernel.org/linux-arm-kernel/20190819132347.GB9927@xxxxxxxxxxxxxxxxxxxxxxxxx/
> >
> >
> > ...
> >
>
> The only change I'm seeing from v1 is:
>
> --- a/lib/test_kasan.c~lib-test_kasan-add-roundtrip-tests-v2
> +++ a/lib/test_kasan.c
> @@ -19,7 +19,6 @@
> #include <linux/string.h>
> #include <linux/uaccess.h>
>
> -#include <asm/io.h>
> #include <asm/page.h>

I think you've confused v1 with v3 (which was the first version to
include <asm/io.h>).

v1: https://lore.kernel.org/linux-arm-kernel/20190819150341.GC9927@xxxxxxxxxxxxxxxxxxxxxxxxx/
v3: https://lore.kernel.org/linux-arm-kernel/20190819150341.GC9927@xxxxxxxxxxxxxxxxxxxxxxxxx/

I guess as v1 was part of a reply (without the mail subject matching)
that might have confused things? Sorry about that if so!

>
> /*
>
> which is really kinda wrong. We should strictly include linux/io.h for
> things like virt_to_phys().
>
> So I think I'll stick with v1 plus my fixlet:
>
> --- a/lib/test_kasan.c~lib-test_kasan-add-roundtrip-tests-checkpatch-fixes
> +++ a/lib/test_kasan.c
> @@ -18,8 +18,8 @@
> #include <linux/slab.h>
> #include <linux/string.h>
> #include <linux/uaccess.h>
> +#include <linux/io.h>
>
> -#include <asm/io.h>
> #include <asm/page.h>
>
> /*
>

Assuming that you mean *v3* with that fix, that looks good to me!

Thanks,
Mark.