Re: [PATCH v2 1/3] fs: add ksys_lsetxattr() wrapper

From: Jann Horn
Date: Fri May 10 2019 - 17:30:04 EST

On Thu, May 09, 2019 at 01:24:18PM +0200, Roberto Sassu wrote:
> Similarly to commit 03450e271a16 ("fs: add ksys_fchmod() and do_fchmodat()
> helpers and ksys_chmod() wrapper; remove in-kernel calls to syscall"), this
> patch introduces the ksys_lsetxattr() helper to avoid in-kernel calls to
> the sys_lsetxattr() syscall.
> Signed-off-by: Roberto Sassu <roberto.sassu@xxxxxxxxxx>
> +int ksys_lsetxattr(const char __user *pathname,
> + const char __user *name, const void __user *value,
> + size_t size, int flags)
> +{
> + return path_setxattr(pathname, name, value, size, flags, 0);
> +}

Instead of exposing ksys_lsetxattr(), wouldn't it be cleaner to use
kern_path() and vfs_setxattr(), or something like that? Otherwise you're
adding more code that has to cast between kernel and user pointers.