On Wed, Dec 16, 2020 at 06:07:48AM +0100, Jann Horn wrote: > On Wed, Dec 16, 2020 at 5:47 AM Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote: > > In preparation for adding a mmap_assert_locked() check in > > __get_user_pages(), teach the mmap_assert_*locked() helpers that it's fine > > to operate on an mm without locking in the middle of execve() as long as > > it hasn't been installed on a process yet. > > > > Existing code paths that do this are (reverse callgraph): > > > > get_user_pages_remote > > get_arg_page > > copy_strings > > copy_string_kernel > > remove_arg_zero > > tomoyo_dump_page > > tomoyo_print_bprm > > tomoyo_scan_bprm > > tomoyo_environ > > Sorry, can you please kill both this patch and the following one > ("mm/gup: assert that the mmap lock is held in __get_user_pages()") > from the mm tree? > > I'll send new stuff (a new iteration of > https://lore.kernel.org/linux-mm/20201016225713.1971256-1-jannh@xxxxxxxxxx/ > "[PATCH resend v3 0/2] Broad write-locking of nascent mm in execve", > followed by a resend of "mm/gup: assert that the mmap lock is held in > __get_user_pages()") when it's ready. I'm glad you are still working on it, I think finally being able to add lockdep to get_user_pages will be a help. I've fixed a number of wrongly locked get_user_pages users :( Thanks, Jason