You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It seems to me that stxr_status has to be marked as early-clobbered (=&r instead of =r). I am running GENERIC-MORELLO-PURECAP with KASAN and I found out that, due to ASAN instrumentation, the compiler will try to assign the same register to cutp and stxr_status, therefore causing a fault when loading from cutp. This doesn’t happen when compiling without KASAN, probably because the compiler didn’t have to make this register allocation optimisation.
It seems to me that
stxr_status
has to be marked as early-clobbered (=&r instead of =r). I am running GENERIC-MORELLO-PURECAP with KASAN and I found out that, due to ASAN instrumentation, the compiler will try to assign the same register tocutp
andstxr_status
, therefore causing a fault when loading fromcutp
. This doesn’t happen when compiling without KASAN, probably because the compiler didn’t have to make this register allocation optimisation.This is the relevant inline asm:
cheribsd/sys/arm64/arm64/cheri_revoke_machdep.c
Line 139 in b2ad856
The text was updated successfully, but these errors were encountered: