zero-init move_bucket struct b fields in bch2_copygc_get_buckets() to mitigate later uninit-value-use KMSAN reported bug.
Reported-by: syzbot+8689d10f1894eedf7...@syzkaller.appspotmail.com Closes: https://syzkaller.appspot.com/bug?extid=8689d10f1894eedf774d Tested-by: syzbot+8689d10f1894eedf7...@syzkaller.appspotmail.com Signed-off-by: Gianfranco Trad <gianf.t...@gmail.com> --- fs/bcachefs/movinggc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/bcachefs/movinggc.c b/fs/bcachefs/movinggc.c index d658be90f737..cdc456b03bec 100644 --- a/fs/bcachefs/movinggc.c +++ b/fs/bcachefs/movinggc.c @@ -171,7 +171,8 @@ static int bch2_copygc_get_buckets(struct moving_context *ctxt, lru_pos(BCH_LRU_FRAGMENTATION_START, 0, 0), lru_pos(BCH_LRU_FRAGMENTATION_START, U64_MAX, LRU_TIME_MAX), 0, k, ({ - struct move_bucket b = { .k.bucket = u64_to_bucket(k.k->p.offset) }; + struct move_bucket b = { 0 }; + b.k.bucket = u64_to_bucket(k.k->p.offset); int ret2 = 0; saw++; -- 2.43.0