Я знаю, что есть много постов по этому вопросу, но большинство из них очень сложные, и я надеюсь, что кто-то может помочь мне с моим простым примером.
Я пишу системный вызов, и функция, которую я пишу, имеет вид:
SYS_CALLDEFINE4(calc, int, param1, int, param2, char, operation, int*, result)
{
//Do system call stuff here
}
Я знаю, что указатель на int будет проблемой, потому что приложение в пользовательском пространствемог бы передать указатель на жизненно важное системное пространство (и мы не хотим возиться с этим).Поэтому мне нужно использовать функцию copy_from_user
.
Может ли кто-нибудь привести пример того, как правильно использовать эти две функции в контексте проверки правильности доступа к этому указателю?