Messages in this thread | | | Date | Wed, 9 Dec 2020 04:07:31 +0000 | From | Al Viro <> | Subject | Re: [PATCH v2 15/24] proc/fd: In proc_readfd_common use task_lookup_next_fd_rcu |
| |
On Tue, Dec 08, 2020 at 04:38:09PM -0600, Eric W. Biederman wrote:
> Is there any reason we don't simply rcu free the files_struct? > That would remove the need for the task_lock entirely.
Umm... Potentially interesting part here is the interaction with close_files(); currently that can't overlap with any of those 3rd-party accesses to descriptor table, but with your changes here it's very much possible.
OTOH, it's not like close_files() did much beyond the effects of already possible close(2) done by one of the threads sharing that sucker. It's _probably_ safe (at least for proc_readfd_common()), but I'll need to look at the other places doing that kind of access. Especially the BPF foulness...
Oh, and in any case, the trick with repurposing ->rcu of embedded fdtable deserves a comment. It's not hard to explain, so...
| |