Переменная $!
переменная - это PID последнего процесса, запущенного в фоновом режиме. Вы должны сделать:
foo &
my_process_id=$!
: other stuff ...
kill "$my_process_id"
Пробовали ли вы следовать назад от конца трассировки стека с помощью addr2line
?
Например, глядя на последнюю строкуsysenter_do_call+0x12/0x28
Это говорит нам, что смещение равно 0x12
, а длина равна 0x28
$ addr2line -e [path-to-kernel-module-with-issue] 0xc15af55f
и так далее... gdb
— еще одна альтернатива с точки зрения разбиения трассировки стека на строки.
Тем не менее, я не совсем уверен, как вы пришли к -панике ядра, поскольку все, что я вижу в приведенном вами фрагменте журнала, — это предупреждение. Приводит ли это к сообщению о сбое/панике ядра -после опубликованной вами трассировки стека -?
-------что касается опубликованной трассировки стека :, это связано с общей разгрузкой сегментации и skbuffer, неудовлетворенным суммированной контрольной суммой ip _, что отключает разгрузку большого\общего приемника с помощью
$ethtool -k [NIC] lro off
$ethtool -k [NIC] gro off
может быть возможным обходным путем. Кроме того, пропуск проверки контрольной суммы с помощью skb->ip_summed = CHECKSUM_UNNECESSARY
также может решить эту проблему, в зависимости от цели установки.