[PATCH 3/3] arm64: kasan: mte: remove redundant mte_report_once logic

Andrey Konovalov andreyknvl at gmail.com
Fri Jul 30 16:01:25 PDT 2021


On Tue, Jul 27, 2021 at 8:54 PM Catalin Marinas <catalin.marinas at arm.com> wrote:
>
> On Wed, Jul 14, 2021 at 03:38:43PM +0100, Mark Rutland wrote:
> > We have special logic to suppress MTE tag check fault reporting, based
> > on a global `mte_report_once` and `reported` variables. These can be
> > used to suppress calling kasan_report() when taking a tag check fault,
> > but do not prevent taking the fault in the first place, nor does they
> > affect the way we disable tag checks upon taking a fault.
> >
> > The core KASAN code already defaults to reporting a single fault, and
> > has a `multi_shot` control to permit reporting multiple faults. The only
> > place we transiently alter `mte_report_once` is in lib/test_kasan.c,
> > where we also the `multi_shot` state as the same time. Thus
> > `mte_report_once` and `reported` are redundant, and can be removed.
> >
> > When a tag check fault is taken, tag checking will be disabled by
> > `do_tag_recovery` and must be explicitly re-enabled if desired. The test
> > code does this by calling kasan_enable_tagging_sync().
> >
> > This patch removes the redundant mte_report_once() logic and associated
> > variables.
>
> The first "reported" variable was added to avoid calling kasan_report on
> each CPU as we are lazily disabling tag checking when faults are
> triggered.

So we do not need "reported" anymore? Why?



More information about the linux-arm-kernel mailing list