ubuntu 64bit에서 패킷 hooking 할 때 입니다.
글쓴이: tajja78 / 작성시간: 수, 2013/03/20 - 3:44오후
안녕하세요
우분투 12.04 64비트 환경에서 netfilter를 써서 hooking 하는 커널 모듈을 만들었습니다.
그런데 sk_buff 구조체를 넘겨 받아서 ethernet header를 얻어 올려고
unsigned char* mac = skb_mac_header(skb);
printk("mac[%x] : %02x %02x %02x \n", mac, mac[0], mac[1], mac[2]);
or
display_packet(mac);
하면
BUG: unable to handle kernel paging request at ffff8801dba8e1ff
메세지를 띄우고 죽습니다.
함수에 인자로 넘길땐 함수에 아무동작도 없이 넘기기만 해도 죽습니다.
컴파일도 문제가 없고, 해당 포인터 변수(mac)의 주소값도 얻어집니다.
왜 그런지 아시는분 부탁드립니다.. 며칠째 고생중 입니다.
ㅜㅜ
Forums:
user mode?
User mode 인데 kernel memory 를 사용할려다가 오류난 것 아닌가요?
user mode?
커널 모듈 내 에서 일어나는 현상인데... kernel mode 아닌가요?
지금 우분투를 virtual box에서 돌리고 있는데 혹시 이런게 영향을 줄수 있나요?
댓글 달기