Re: [PATCH v2 0/3] arm/arm64: Add support for function error injection

From: Masami Hiramatsu
Date: Tue Aug 06 2019 - 20:08:26 EST


On Tue, 6 Aug 2019 18:00:12 +0800
Leo Yan <leo.yan@xxxxxxxxxx> wrote:

> This small patch set is to add support for function error injection;
> this can be used to eanble more advanced debugging feature, e.g.
> CONFIG_BPF_KPROBE_OVERRIDE.
>
> The patch 01/03 is to consolidate the function definition which can be
> suared cross architectures, patches 02,03/03 are used for enabling
> function error injection on arm64 and arm architecture respectively.
>
> I tested on arm64 platform Juno-r2 and one of my laptop with x86
> architecture with below steps; I don't test for Arm architecture so
> only pass compilation.
>
> - Enable kernel configuration:
> CONFIG_BPF_KPROBE_OVERRIDE
> CONFIG_BTRFS_FS
> CONFIG_BPF_EVENTS=y
> CONFIG_KPROBES=y
> CONFIG_KPROBE_EVENTS=y
> CONFIG_BPF_KPROBE_OVERRIDE=y
>
> - Build samples/bpf on with Debian rootFS:
> # cd $kernel
> # make headers_install
> # make samples/bpf/ LLC=llc-7 CLANG=clang-7
>
> - Run the sample tracex7:
> # dd if=/dev/zero of=testfile.img bs=1M seek=1000 count=1
> # DEVICE=$(losetup --show -f testfile.img)
> # mkfs.btrfs -f $DEVICE
> # ./tracex7 testfile.img
> [ 1975.211781] BTRFS error (device (efault)): open_ctree failed
> mount: /mnt/linux-kernel/linux-cs-dev/samples/bpf/tmpmnt: mount(2) system call failed: Cannot allocate memory.
>
> Changes from v1:
> * Consolidated the function definition into asm-generic header (Will);
> * Used APIs to access pt_regs elements (Will);
> * Fixed typos in the comments (Will).

This looks good to me.

Reviewed-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>

Thank you!

>
>
> Leo Yan (3):
> error-injection: Consolidate override function definition
> arm64: Add support for function error injection
> arm: Add support for function error injection
>
> arch/arm/Kconfig | 1 +
> arch/arm/include/asm/ptrace.h | 5 +++++
> arch/arm/lib/Makefile | 2 ++
> arch/arm/lib/error-inject.c | 19 +++++++++++++++++++
> arch/arm64/Kconfig | 1 +
> arch/arm64/include/asm/ptrace.h | 5 +++++
> arch/arm64/lib/Makefile | 2 ++
> arch/arm64/lib/error-inject.c | 18 ++++++++++++++++++
> arch/powerpc/include/asm/error-injection.h | 13 -------------
> arch/x86/include/asm/error-injection.h | 13 -------------
> include/asm-generic/error-injection.h | 6 ++++++
> include/linux/error-injection.h | 6 +++---
> 12 files changed, 62 insertions(+), 29 deletions(-)
> create mode 100644 arch/arm/lib/error-inject.c
> create mode 100644 arch/arm64/lib/error-inject.c
> delete mode 100644 arch/powerpc/include/asm/error-injection.h
> delete mode 100644 arch/x86/include/asm/error-injection.h
>
> --
> 2.17.1
>


--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>