Если ядро может получить доступ к пользовательскому пространству, зачем нам нужно copy_from_user копировать данные в память ядра, почему он просто не может получить доступ к данным о пространстве пользователя? это для производительности?Что нужно copy_from_user
ответ
Ядро и пользовательское пространство необязательно имеют одинаковое адресное пространство. Они могут быть полностью разделены, требуя специальных инструкций CPU для перемещения данных между ними.
Другим важным моментом является то, что ядру необходимо получить доступ к пользовательскому пространству с разрешениями пользователя, то есть если программа пространства пользователя, обращающаяся к этому адресу, потерпит неудачу, то copy_from_user()
также потерпит неудачу, даже если ядро сможет получить доступ к этому адресу самостоятельно.
Помимо нарушений общего доступа, сбой разрешения также может включать страницу, которая не находится в памяти, поскольку она находится на диске. Для этого может потребоваться некоторая специальная настройка, так как обычно ядро не использует сменную память.
- 1. Что делать с ошибкой страницы из copy_from_user()?
- 2. copy_from_user и сегментация
- 3. copy_from_user возвращает ошибку
- 4. Какой экземпляр является copy_from_user()?
- 5. copy_from_user извлекает непредвиденные данные
- 6. create_module - почему используется copy_from_user?
- 7. Как правильно использовать copy_from_user?
- 8. copy_from_user дважды - символьное устройство
- 9. Kernel Panic - Failed copy_from_user, kmalloc?
- 10. Linux Kernel Line Discipline copy_from_user
- 11. Проблема с copy_from_user в ядре
- 12. copy_to_user() и copy_from_user() для базового типа данных
- 13. copy_from_user функция печатает значения нежелательных сообщений
- 14. любой пример copy_from_user()? kernel и userpace
- 15. applicaiton из get_user когда есть copy_from_user
- 16. Linux Kernel: copy_from_user - struct с указателями
- 17. Перемещение: что нужно?
- 18. Что нужно назвать операторам?
- 19. Cocos2D: Что нужно выделить?
- 20. Что нужно программисту?
- 21. Что нужно для редуктора?
- 22. Что нужно регистрировать?
- 23. На что нужно наследовать?
- 24. Что нужно applicationcontextAware весной
- 25. Что нужно для AtlComPtrAssign?
- 26. Freeze_support, что нужно?
- 27. Что нужно для enable_shared_from_this?
- 28. Что нужно индексировать mysql?
- 29. что библиотеки мне нужно
- 30. Что нужно добавить
не могли бы вы рассказать подробнее 2-й и 3-й пункты – debonair
Это уже объяснено здесь http://stackoverflow.com/questions/12666493/why-do-you-have-to-use-copy-to-user-copy -из-пользователь-доступ, пользовательское пространство-из – knare