Skip to content

Commit e6e6c46

Browse files
arch/tile: finish const-ifying sys_execve()
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 <[email protected]>
1 parent 49553c2 commit e6e6c46

File tree

3 files changed

+19
-12
lines changed

3 files changed

+19
-12
lines changed

arch/tile/include/asm/compat.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,8 +214,9 @@ extern int compat_setup_rt_frame(int sig, struct k_sigaction *ka,
214214
struct compat_sigaction;
215215
struct compat_siginfo;
216216
struct compat_sigaltstack;
217-
long compat_sys_execve(char __user *path, compat_uptr_t __user *argv,
218-
compat_uptr_t __user *envp);
217+
long compat_sys_execve(const char __user *path,
218+
const compat_uptr_t __user *argv,
219+
const compat_uptr_t __user *envp);
219220
long compat_sys_rt_sigaction(int sig, struct compat_sigaction __user *act,
220221
struct compat_sigaction __user *oact,
221222
size_t sigsetsize);

arch/tile/include/asm/syscalls.h

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,12 @@ long sys_fork(void);
6262
long _sys_fork(struct pt_regs *regs);
6363
long sys_vfork(void);
6464
long _sys_vfork(struct pt_regs *regs);
65-
long sys_execve(char __user *filename, char __user * __user *argv,
66-
char __user * __user *envp);
67-
long _sys_execve(char __user *filename, char __user * __user *argv,
68-
char __user * __user *envp, struct pt_regs *regs);
65+
long sys_execve(const char __user *filename,
66+
const char __user *const __user *argv,
67+
const char __user *const __user *envp);
68+
long _sys_execve(const char __user *filename,
69+
const char __user *const __user *argv,
70+
const char __user *const __user *envp, struct pt_regs *regs);
6971

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

8890
#ifdef CONFIG_COMPAT
89-
long compat_sys_execve(char __user *path, compat_uptr_t __user *argv,
90-
compat_uptr_t __user *envp);
91-
long _compat_sys_execve(char __user *path, compat_uptr_t __user *argv,
92-
compat_uptr_t __user *envp, struct pt_regs *regs);
91+
long compat_sys_execve(const char __user *path,
92+
const compat_uptr_t __user *argv,
93+
const compat_uptr_t __user *envp);
94+
long _compat_sys_execve(const char __user *path,
95+
const compat_uptr_t __user *argv,
96+
const compat_uptr_t __user *envp,
97+
struct pt_regs *regs);
9398
long compat_sys_sigaltstack(const struct compat_sigaltstack __user *uss_ptr,
9499
struct compat_sigaltstack __user *uoss_ptr);
95100
long _compat_sys_sigaltstack(const struct compat_sigaltstack __user *uss_ptr,

arch/tile/kernel/process.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -561,8 +561,9 @@ long _sys_execve(const char __user *path,
561561
}
562562

563563
#ifdef CONFIG_COMPAT
564-
long _compat_sys_execve(char __user *path, compat_uptr_t __user *argv,
565-
compat_uptr_t __user *envp, struct pt_regs *regs)
564+
long _compat_sys_execve(const char __user *path,
565+
const compat_uptr_t __user *argv,
566+
const compat_uptr_t __user *envp, struct pt_regs *regs)
566567
{
567568
long error;
568569
char *filename;

0 commit comments

Comments
 (0)