커널타이머를 사용하는데 쓰면 안되는 함수가 있나요?

MBJH의 이미지

제가 커널타이머를 사용해서 주기적으로 함수를 실행시킬려고 노력 중입니다.

이 함수에는 path_lookup같은 파일시스템에 접근하는 함수를 호출하고 있는데요.

제한시간이 끝나고 함수가 실행될 때 커널 oops가 발생하고,

CallTrace가 계속 무한대로 올라갑니다. 다른 터미널로 바꾸는 것도 안되서

어디서 커널 oops가 발생했는지도 모르겠고요.

다른 함수들은 무리없이 돌아가는데 파일시스템에 접근하는 함수들은 실행이 안 되네요.

왜 안되는지 도무지 모르겠습니다.

도와주세요~

tiffang의 이미지

File open table 이 각 프로세스마다 있기 때문에 문제가 될 수 있는데,

user daemon 을 만드시고
kernel thread 에서 직접 파일을 쓰는 대신에,
user daemon 에 signal 을 보내서 파일을 쓰도록 하면 될 것 같은데ㅛ..