Re: [PATCH v3] nilfs2: initialize "struct nilfs_binfo_dat"->bi_pad field

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Mar 26, 2023 at 7:27 PM Tetsuo Handa wrote:
>
> nilfs_btree_assign_p() and nilfs_direct_assign_p() are not initializing
> "struct nilfs_binfo_dat"->bi_pad field, causing uninit-value reports
> when being passed to CRC function.
>
> Reported-by: syzbot <syzbot+048585f3f4227bb2b49b@xxxxxxxxxxxxxxxxxxxxxxxxx>
> Link: https://syzkaller.appspot.com/bug?extid=048585f3f4227bb2b49b
> Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx>
> ---
> Changes in v3:
>   Also fix nilfs_btree_assign_p().
>
> Changes in v2:
>   Use memset() for initialization, suggested by Ryusuke Konishi.
>
>  fs/nilfs2/btree.c  | 1 +
>  fs/nilfs2/direct.c | 1 +
>  2 files changed, 2 insertions(+)
>
> diff --git a/fs/nilfs2/btree.c b/fs/nilfs2/btree.c
> index 2681a449edc1..13592e82eaf6 100644
> --- a/fs/nilfs2/btree.c
> +++ b/fs/nilfs2/btree.c
> @@ -2219,6 +2219,7 @@ static int nilfs_btree_assign_p(struct nilfs_bmap *btree,
>         /* on-disk format */
>         binfo->bi_dat.bi_blkoff = cpu_to_le64(key);
>         binfo->bi_dat.bi_level = level;
> +       memset(binfo->bi_dat.bi_pad, 0, sizeof(binfo->bi_dat.bi_pad));
>
>         return 0;
>  }
> diff --git a/fs/nilfs2/direct.c b/fs/nilfs2/direct.c
> index a35f2795b242..4c85914f2abc 100644
> --- a/fs/nilfs2/direct.c
> +++ b/fs/nilfs2/direct.c
> @@ -314,6 +314,7 @@ static int nilfs_direct_assign_p(struct nilfs_bmap *direct,
>
>         binfo->bi_dat.bi_blkoff = cpu_to_le64(key);
>         binfo->bi_dat.bi_level = 0;
> +       memset(binfo->bi_dat.bi_pad, 0, sizeof(binfo->bi_dat.bi_pad));
>
>         return 0;
>  }
> --
> 2.34.1

Thank you for your cooperation, Handa-san.

I'll send this upstream, adding a Reported-by tag of the preceding report.

Thanks,
Ryusuke Konishi




[Index of Archives]     [Linux Filesystem Development]     [Linux BTRFS]     [Linux CIFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux