summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--io_uring/filetable.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/io_uring/filetable.c b/io_uring/filetable.c
index f9e59c650e89..6a4d0bece0c7 100644
--- a/io_uring/filetable.c
+++ b/io_uring/filetable.c
@@ -22,6 +22,10 @@ static int io_file_bitmap_get(struct io_ring_ctx *ctx)
if (!table->bitmap)
return -ENFILE;
+ if (table->alloc_hint < ctx->file_alloc_start ||
+ table->alloc_hint >= ctx->file_alloc_end)
+ table->alloc_hint = ctx->file_alloc_start;
+
do {
ret = find_next_zero_bit(table->bitmap, nr, table->alloc_hint);
if (ret != nr)