lkml.org 
[lkml]   [2019]   [Jun]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2/5] vfs: create a generic checking function for FS_IOC_FSSETXATTR
On Tue, Jun 25, 2019 at 07:32:18PM -0700, Darrick J. Wong wrote:
> --- a/fs/btrfs/ioctl.c
> +++ b/fs/btrfs/ioctl.c
> @@ -373,10 +373,9 @@ static int check_xflags(unsigned int flags)
> static int btrfs_ioctl_fsgetxattr(struct file *file, void __user *arg)
> {
> struct btrfs_inode *binode = BTRFS_I(file_inode(file));
> - struct fsxattr fa;
> -
> - memset(&fa, 0, sizeof(fa));
> - fa.fsx_xflags = btrfs_inode_flags_to_xflags(binode->flags);
> + struct fsxattr fa = {
> + .fsx_xflags = btrfs_inode_flags_to_xflags(binode->flags),
> + };

Umm... Sure, there's no padding, but still - you are going to copy that thing
to userland... How about

static inline void simple_fill_fsxattr(struct fsxattr *fa, unsigned xflags)
{
memset(fa, 0, sizeof(*fa));
fa->fsx_xflags = xflags;
}

and let the compiler optimize the crap out?

\
 
 \ /
  Last update: 2019-06-26 06:13    [W:0.747 / U:0.000 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site