verify_area() 함수는 사용자 메모리 영역의 유효성 검사에 사용되는 함수이다.
이 verify_area() 함수는 2.6.14로 커널 버전업을 하면서 사라졌다.
이 verify_area() 함수는 2.6.14로 커널 버전업을 하면서 사라졌다.
삭제되기 전 verify_area()는 다음과 같은 원형을 가졌었다.
static inline int verify_area(int type, const void __user * addr, unsigned long size)
{
return access_ok(type,addr,size) ? 0 : -EFAULT;
}
보는바와 같이 내부적으로 access_ok() 함수를 호출하는데 현재엔 verify_area()함수 대신 그냥 access_ok()함수를 사용한다.
다만, 기존에 verify_area는 메모리 공간이 여유로우면 0을 리턴하였지만,
access()함수는 위에서 보는바와 같이 0이 아닌 값을 리턴한다. 따라서, 리턴값을 주의하여 사용하길 바란다.
기존에 verify_area()를 사용하여
err = verify_area();
if(err)
return -1;
이런 형태로 사용하였다면,
if(!err)
return -1;
같은 형태로 변경하여야 할 것이다.