Re: [PATCH v5 0/3] close_range()
From: Christian Brauner <hidden>
Date: 2020-06-02 23:34:02
Also in:
linux-fsdevel, lkml
On Tue, Jun 02, 2020 at 02:03:09PM -0700, Linus Torvalds wrote:
On Tue, Jun 2, 2020 at 1:42 PM Christian Brauner [off-list ref] wrote:quoted
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.
I spent some good time digging and I couldn't find this mentioned anywhere so maybe it just never got sent to the list? It sounds pretty useful, so yeah let me add a patch for this tomorrow. Christian