frida / frida-gum

Cross-platform instrumentation and introspection library written in C
https://frida.re
Other
733 stars 242 forks source link

gumjs: Swap interceptor and js locking when crossing scope #727

Closed mrmacete closed 1 year ago

mrmacete commented 1 year ago

In this way it's possible to avoid a deadlock happening in Darwin due to ThreadSuspendMonitor potentially acquiring the JS lock during calls to gum_interceptor_transaction_end from threads without the JS lock held, in case RWX is not supported.