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: <CAD+ocbzJ2_uvc5SV1YhnAOXB4t8m0OikLCXhYTBhF-vnH1hAjQ@mail.gmail.com>
Date:   Thu, 23 Dec 2021 12:11:58 -0800
From:   harshad shirwadkar <harshadshirwadkar@...il.com>
To:     Xin Yin <yinxin.x@...edance.com>
Cc:     "Theodore Y. Ts'o" <tytso@....edu>,
        Andreas Dilger <adilger.kernel@...ger.ca>,
        Ext4 Developers List <linux-ext4@...r.kernel.org>,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] ext4: fast commit may miss tracking unwritten range
 during ftruncate

Looks good to me.

Reviewed-by: Harshad Shirwadkar <harshadshirwadkar@...il.com>

On Wed, Dec 22, 2021 at 7:24 PM Xin Yin <yinxin.x@...edance.com> wrote:
>
> If use FALLOC_FL_KEEP_SIZE to alloc unwritten range at bottom, the
> inode->i_size will not include the unwritten range. When call
> ftruncate with fast commit enabled, it will miss to track the
> unwritten range.
>
> Change to trace the full range during ftruncate.
>
> Signed-off-by: Xin Yin <yinxin.x@...edance.com>
> ---
>  fs/ext4/inode.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
> index 82f555d26980..1d2ba63874ad 100644
> --- a/fs/ext4/inode.c
> +++ b/fs/ext4/inode.c
> @@ -5423,8 +5423,7 @@ int ext4_setattr(struct user_namespace *mnt_userns, struct dentry *dentry,
>                                 ext4_fc_track_range(handle, inode,
>                                         (attr->ia_size > 0 ? attr->ia_size - 1 : 0) >>
>                                         inode->i_sb->s_blocksize_bits,
> -                                       (oldsize > 0 ? oldsize - 1 : 0) >>
> -                                       inode->i_sb->s_blocksize_bits);
> +                                       EXT_MAX_BLOCKS - 1);
>                         else
>                                 ext4_fc_track_range(
>                                         handle, inode,
> --
> 2.20.1
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ