]> www.infradead.org Git - users/jedix/linux-maple.git/commit
fs/file: fix the check in find_next_fd()
authorYuntao Wang <yuntao.wang@linux.dev>
Wed, 29 May 2024 16:06:56 +0000 (00:06 +0800)
committerChristian Brauner <brauner@kernel.org>
Thu, 30 May 2024 07:11:47 +0000 (09:11 +0200)
commited8c7fbdfe117abbef81f65428ba263118ef298a
treecd0a4971a4bba159285a7a1a3e0a612bc2750037
parenta82c13d29985a4d99dacd700b497f0c062fe3625
fs/file: fix the check in find_next_fd()

The maximum possible return value of find_next_zero_bit(fdt->full_fds_bits,
maxbit, bitbit) is maxbit. This return value, multiplied by BITS_PER_LONG,
gives the value of bitbit, which can never be greater than maxfd, it can
only be equal to maxfd at most, so the following check 'if (bitbit > maxfd)'
will never be true.

Moreover, when bitbit equals maxfd, it indicates that there are no unused
fds, and the function can directly return.

Fix this check.

Signed-off-by: Yuntao Wang <yuntao.wang@linux.dev>
Link: https://lore.kernel.org/r/20240529160656.209352-1-yuntao.wang@linux.dev
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/file.c