Messages in this thread | | | Subject | Re: [PATCH 1/2] tomoyo: Convert get_user_pages*() to pin_user_pages*() | From | John Hubbard <> | Date | Sat, 7 Nov 2020 21:00:26 -0800 |
| |
On 11/7/20 8:12 PM, Tetsuo Handa wrote: > On 2020/11/08 11:17, John Hubbard wrote: >>> Excuse me, but Documentation/core-api/pin_user_pages.rst says >>> "CASE 5: Pinning in order to _write_ to the data within the page" >>> while tomoyo_dump_page() is for "_read_ the data within the page". >>> Do we want to convert to pin_user_pages_remote() or lock_page() ? >>> >> >> Sorry, I missed the direction here, was too focused on the Case 5 >> aspect. Yes. Case 5 (which, again, I think we're about to re-document) >> is only about *writing* to data within the page. >> >> So in this case, where it is just reading from the page, I think it's >> already from a gup vs pup point of view. >> >> btw, it's not clear to me whether the current code is susceptible to any >> sort of problem involving something writing to the page while it >> is being dumped (I am curious). But changing from gup to pup wouldn't >> fix that, if it were a problem. It a separate question from this patch. > > The "struct page" tomoyo_dump_page() accesses is argv/envp arguments passed > to execve() syscall. Therefore, these pages are not visible from threads > except current thread, and thus there is no possibility that these pages > are modified by other threads while current thread is reading. >
Perfect. So since I accidentally left out the word "correct" above (I meant to write, "it's already correct"), let me be extra clear: Souptick, we should just drop this patch.
thanks, -- John Hubbard NVIDIA
| |