Mit Android 13 wird ein ABI für den Nutzerbereich eingeführt, um die angeforderten Informationen zu kommunizieren. MTE-Modus zum Bootloader. Hiermit kann MTE auf Geräten aktiviert werden, Hardware-Unterstützung bieten, aber MTE nicht standardmäßig aktiviert ist, oder MTE auf Geräten deaktivieren, die im Lieferumfang enthalten sind.
Bootloader-Unterstützung
Zur Unterstützung dieses ABI muss der Bootloader die
misc_memtag_message
(definiert in
<ph type="x-smartling-placeholder"></ph>
bootloader_message.h) aus der Partition misc
.
Wenn eine gültige misc_memtag_message
gefunden wird
(MISC_VIRTUAL_AB_MAGIC_HEADER
stimmt überein und die Versionsnummer wird unterstützt).
berechnet der Bootloader
memtag = (default_memtag && !(misc.memtag_mode & MISC_MEMTAG_MODE_MEMTAG_OFF)) || (Standardmemtag && !(misc.memtag_mode & MISC_MEMTAG_MODE_MEMTAG_OFF)) || misc.memtag_mode und MISC_MEMTAG_MODE_MEMTAG || misc.memtag_mode und MISC_MEMTAG_MODE_MEMTAG_ONCE- memtag_kernel = misc.memtag_mode & MISC_MEMTAG_MODE_MEMTAG_KERNEL || misc.memtag_mode und MISC_MEMTAG_MODE_MEMTAG_KERNEL_ONCE (MISC_MEMTAG_MODE_MEMTAG_KERNEL_ONCE)
default_memtag
ist die standardmäßige Aktivierungs-/Deaktivierungseinstellung für das
Artikelnummer Wenn memtag
„true“ ist, richtet der Bootloader das MTE-Tag ein
Reservierung, ermöglicht Tag-Prüfungen in den unteren Ausnahmeebenen und
übermittelt die für das Tag reservierte Region über DT an den Kernel. Wenn
memtag
auf „false“ gesetzt ist, hängt der Bootloader arm64.nomte an den
Kernel-Befehlszeile.
Wenn memtag_kernel
„true“ ist, hängt der Bootloader
kasan=on
in die Kernel-Befehlszeile.
Bootloader MÜSSEN MISC_MEMTAG_MODE_MEMTAG_ONCE
und
MISC_MEMTAG_MODE_MEMTAG_KERNEL_ONCE
bei jedem Start.
Wenn der Bootloader fastboot oem mte
unterstützt, wird bei festgelegt
MISC_MEMTAG_MODE_{MEMTAG, MEMTAG_ONLY, MEMTAG_OFF}
bis
(1, 0, 0)
und ab nach (0, 0, 1)
, während
unter Beibehaltung der anderen Flags.
Sie sollten Ihr Produkt so konfigurieren, dass die Binärdatei mtectrl
erstellt wird
für den Userspace. Legen Sie dann
ro.arm64.memtag.bootctl_supported
-Systemeigenschaft zur Angabe
dass Ihr Bootloader die Memtag-Nachricht unterstützt.
Benutzeroberfläche
Wenn das Attributro.arm64.memtag.bootctl_supported
festgelegt ist,
im Menü „Entwickleroptionen“ können Nutzer einen Neustart mit MTE starten.
aktiviert. Die Zielgruppe sind App-Entwickler,
ihre Apps mit MTE.
Systemeigenschaft
Für die erweiterte Verwendung ist die Systemeigenschaft
arm64.memtag.bootctl
kann eine durch Kommas getrennte Liste der
folgende Werte:
-
memtag: Nutzerbereich-MTA dauerhaft aktivieren (set
MISC_MEMTAG_MODE_MEMTAG
) -
memtag-once: MTE für Nutzerbereich einmal aktivieren (set
MISC_MEMTAG_MODE_MEMTAG_ONCE
) -
memtag-kernel: Kernel-Space-MTE aktivieren (set
MISC_MEMTAG_MODE_MEMTAG_KERNEL
) -
memtag-kernel-once: Kernel-Space-MTE einmal aktivieren
(
MISC_MEMTAG_MODE_MEMTAG_KERNEL_ONCE
) -
memtag-off: MTE deaktivieren (set
MISC_MEMTAG_MODE_MEMTAG_OFF
)
Das System muss neu gestartet werden, damit die neue Einstellung vom Bootloader angewendet wird).