LINUX.ORG.RU

Как выгрузить нерабочий модуль после insmod

 , ,


0

2

Получилось так, что добавленный мною код в модуль упал (код в module_init). Я получил stacktrace, но модуль висит в lsmod:

# lsmod
Module                  Size  Used by
mymodule                3033  1 
rmmod -f выдаёт
rmmod: ERROR: could not remove module mymodule: Device or resource busy

Почему он висит в используемых и его нельзя удалить?

★★★★★

Написано ж - Used by 1. Пока модуль используется, его невозможно удалить. Вопрос в том, кем он используется.

aido ★★
()
Ответ на: комментарий от Harald

Ну эт понятно. Так и делаю =)

UVV ★★★★★
() автор топика

Есть rmmod -f, но после Oops машину лучше перезагрузить. Альтернативно, сделать специальный ioctl для обнуления счетчика.

tailgunner ★★★★★
()

Добавьте module_init корректную обработку ошибки с освобождением всех ранее захваченных ресурсов.

Andrey_Utkin ★★
()

если модуль ни кем не юзается, то это говорит об ошибке в самом модуле
и подчищать за собой лучше где-тить в module_exit();

metawishmaster ★★★★★
()
Последнее исправление: metawishmaster (всего исправлений: 1)

пардон, бред написал - опять залазил в ЛОР после бессонной ночи и не прочитал нормально %)

в общем-то к постам от tailgunner и Andrey_Utkin могу только посоветовать использовать printk, чтоб локализовать ошибку %)

metawishmaster ★★★★★
()
Ответ на: комментарий от UVV

Действительно, почему бы не поэксперементировать с написанием модулей (которые, между прочим, в одном адресном пространстве с ядром и могут его порушить) на живой железке?

RiseOfDeath ★★★★
()
Последнее исправление: RiseOfDeath (всего исправлений: 1)
Ответ на: комментарий от RiseOfDeath

Да, порушенное ядро на живой железке(разработчика) это просто ужасно.

dvl36
()
Ответ на: комментарий от UVV

Ну, например, притянутый за уши вариант - ваш модуль параллельно порушит какой-нибудь модуль для jfss2 (например) и вы попортите содержимое нанды, или модул для ext2 и вы попортите содержимое SDкарты, с которой железка грузится - придется заново заливать всю файловую систему.

Я уже молчу, что на криво сделаной железке может возможность спалить что-нибудь программно (например если у вас есть какой-то внешний контроллер питания, которым ваш SoC управляет)

RiseOfDeath ★★★★
()
Последнее исправление: RiseOfDeath (всего исправлений: 1)
Ответ на: комментарий от RiseOfDeath

Сильное заявление. Проверять я его конечно не буду. Слышал ещё, что NAND разрушается из-за свободных ионов, которые прилетают к нам из космоса..

UVV ★★★★★
() автор топика
Ответ на: комментарий от UVV

Я говорю не про физическую порчу нанды или SD карты, а про порчу содержимого, в случае если порушите драйвер файловой системы.

P.s.

А на счет порчи железа я не шучу. Погуглите про сжигание звуковухи на некоторых асусовских ноутах, при выкручивании громкости звука больше 100%. (ну точнее там сгорала не сама звуковуха, а ОУ на выходе)

RiseOfDeath ★★★★
()
Последнее исправление: RiseOfDeath (всего исправлений: 3)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.