IS_ERR_VALUE 매크로에 대해서 질문있습니다.

normalized.signal의 이미지

리눅스의 IS_ERR_VALUE () 를 통해서 반환된 포인터값이, 올바른 값인지 아니면 에러 코드인지 알아냅니다.

0xfffff000 ~ 0xffffffff 범위의 값이 반환되면 에러 코드로 봅니다.

여기서 궁금한점이 있는데

커널은 0xfffff000 ~ 0xffffffff 사이의 메모리 영역을 사용하지 않나요?? 이 범위의 값을 주소값이 아닌 에러 코드로 인식시키게 하는

배경이 궁급합니다.