예제 #1
0
파일: copy.c 프로젝트: AMCScarface/misc
static long _stp_strncpy_from_user(char *dst, const char __user *src, long count)
{
	long res = -EFAULT;
	if (access_ok(VERIFY_READ, src, count))
		__stp_strncpy_from_user(dst, src, count, res);
	return res;
}
예제 #2
0
파일: copy.c 프로젝트: 5kg/systemtap
/* XXX: see also kread/uread in loc2c-runtime.h */
static long _stp_strncpy_from_user(char *dst, const char __user *src, long count)
{
	long res = -EFAULT;
        mm_segment_t _oldfs = get_fs();
        set_fs(USER_DS);
        pagefault_disable();
	if (access_ok(VERIFY_READ, src, count)) /* XXX: bad_addr? */
		__stp_strncpy_from_user(dst, src, count, res);
        pagefault_enable();
        set_fs(_oldfs);
	return res;
}