LINUX.ORG.RU

Проблема с управлением сетевым драйвером через procfs


0

0

Доброго дня всем!

RedHat9/2.4.20

Пишу сетевой драйвер, обслуживающий логические сетевые устройства. Необходимо по требованию пользователя добавлять/удалять устройство. Так как при загрузке модуля драйвера не создается ни одного устройства(не было запроса пользователя), нужно было создать механизм управления модулем извне. По тем или иным причинам решил попробовать управлять через procfs (создаю файл и пишу в него команды создания/удаления логического устройства). И тут возникла проблема: При записи команды иногда все проходило гладко, а иногда система падала (Do_IRQ Stack overflow). Все критические секции кода защищены r/w_lockirqsave. пробовал просто r/w_lock_irq. пробовал все варианты, ничего не помогало. Но стоило перейти на управление через character device - и как бабушка отшептала!

Вроде все хорошо, пусть и не так как хотелось... Но гложет мысль: что здесь не так? какая-то проблема при работе с сетевой подсистемой из системного вызова procfs? Или все-таки проблема с защитой критических секций кода? Или руки у меня не тем местом вставлены?? Если есть хоть какие-то идеи или опыт, поделитесь пожалуйста! Буду благодарен за любые идеи.

Заранее всем спасибо!

anonymous

листинг модуля с использованием procfs в студию!

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.