此设置中的每个 PTE(页表条目)都有一个 G 位(G = Global),它控制此条目映射的物理页的范围。
如果设置了 G 位,则该条目对所有进程都是全局的,并且它们都可以访问它映射的物理页面,但受其他访问权限的限制。如果 G 位为零,则该条目不是全局的,而是进程私有的。[内核为其页面设置 G 位,但通过禁用其页面上的 U 位(U = 用户模式)来防止用户模式访问。]
如果在用户模式 PTE 上设置 G 位 - 设置了 U 位的那个 - 这不是安全漏洞,因为系统上的每个进程现在都可以访问 PTE 映射的页面吗?
我错过了什么吗?有没有办法在用户模式 PTE 上设置 G 位,但仅在一组受信任进程而不是系统上的所有进程中使其成为全局?我们可以在 PTE 中同时设置 G 和 U 位吗?