Loading arch/alpha/kernel/osf_sys.c +9 −14 Original line number Original line Diff line number Diff line Loading @@ -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; } } /* /* Loading Loading
arch/alpha/kernel/osf_sys.c +9 −14 Original line number Original line Diff line number Diff line Loading @@ -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; } } /* /* Loading