I know how permissions work at the Android SDK level, but how exactly does it work in native code? When a system call is made in native code, what determines whether the call to socket() fopen(), ioctl(), etc, is allowed?
I read these questions:
How is Android permission enforced?
But the first one is not actually answered, and in the second the link the answer isn’t working & I don’t have the rep to comment on someone else’s answer yet.
The same as it does everywhere else. Permissions are defined for the process. In the case of things that native code can access directly, the native code you communicate with checks the permissions.
Yes, it is. Look for the green checkmark.
Yes, that links back to a site that is no longer in operation (plus, the file was renamed). This should be the file fadden linked to, mirrored on GitHub.