Câu hỏi này là về hạt nhân Linux 4.10.Đánh dấu mô-đun hạt nhân có thể nạp được như trong cây
tải một out-of-cây LKM gây kernel để in một cảnh báo:
module: loading out-of-tree module taints kernel.
Điều này đặt ra từ việc kiểm tra này trong module.c: if (!get_modinfo(info, "intree")) {
Reading get_modinfo
nó seams rằng "intree "chỉ là một chuỗi ma thuật sống bên trong tệp .ko
.
Chạy readelf
trên LKM ngẫu nhiên tôi tìm thấy trong hệ thống của tôi cho thấy điều này:
readelf -a imon.ko | grep intree 161: 00000000000006c0 9 OBJECT LOCAL DEFAULT 13 __UNIQUE_ID_intree1
Trong khi tìm kiếm intree
một cách đơn giản, tùy chỉnh hello_world LKM trả về không có kết quả.
Đây có phải là trường hợp không?
Một số mô-đun được đánh dấu là trong cây là gì? Nó được thực hiện bằng cách thêm một macro vào mô-đun (như MODULE_LICENCE), hoặc bằng cách xây dựng các mô-đun theo một cách cụ thể hoặc cái gì khác?
Tại sao bạn muốn đánh dấu một mô-đun ngoài cây như trong cây? Tất cả điều này sẽ làm là các nhà phát triển hạt nhân khó chịu. – duskwuff