2009-01-20 44 views
9

Tôi muốn thêm cuộc gọi hệ thống mới qua LKM, nhưng tôi không chắc chắn cách thực hiện điều này. Đó là, tôi biết rằng nếu tôi muốn thêm một cuộc gọi hệ thống hoàn toàn mới, tôi có thể xem qua sys_call_table và tìm một số sys_ni_syscall và chỉ thay thế nó, nhưng tôi tò mò nếu có thể thực sự thêm vào sys_call_table. Tôi nhận ra rằng có lẽ không phải là có thể, vì đó là một mảng kích thước cố định, nhưng tôi đã tự hỏi liệu có cách nào khác để thêm cuộc gọi hệ thống mà không ghi đè số cuộc gọi hệ thống không được sử dụng.Có thể thêm cuộc gọi hệ thống qua LKM không?

+0

Có thể trùng lặp [Thực hiện cuộc gọi hệ thống Linux bằng LKM] (https://stackoverflow.com/questions/12623066/implementing-linux-system-call-using-lkm) –

Trả lời

1

Kiểm tra trang web Dự án Tài liệu Linux cho "Hướng dẫn lập trình mô-đun hạt nhân Linux" (http://www.tldp.org/LDP/lkmpg/2.6/html/index.html). Cụ thể, hãy xem tại đây cho Cuộc gọi hệ thống: http://www.tldp.org/LDP/lkmpg/2.6/html/x978.html. Điều đó sẽ cho bạn một sự khởi đầu, ít nhất.

+4

Đọc qua điều đó, mặc dù có vẻ như sys_call_table là không còn được xuất trong hạt nhân 2.6. Xem nhận xét trong syscall.c – FreeMemory

3

Dưới đây là một ví dụ
linux system calls

chỉnh sửa:
Ví dụ trên cho thấy howto thực hiện một cuộc gọi hệ thống, theo như thực hiện một từ một mô-đun có thể nạp được; AFAIK, điều đó là không thể, trừ khi bạn ghi đè lên hiện tại vì kích thước của mảng là #define.

Hãy nhớ rằng cũng có những thay đổi về không gian người dùng được yêu cầu, ít nhất là nếu bạn muốn thực sự có thể sử dụng cuộc gọi hệ thống mới.

1

Đây là câu hỏi cũ nhưng tôi vẫn muốn đề xuất giải pháp của mình. Cách dễ nhất để triển khai môi trường "gọi hệ thống" là dựa vào thiết bị giả. Cụ thể, bạn có thể tạo trình điều khiển thiết bị mới không thực sự thúc đẩy bất kỳ điều gì. Tuy nhiên, bằng văn bản về nó, có thể gây ra các mô-đun được cài đặt để thực hiện các hành động cần thiết. Ngoài ra, nếu bạn muốn cung cấp một số dịch vụ, bạn có thể ánh xạ chúng tới các hoạt động ioctl.

Các vấn đề liên quan