From: Ingo Molnar <mingo@kernel.org>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: tip-bot for Dave Hansen <tipbot@zytor.com>,
linux-tip-commits@vger.kernel.org, dave.hansen@linux.intel.com,
tglx@linutronix.de, linux-kernel@vger.kernel.org, hpa@zytor.com,
jannh@google.com, sean.j.christopherson@intel.com,
peterz@infradead.org, luto@kernel.org
Subject: Re: [tip:x86/mm] x86/mm: Break out user address space handling
Date: Fri, 19 Oct 2018 07:58:44 +0200 [thread overview]
Message-ID: <20181019055844.GA50013@gmail.com> (raw)
In-Reply-To: <87k1mjpxwi.fsf@xmission.com>
* Eric W. Biederman <ebiederm@xmission.com> wrote:
> tip-bot for Dave Hansen <tipbot@zytor.com> writes:
>
> > Commit-ID: aa37c51b9421d66f7931c5fdcb9ce80c450974be
> > Gitweb: https://git.kernel.org/tip/aa37c51b9421d66f7931c5fdcb9ce80c450974be
> > Author: Dave Hansen <dave.hansen@linux.intel.com>
> > AuthorDate: Fri, 28 Sep 2018 09:02:23 -0700
> > Committer: Peter Zijlstra <peterz@infradead.org>
> > CommitDate: Tue, 9 Oct 2018 16:51:15 +0200
> >
> > x86/mm: Break out user address space handling
> >
> > The last patch broke out kernel address space handing into its own
> > helper. Now, do the same for user address space handling.
> >
> > Cc: x86@kernel.org
> > Cc: Jann Horn <jannh@google.com>
> > Cc: Sean Christopherson <sean.j.christopherson@intel.com>
> > Cc: Thomas Gleixner <tglx@linutronix.de>
> > Cc: Andy Lutomirski <luto@kernel.org>
> > Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
> > Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
> > Link: http://lkml.kernel.org/r/20180928160223.9C4F6440@viggo.jf.intel.com
> > ---
> > arch/x86/mm/fault.c | 47 ++++++++++++++++++++++++++++-------------------
> > 1 file changed, 28 insertions(+), 19 deletions(-)
> >
> > diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
> > index c7e32f453852..0d1f5d39fc63 100644
> > --- a/arch/x86/mm/fault.c
> > +++ b/arch/x86/mm/fault.c
> > @@ -966,6 +966,7 @@ bad_area_access_error(struct pt_regs *regs, unsigned long error_code,
> > __bad_area(regs, error_code, address, vma, SEGV_ACCERR);
> > }
> >
> > +/* Handle faults in the kernel portion of the address space */
> ^^^^^^
> I believe you mean the __user__ portion of the address space.
> Given that the call chain is:
>
> do_user_addr_fault
> handle_mm_fault
> do_sigbus
It's both:
/* Handle faults in the kernel portion of the address space */
static void
do_sigbus(struct pt_regs *regs, unsigned long error_code, unsigned long address,
u32 *pkey, unsigned int fault)
{
struct task_struct *tsk = current;
int code = BUS_ADRERR;
/* Kernel mode? Handle exceptions or die: */
if (!(error_code & X86_PF_USER)) {
no_context(regs, error_code, address, SIGBUS, BUS_ADRERR);
return;
}
/* User-space => ok to do another page fault: */
if (is_prefetch(regs, error_code, address))
return;
tsk->thread.cr2 = address;
tsk->thread.error_code = error_code;
tsk->thread.trap_nr = X86_TRAP_PF;
Note the X86_PF_USER check: that's what determines whether the fault was
for user or system mappings.
I agree that the comment is misleading and should be clarified.
Thanks,
Ingo
next prev parent reply other threads:[~2018-10-19 5:58 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-28 16:02 [PATCH 0/8] [v2] x86/mm: page fault handling cleanups Dave Hansen
2018-09-28 16:02 ` [PATCH 1/8] x86/mm: clarify hardware vs. software "error_code" Dave Hansen
2018-10-09 15:02 ` [tip:x86/mm] x86/mm: Clarify " tip-bot for Dave Hansen
2018-09-28 16:02 ` [PATCH 2/8] x86/mm: break out kernel address space handling Dave Hansen
2018-10-09 15:02 ` [tip:x86/mm] x86/mm: Break " tip-bot for Dave Hansen
2018-09-28 16:02 ` [PATCH 3/8] x86/mm: break out user " Dave Hansen
2018-10-09 15:03 ` [tip:x86/mm] x86/mm: Break " tip-bot for Dave Hansen
2018-10-15 5:43 ` Eric W. Biederman
2018-10-19 5:58 ` Ingo Molnar [this message]
2018-09-28 16:02 ` [PATCH 4/8] x86/mm: add clarifying comments for user addr space Dave Hansen
2018-10-09 15:03 ` [tip:x86/mm] x86/mm: Add " tip-bot for Dave Hansen
2018-09-28 16:02 ` [PATCH 5/8] x86/mm: fix exception table comments Dave Hansen
2018-10-09 15:04 ` [tip:x86/mm] x86/mm: Fix " tip-bot for Dave Hansen
2018-09-28 16:02 ` [PATCH 6/8] x86/mm: add vsyscall address helper Dave Hansen
2018-10-09 15:04 ` [tip:x86/mm] x86/mm: Add " tip-bot for Dave Hansen
2018-09-28 16:02 ` [PATCH 7/8] x86/mm/vsyscall: consider vsyscall page part of user address space Dave Hansen
2018-10-09 15:05 ` [tip:x86/mm] x86/mm/vsyscall: Consider " tip-bot for Dave Hansen
2018-09-28 16:02 ` [PATCH 8/8] x86/mm: remove spurious fault pkey check Dave Hansen
2018-10-09 15:05 ` [tip:x86/mm] x86/mm: Remove " tip-bot for Dave Hansen
2018-10-02 9:54 ` [PATCH 0/8] [v2] x86/mm: page fault handling cleanups 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=20181019055844.GA50013@gmail.com \
--to=mingo@kernel.org \
--cc=dave.hansen@linux.intel.com \
--cc=ebiederm@xmission.com \
--cc=hpa@zytor.com \
--cc=jannh@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=luto@kernel.org \
--cc=peterz@infradead.org \
--cc=sean.j.christopherson@intel.com \
--cc=tglx@linutronix.de \
--cc=tipbot@zytor.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.