kmalloc()의 return value = ffffffff 이면?

skjean의 이미지

커널 영역에서 메모리 할당이 제대로 안된것 같은데요..
어떤 경우에 ffffffff를 반환하는지 알고 싶습니다.

메모리 할당받고, 접근하려고 하면 자꾸 죽네요.. -.-;;
kmalloc()의 return value를 찍어보면
ffffffff입니다.

man page 상에는 NULL if error
아니면, 할당된 공간의 시작주소인데....

도움 부탁드립니다.

envia의 이미지

ffffffff이면 2의 보수니까 -1이 되네요 ;;

NULL 값은 0일텐데... 이상하군요.

----

It is essential, if man is not to be compelled to have recourse, as a last resort, to rebellion against tyranny and oppression, that human rights should be protected by the rule of law.
[Universal Declaration of Human Rights]

skjean의 이미지

코드 실수 인것으로 밝혀졌습니다.
특정 메모리 포인터에 kmalloc()으로 할당하려고
했으나 해당 kmalloc() 코드가 호출되지 않았더군요..

그래서, 포인터 변수의 초기값이 그대로 찍혔고,
그 값이 ffffffff였습니니다.

답변 매우 감사드립니다. ^^;;

그런데.. 포인터 변수의 초기값이 ffffffff인가요?

체스맨의 이미지

skjean wrote:

그런데.. 포인터 변수의 초기값이 ffffffff인가요?

C/C++ 에서 모든 auto 및 register 변수의 초기값은 명시적으로
초기화하지 않는한 'undefined' 입니다.

Orion Project : http://orionids.org