process.c (11e4afb49b7fa1fc8e1ffd850c1806dd86a08204) process.c (c7887325230aec47d47a32562a6e26014a0fafca)
1/*
2 * arch/xtensa/kernel/process.c
3 *
4 * Xtensa Processor version.
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive
8 * for more details.

--- 304 unchanged lines hidden (view full) ---

313 return do_fork(clone_flags, newsp, regs, 0, parent_tid, child_tid);
314}
315
316/*
317 * xtensa_execve() executes a new program.
318 */
319
320asmlinkage
1/*
2 * arch/xtensa/kernel/process.c
3 *
4 * Xtensa Processor version.
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive
8 * for more details.

--- 304 unchanged lines hidden (view full) ---

313 return do_fork(clone_flags, newsp, regs, 0, parent_tid, child_tid);
314}
315
316/*
317 * xtensa_execve() executes a new program.
318 */
319
320asmlinkage
321long xtensa_execve(char __user *name, char __user * __user *argv,
321long xtensa_execve(const char __user *name, char __user * __user *argv,
322 char __user * __user *envp,
323 long a3, long a4, long a5,
324 struct pt_regs *regs)
325{
326 long error;
327 char * filename;
328
329 filename = getname(name);
330 error = PTR_ERR(filename);
331 if (IS_ERR(filename))
332 goto out;
333 error = do_execve(filename, argv, envp, regs);
334 putname(filename);
335out:
336 return error;
337}
338
322 char __user * __user *envp,
323 long a3, long a4, long a5,
324 struct pt_regs *regs)
325{
326 long error;
327 char * filename;
328
329 filename = getname(name);
330 error = PTR_ERR(filename);
331 if (IS_ERR(filename))
332 goto out;
333 error = do_execve(filename, argv, envp, regs);
334 putname(filename);
335out:
336 return error;
337}
338