On Tue, Jun 2, 2020 at 1:42 PM Christian Brauner <christian.brauner@xxxxxxxxxx> wrote: > > This is a resend of the close_range() syscall, as discussed in [1]. There weren't any outstanding > discussions anymore and this was in mergeable shape. I simply hadn't gotten around to moving this > into my for-next the last few cycles and then forgot about it. Thanks to Kyle and the Python people, > and others for consistenly reminding me before every merge window and mea culpa for not moving on > this sooner. I plan on moving this into for-next after v5.8-rc1 has been released and targeting the > v5.9 merge window. Btw, I did have one reaction that I can't find in the original thread, which probably means that it got lost. If one of the designed uses for this is for dropping file descriptors just before execve(), it's possible that we'd want to have the option to say "unshare my fd array" as part of close_range(). Yes, yes, you can do unshare(CLONE_FILES); close_range(3,~0u); to do it as two operations (and you had that as the example typical use), but it would actually be better to be able to do close_range(3, ~0ul, CLOSE_RANGE_UNSHARE); instead. Because otherwise we just waste time copying the file descriptors first in the unshare, and then closing them after.. Double the work.. And maybe this _did_ get mentioned last time, and I just don't find it. I also don't see anything like that in the patches, although the flags argument is there. Linus