The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"copy_from_user"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"copy_from_user"  
Сообщение от Doomer email(ok) on 11-Авг-06, 17:51 
Какие могут возникать ошибки в ходе выполнения этой функции?

Точнее из-за чего данные могут быть не скопированы если делать это так:


buf = usb_buffer_alloc(dev->udev, count, GFP_KERNEL, &urb->transfer_dma);
    if (!buf) {
        retval = -ENOMEM;
        goto error;
    }
    if (col=copy_from_user(buf, user_buffer, sizeof(*user_buffer))) {
        retval = -EFAULT;
        goto error;
    }
Fedora Core 4.

В общем заканчивается функция retval равным -EFAULT;

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

  • copy_from_user, jd, 03:39 , 13-Авг-06, (1)  
  • copy_from_user, phpcoder, 09:27 , 14-Авг-06, (2)  

Сообщения по теме [Сортировка по времени, UBB]


1. "copy_from_user"  
Сообщение от jd (??) on 13-Авг-06, 03:39 
>Какие могут возникать ошибки в ходе выполнения этой функции?
>
>Точнее из-за чего данные могут быть не скопированы если делать это так:

Не совсем к делу относится, но у вас user_buffer какого типа? (я про sizeof(*user_buffer))

А по теме: это может быть, например, из-за того, что user_buffer не указывает на валидную память в пространстве процесса, из которого вы обращаетесь к драйверу. Например если этот код у вас в какой-нибудь функции write() и вы ей передаёте левый указатель вместо нормального буфера.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "copy_from_user"  
Сообщение от phpcoder email(??) on 14-Авг-06, 09:27 
-if (col=copy_from_user(buf, user_buffer, sizeof(*user_buffer))) {
+if ( (col=copy_from_user(buf, user_buffer, sizeof(*user_buffer))) ) {
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру