From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 1 Apr 2009 17:21:22 +0100 From: Al Viro Subject: Re: do_execve() needs const qualifiers (was Re: [patch 3/3] uml: fix warnings in kernel_execve) Message-ID: <20090401162122.GE28946@ZenIV.linux.org.uk> References: <20090401161114.GF3848@hack> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090401161114.GF3848@hack> Sender: linux-kernel-owner@vger.kernel.org To: Am??rico Wang Cc: Miklos Szeredi , user-mode-linux-devel@lists.sourceforge.net, jdike@addtoit.com, akpm@linux-foundation.org, linux-kernel@vger.kernel.org List-ID: On Thu, Apr 02, 2009 at 12:11:14AM +0800, Am??rico Wang wrote: > On Mon, Mar 30, 2009 at 08:45:12PM +0200, Miklos Szeredi wrote: > >From: Miklos Szeredi > > > >Fix the following warnings: > > > >arch/um/kernel/syscall.c: In function 'kernel_execve': > >arch/um/kernel/syscall.c:130: warning: passing argument 1 of 'um_execve' discards qualifiers from pointer target type > >arch/um/kernel/syscall.c:130: warning: passing argument 2 of 'um_execve' discards qualifiers from pointer target type > >arch/um/kernel/syscall.c:130: warning: passing argument 3 of 'um_execve' discards qualifiers from pointer target type > > > >Signed-off-by: Miklos Szeredi > >--- > > arch/um/kernel/syscall.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > >Index: linux-2.6/arch/um/kernel/syscall.c > >=================================================================== > >--- linux-2.6.orig/arch/um/kernel/syscall.c 2009-03-30 20:25:17.000000000 +0200 > >+++ linux-2.6/arch/um/kernel/syscall.c 2009-03-30 20:36:20.000000000 +0200 > >@@ -127,7 +127,8 @@ int kernel_execve(const char *filename, > > > > fs = get_fs(); > > set_fs(KERNEL_DS); > >- ret = um_execve(filename, argv, envp); > >+ ret = um_execve((char *)filename, (char __user *__user *)argv, > >+ (char __user *__user *) envp); > > Well... I found this many days ago and I did a similar fix. > > However, I think this doesn't fix the real problem. The real problem > is do_execve() doesn't have the correct const qualifiers, I am queueing > a huge patch to fix all the 'const' issues from do_execve() and more, > but I don't if Al would like it or not. I don't know... The thing is, it'll trail down into bprm->filename / bprm->interp and the things get very ugly very fast from that point.