/ Proc / modüllerde (F) işaretli modül


9

3.10 sistemimde / proc / modüllerinde listelenen modüllerden bazıları (F) olarak işaretlenmiştir. Bunun nedenini bulmak istiyorum (F). Modüllerin zorla yüklenmediğinden ve Çekirdek ile oluşturulduğundan eminim. Lütfen / proc / modüllerini hangi çekirdek kodunun oluşturduğunu gösterebilir misiniz?

usb_storage 56610 0 - Live 0xffffffffa005d000 (F)

Bu modülü kaldırıp yeniden yüklersem (F) söner.


: Kodun yanında şimdiye kadar buldum sonraki en iyi kaynaklar bu 2 olan (hala o biraz bakarak) unixhelp.ed.ac.uk/CGI/man-cgi?proc+5 & tldp.org/HOWTO/html_single/ Modül-NASIL . Bu da biraz faydalı: centos.org/docs/5/html/Deployment_Guide-en-US/…
slm

Teşekkürler slm. / Proc / modüllere atıfta bulunan bölümdeki üçüncü işaretçiniz, bellek ofseti olan altıncı sütunu açıklar. Bu bilginin profilciler tarafından kullanıldığını söylüyor - bu benim sorunum. Profil oluşturucu, modül işaretlendiğinde (F) sessizce çalışmayı reddeder.
Stephan T.

Yanıtlar:


11

Kaynağındaki çıkıştaki sütunlar /proc/modulesaşağıdaki gibidir.

usb_storage 56610 0    -   Live 0xffffffffa005d000 (F)
  (1)        (2) (3)  (4)  (5)         (6)         (7)

NOT: 7. sütun olarak görünen şeyden bahsetmedim, ancak 6. sütunun açıklamaları (aşağıya bakın) orada görüntülenen bilgileri kapsamadığından böyle etiketliyorum.

alıntı - http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-proc-topfiles.html

  • İlk sütun modülün adını içerir.
  • İkinci sütun, modülün bellek boyutunu bayt cinsinden ifade eder.
  • Üçüncü sütun, şu anda kaç tane modülün yüklü olduğunu listeler. Sıfır değeri yüksüz bir modülü temsil eder.
  • Dördüncü sütun, modülün çalışması için mevcut olan başka bir modüle bağlı olup olmadığını belirtir ve bu diğer modülleri listeler.
  • Beşinci sütun, modülün hangi yük durumunda olduğunu listeler: Canlı, Yükleme veya Boşaltma, olası tek değerlerdir.
  • Altıncı sütun, yüklü modül için geçerli çekirdek bellek ofsetini listeler. Bu bilgiler, hata ayıklama amacıyla veya oprofile gibi profil oluşturma araçları için yararlı olabilir.

Sanırım (F)(yani 7. sütun) ile işaretlenmiş sütun bu dosyadan - geliyor panic.c.

/**
 *  print_tainted - return a string to represent the kernel taint state.
 *
 *  'P' - Proprietary module has been loaded.
 *  'F' - Module has been forcibly loaded.
 *  'S' - SMP with CPUs not designed for SMP.
 *  'R' - User forced a module unload.
 *  'M' - System experienced a machine check exception.
 *  'B' - System has hit bad_page.
 *  'U' - Userspace-defined naughtiness.
 *  'D' - Kernel has oopsed before
 *  'A' - ACPI table overridden.
 *  'W' - Taint on warning.
 *  'C' - modules from drivers/staging are loaded.
 *  'I' - Working around severe firmware bug.
 *  'O' - Out-of-tree module has been loaded.
 *  'E' - Unsigned module has been loaded.
 *
 *  The string is overwritten by the next call to print_tainted().
 */

Bu kodlar, kernel.txtreferans belgelerinde de bulunan bitmask için bir temsildir .

tainted:

 Non-zero if the kernel has been tainted.  Numeric values, which
 can be ORed together:

    1 - A module with a non-GPL license has been loaded, this
        includes modules with no license.
        Set by modutils >= 2.4.9 and module-init-tools.
    2 - A module was force loaded by insmod -f.
        Set by modutils >= 2.4.9 and module-init-tools.
    4 - Unsafe SMP processors: SMP with CPUs not designed for SMP.
    8 - A module was forcibly unloaded from the system by rmmod -f.
   16 - A hardware machine check error occurred on the system.
   32 - A bad page was discovered on the system.
   64 - The user has asked that the system be marked "tainted".  This
        could be because they are running software that directly modifies
        the hardware, or for other reasons.
  128 - The system has died.
  256 - The ACPI DSDT has been overridden with one supplied by the user
         instead of using the one provided by the hardware.
  512 - A kernel warning has occurred.
 1024 - A module from drivers/staging was loaded.
 2048 - The system is working around a severe firmware bug.
 4096 - An out-of-tree module has been loaded.
 8192 - An unsigned module has been loaded in a kernel supporting module
        signature.

Referanslar

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.