HomeFreeBSD

ffs: Avoid out-of-bounds accesses in the fs_active bitmap

Description

ffs: Avoid out-of-bounds accesses in the fs_active bitmap

We use a bitmap to track which cylinder groups have changed between
snapshot creation and filesystem suspension. The "legs" of the bitmap
are four bytes wide (see ACTIVESET()) so we must round up the allocation
size to a multiple of four bytes.

I believe this bug is harmless since UMA/kmem_* will both pad the
allocation and zero the full allocation. Note that malloc() does inline
zeroing when the allocation size is known at compile-time.

Reported by: pho (using KASAN)
Reviewed by: kib, mckusick
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D27731

Details

Provenance
markjAuthored on Dec 23 2020, 4:13 PM
Parents
rG0120603891ec: AIO: remove the kaiocb->bio linkage
Branches
Unknown
Tags
Unknown