Il mio kernel continua a farsi prendere dal panico quando è connesso a una determinata rete wireless. Vorrei inviare una segnalazione di bug ma il mio kernel è apparentemente contaminato. Da /var/log/messages
:
Apr 17 21:28:22 Eiger kernel: [13330.442453] Pid: 4095, comm: kworker/u:1 Tainted: G O 3.8.4-102.fc17.x86_64 #1
e
[[email protected] ~]# cat /proc/sys/kernel/tainted
4096
Non sono stato in grado di trovare la documentazione per ciò che significa la maschera di bit 4096, ma il . Come faccio a scoprire quale modulo sta contaminando il kernel?G
flag significa che un modulo GPL esterno è caricato nel kernel
Ho cercato [Tt]aint
in /var/log/messages
o dmesg
e non trova nulla corrispondente a quando un modulo viene caricato. Il mio kernel è l'ultimo kernel di Fedora 17:3.8.4-102.fc17.x86_64.
AGGIORNAMENTO :Potrebbe essere dovuto a rts5139
modulo. Viene visualizzato in lsmod
ma modinfo rts5139
produce ERROR: Module rts5139 not found.
Quando si avvia il kernel precedente, 3.8.3-103.fc17.x86_64, questo modulo non è elencato da lsmod
e il kernel non è contaminato (/proc/sys/kernel/taint
è 0).
Ho provato a inserire questo modulo nella lista nera
echo 'blacklist rts5139' >> /etc/modprobe.d/blacklist.conf
ma il riavvio mostra ancora il kernel come contaminato.
Risposta accettata:
Bene, non credo che un pacchetto del kernel Fedora standard includerà moduli che attiverebbero questa contaminazione, quindi la domanda è:quali altri moduli del kernel hai installato?
I candidati più comuni sarebbero i driver grafici (anche se penso che imposteranno principalmente il bit "proprietario") e i driver wireless.
Se riesci a trovare qualcosa in lsmod
output che ritieni possa essere un candidato, quindi esegui modinfo <module-name>
e verifica se l'output include intree: Y
come qualsiasi modulo senza quello attiverà la contaminazione che stai vedendo.
AGGIORNAMENTO :Il rts5139
modulo che stai vedendo in lsmod
ma che non sembra essere sul tuo sistema è probabilmente in initrd e viene caricato da lì all'inizio del processo di avvio prima che il filesystem principale venga montato.
Questo spiega anche perché la blacklist non funzionerà poiché dovresti ricostruire l'initrd con la blacklist aggiornata. Ricostruire l'initrd con dracut
tuttavia, il modulo andrà via comunque.