Ток доступа-> мм от резьбы ядра

У меня есть требование, когда у меня есть "рабочий" поток ядра, который хочет работать с объектом "mm" другого процесса. По какой-то причине я должен сделать это в потоке ядра.

Этот объект 'mm' защищен 'mmu_lock'. Подпрограммы, работающие с 'mm', используют 'current->mmu_lock' (что явно означает, что это не предполагается делать из другого контекста).

Я понимаю, что потоки ядра не имеют текущего указателя; и он просто использует "текущий" указатель, который был установлен для предыдущего процесса. Таким образом, прямой вызов этих подпрограмм из потока ядра определенно неверен.

Учитывая это, есть ли какой-нибудь хак для вызова этих подпрограмм из потока ядра? Как сохранить текущий указатель для требуемого процесса и использовать его как текущий указатель в потоке ядра? После того, как процесс запланирован (может ли он быть заменен?), Безопасно ли использовать свой текущий указатель таким образом или просто не может быть сделано.

0 ответов

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