буфер разработки модулей ядра Linux для долгой выдачи - PullRequest
0 голосов
/ 19 сентября 2018

Я новичок в разработке модулей ядра и кое-что застрял.Я настроил узел устройства и хочу записать в файл целое число через:

echo 20000> / dev / chardev0

Я получаю ожидаемое значение 20000 в device_write (... const char* любитель) и хочу преобразовать его в длинный.Я нашел strict_strtol или kstrtol, но странное поведение, которое я получаю, такое же.

Проблема: Когда я отправляю 20000, преобразование проходит хорошо.Когда я отправляю 200, преобразование завершается с ошибкой -22.Почему ???

Я использую:

 long li;
  int result = 0;
  result = strict_strtol(msgBuffer, 10, &li);

См .: (через printk я напечатал некоторые данные)

Sep 19 14:30:52 student-fontys kernel: [ 5336.805308] Data 200
Sep 19 14:30:52 student-fontys kernel: [ 5336.805308] 0
Sep 19 14:30:52 student-fontys kernel: [ 5336.805311] Buffer lengte2:  4
Sep 19 14:30:52 student-fontys kernel: [ 5336.805312] 2
Sep 19 14:30:52 student-fontys kernel: [ 5336.805313] 0
Sep 19 14:30:52 student-fontys kernel: [ 5336.805314] 0
Sep 19 14:30:52 student-fontys kernel: [ 5336.805315] 
Sep 19 14:30:52 student-fontys kernel: [ 5336.805315] 
Sep 19 14:30:52 student-fontys kernel: [ 5336.805317] Conversion from buffer failed. Error -22 
Sep 19 14:31:12 student-fontys kernel: [ 5357.282007] Device-write start
Sep 19 14:31:12 student-fontys kernel: [ 5357.282013] Data 20000
Sep 19 14:31:12 student-fontys kernel: [ 5357.282015] Buffer lengte2:  6
Sep 19 14:31:12 student-fontys kernel: [ 5357.282016] 2
Sep 19 14:31:12 student-fontys kernel: [ 5357.282017] 0
Sep 19 14:31:12 student-fontys kernel: [ 5357.282018] 0
Sep 19 14:31:12 student-fontys kernel: [ 5357.282019] 0
Sep 19 14:31:12 student-fontys kernel: [ 5357.282020] 0
Sep 19 14:31:12 student-fontys kernel: [ 5357.282021] 
Sep 19 14:31:12 student-fontys kernel: [ 5357.282021] 
Sep 19 14:31:12 student-fontys kernel: [ 5357.282023] Data: 20000
Sep 19 14:31:12 student-fontys kernel: [ 5357.282023] Device-write end

Итак, что было бы лучшеспособ справиться с этим?

...