Sto cercando di trovare lo spazio indirizzo del kernel in cui il mio modulo del kernel caricabile viene trasferito da insmod.Trovare l'indirizzo del kernel di un modulo kernel caricabile
Sono venuto a sapere che usando le opzioni -m, -O mentre insmod'ing il modulo, possiamo vedere solo la tabella dei simboli e gli indirizzi delle sezioni dell'eseguibile dal punto di vista del modulo e non i loro spostati indirizzi, poiché quel processo di trasferimento viene eseguito quando facciamo un insmod.
Qualcuno può dire come trovare l'indirizzo trasferito di un modulo nella memoria del kernel, l'indirizzo associato al kernel in cui risiede un modulo caricato?
Grazie!
P.S Si noti che sto utilizzando un kernel Linux Redhat 2.4 in cui l'elenco/proc/modules non mostra gli indirizzi virtuali dei moduli caricati.
Ciao @tian_yufeng, grazie! Comunque sto usando un kernel Linux Redhat 2.4 in cui l'elenco/proc/modules non mostra l'indirizzo virtuale come modificato nella mia domanda. Sai come ottenere l'indirizzo del kernel dei moduli caricati in questo kernel 2.4? – freax
2.4 kernel è un po 'fuori. Penso che le modifiche ai codici siano necessarie per supportare la funzionalità che desideri. Puoi dirmi la versione di dettaglio del tuo kernel? Quindi posso scaricarne uno per avere un assegno. –
Sto usando il kernel Redhat 2.4.20-24.7 Ho trovato gli indirizzi dei moduli usando il puntatore "__this_module.next" che credo siano virtuali. Puoi dirmi come convertire questi indirizzi virtuali in indirizzi fisici? Grazie! – freax