Reported-by: syzbot+e74fea078710bbca6f4b@syzkaller.appspotmail.com
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
                        "bucket %u:%zu gen %u (mem gen %u) data type %s: stale dirty ptr (gen %u)\n"
                        "while marking %s",
                        ptr->dev, bucket_nr, b_gen,
-                       *bucket_gen(ca, bucket_nr),
+                       bucket_gen_get(ca, bucket_nr),
                        bch2_data_type_str(bucket_data_type ?: ptr_data_type),
                        ptr->gen,
                        (printbuf_reset(&buf),
 
        return gens->b + b;
 }
 
+static inline u8 bucket_gen_get(struct bch_dev *ca, size_t b)
+{
+       rcu_read_lock();
+       u8 gen = *bucket_gen(ca, b);
+       rcu_read_unlock();
+       return gen;
+}
+
 static inline size_t PTR_BUCKET_NR(const struct bch_dev *ca,
                                   const struct bch_extent_ptr *ptr)
 {