I am using NDK r15 to compile native libraries for an application I am developing. The API target for the app is Android O. There are several new security restrictions being added to Android O, and my use of the NDK appears to violate one of them. Here is the page describing the new rules, specifically the Security section:
The rule I am concerned with is this:
"Android O applies a Secure Computing (SECCOMP) filter to all apps. The list of allowed syscalls is restricted to those exposed through bionic. Although there are several other syscalls provided for backwards compatibility, we recommend against their use."
The "futex" syscall is used within the NDK when Native threads are selected. Alternatively, pthreads can be selected within the NDK. I am currently using Native threads, which causes the NDK to include a syscall to "futex". The bionic allowed syscall list does not include "futex".
Should I have to select pthreads and reconfigure my library to follow the Android O security rule, or can I stay with "futex" because the NDK is using it?
Should the syscalls made by the NDK be added to the acceptable list of syscalls, in addition to the ones bionic provides?