Check 64-to-32-bit transition in system_server for Tagged Ptrs [#2].

Note: Same patch as previously reverted with the fix.

The check whether the system (kernel) supports Tagged Pointers is done
in the 64-bit system server. This can spawn 32-bit apps, and we
think that the app supports tagged pointers.

There's no good way to check the compatibility in the child before we
spawn it, so we do the next best thing. If we know the child won't
support it (i.e. the child is 32-bit), we don't ask for Tagged Ptrs.
Otherwise, if the parent supports tagged pointers, and there's no
bitness transition, the child should also support.

Bug: 153114333
Test: Build flame, launch 64-bit apps that spawns 32-bit subprocesses,
verify that you get no 're-enabling tagging' messages.
Test: atest -a CtsTaggingHostTestCases

Change-Id: Ida6aa56093de6b6b03e78e6295bea546219ad864
Merged-In: Ida6aa56093de6b6b03e78e6295bea546219ad864
1 file changed