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