On Sun, Nov 8, 2020 at 10:30 AM John Hubbard <jhubb...@nvidia.com> wrote: > > 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. >
Agreed. I will drop this patch.