aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/kernel/process_64.c
diff options
context:
space:
mode:
authorJeff Layton <jlayton@redhat.com>2012-10-10 15:25:28 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-10-12 20:14:55 -0400
commit91a27b2a756784714e924e5e854b919273082d26 (patch)
tree3913246b7d6e62703ec915f481e3a7159393f0f0 /arch/sparc/kernel/process_64.c
parent8e377d15078a501c4da98471f56396343c407d92 (diff)
vfs: define struct filename and have getname() return it
getname() is intended to copy pathname strings from userspace into a kernel buffer. The result is just a string in kernel space. It would however be quite helpful to be able to attach some ancillary info to the string. For instance, we could attach some audit-related info to reduce the amount of audit-related processing needed. When auditing is enabled, we could also call getname() on the string more than once and not need to recopy it from userspace. This patchset converts the getname()/putname() interfaces to return a struct instead of a string. For now, the struct just tracks the string in kernel space and the original userland pointer for it. Later, we'll add other information to the struct as it becomes convenient. Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/sparc/kernel/process_64.c')
-rw-r--r--arch/sparc/kernel/process_64.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/sparc/kernel/process_64.c b/arch/sparc/kernel/process_64.c
index aff0c72fac09..fcaa59421126 100644
--- a/arch/sparc/kernel/process_64.c
+++ b/arch/sparc/kernel/process_64.c
@@ -722,7 +722,7 @@ EXPORT_SYMBOL(dump_fpu);
722asmlinkage int sparc_execve(struct pt_regs *regs) 722asmlinkage int sparc_execve(struct pt_regs *regs)
723{ 723{
724 int error, base = 0; 724 int error, base = 0;
725 char *filename; 725 struct filename *filename;
726 726
727 /* User register window flush is done by entry.S */ 727 /* User register window flush is done by entry.S */
728 728
@@ -734,7 +734,7 @@ asmlinkage int sparc_execve(struct pt_regs *regs)
734 error = PTR_ERR(filename); 734 error = PTR_ERR(filename);
735 if (IS_ERR(filename)) 735 if (IS_ERR(filename))
736 goto out; 736 goto out;
737 error = do_execve(filename, 737 error = do_execve(filename->name,
738 (const char __user *const __user *) 738 (const char __user *const __user *)
739 regs->u_regs[base + UREG_I1], 739 regs->u_regs[base + UREG_I1],
740 (const char __user *const __user *) 740 (const char __user *const __user *)