Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9ba3eb51 authored by Al Viro's avatar Al Viro
Browse files

osf_getdomainname(): use copy_to_user()



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 2ea659a9
Loading
Loading
Loading
Loading
+9 −14
Original line number Original line Diff line number Diff line
@@ -564,25 +564,20 @@ SYSCALL_DEFINE0(getdtablesize)
 */
 */
SYSCALL_DEFINE2(osf_getdomainname, char __user *, name, int, namelen)
SYSCALL_DEFINE2(osf_getdomainname, char __user *, name, int, namelen)
{
{
	unsigned len;
	int len, err = 0;
	int i;
	char *kname;


	if (!access_ok(VERIFY_WRITE, name, namelen))
	if (namelen > 32)
		return -EFAULT;
		namelen = 32;

	len = namelen;
	if (len > 32)
		len = 32;


	down_read(&uts_sem);
	down_read(&uts_sem);
	for (i = 0; i < len; ++i) {
	kname = utsname()->domainname;
		__put_user(utsname()->domainname[i], name + i);
	len = strnlen(kname, namelen);
		if (utsname()->domainname[i] == '\0')
	if (copy_to_user(name, kname, min(len + 1, namelen)))
			break;
		err = -EFAULT;
	}
	up_read(&uts_sem);
	up_read(&uts_sem);


	return 0;
	return err;
}
}


/*
/*