Re: [PATCH 1/2] fs, close_range: add flag CLOSE_RANGE_CLOEXEC

From: Christian Brauner
Date: Tue Oct 13 2020 - 17:32:35 EST


On Tue, Oct 13, 2020 at 10:09:25PM +0100, Al Viro wrote:
> 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*

Hm, good point.

Would it make sense to just use the bitmap_set() proposal since the 3 to
~0 case is most common or to actually iterate based on the open fds?


Christian