Re: [PATCH 1/2] fs, close_range: add flag CLOSE_RANGE_CLOEXEC
From: Al Viro
Date: Tue Oct 13 2020 - 17:09:30 EST
On Tue, Oct 13, 2020 at 04:06:08PM +0200, Giuseppe Scrivano wrote:
> + spin_lock(&cur_fds->file_lock);
> + fdt = files_fdtable(cur_fds);
> + cur_max = fdt->max_fds - 1;
> + max_fd = min(max_fd, cur_max);
> + while (fd <= max_fd)
> + __set_close_on_exec(fd++, fdt);
> + spin_unlock(&cur_fds->file_lock);
First of all, this is an atrocious way to set all bits
in a range. What's more, you don't want to set it for *all*
bits - only for the ones present in open bitmap. It's probably
harmless at the moment, but let's not create interesting surprises
for the future.