Conversation

Last year, I filed an issue for Termux bringing up that it's in violation of the Play Store policy on downloading executable code: github.com/termux/termux-. I proposed implementing packages via apks and mentioned that SELinux policy would likely break their approach down the road.
1
10
Surprise: Android Q breaks their approach for apps targeting API 29 or above. github.com/termux/termux- If you look at the original issue I filed, you can see that what I was saying was totally dismissed and ridiculed. I got called a "concern troll" for trying to keep it working.
1
1
This Tweet was deleted by the Tweet author. Learn more
This Tweet was deleted by the Tweet author. Learn more
Replying to
It prevents whatever the policy is set up to prevent. It will fully prevent executing any new native code, whether it's regular anonymous memory, memfd, tmpfs or via the regular file system as long as the policy is set up to do that. That's what I did in my downstream changes.
1
Replying to and
It isn't what they're doing upstream. They still allow execmem (in-memory code generation) for the ART JIT and also for compatibility with third party JIT compilers like Firefox. It's also allowed in isolated_app, where the Chromium renderer does it.
1
Replying to and
They're also still allowing executing ashmem memory and mapping app_data_file as executable. They're only forbidding directly executing app_data_file right now, with an auditallow rule to move towards forbidding mapping app_data_file as executable too.