long
__strncpy_from_user(char *dst, const char __user *src, long count)
{
	long res;
	__do_strncpy_from_user(dst, src, count, res);
	return res;
}
long
strncpy_from_user(char *dst, const char __user *src, long count)
{
	long res = -EFAULT;
	if (access_ok(VERIFY_READ, src, 1))
		__do_strncpy_from_user(dst, src, count, res);
	return res;
}
Exemple #3
0
//----------------------------- strncpy_from_user ------------------------------
long strncpy_from_user(char* dst,const char __user* src,long count)
{
 long res=0;
 char hLock[12];
 ULONG pgCount=0;
 if(!DevVMLock(VMDHL_LONG,(ULONG)src,1,(LINEAR)-1,hLock,(LINEAR)&pgCount))
 {
  __do_strncpy_from_user(dst,src,count,res);
  DevVMUnLock(hLock);
 }
 return res;
}
Exemple #4
0
int strncpy_from_user_tt(char *dst, const char *src, int count)
{
	int n;

	if(!access_ok_tt(VERIFY_READ, src, 1)) 
		return(-EFAULT);

	n = __do_strncpy_from_user(dst, src, count, 
				   &current->thread.fault_addr,
				   &current->thread.fault_catcher);
	if(n < 0) return(-EFAULT);
	return(n);
}