lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230621163642.j6blmqfu7oqelzri@quack3>
Date:   Wed, 21 Jun 2023 18:36:42 +0200
From:   Jan Kara <jack@...e.cz>
To:     Jeff Layton <jlayton@...nel.org>
Cc:     Christian Brauner <brauner@...nel.org>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        Al Viro <viro@...iv.linux.org.uk>, Jan Kara <jack@...e.cz>,
        linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 07/79] usb: switch to new ctime accessors

On Wed 21-06-23 10:45:20, Jeff Layton wrote:
> In later patches, we're going to change how the ctime.tv_nsec field is
> utilized. Switch to using accessor functions instead of raw accesses of
> inode->i_ctime.
> 
> Signed-off-by: Jeff Layton <jlayton@...nel.org>

Looks good to me. Feel free to add:

Reviewed-by: Jan Kara <jack@...e.cz>

								Honza

> ---
>  drivers/usb/core/devio.c           | 16 ++++++++--------
>  drivers/usb/gadget/function/f_fs.c |  6 +-----
>  drivers/usb/gadget/legacy/inode.c  |  3 +--
>  3 files changed, 10 insertions(+), 15 deletions(-)
> 
> diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c
> index 1a16a8bdea60..02f718e0deaf 100644
> --- a/drivers/usb/core/devio.c
> +++ b/drivers/usb/core/devio.c
> @@ -2642,21 +2642,21 @@ static long usbdev_do_ioctl(struct file *file, unsigned int cmd,
>  		snoop(&dev->dev, "%s: CONTROL\n", __func__);
>  		ret = proc_control(ps, p);
>  		if (ret >= 0)
> -			inode->i_mtime = inode->i_ctime = current_time(inode);
> +			inode->i_mtime = inode_ctime_set_current(inode);
>  		break;
>  
>  	case USBDEVFS_BULK:
>  		snoop(&dev->dev, "%s: BULK\n", __func__);
>  		ret = proc_bulk(ps, p);
>  		if (ret >= 0)
> -			inode->i_mtime = inode->i_ctime = current_time(inode);
> +			inode->i_mtime = inode_ctime_set_current(inode);
>  		break;
>  
>  	case USBDEVFS_RESETEP:
>  		snoop(&dev->dev, "%s: RESETEP\n", __func__);
>  		ret = proc_resetep(ps, p);
>  		if (ret >= 0)
> -			inode->i_mtime = inode->i_ctime = current_time(inode);
> +			inode->i_mtime = inode_ctime_set_current(inode);
>  		break;
>  
>  	case USBDEVFS_RESET:
> @@ -2668,7 +2668,7 @@ static long usbdev_do_ioctl(struct file *file, unsigned int cmd,
>  		snoop(&dev->dev, "%s: CLEAR_HALT\n", __func__);
>  		ret = proc_clearhalt(ps, p);
>  		if (ret >= 0)
> -			inode->i_mtime = inode->i_ctime = current_time(inode);
> +			inode->i_mtime = inode_ctime_set_current(inode);
>  		break;
>  
>  	case USBDEVFS_GETDRIVER:
> @@ -2695,7 +2695,7 @@ static long usbdev_do_ioctl(struct file *file, unsigned int cmd,
>  		snoop(&dev->dev, "%s: SUBMITURB\n", __func__);
>  		ret = proc_submiturb(ps, p);
>  		if (ret >= 0)
> -			inode->i_mtime = inode->i_ctime = current_time(inode);
> +			inode->i_mtime = inode_ctime_set_current(inode);
>  		break;
>  
>  #ifdef CONFIG_COMPAT
> @@ -2703,14 +2703,14 @@ static long usbdev_do_ioctl(struct file *file, unsigned int cmd,
>  		snoop(&dev->dev, "%s: CONTROL32\n", __func__);
>  		ret = proc_control_compat(ps, p);
>  		if (ret >= 0)
> -			inode->i_mtime = inode->i_ctime = current_time(inode);
> +			inode->i_mtime = inode_ctime_set_current(inode);
>  		break;
>  
>  	case USBDEVFS_BULK32:
>  		snoop(&dev->dev, "%s: BULK32\n", __func__);
>  		ret = proc_bulk_compat(ps, p);
>  		if (ret >= 0)
> -			inode->i_mtime = inode->i_ctime = current_time(inode);
> +			inode->i_mtime = inode_ctime_set_current(inode);
>  		break;
>  
>  	case USBDEVFS_DISCSIGNAL32:
> @@ -2722,7 +2722,7 @@ static long usbdev_do_ioctl(struct file *file, unsigned int cmd,
>  		snoop(&dev->dev, "%s: SUBMITURB32\n", __func__);
>  		ret = proc_submiturb_compat(ps, p);
>  		if (ret >= 0)
> -			inode->i_mtime = inode->i_ctime = current_time(inode);
> +			inode->i_mtime = inode_ctime_set_current(inode);
>  		break;
>  
>  	case USBDEVFS_IOCTL32:
> diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c
> index f41a385a5c42..756c78043a04 100644
> --- a/drivers/usb/gadget/function/f_fs.c
> +++ b/drivers/usb/gadget/function/f_fs.c
> @@ -1377,16 +1377,12 @@ ffs_sb_make_inode(struct super_block *sb, void *data,
>  	inode = new_inode(sb);
>  
>  	if (inode) {
> -		struct timespec64 ts = current_time(inode);
> -
>  		inode->i_ino	 = get_next_ino();
>  		inode->i_mode    = perms->mode;
>  		inode->i_uid     = perms->uid;
>  		inode->i_gid     = perms->gid;
> -		inode->i_atime   = ts;
> -		inode->i_mtime   = ts;
> -		inode->i_ctime   = ts;
>  		inode->i_private = data;
> +		inode->i_atime   = inode->i_mtime = inode_ctime_set_current(inode);
>  		if (fops)
>  			inode->i_fop = fops;
>  		if (iops)
> diff --git a/drivers/usb/gadget/legacy/inode.c b/drivers/usb/gadget/legacy/inode.c
> index 28249d0bf062..b83a68feb316 100644
> --- a/drivers/usb/gadget/legacy/inode.c
> +++ b/drivers/usb/gadget/legacy/inode.c
> @@ -1969,8 +1969,7 @@ gadgetfs_make_inode (struct super_block *sb,
>  		inode->i_mode = mode;
>  		inode->i_uid = make_kuid(&init_user_ns, default_uid);
>  		inode->i_gid = make_kgid(&init_user_ns, default_gid);
> -		inode->i_atime = inode->i_mtime = inode->i_ctime
> -				= current_time(inode);
> +		inode->i_atime = inode->i_mtime = inode_ctime_set_current(inode);
>  		inode->i_private = data;
>  		inode->i_fop = fops;
>  	}
> -- 
> 2.41.0
> 
-- 
Jan Kara <jack@...e.com>
SUSE Labs, CR

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ