Копировать на запись против нелегального доступа - PullRequest
1 голос
/ 14 марта 2011

В ядре Linux, как обработчик ошибок страницы различает механизм копирования при записи и незаконный доступ к памяти, когда процесс пытается получить доступ к странице, доступной только для чтения?

Ответы [ 2 ]

3 голосов
/ 20 марта 2011

Если страница с ошибками находится в области пользовательского пространства адресного пространства, обработчик сбоев страниц ищет карту памяти текущей задачи. Если страница находится в доступном для записи VMA (и ошибка является ошибкой записи), то она знает, что это ошибка COW.

3 голосов
/ 14 марта 2011

Функция do_page_fault() в arch/<arch>/mm/fault.c "демультиплексирует" различные причины, по которым может произойти сбой страницы, и передает управление соответствующему обработчику.

...