HomeFreeBSD

uma: Add KASAN state transitions

Description

uma: Add KASAN state transitions

  • Add a UMA_ZONE_NOKASAN flag to indicate that items from a particular zone should not be sanitized. This is applied implicitly for NOFREE and cache zones.
  • Add KASAN call backs which get invoked:
    1. when a slab is imported into a keg
    2. when an item is allocated from a zone
    3. when an item is freed to a zone
    4. when a slab is freed back to the VM

      In state transitions 1 and 3, memory is poisoned so that accesses will trigger a panic. In state transitions 2 and 4, memory is marked valid.
  • Disable trashing if KASAN is enabled. It just adds extra CPU overhead to catch problems that are detected by KASAN.

Sponsored by: The FreeBSD Foundation

(cherry picked from commit 09c8cb717d214d03e51b3e4f8e9997b9f4e1624d)

Details

Provenance
markjAuthored on Apr 13 2021, 9:39 PM
Parents
rG65f3c07b9899: amd64: Add MD bits for KASAN
Branches
Unknown
Tags
Unknown