bcachefs: Fix integer overflow in bch2_disk_reservation_get()
authorKent Overstreet <kent.overstreet@gmail.com>
Sun, 17 Jan 2021 18:19:16 +0000 (13:19 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:08:51 +0000 (17:08 -0400)
commitcd9f3dfe58709c7b0793a706d0dd0292a66237d5
tree76d513b1dec713a0ae6e5954dbcfbb1b215aa119
parent280249b9d9b9a62562ddeb5429a7d29d2f03ba1c
bcachefs: Fix integer overflow in bch2_disk_reservation_get()

The sectors argument shouldn't have been a u32 - it can be up to U32_MAX
(i.e. fallocate creating persistent reservations), and if replication is
enabled we'll overflow when we calculate the real number of sectors to
reserve. Oops.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/buckets.c
fs/bcachefs/buckets.h