create_module - почему используется copy_from_user?

Я читаю LDD3. В главе 8 я не мог понять этот абзац:

Пример функции в ядре, которая использует vmalloc это create_module системный вызов, который использует vmalloc чтобы получить место для создаваемого модуля. Код и данные модуля впоследствии копируются в выделенное пространство с использованием copy_from_user, Таким образом, модуль кажется загруженным в непрерывную память.

Почему copy_from_user используемый? Разве мы не только в пространстве ядра?

1 ответ

Напомним, что модули ядра загружаются insmod (или же modprobe) команда, которая выполняется в пространстве пользователя. Эти команды загружают модуль ядра с диска в память, а затем передают его ядру, которое должно использовать copy_from_user() скопировать это в память ядра.

Другие вопросы по тегам