From: Dan Williams <dan.j.williams@intel.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Dave Hansen <dave.hansen@intel.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Thomas Gleixner <tglx@linutronix.de>, X86 ML <x86@kernel.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Andy Lutomirsky <luto@kernel.org>,
Borislav Petkov <bpetkov@suse.de>,
Greg KH <gregkh@linuxfoundation.org>,
Kees Cook <keescook@google.com>, Hugh Dickins <hughd@google.com>,
Brian Gerst <brgerst@gmail.com>,
Josh Poimboeuf <jpoimboe@redhat.com>,
Denys Vlasenko <dvlasenk@redhat.com>,
Boris Ostrovsky <boris.ostrovsky@oracle.com>,
Juergen Gross <jgross@suse.com>,
David Laight <David.Laight@aculab.com>,
Eduardo Valentin <eduval@amazon.com>,
"Liguori, Anthony" <aliguori@amazon.com>,
Will Deacon <will.deacon@arm.com>, Linux MM <linux-mm@kvack.org>,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Subject: Re: [PATCH v2 01/17] mm/gup: Fixup p*_access_permitted()
Date: Mon, 18 Dec 2017 10:42:21 -0800 [thread overview]
Message-ID: <CAPcyv4jFwH7KEJM1b7SvN4r011C9wHDa1C11r72ORzNeo0b8Hg@mail.gmail.com> (raw)
In-Reply-To: <20171218115409.gtsw7ygh53sq2hcd@hirez.programming.kicks-ass.net>
On Mon, Dec 18, 2017 at 3:54 AM, Peter Zijlstra <peterz@infradead.org> wrote:
> On Fri, Dec 15, 2017 at 08:38:02AM -0800, Dan Williams wrote:
>
>> The motivation was that I noticed that get_user_pages_fast() was doing
>> a full pud_access_permitted() check, but the get_user_pages() slow
>> path was only doing a pud_write() check. That was inconsistent so I
>> went to go resolve that across all the pte types and ended up making a
>> mess of things,
>
>> I'm fine if the answer is that we should have went the
>> other way to only do write checks. However, when I was investigating
>> which way to go the aspect that persuaded me to start sprinkling
>> p??_access_permitted checks around was that the application behavior
>> changed between mmap access and direct-i/o access to the same buffer.
>
>> I assumed that different access behavior between those would be an
>> inconsistent surprise to userspace. Although, infinitely looping in
>> handle_mm_fault is an even worse surprise, apologies for that.
>
> Well, we all make a mess of things at time. I'm certainly guilty of
> that, so no worries there. But it really helps if your Changelogs at
> least describe what you're trying to do and why.
Yes, agreed. Unfortunately in this case all those details were
included in the lead in patch, and should have been duplicated to the
follow on cleanups. See:
1501899a898d mm: fix device-dax pud write-faults triggered by get_user_pages()
"For now this just implements a simple check for the _PAGE_RW bit similar
to pmd_write. However, this implies that the gup-slow-path check is
missing the extra checks that the gup-fast-path performs with
pud_access_permitted. Later patches will align all checks to use the
'access_permitted' helper if the architecture provides it."
...and that paragraph would have saved you some wondering.
> So I think I covered what you set out to do. In any case, Linus took the
> whole lot back out, so we can look at this afresh.
Thanks Peter, appreciate it.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2017-12-18 18:42 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-14 11:27 [PATCH v2 00/17] x86/ldt: Use a VMA based read only mapping Peter Zijlstra
2017-12-14 11:27 ` [PATCH v2 01/17] mm/gup: Fixup p*_access_permitted() Peter Zijlstra
2017-12-14 12:41 ` Peter Zijlstra
2017-12-14 14:37 ` Peter Zijlstra
2017-12-14 20:44 ` Dave Hansen
2017-12-14 20:54 ` Peter Zijlstra
2017-12-14 21:18 ` Peter Zijlstra
2017-12-15 5:04 ` Dave Hansen
2017-12-15 6:09 ` Linus Torvalds
2017-12-15 7:51 ` Peter Zijlstra
2017-12-16 0:20 ` Linus Torvalds
2017-12-16 0:29 ` Dan Williams
2017-12-16 1:10 ` Linus Torvalds
2017-12-16 1:25 ` Dave Hansen
2017-12-16 2:28 ` Linus Torvalds
2017-12-16 2:48 ` Al Viro
2017-12-16 2:52 ` Linus Torvalds
2017-12-16 3:00 ` Linus Torvalds
2017-12-16 3:21 ` Dave Hansen
2017-12-16 1:29 ` Dan Williams
2017-12-16 0:31 ` Al Viro
2017-12-16 1:05 ` Linus Torvalds
2017-12-15 8:00 ` Peter Zijlstra
2017-12-15 10:25 ` Peter Zijlstra
2017-12-15 11:38 ` Peter Zijlstra
2017-12-15 16:38 ` Dan Williams
2017-12-18 11:54 ` Peter Zijlstra
2017-12-18 18:42 ` Dan Williams [this message]
2017-12-15 14:04 ` Peter Zijlstra
2017-12-14 11:27 ` [PATCH v2 02/17] mm: Exempt special mappings from mlock(), mprotect() and madvise() Peter Zijlstra
2017-12-14 16:19 ` Andy Lutomirski
2017-12-14 17:36 ` Peter Zijlstra
2018-01-02 16:44 ` Dmitry Safonov
2017-12-14 11:27 ` [PATCH v2 03/17] arch: Allow arch_dup_mmap() to fail Peter Zijlstra
2017-12-14 16:22 ` Andy Lutomirski
2017-12-14 11:27 ` [PATCH v2 04/17] x86/ldt: Rework locking Peter Zijlstra
2017-12-14 11:27 ` [PATCH v2 05/17] x86/ldt: Prevent ldt inheritance on exec Peter Zijlstra
2017-12-14 16:32 ` Andy Lutomirski
2017-12-14 11:27 ` [PATCH v2 06/17] x86/ldt: Do not install LDT for kernel threads Peter Zijlstra
2017-12-14 19:43 ` Peter Zijlstra
2017-12-14 21:27 ` Andy Lutomirski
2017-12-14 11:27 ` [PATCH v2 07/17] mm/softdirty: Move VM_SOFTDIRTY into high bits Peter Zijlstra
2017-12-14 11:27 ` [PATCH v2 08/17] mm/x86: Allow special mappings with user access cleared Peter Zijlstra
2017-12-14 11:27 ` [PATCH v2 09/17] mm: Provide vm_special_mapping::close Peter Zijlstra
2017-12-14 11:27 ` [PATCH v2 10/17] selftest/x86: Implement additional LDT selftests Peter Zijlstra
2017-12-14 11:27 ` [PATCH v2 11/17] selftests/x86/ldt_gdt: Prepare for access bit forced Peter Zijlstra
2017-12-14 16:20 ` Andy Lutomirski
2017-12-14 19:43 ` Linus Torvalds
2017-12-14 21:22 ` Andy Lutomirski
2017-12-14 21:44 ` Linus Torvalds
2017-12-14 21:48 ` Linus Torvalds
2017-12-14 22:02 ` Peter Zijlstra
2017-12-14 22:14 ` Linus Torvalds
2017-12-14 22:24 ` Peter Zijlstra
2017-12-14 22:52 ` Linus Torvalds
2017-12-14 22:11 ` Andy Lutomirski
2017-12-14 22:15 ` Linus Torvalds
2017-12-14 22:30 ` Andy Lutomirski
2017-12-14 22:23 ` Thomas Gleixner
2017-12-14 22:50 ` Linus Torvalds
2017-12-14 11:27 ` [PATCH v2 12/17] mm: Make populate_vma_page_range() available Peter Zijlstra
2017-12-14 11:27 ` [PATCH v2 13/17] x86/mm: Force LDT desc accessed bit Peter Zijlstra
2017-12-14 16:21 ` Andy Lutomirski
2017-12-14 11:27 ` [PATCH v2 14/17] x86/ldt: Reshuffle code Peter Zijlstra
2017-12-14 16:23 ` Andy Lutomirski
2017-12-14 16:31 ` Thomas Gleixner
2017-12-14 16:32 ` Thomas Gleixner
2017-12-14 16:34 ` Andy Lutomirski
2017-12-14 17:47 ` Peter Zijlstra
2017-12-14 11:27 ` [PATCH v2 15/17] x86/ldt: Prepare for VMA mapping Peter Zijlstra
2017-12-14 11:27 ` [PATCH v2 16/17] x86/ldt: Add VMA management code Peter Zijlstra
2017-12-14 11:27 ` [PATCH v2 17/17] x86/ldt: Make it read only VMA mapped Peter Zijlstra
2017-12-14 12:03 ` [PATCH v2 00/17] x86/ldt: Use a VMA based read only mapping Thomas Gleixner
2017-12-14 12:08 ` Peter Zijlstra
2017-12-14 16:35 ` Andy Lutomirski
2017-12-14 17:50 ` Peter Zijlstra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAPcyv4jFwH7KEJM1b7SvN4r011C9wHDa1C11r72ORzNeo0b8Hg@mail.gmail.com \
--to=dan.j.williams@intel.com \
--cc=David.Laight@aculab.com \
--cc=aliguori@amazon.com \
--cc=boris.ostrovsky@oracle.com \
--cc=bpetkov@suse.de \
--cc=brgerst@gmail.com \
--cc=dave.hansen@intel.com \
--cc=dvlasenk@redhat.com \
--cc=eduval@amazon.com \
--cc=gregkh@linuxfoundation.org \
--cc=hughd@google.com \
--cc=jgross@suse.com \
--cc=jpoimboe@redhat.com \
--cc=keescook@google.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=luto@kernel.org \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=will.deacon@arm.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox