프로그래밍

프로그래밍/리눅스 copy_from_user

우진샘 2010. 3. 16. 17:32
copy_from_user()
 * 유저 영역에서 커널로 데이터를 복사할 경우에 사용한다.
 * put_user()
get_user() 와 달리 copy_to_user()copy_from_user() 에서는 복사되지 않은 데이타의 양을 리턴한다. 성공시에는 0을 리턴한다.

 ☞ 이 함수들은 암시적으로 sleep 에 들어갈 수 있다. 그래서 이 함수들은 user context 밖에서나 (user context 밖에서는 별 의미가 없다), 인터럽트가 비활성화된 상태 혹은 spinlock 이 걸린 상태에서 절대 사용되서는 안된다.

unsigned long copy_from_user (void * to, const void __user * from, unsigned long n);

to
    Destination address, in kernel space.
from
    Source address, in user space.
n
    Number of bytes to copy.