• Mark Rutland's avatar
    arm64: kasan: mte: remove redundant mte_report_once logic · 76721503
    Mark Rutland authored
    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.
    Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
    Cc: Alexander Potapenko <glider@google.com>
    Cc: Andrey Konovalov <andreyknvl@gmail.com>
    Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com>
    Cc: Dmitry Vyukov <dvyukov@google.com>
    Cc: Will Deacon <will@kernel.org>
    Cc: Vincenzo Frascino <vincenzo.frascino@arm.com>
    Reviewed-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    Reviewed-by: default avatarAndrey Konovalov <andreyknvl@gmail.com>
    Tested-by: default avatarAndrey Konovalov <andreyknvl@gmail.com>
    Link: https://lore.kernel.org/r/20210714143843.56537-4-mark.rutland@arm.comSigned-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    76721503
test_kasan.c 29.3 KB