Re: [PATCH v4 05/11] arm64: csum: Disable KASAN for do_csum()

From: Will Deacon
Date: Wed Apr 22 2020 - 06:41:52 EST


On Wed, Apr 22, 2020 at 10:49:52AM +0100, Mark Rutland wrote:
> On Tue, Apr 21, 2020 at 04:15:31PM +0100, Will Deacon wrote:
> > do_csum() over-reads the source buffer and therefore abuses
> > READ_ONCE_NOCHECK() to avoid tripping up KASAN. In preparation for
> > READ_ONCE_NOCHECK() becoming a macro, and therefore losing its
> > '__no_sanitize_address' annotation, just annotate do_csum() explicitly
> > and fall back to normal loads.
> >
> > Cc: Mark Rutland <mark.rutland@xxxxxxx>
> > Cc: Robin Murphy <robin.murphy@xxxxxxx>
> > Signed-off-by: Will Deacon <will@xxxxxxxxxx>
>
> From a functional perspective:
>
> Acked-by: Mark Rutland <mark.rutland@xxxxxxx>

Thanks.

> I know that Robin had a concern w.r.t. how this would affect the
> codegen, but I think we can follow that up after the series as a whole
> is merged.

Makes sense. I did look at the codegen, fwiw, and it didn't seem especially
bad. One of the LDP's gets cracked in the unlikely() path, but it didn't
look like it would be a disaster (and sprinkling barrier() around to force
the LDP felt really fragile!).

Will