Skip to content

Commit

Permalink
arch/tile: finish const-ifying sys_execve()
Browse files Browse the repository at this point in the history
The sys_execve() implementation was properly const-ified but not
the declaration, the syscall wrappers, or the compat version.
This change completes the constification process.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
  • Loading branch information
Chris Metcalf committed Sep 15, 2010
1 parent 49553c2 commit e6e6c46
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 12 deletions.
5 changes: 3 additions & 2 deletions arch/tile/include/asm/compat.h
Original file line number Diff line number Diff line change
Expand Up @@ -214,8 +214,9 @@ extern int compat_setup_rt_frame(int sig, struct k_sigaction *ka,
struct compat_sigaction;
struct compat_siginfo;
struct compat_sigaltstack;
long compat_sys_execve(char __user *path, compat_uptr_t __user *argv,
compat_uptr_t __user *envp);
long compat_sys_execve(const char __user *path,
const compat_uptr_t __user *argv,
const compat_uptr_t __user *envp);
long compat_sys_rt_sigaction(int sig, struct compat_sigaction __user *act,
struct compat_sigaction __user *oact,
size_t sigsetsize);
Expand Down
21 changes: 13 additions & 8 deletions arch/tile/include/asm/syscalls.h
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,12 @@ long sys_fork(void);
long _sys_fork(struct pt_regs *regs);
long sys_vfork(void);
long _sys_vfork(struct pt_regs *regs);
long sys_execve(char __user *filename, char __user * __user *argv,
char __user * __user *envp);
long _sys_execve(char __user *filename, char __user * __user *argv,
char __user * __user *envp, struct pt_regs *regs);
long sys_execve(const char __user *filename,
const char __user *const __user *argv,
const char __user *const __user *envp);
long _sys_execve(const char __user *filename,
const char __user *const __user *argv,
const char __user *const __user *envp, struct pt_regs *regs);

/* kernel/signal.c */
long sys_sigaltstack(const stack_t __user *, stack_t __user *);
Expand All @@ -86,10 +88,13 @@ int _sys_cmpxchg_badaddr(unsigned long address, struct pt_regs *);
#endif

#ifdef CONFIG_COMPAT
long compat_sys_execve(char __user *path, compat_uptr_t __user *argv,
compat_uptr_t __user *envp);
long _compat_sys_execve(char __user *path, compat_uptr_t __user *argv,
compat_uptr_t __user *envp, struct pt_regs *regs);
long compat_sys_execve(const char __user *path,
const compat_uptr_t __user *argv,
const compat_uptr_t __user *envp);
long _compat_sys_execve(const char __user *path,
const compat_uptr_t __user *argv,
const compat_uptr_t __user *envp,
struct pt_regs *regs);
long compat_sys_sigaltstack(const struct compat_sigaltstack __user *uss_ptr,
struct compat_sigaltstack __user *uoss_ptr);
long _compat_sys_sigaltstack(const struct compat_sigaltstack __user *uss_ptr,
Expand Down
5 changes: 3 additions & 2 deletions arch/tile/kernel/process.c
Original file line number Diff line number Diff line change
Expand Up @@ -561,8 +561,9 @@ long _sys_execve(const char __user *path,
}

#ifdef CONFIG_COMPAT
long _compat_sys_execve(char __user *path, compat_uptr_t __user *argv,
compat_uptr_t __user *envp, struct pt_regs *regs)
long _compat_sys_execve(const char __user *path,
const compat_uptr_t __user *argv,
const compat_uptr_t __user *envp, struct pt_regs *regs)
{
long error;
char *filename;
Expand Down

0 comments on commit e6e6c46

Please sign in to comment.