Добрый день!
В своём модуле добавляю фильтр пакетов в список PTYPE_ALL . Как и как он выглядит, совершенно не важно.. он 100% работает на 32-х разрядной системе!
Однако при запуске точно такого-же кода на 64-х разрядной системе, всё виснет.
struct iphdr *ip; // указатель на заголовок ip пакета
ip_ptr = (struct iphdr *)skb->network_header; // получаем указатель на заголовок сетевого уровня, через skb (полученный с помощью установленного перехватчика в списке PTYPE_ALL )
/* Система виснет при попытке любого вывода информации из ip_ptr !!!! */
printk("Ща повиснет система!!! %i \n ", ip->saddr);
Ещё раз повторюсь! код на 32-х разрядной системе! работает великолепно!!! а вот на 64-х разрядной..вот такая вот фигня!
И ошибка действительно проявляется только при попытке доступа по указателю ip !!!
В чём может быть косяк????