removed VM double-assert
using is_user_addr instead of doing checks manually
it's not like descheduling mutexes are hard