From: Olaf Hering <olh@suse.de>

For some reasons ls -l /proc/$$/exe doesnt work all time for me,
with 2.6.8.1 on ppc64. Sometimes it does, sometimes not. No pattern.
A few printks show that this check in proc_pid_readlink() triggers
an -EACCES:

	current->fsuid != inode->i_uid

proc_pid_readlink(755) error -13 ntptrace(11408) fsuid 100 i_uid 0 0
sys_readlink(281) ntptrace(11408) error -13 readlink

Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/fs/compat.c |    2 ++
 1 files changed, 2 insertions(+)

diff -puN fs/compat.c~compat_do_execve-fix fs/compat.c
--- 25/fs/compat.c~compat_do_execve-fix	Tue Aug 17 14:50:06 2004
+++ 25-akpm/fs/compat.c	Tue Aug 17 14:50:06 2004
@@ -1392,6 +1392,8 @@ int compat_do_execve(char * filename,
 	bprm.sh_bang = 0;
 	bprm.loader = 0;
 	bprm.exec = 0;
+	bprm.interp_flags = 0;
+	bprm.interp_data = 0;
 	bprm.security = NULL;
 	bprm.mm = mm_alloc();
 	retval = -ENOMEM;
_