Don't use APEX prebuilts when asan is on
Some prebuilt APEXes are enabled with scudo, which causes crash on
devices with asan.
Bug: 137216042
Test: build walleye_hwasan and check if apexes are not from prebuilts
Merged-In: Ic436ad06e724af952d99fb8e66358a595450eb84
(cherry picked from commit 3b98a509f19cb25e9734bb62ba0b592663ed8e4e)
Change-Id: Ic436ad06e724af952d99fb8e66358a595450eb84
diff --git a/apex/apex.go b/apex/apex.go
index f7042fc..5f69398 100644
--- a/apex/apex.go
+++ b/apex/apex.go
@@ -1433,10 +1433,16 @@
}
func (p *Prebuilt) DepsMutator(ctx android.BottomUpMutatorContext) {
- if ctx.Config().FlattenApex() && !ctx.Config().UnbundledBuild() && p.prebuilt.SourceExists() {
- // If the device is configured to use flattened APEX, don't set
- // p.properties.Source so that the prebuilt module (which is
- // a non-flattened APEX) is not used.
+ // If the device is configured to use flattened APEX, don't set
+ // p.properties.Source so that the prebuilt module (which is
+ // a non-flattened APEX) is not used.
+ forceDisable := ctx.Config().FlattenApex() && !ctx.Config().UnbundledBuild()
+
+ // b/137216042 don't use prebuilts when address sanitizer is on
+ forceDisable = forceDisable || android.InList("address", ctx.Config().SanitizeDevice()) ||
+ android.InList("hwaddress", ctx.Config().SanitizeDevice())
+
+ if forceDisable && p.prebuilt.SourceExists() {
p.properties.ForceDisable = true
return
}