From: anshuman.khandual@arm.com (Anshuman Khandual)
To: linux-snps-arc@lists.infradead.org
Subject: [PATCH] mm: Generalize and rename notify_page_fault() as kprobe_page_fault()
Date: Fri, 14 Jun 2019 10:45:44 +0530 [thread overview]
Message-ID: <c3316aca-2005-e092-80f6-ebd7652bd04f@arm.com> (raw)
In-Reply-To: <20190613130408.3091869d8e50d0524157523f@linux-foundation.org>
On 06/14/2019 01:34 AM, Andrew Morton wrote:
> On Thu, 13 Jun 2019 15:37:24 +0530 Anshuman Khandual <anshuman.khandual@arm.com> wrote:
>
>> Architectures which support kprobes have very similar boilerplate around
>> calling kprobe_fault_handler(). Use a helper function in kprobes.h to unify
>> them, based on the x86 code.
>>
>> This changes the behaviour for other architectures when preemption is
>> enabled. Previously, they would have disabled preemption while calling the
>> kprobe handler. However, preemption would be disabled if this fault was
>> due to a kprobe, so we know the fault was not due to a kprobe handler and
>> can simply return failure.
>>
>> This behaviour was introduced in the commit a980c0ef9f6d ("x86/kprobes:
>> Refactor kprobes_fault() like kprobe_exceptions_notify()")
>>
>> ...
>>
>> --- a/arch/arm/mm/fault.c
>> +++ b/arch/arm/mm/fault.c
>> @@ -30,28 +30,6 @@
>>
>> #ifdef CONFIG_MMU
>>
>> -#ifdef CONFIG_KPROBES
>> -static inline int notify_page_fault(struct pt_regs *regs, unsigned int fsr)
>
> Some architectures make this `static inline'. Others make it
> `nokprobes_inline', others make it `static inline __kprobes'. The
> latter seems weird - why try to put an inline function into
> .kprobes.text?
>
> So.. what's the best thing to do here? You chose `static
> nokprobe_inline' - is that the best approach, if so why? Does
> kprobe_page_fault() actually need to be inlined?
Matthew had suggested that (nokprobe_-inline) based on current x86
implementation. But every architecture already had an inlined definition
which I did not want to deviate from.
>
> Also, some architectures had notify_page_fault returning int, others
> bool. You chose bool and that seems appropriate and all callers are OK
> with that.
I would believe so. No one has complained yet :)
next prev parent reply other threads:[~2019-06-14 5:15 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-13 10:07 [PATCH] mm: Generalize and rename notify_page_fault() as kprobe_page_fault() Anshuman Khandual
2019-06-13 17:57 ` Vineet Gupta
2019-06-18 15:56 ` Vineet Gupta
2019-06-20 7:19 ` Masami Hiramatsu
2019-06-13 20:04 ` Andrew Morton
2019-06-14 5:15 ` Anshuman Khandual [this message]
2019-06-29 14:50 ` Guenter Roeck
2019-06-30 4:41 ` Anshuman Khandual
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=c3316aca-2005-e092-80f6-ebd7652bd04f@arm.com \
--to=anshuman.khandual@arm.com \
--cc=linux-snps-arc@lists.infradead.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