Mô-đun được đánh dấu (F) trong / Proc / mô-đun


9

Trên hệ thống 3.10 của tôi, một số mô-đun được liệt kê trong / Proc / mô-đun được đánh dấu (F). Tôi muốn tìm nguyên nhân của việc này (F). Tôi chắc chắn các mô-đun không được tải mạnh mẽ và được xây dựng với Kernel. Bạn có thể, xin vui lòng chỉ ra mã hạt nhân nào tạo / Proc / mô-đun?

usb_storage 56610 0 - Live 0xffffffffa005d000 (F)

Nếu tôi dỡ và tải lại mô-đun này, (F) sẽ biến mất.


Bên cạnh mã (vẫn đang tìm kiếm bit đó), các tài nguyên tốt nhất tiếp theo tôi tìm thấy cho đến nay là 2: unixhelp.ed.ac.uk/CGI/man-cgi?proc+5 & tldp.org/HOWTO/html_single/ Mô-đun-CÁCH . Đây là phần nào hữu ích quá: centos.org/docs/5/html/Deployment_Guide-en-US/...
SLM

Cảm ơn slm. Con trỏ thứ ba của bạn, trong phần đề cập đến / Proc / mô-đun giải thích cột thứ sáu là phần bù bộ nhớ. Nó nói rằng thông tin này được sử dụng bởi các trình hồ sơ - đây là vấn đề của tôi. Trình hồ sơ âm thầm từ chối làm việc khi mô-đun được đánh dấu (F).
Stephan T.

Câu trả lời:


11

Các cột trong đầu ra từ /proc/modulesnhư sau.

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

LƯU Ý: Tôi không thấy đề cập đến những gì dường như là cột thứ 7, nhưng tôi dán nhãn như vậy vì các mô tả cho cột thứ 6 (xem bên dưới) không bao gồm thông tin được hiển thị ở đó.

trích đoạn - http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-proc-topfiles.html

  • Cột đầu tiên chứa tên của mô-đun.
  • Cột thứ hai đề cập đến kích thước bộ nhớ của mô-đun, tính bằng byte.
  • Cột thứ ba liệt kê có bao nhiêu phiên bản của mô-đun hiện đang được tải. Giá trị bằng 0 biểu thị một mô-đun không tải.
  • Cột thứ tư nêu nếu mô-đun phụ thuộc vào mô-đun khác có mặt để hoạt động và liệt kê các mô-đun khác.
  • Cột thứ năm liệt kê trạng thái tải của mô-đun trong: Trực tiếp, Tải hoặc Hủy tải là các giá trị duy nhất có thể.
  • Cột thứ sáu liệt kê phần bù bộ nhớ kernel hiện tại cho mô-đun được tải. Thông tin này có thể hữu ích cho mục đích gỡ lỗi hoặc cho các công cụ định hình như oprofile.

Tôi tin rằng cột được đánh dấu bằng (F)(tức là cột thứ 7) xuất phát từ đây trong tệp này - 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().
 */

Các mã này là một đại diện cho bitmask cũng có trong kernel.txttài liệu tham khảo.

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.

Người giới thiệu

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.