diff options
| author | Ingo Molnar <mingo@elte.hu> | 2009-05-11 12:59:32 +0200 | 
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2009-05-11 12:59:37 +0200 | 
| commit | 7961386fe9596e6bf03d09948a73c5df9653325b (patch) | |
| tree | 60fa2586a0d340ef8f7473956eef17430d8250c7 /fs/proc/base.c | |
| parent | aa47b7e0f89b9998dad4d1667447e8cb7703ff4e (diff) | |
| parent | 091bf7624d1c90cec9e578a18529f615213ff847 (diff) | |
| download | olio-linux-3.10-7961386fe9596e6bf03d09948a73c5df9653325b.tar.xz olio-linux-3.10-7961386fe9596e6bf03d09948a73c5df9653325b.zip  | |
Merge commit 'v2.6.30-rc5' into sched/core
Merge reason: sched/core was on .30-rc1 before, update to latest fixes
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'fs/proc/base.c')
| -rw-r--r-- | fs/proc/base.c | 9 | 
1 files changed, 6 insertions, 3 deletions
diff --git a/fs/proc/base.c b/fs/proc/base.c index f71559784bf..fb45615943c 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c @@ -322,7 +322,10 @@ static int proc_pid_wchan(struct task_struct *task, char *buffer)  	wchan = get_wchan(task);  	if (lookup_symbol_name(wchan, symname) < 0) -		return sprintf(buffer, "%lu", wchan); +		if (!ptrace_may_access(task, PTRACE_MODE_READ)) +			return 0; +		else +			return sprintf(buffer, "%lu", wchan);  	else  		return sprintf(buffer, "%s", symname);  } @@ -648,14 +651,14 @@ static unsigned mounts_poll(struct file *file, poll_table *wait)  {  	struct proc_mounts *p = file->private_data;  	struct mnt_namespace *ns = p->ns; -	unsigned res = 0; +	unsigned res = POLLIN | POLLRDNORM;  	poll_wait(file, &ns->poll, wait);  	spin_lock(&vfsmount_lock);  	if (p->event != ns->event) {  		p->event = ns->event; -		res = POLLERR; +		res |= POLLERR | POLLPRI;  	}  	spin_unlock(&vfsmount_lock);  |