OSDN Git Service

lib/sbitmap: Fix invalid loop in __sbitmap_queue_get_batch()
authorwuchi <wuchi.zero@gmail.com>
Sun, 5 Jun 2022 14:58:35 +0000 (22:58 +0800)
committerJens Axboe <axboe@kernel.dk>
Sat, 25 Jun 2022 16:58:55 +0000 (10:58 -0600)
commitfbb564a557809466c171b95f8d593a0972450ff2
tree9d4db32a35428644a80a8b96c48b898063f7a98e
parente531485a0a0e0a06644de1b639502471415d5e12
lib/sbitmap: Fix invalid loop in __sbitmap_queue_get_batch()

1. Getting next index before continue branch.
2. Checking free bits when setting the target bits. Otherwise,
it may reuse the busying bits.

Signed-off-by: wuchi <wuchi.zero@gmail.com>
Reviewed-by: Martin Wilck <mwilck@suse.com>
Link: https://lore.kernel.org/r/20220605145835.26916-1-wuchi.zero@gmail.com
Fixes: 9672b0d43782 ("sbitmap: add __sbitmap_queue_get_batch()")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
lib/sbitmap.c