LINUX.ORG.RU

ioctl... как бы сделать такое...


0

0
Пользователь из user-space передаёт вместе с ioctl указатель на структуру. Одно из полей структуры - указатель на данные, другое - размер данных. Пользователь ничего не знает о размере данных, который ему вернёт ядро. Соответственно, надо на стороне ядра при обработке этого ioctl выделить память в user-space, а далее - copy_from_user... Как выделить память из ядра? Или может можно это как-нибудь красивее сделать?
anonymous
Флаг GFP_USER мне поможет? :)
anonymous
()
Ответ на: комментарий от klalafuda
А как поступать в таком случае? Два вызова - один размер данных возвращает, а второму подсовываем структуру с уже выделенной памятью???
anonymous
()
Ответ на: комментарий от anonymous
> А как поступать в таком случае? Два вызова - один размер данных возвращает, а второму подсовываем структуру с уже выделенной памятью???

вычёрпывать по кускам последовательностью вызовов? или отображать файл устройства в userland и читать из него.

// wbr

klalafuda ★☆☆
()
Ответ на: комментарий от klalafuda
Понятно... спасибо, в принципе разобрался как лучше сделать.
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.