커널 모드 unlink 구현
글쓴이: yeri2521 / 작성시간: 수, 2008/08/20 - 6:51오후
안녕하세요
로더블 모듈을 이용하여 커널 모드에서 파일 IO를 처리하려고 합니다.
유저영역 app --> 문자 장치(ioctl) --> 커널 모듈 --> 파일 io
이런 모양인데요^^;
다른 부분은 klib나 시스템 콜 관련 함수를 따라 들어가면서 만들어 두고 동작을 확인하였습니다.
몇일 다른 작업 하다가 파일 삭제를 추가해야 될 일이 생겨서 만들려고 하는데요
sys_unlink 안쪽 코드들을 이용하다보면, 안쪽의 static 함수들 추가해주면서 작업해도
undefined symbol 관련된 에러가 하염없이 나길래... 이건 좀 방향이 잘못된것 같다라는 생각이 들어서
sys_unlink를 직접 이용해 보려고 하니,
2.6 커널에서는 이 방법은 일단 시스템 콜 테이블이 export되지 않아 사용할 수 없고,
좋은 방법이 아니라는 것을 알게되었습니다.
커널을 재 컴파일 할수는 없는 상황입니다.
그 뒤로는 어떤 방향으로 파일 삭제를 처리해야될 지 몰라, 멍 때리는 중입니다^^;;
어떤 방법을 써야 할지 작은 조언이라도 부탁드립니다.
감사합니다. :)
Forums:
built-in 이 아니라
built-in 이 아니라 loadable module 로 하고계시나 보네요.
call_usermodehelper() 를 사용해서 단순하게 /bin/rm -f xxx 를 실행시키는 방법도 있습니다.
예제는... lib/kobject_uevent.c 를 보시면 되겠습니다.
OTL
말씀해 주신
말씀해 주신 방법으로 해결했습니다.
큰 도움이 되었습니다. 감사합니다 :)
댓글 달기