Symbolic constants for older minijails

Inline definitions of a few constants that don't appear on Q/R devices,
so that this works for us in mainline modules that are loaded on those
older devices.

Bug: 225406881
Test: boot on Q, watch logcat
Test: boot on R, watch logcat
Change-Id: Ic5781976d4c1e2d16e230c015fc49d9fde74e289
This commit is contained in:
Ray Essick 2022-03-18 20:19:45 -07:00
parent ee0584b2db
commit 926f753e20
2 changed files with 9 additions and 1 deletions

View file

@ -25,7 +25,7 @@ tgkill: 1
rt_sigprocmask: 1
rt_sigaction: 1
rt_tgsigqueueinfo: 1
prctl: arg0 == PR_GET_NO_NEW_PRIVS || arg0 == 0x53564d41 || arg0 == PR_PAC_RESET_KEYS || arg0 == PR_GET_TAGGED_ADDR_CTRL || arg0 == PR_PAC_GET_ENABLED_KEYS
prctl: arg0 == PR_GET_NO_NEW_PRIVS || arg0 == 0x53564d41 || arg0 == PR_PAC_RESET_KEYS || arg0 == 56 || arg0 == 61
madvise: 1
mprotect: arg2 in 0x1|0x2
munmap: 1

View file

@ -34,7 +34,15 @@ rt_sigprocmask: 1
rt_sigaction: 1
rt_tgsigqueueinfo: 1
// this is referenced from mainline modules running on Q devices, where not all
// of the constants used here are defined in headers, so minijail rejects them.
// we define them here to avoid those errors.
// constants introduced in R
#define PR_SET_VMA 0x53564d41
#define PR_GET_TAGGED_ADDR_CTRL 56
// constants introduced in S
#define PR_PAC_GET_ENABLED_KEYS 61
#if defined(__aarch64__)
// PR_PAC_RESET_KEYS happens on aarch64 in pthread_create path.
prctl: arg0 == PR_GET_NO_NEW_PRIVS || arg0 == PR_SET_VMA || arg0 == PR_PAC_RESET_KEYS || arg0 == PR_GET_TAGGED_ADDR_CTRL || arg0 == PR_PAC_GET_ENABLED_KEYS