3

我正在阅读有关 x86 分段保护的博客文章。RPL 可以与 DPL 不同吗?如果可以,它的用例是什么?

4

1 回答 1

2

它们可以不同,这是故意的。

这个想法是,当操作系统/内核代表用户代码执行某些操作时,它可以使用用户代码的权限访问内存(RPL这将反映Requestor Privilege Level用户代码的级别)。如果它们不足,则异常使操作失败。如果不存在这种(或类似的)机制,用户代码可能会通过以某种方式请求代表其执行的操作来破坏操作系统/内核,并且该操作将由内核以其内核权限执行。这就是你得到EOP的地方。

有关段的更多信息,请访问源代码,即英特尔的 CPU 手册。这一切都在那里。

于 2013-01-21T22:59:40.357 回答