LINUX.ORG.RU

copy_from_user и процессы

 


0

1

Здравствуйте, kernel-чане. У меня возник вопрос по поводу функции copy_from_user: как эта функция определяет какой именно процесс, если адрес виртуальный и может повторяться в других процессах?

какой адрес ты даешь в copy_from_user в качестве адреса в user-space? неужели прям от процесса получаешь? сомневаюсь

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Например через прерывание или char-девайса

MikkotoNikki
() автор топика

процесс - текущий, на который current указывает

естественно, во всех контекстах работать не будет, в обработчиках прерывания к примеру

Harald ★★★★★
()
Ответ на: комментарий от MikkotoNikki

глобальная переменная, которая указывает на процесс, в контексте которого кусок ядерного кода в данный момент выполняется. Системные вызовы выполняются в контексте процесса, который их вызвал, а больше нигде copy_from_user и не нужен по идее

Harald ★★★★★
()
Ответ на: комментарий от MikkotoNikki

вот есть драйвер устройства, его допустим может открыть сразу N процессов, и если есть вызов write (copy_from_user) в устройство/модуль - разумеется мы знаем какой процесс пишет, ядро знает всё что надо, и адрес в вызове write уже будет преобразован - не так ли?

I-Love-Microsoft ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.