From: Kent Overstreet Date: Fri, 16 Aug 2024 16:41:46 +0000 (-0400) Subject: bcachefs: avoid overflowing LRU_TIME_BITS for cached data lru X-Git-Tag: microblaze-v6.13~9^2~176 X-Git-Url: http://git.monstr.eu/?a=commitdiff_plain;h=9482f3b05332a624508a91c2ab2cf3527328a6a4;p=linux-2.6-microblaze.git bcachefs: avoid overflowing LRU_TIME_BITS for cached data lru Reported-by: syzbot+510b0b28f8e6de64d307@syzkaller.appspotmail.com Signed-off-by: Kent Overstreet --- diff --git a/fs/bcachefs/alloc_background.h b/fs/bcachefs/alloc_background.h index 260e7fa83d05..fd790b03fbe1 100644 --- a/fs/bcachefs/alloc_background.h +++ b/fs/bcachefs/alloc_background.h @@ -150,7 +150,9 @@ static inline void alloc_data_type_set(struct bch_alloc_v4 *a, enum bch_data_typ static inline u64 alloc_lru_idx_read(struct bch_alloc_v4 a) { - return a.data_type == BCH_DATA_cached ? a.io_time[READ] : 0; + return a.data_type == BCH_DATA_cached + ? a.io_time[READ] & LRU_TIME_MAX + : 0; } #define DATA_TYPES_MOVABLE \