Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6db83a42f97a0f4c6e14c15587c12644c0568bdd
      
https://github.com/WebKit/WebKit/commit/6db83a42f97a0f4c6e14c15587c12644c0568bdd
  Author: Marcus Plutowski <[email protected]>
  Date:   2026-06-26 (Fri, 26 Jun 2026)

  Changed paths:
    M Source/bmalloc/libpas/src/libpas/bmalloc_heap_config.h
    M Source/bmalloc/libpas/src/libpas/pas_heap_config_utils.h
    M Source/bmalloc/libpas/src/libpas/pas_mte.h
    M Source/bmalloc/libpas/src/libpas/pas_mte_config.c
    M Source/bmalloc/libpas/src/libpas/pas_mte_config.h
    M Source/bmalloc/libpas/src/libpas/pas_runtime_config.h

  Log Message:
  -----------
  [libpas] Rework per-heap tagging policy logic
https://bugs.webkit.org/show_bug.cgi?id=316145
rdar://178568125

Reviewed by Yusuke Suzuki.

This patch includes two major changes:
  1. Add a basic-heap-config option for MTE tagging
  2. Remove the small-medium tagging distinction

Libpas does not tag objects belonging to every pas-heap. Formerly, this
decision was effectively made globally, with specific "opt-outs"; by
default, every basic-heap was opted in to MTE tagging. In production,
the only basic-heaps in use are ones that we intend to use for MTE
objects; the non-MTE-tagged heaps are also non-basic heaps (JIT,
utility). However, this is not true for testing where e.g. the iso-heap
configuration should not be MTE tagged, but is. This is also something
we intend to run in production in the future, so it behooves us to
prepare the ground now by cleaning this up.
Now, instead of relying on opt-outs, each basic-heap-config has a
parameter that indicates whether its objects are eligible for tagging.

During the initial deployment of MTE, libpas allowed for certain
configurations to only tag small objects, with medium-and-larger objects
remaining untagged. With the introduction of guard objects, which only
protect objects 32k and larger, it does not make sense to leave a gap
between small (<~12k) and marge (>32k) objects that is protected by
neither mechanism. As such, the small-medium distinction has been
unused, and will not be useful going forward. This patch removes it.

No new tests since this behavior is covered by libpas' existing MTE
tagging policy tests.

Canonical link: https://commits.webkit.org/315921@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to