On Tue, Jun 20, 2023 at 1:51 PM Marco Elver <elver@xxxxxxxxxx> wrote: > > > Ah, right. I did a quick google to check when I was writing the > > response and found this: https://lwn.net/Articles/882963/. But looks > > like that cover letter is wrong and the documentation is right. I > > wonder what the point of the asymmetric mode is then. > > Maybe not as strong, but asymm mode makes sense from a microarch point > of view, where writes are always committed into a store buffer, but > reads can only commit when the data (incl. tag) is available. Yeah, I get that it can be a bit better than async with a similar slowdown, but there's little value in catching only reads from the security standpoint. > > So the current code that you have should work perfectly. The only > > change I'd like to see is in the documentation. > > Something like this (or more?) > > diff --git a/Documentation/dev-tools/kasan.rst b/Documentation/dev-tools/kasan.rst > index 7f37a46af574..3c58392d931e 100644 > --- a/Documentation/dev-tools/kasan.rst > +++ b/Documentation/dev-tools/kasan.rst > @@ -135,6 +135,8 @@ disabling KASAN altogether or controlling its features: > fault occurs, the information is stored in hardware (in the TFSR_EL1 > register for arm64). The kernel periodically checks the hardware and > only reports tag faults during these checks. > + Note that ``kasan.fault=panic_on_write`` results in panic for all > + asynchronously checked accesses. > Asymmetric mode: a bad access is detected synchronously on reads and > asynchronously on writes. Could you move this to the section that describes the kasan.fault flag? This seems more consistent. Thanks!