HomeFreeBSD

Address problems in blist_alloc introduced in r349777. The swap block…

Description

Address problems in blist_alloc introduced in r349777. The swap block allocator could become corrupted
if a retry to allocate swap space, after a larger allocation attempt failed, allocated a smaller set of free blocks
that ended on a 32- or 64-block boundary.

Add tests to detect this kind of failure-to-extend-at-boundary and prevent the associated accounting screwup.

Reported by: pho
Tested by: pho
Reviewed by: alc
Approved by: markj (mentor)
Discussed with: kib
Differential Revision: https://reviews.freebsd.org/D20893

Details

Provenance
dougmAuthored on
Reviewer
alc
Differential Revision
D20893: Fix a next_leaf bug
Parents
rS349922: MFC r349752
Branches
Unknown
Tags
Unknown