Как получить доступ к пространству ядра из пространства пользователя?

Как именно выделяется пользовательская память и память ядра внутри ядра Linux(с точки зрения обеспечения безопасности пространства ядра)?

Как я могу писать в адресном пространстве ядра из пространства пользователя?

Один способ, который я знаю, это через системный вызов, Мы можем использовать несколько системных вызовов, но в конце все они являются системными вызовами. Даже в системных вызовах мы отправляем данные в пространство ядра, где он (драйвер или соответствующий модуль) вызывает функции типа copy_from_user () для копирования данных из пространства пользователя в пространство ядра. Здесь мы точно не пишем в адресное пространство. мы просто передаем указатель пользователя, который содержит данные, которые необходимо скопировать в буферы ядра.

У меня вопрос, есть ли способ получить доступ к физическому адресу, который присутствует в пространстве ядра, и выполнить над ним какие-либо операции?

Во-вторых,Кроме системных вызовов, есть ли другие способы, которыми я могу писать в пространство ядра из пользовательского приложения?

Я ссылался на этоссылка из stackoverflow. Но я думаю, что мой вопрос там не дан ответ и с другой точки зрения. Поэтому я подумал задать другой вопрос.

Пожалуйста, поделитесь своими знаниями ... Спасибо.

Ответы на вопрос(2)

Ваш ответ на вопрос