본문 바로가기
3. 개발 관련/정리 :: issue 와 resovle

file_operations ioctl 필드 변경

by kyuho.choi 2012. 1. 4.
728x90
반응형
v2.6.x 까지의 커널에는 file_operations  중 ioctl 멤버가 있어서
디바이스 드라이버나 모듈 작성시에 어플리케이션에서 제어하기 위한 목적으로 사용됬었는데,
이 ioctl 은 커널 락을 건 상태에서 동작되고 있었나 보다 ... 몰랐다  ... ㅡㅡ;;

v3.0.x 커널 포팅 중에 확인 해보니 ioctl 필드는 compat_ioctl 이나 unlocked_ioctl 필드로 지정해서 사용하도록
변경되었다.

compat_ioctl 이나 unlocked_ioctl 이나 모두 이전 버전의 ioctl 처럼 커널 락은 걸지 않는 멤버 들이며,
64bit -> 32bit 용으로의 제어에는 compat_ioctl 을 사용하고 그 외의 경우에는 unlocked_ioctl 을 사용하면 될 듯 싶다.

으흠으흠 그러하다. 
728x90
반응형

댓글