Здравствуйте, ivrubano, Вы писали:
I>Здравствейте коллеги, I>помогите разобраться в интересной ситуации. Я разрабатываю модуль ядра для линукс и сталкнулся с интересной проблемой: при вызове hcd_buffer_alloc случается crash с сообщением Unable to handle kernel paging request at virtual address. Я немного изменил функцию и пересобрал ядро откуда стало ясно, что Crash случается на строке bus->controller->dma_mask при этом bus != NULL и bus->controller != NULL. Какое объяснение может быть у такого поведения? I>Заранее спасибо.
сначала нужно допустить, что bus != NULL и bus->controller != NULL не есть гарантия нормальности указателей, если только не уверенности что они инициализируются нулем, не затираются никогда, и там указатель на "адекватную" память.
насчет "адекватной" памяти, надо убедиться что там ядровая память, не из юзерспейса.