diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-02-18 00:24:27 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-02-18 00:24:27 +0000 |
commit | b9558d5f86c471a125abf1fb3a3882fb053b1f8c (patch) | |
tree | 707b53ec64e740a7da87d5f36485e3cd9b1c794e /arch/alpha | |
parent | b3ac367c7a3e6047abe74817db27e34e759f279f (diff) |
Merge with Linux 2.3.41.
Diffstat (limited to 'arch/alpha')
-rw-r--r-- | arch/alpha/kernel/osf_sys.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/arch/alpha/kernel/osf_sys.c b/arch/alpha/kernel/osf_sys.c index 95e539d34..d9af71414 100644 --- a/arch/alpha/kernel/osf_sys.c +++ b/arch/alpha/kernel/osf_sys.c @@ -504,7 +504,7 @@ asmlinkage int osf_utsname(char *name) { int error; - down(&uts_sem); + down_read(&uts_sem); error = -EFAULT; if (copy_to_user(name + 0, system_utsname.sysname, 32)) goto out; @@ -519,7 +519,7 @@ asmlinkage int osf_utsname(char *name) error = 0; out: - up(&uts_sem); + up_read(&uts_sem); return error; } @@ -569,7 +569,6 @@ asmlinkage int osf_getdomainname(char *name, int namelen) unsigned len; int i, error; - lock_kernel(); error = verify_area(VERIFY_WRITE, name, namelen); if (error) goto out; @@ -578,15 +577,14 @@ asmlinkage int osf_getdomainname(char *name, int namelen) if (namelen > 32) len = 32; - down(&uts_sem); + down_read(&uts_sem); for (i = 0; i < len; ++i) { __put_user(system_utsname.domainname[i], name + i); if (system_utsname.domainname[i] == '\0') break; } - up(&uts_sem); + up_read(&uts_sem); out: - unlock_kernel(); return error; } @@ -810,7 +808,6 @@ asmlinkage long osf_sysinfo(int command, char *buf, long count) char *res; long len, err = -EINVAL; - lock_kernel(); offset = command-1; if (offset >= sizeof(sysinfo_table)/sizeof(char *)) { /* Digital UNIX has a few unpublished interfaces here */ @@ -818,7 +815,7 @@ asmlinkage long osf_sysinfo(int command, char *buf, long count) goto out; } - down(&uts_sem); + down_read(&uts_sem); res = sysinfo_table[offset]; len = strlen(res)+1; if (len > count) @@ -827,9 +824,8 @@ asmlinkage long osf_sysinfo(int command, char *buf, long count) err = -EFAULT; else err = 0; - up(&uts_sem); + up_read(&uts_sem); out: - unlock_kernel(); return err; } |