diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-04 08:15:33 -0800 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-04 08:15:33 -0800 | 
| commit | 0f2cc4ecd81dc1917a041dc93db0ada28f8356fa (patch) | |
| tree | f128b50f48f50f0cda6d2b20b53e9ad6e2dfded3 /kernel/sysctl_binary.c | |
| parent | 1fae4cfb97302289bb5df6a8195eb28385d0b002 (diff) | |
| parent | 9643f5d94aadd47a5fa9754fb60f2c957de05903 (diff) | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (52 commits)
  init: Open /dev/console from rootfs
  mqueue: fix typo "failues" -> "failures"
  mqueue: only set error codes if they are really necessary
  mqueue: simplify do_open() error handling
  mqueue: apply mathematics distributivity on mq_bytes calculation
  mqueue: remove unneeded info->messages initialization
  mqueue: fix mq_open() file descriptor leak on user-space processes
  fix race in d_splice_alias()
  set S_DEAD on unlink() and non-directory rename() victims
  vfs: add NOFOLLOW flag to umount(2)
  get rid of ->mnt_parent in tomoyo/realpath
  hppfs can use existing proc_mnt, no need for do_kern_mount() in there
  Mirror MS_KERNMOUNT in ->mnt_flags
  get rid of useless vfsmount_lock use in put_mnt_ns()
  Take vfsmount_lock to fs/internal.h
  get rid of insanity with namespace roots in tomoyo
  take check for new events in namespace (guts of mounts_poll()) to namespace.c
  Don't mess with generic_permission() under ->d_lock in hpfs
  sanitize const/signedness for udf
  nilfs: sanitize const/signedness in dealing with ->d_name.name
  ...
Fix up fairly trivial (famous last words...) conflicts in
drivers/infiniband/core/uverbs_main.c and security/tomoyo/realpath.c
Diffstat (limited to 'kernel/sysctl_binary.c')
| -rw-r--r-- | kernel/sysctl_binary.c | 7 | 
1 files changed, 2 insertions, 5 deletions
| diff --git a/kernel/sysctl_binary.c b/kernel/sysctl_binary.c index 8f5d16e0707a..8cd50d8f9bde 100644 --- a/kernel/sysctl_binary.c +++ b/kernel/sysctl_binary.c @@ -1331,7 +1331,7 @@ static ssize_t binary_sysctl(const int *name, int nlen,  	ssize_t result;  	char *pathname;  	int flags; -	int acc_mode, fmode; +	int acc_mode;  	pathname = sysctl_getname(name, nlen, &table);  	result = PTR_ERR(pathname); @@ -1342,15 +1342,12 @@ static ssize_t binary_sysctl(const int *name, int nlen,  	if (oldval && oldlen && newval && newlen) {  		flags = O_RDWR;  		acc_mode = MAY_READ | MAY_WRITE; -		fmode = FMODE_READ | FMODE_WRITE;  	} else if (newval && newlen) {  		flags = O_WRONLY;  		acc_mode = MAY_WRITE; -		fmode = FMODE_WRITE;  	} else if (oldval && oldlen) {  		flags = O_RDONLY;  		acc_mode = MAY_READ; -		fmode = FMODE_READ;  	} else {  		result = 0;  		goto out_putname; @@ -1361,7 +1358,7 @@ static ssize_t binary_sysctl(const int *name, int nlen,  	if (result)  		goto out_putname; -	result = may_open(&nd.path, acc_mode, fmode); +	result = may_open(&nd.path, acc_mode, flags);  	if (result)  		goto out_putpath; | 
