mm: add a ptep_modify_prot transaction abstraction