From: Pratyush Anand <panand@redhat.com> To: linux-arm-kernel@lists.infradead.org, linux@arm.linux.org.uk, catalin.marinas@arm.com, will.deacon@arm.com Cc: linux-kernel@vger.kernel.org, wcohen@redhat.com, oleg@redhat.com, dave.long@linaro.org, steve.capper@linaro.org, srikar@linux.vnet.ibm.com, vijaya.kumar@caviumnetworks.com, Pratyush Anand <panand@redhat.com> Subject: [PATCH 0/5] ARM64: Uprobe support added Date: Tue, 2 Aug 2016 11:00:04 +0530 [thread overview] Message-ID: <cover.1470114993.git.panand@redhat.com> (raw) ARM64 kprobe support is lying in torvalds/linux.git:master now. Therefore sending my uprobe patches which were dependent on decode-insn code of kprobe patches. Unit tests for following have been done so far and they have been found working. 1. Step-able instructions, like sub, ldr, add etc. 2. Simulation-able like ret, cbnz, cbz etc. 3. uretprobe 4. Reject-able instructions like sev, wfe etc. 5. trapped and abort xol path 6. probe at unaligned user address. 7. longjump test cases Currently it does not support aarch32 instruction probing. RFC patches were sent long back, and all review comments for RFCs have been incorporated. RFCs were here: https://lwn.net/Articles/648514/ Pratyush Anand (5): arm64: kprobe: protect/rename few definitions to be reused by uprobe arm64: kgdb_step_brk_fn: ignore other's exception arm64: Handle TRAP_HWBRKPT for user mode as well arm64: Handle TRAP_BRKPT for user mode as well arm64: Add uprobe support arch/arm64/Kconfig | 3 + arch/arm64/include/asm/debug-monitors.h | 3 + arch/arm64/include/asm/probes.h | 23 ++-- arch/arm64/include/asm/ptrace.h | 8 ++ arch/arm64/include/asm/thread_info.h | 5 +- arch/arm64/include/asm/uprobes.h | 37 ++++++ arch/arm64/kernel/debug-monitors.c | 40 +++--- arch/arm64/kernel/entry.S | 6 +- arch/arm64/kernel/kgdb.c | 3 + arch/arm64/kernel/probes/Makefile | 2 + arch/arm64/kernel/probes/decode-insn.c | 31 ++--- arch/arm64/kernel/probes/decode-insn.h | 8 +- arch/arm64/kernel/probes/kprobes.c | 36 ++--- arch/arm64/kernel/probes/uprobes.c | 227 ++++++++++++++++++++++++++++++++ arch/arm64/kernel/signal.c | 4 +- arch/arm64/mm/flush.c | 6 + 16 files changed, 378 insertions(+), 64 deletions(-) create mode 100644 arch/arm64/include/asm/uprobes.h create mode 100644 arch/arm64/kernel/probes/uprobes.c -- 2.5.5
WARNING: multiple messages have this Message-ID (diff)
From: panand@redhat.com (Pratyush Anand) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 0/5] ARM64: Uprobe support added Date: Tue, 2 Aug 2016 11:00:04 +0530 [thread overview] Message-ID: <cover.1470114993.git.panand@redhat.com> (raw) ARM64 kprobe support is lying in torvalds/linux.git:master now. Therefore sending my uprobe patches which were dependent on decode-insn code of kprobe patches. Unit tests for following have been done so far and they have been found working. 1. Step-able instructions, like sub, ldr, add etc. 2. Simulation-able like ret, cbnz, cbz etc. 3. uretprobe 4. Reject-able instructions like sev, wfe etc. 5. trapped and abort xol path 6. probe at unaligned user address. 7. longjump test cases Currently it does not support aarch32 instruction probing. RFC patches were sent long back, and all review comments for RFCs have been incorporated. RFCs were here: https://lwn.net/Articles/648514/ Pratyush Anand (5): arm64: kprobe: protect/rename few definitions to be reused by uprobe arm64: kgdb_step_brk_fn: ignore other's exception arm64: Handle TRAP_HWBRKPT for user mode as well arm64: Handle TRAP_BRKPT for user mode as well arm64: Add uprobe support arch/arm64/Kconfig | 3 + arch/arm64/include/asm/debug-monitors.h | 3 + arch/arm64/include/asm/probes.h | 23 ++-- arch/arm64/include/asm/ptrace.h | 8 ++ arch/arm64/include/asm/thread_info.h | 5 +- arch/arm64/include/asm/uprobes.h | 37 ++++++ arch/arm64/kernel/debug-monitors.c | 40 +++--- arch/arm64/kernel/entry.S | 6 +- arch/arm64/kernel/kgdb.c | 3 + arch/arm64/kernel/probes/Makefile | 2 + arch/arm64/kernel/probes/decode-insn.c | 31 ++--- arch/arm64/kernel/probes/decode-insn.h | 8 +- arch/arm64/kernel/probes/kprobes.c | 36 ++--- arch/arm64/kernel/probes/uprobes.c | 227 ++++++++++++++++++++++++++++++++ arch/arm64/kernel/signal.c | 4 +- arch/arm64/mm/flush.c | 6 + 16 files changed, 378 insertions(+), 64 deletions(-) create mode 100644 arch/arm64/include/asm/uprobes.h create mode 100644 arch/arm64/kernel/probes/uprobes.c -- 2.5.5
next reply other threads:[~2016-08-02 5:32 UTC|newest] Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-08-02 5:30 Pratyush Anand [this message] 2016-08-02 5:30 ` [PATCH 0/5] ARM64: Uprobe support added Pratyush Anand 2016-08-02 5:30 ` [PATCH 1/5] arm64: kprobe: protect/rename few definitions to be reused by uprobe Pratyush Anand 2016-08-02 5:30 ` Pratyush Anand 2016-08-02 5:30 ` [PATCH 2/5] arm64: kgdb_step_brk_fn: ignore other's exception Pratyush Anand 2016-08-02 5:30 ` Pratyush Anand 2016-08-02 5:30 ` [PATCH 3/5] arm64: Handle TRAP_HWBRKPT for user mode as well Pratyush Anand 2016-08-02 5:30 ` Pratyush Anand 2016-09-06 16:11 ` Catalin Marinas 2016-09-06 16:11 ` Catalin Marinas 2016-09-06 21:36 ` David Long 2016-09-06 21:36 ` David Long 2016-09-07 4:47 ` Pratyush Anand 2016-09-07 4:47 ` Pratyush Anand 2016-09-07 13:41 ` Catalin Marinas 2016-09-07 13:41 ` Catalin Marinas 2016-08-02 5:30 ` [PATCH 4/5] arm64: Handle TRAP_BRKPT " Pratyush Anand 2016-08-02 5:30 ` Pratyush Anand 2016-09-06 16:34 ` Catalin Marinas 2016-09-06 16:34 ` Catalin Marinas 2016-08-02 5:30 ` [PATCH 5/5] arm64: Add uprobe support Pratyush Anand 2016-08-02 5:30 ` Pratyush Anand 2016-08-09 18:49 ` Oleg Nesterov 2016-08-09 18:49 ` Oleg Nesterov 2016-08-24 7:13 ` Pratyush Anand 2016-08-24 7:13 ` Pratyush Anand 2016-08-24 15:47 ` Oleg Nesterov 2016-08-24 15:47 ` Oleg Nesterov 2016-08-24 15:56 ` Will Deacon 2016-08-24 15:56 ` Will Deacon 2016-08-25 13:33 ` Oleg Nesterov 2016-08-25 13:33 ` Oleg Nesterov 2016-09-20 16:59 ` Catalin Marinas 2016-09-20 16:59 ` Catalin Marinas 2016-09-21 11:00 ` Pratyush Anand 2016-09-21 11:00 ` Pratyush Anand 2016-09-21 17:04 ` Catalin Marinas 2016-09-21 17:04 ` Catalin Marinas 2016-09-22 3:23 ` Pratyush Anand 2016-09-22 3:23 ` Pratyush Anand 2016-09-22 16:50 ` Catalin Marinas 2016-09-22 16:50 ` Catalin Marinas 2016-09-23 4:12 ` Pratyush Anand 2016-09-23 4:12 ` Pratyush Anand 2016-09-23 13:05 ` Catalin Marinas 2016-09-23 13:05 ` Catalin Marinas 2016-09-25 17:02 ` Pratyush Anand 2016-09-25 17:02 ` Pratyush Anand 2016-09-26 11:01 ` Catalin Marinas 2016-09-26 11:01 ` Catalin Marinas 2016-09-26 13:03 ` Pratyush Anand 2016-09-26 13:03 ` Pratyush Anand 2016-09-27 13:51 ` Catalin Marinas 2016-09-27 13:51 ` Catalin Marinas 2016-09-27 15:03 ` Pratyush Anand 2016-09-27 15:03 ` Pratyush Anand 2016-09-28 17:12 ` Catalin Marinas 2016-09-28 17:12 ` Catalin Marinas 2016-08-24 7:26 ` [PATCH 0/5] ARM64: Uprobe support added Pratyush Anand 2016-08-24 7:26 ` Pratyush Anand 2016-09-20 2:51 ` Pratyush Anand 2016-09-20 2:51 ` Pratyush Anand
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=cover.1470114993.git.panand@redhat.com \ --to=panand@redhat.com \ --cc=catalin.marinas@arm.com \ --cc=dave.long@linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux@arm.linux.org.uk \ --cc=oleg@redhat.com \ --cc=srikar@linux.vnet.ibm.com \ --cc=steve.capper@linaro.org \ --cc=vijaya.kumar@caviumnetworks.com \ --cc=wcohen@redhat.com \ --cc=will.deacon@arm.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: linkBe 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.