두 개의 리눅스 커널 모듈이 있습니다. 하나는 다른 모듈에 어떤 기능을 제공 할 수 있습니다. 그러나 그 기능의 사용은 필수적인 것은 아니며, 두 번째 모듈은 첫 번째 모듈이 없어도 작동 할 수 있습니다.리눅스 커널의 모듈 간 통신
첫 번째 모듈에서 함수를 내보내고 두 번째 모듈에서 사용하는 경우 두 번째 모듈은 해당 심볼에 종속되므로 첫 번째 모듈 없이는로드 할 수 없습니다.
해결책 중 하나는 첫 번째 모듈의 함수에 대해/proc/kallsym을 조사하는 사용자 스크립트를 갖는 것입니다.이 스크립트가있는 경우 두 번째 모듈에 매개 변수로 해당 스크립트의 주소를 전달합니다. 그것의 포인터. 하지만 분명한 이유 때문에 그 해결책을 좋아하지 않습니다.
두 번째 모듈이 첫 번째 모듈에서 일부 심볼의 주소를 가져 오지만 딱딱한 의존성을 피할 수 있도록보다 정확하고 우아한 솔루션이 있다면?
모듈 A는 모듈 A가 전혀 없어도 작동해야합니다 (A가 기계에없는 일부 하드웨어 가속에 대한 인터페이스를 제공한다고 가정). – Eugene
2.4에서 query_module() 인터페이스가 필요하지만 거의 필요하지는 않지만 2.6에서 제거되었습니다. 나는 대체물이 있는지 궁금해. – Eugene