커널내에서 전역변수 지정하기

satanjr의 이미지

커널내에서 전역변수 하나를 유지를 하려고 합니다.
dev_base와 같이 어디서나 접근가능하며 이를 변경도 가능하게 하려고 합니다.
dev_base변수와 똑 같이 지정해두면 접근이 가능할것 같아서 dev_base함수가 지정된 3가지 파일내에서 아래와 같이 설정해 두었습니다.

EXPORT_SYMBOL(dev_test); (net/netsysms.c)
struct net_device *dev_test = NULL; (drivers/net/Space.c)
extern struct net_device *dev_test; (include/linux/netdevice.h)

이렇게 컴파일 하고 나서 부팅을 하고 간단한 모듈 프로그래밍을 통해
printk("test_dev : %x\n",dev_test);


이렇게 실행하고자 모듈을 로드 하려고 하면
unresolved symbol dev_test 이런 오류 메세지가 뜹니다.
dev_test가 제대로 노출이 안됐다는 말인거 같아서
System.map내에서 심볼이 노출되어 있는지 확인하면
cat /boot/System.map | grep dev_ test
c024554a ? __kstrtab_dev_test
c0249e08 ? __ksymtab_dev_test
c02592fc D dev_test


이런식으로 등록(?)되어 있는거 같은데..
proc/ksyms 내에서 확인하면

c0259300 dev_base_lock_R5b3f9c07

c02592fc dev_test_R__ver_dev_test

c01c5240 dev_close_Rb7e1321a
c01c8960 dev_mc_add_R3cb733b5


이런식으로 다른 심볼과 그 형태가 다르게 등록이 되어 있습니다.
이런경우 어느쪽을 찾아봐야 할까요.. 조언 부탁드립니다.