module 작성후 insmod시에 unknown symbol in module 에러가 발생합니다.
글쓴이: lmk378 / 작성시간: 화, 2011/03/22 - 9:57오전
dmesg를 확인해보면
unknown symbol find_task_by_vpid
라고 나옵니다.
위 함수는 kernel의 include/linux/sched.h 에 extern 되어있는 함수로
pid를 받아와 해당 process의 task_struct를 반환합니다.
위 함수를 module 소스에서 제거하면 insmod시 정상등록됩니다.
문제는 저 함수를 꼭 써야하기 때문인데요
kernel 소스상의 함수를 module에서 사용하지 못할 수도 있나요?
Forums:
EXPORT_SYMBOL
모듈에서는 커널에서 export한 심볼들만 참조할 수 있습니다.
find_task_by_vpid() 함수의 경우 직접 EXPORT_SYMBOL()을 통해
공개되어 있지 않으므로 모듈에서 이 기능을 사용하려면
다음과 같은 더 하위 수준의 함수들을 사용해야 합니다.
답변 정말 감사드립니다. 해결되었습니다.
답변 정말 감사드립니다.
해결되었습니다.
참고하겠습니다
참고하겠습니다
댓글 달기