Доброго всем времении суток!
Коллеги, помогите решить следующую проблему. Есть старое ядро 2.4.хх, есть железяка работающая на arm926ejs под управлением этого ядра. Пишу модуль ядра для этой железяки, в коде модуля есть такие строчки:
.................... 1. old_fs = get_fs(); 2. set_fs(KERNEL_DS); 3. sock->ops->ioctl(...); // запрос к драйверу железяки 4. set_fs(old_fs); .................... Ошибка (даже не могу ее описать, т.к. железка «умирает» молча, ни kernel_panic, ни error какой-то, ничего...) ТОЧНО происходит либо в строке 1, либо 2. По-моему, скорее - 2. Я понимаю, что функция set_fs устанавливает значение лимита для ядра в регистр DS (это на х86), я понимаю, что в ARM'e никаких сегментных регистров нет. Но только дальше то что?! Коллеги, если кто сталкивался с подобным, или есть здравые мысли как это победить, посоветуйте пожалуйста.