[0/2] arm/arm64: Add support for function error injection

Message ID 20190716111301.1855-1-leo.yan@linaro.org
Headers show
Series
  • arm/arm64: Add support for function error injection
Related show

Message

Leo Yan July 16, 2019, 11:12 a.m.
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.

I only tested the first patch on arm64 platform Juno-r2 with below
steps; the second patch is for arm arch, but I absent the platform
for the testing 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 Juno-r2 board with Debian rootFS:
  # cd $kernel
  # make headers_install
  # make samples/bpf/ LLC=llc-7 CLANG=clang-7
- Run the sample tracex7:
  # ./tracex7 /dev/sdb1
  [ 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.


Leo Yan (2):
  arm64: Add support for function error injection
  arm: Add support for function error injection

 arch/arm/Kconfig                         |  1 +
 arch/arm/include/asm/error-injection.h   | 13 +++++++++++++
 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/error-injection.h | 13 +++++++++++++
 arch/arm64/include/asm/ptrace.h          |  5 +++++
 arch/arm64/lib/Makefile                  |  2 ++
 arch/arm64/lib/error-inject.c            | 19 +++++++++++++++++++
 10 files changed, 80 insertions(+)
 create mode 100644 arch/arm/include/asm/error-injection.h
 create mode 100644 arch/arm/lib/error-inject.c
 create mode 100644 arch/arm64/include/asm/error-injection.h
 create mode 100644 arch/arm64/lib/error-inject.c

-- 
2.17.1

Comments

Masami Hiramatsu July 17, 2019, 7:52 a.m. | #1
On Tue, 16 Jul 2019 19:12:59 +0800
Leo Yan <leo.yan@linaro.org> 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.

> 

> I only tested the first patch on arm64 platform Juno-r2 with below

> steps; the second patch is for arm arch, but I absent the platform

> for the testing 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 Juno-r2 board with Debian rootFS:

>   # cd $kernel

>   # make headers_install

>   # make samples/bpf/ LLC=llc-7 CLANG=clang-7

> - Run the sample tracex7:

>   # ./tracex7 /dev/sdb1

>   [ 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.


This series looks good to me from the view point of override usage :)

Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org>


For this series.

Thank you,

> 

> 

> Leo Yan (2):

>   arm64: Add support for function error injection

>   arm: Add support for function error injection

> 

>  arch/arm/Kconfig                         |  1 +

>  arch/arm/include/asm/error-injection.h   | 13 +++++++++++++

>  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/error-injection.h | 13 +++++++++++++

>  arch/arm64/include/asm/ptrace.h          |  5 +++++

>  arch/arm64/lib/Makefile                  |  2 ++

>  arch/arm64/lib/error-inject.c            | 19 +++++++++++++++++++

>  10 files changed, 80 insertions(+)

>  create mode 100644 arch/arm/include/asm/error-injection.h

>  create mode 100644 arch/arm/lib/error-inject.c

>  create mode 100644 arch/arm64/include/asm/error-injection.h

>  create mode 100644 arch/arm64/lib/error-inject.c

> 

> -- 

> 2.17.1

> 



-- 
Masami Hiramatsu <mhiramat@kernel.org>
Leo Yan July 17, 2019, 8:14 a.m. | #2
On Wed, Jul 17, 2019 at 04:52:22PM +0900, Masami Hiramatsu wrote:
> On Tue, 16 Jul 2019 19:12:59 +0800

> Leo Yan <leo.yan@linaro.org> 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.

> > 

> > I only tested the first patch on arm64 platform Juno-r2 with below

> > steps; the second patch is for arm arch, but I absent the platform

> > for the testing 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 Juno-r2 board with Debian rootFS:

> >   # cd $kernel

> >   # make headers_install

> >   # make samples/bpf/ LLC=llc-7 CLANG=clang-7

> > - Run the sample tracex7:

> >   # ./tracex7 /dev/sdb1

> >   [ 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.

> 

> This series looks good to me from the view point of override usage :)

> 

> Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org>

> 

> For this series.

> 

> Thank you,


Thank you for reviewing, Masami.

> > 

> > 

> > Leo Yan (2):

> >   arm64: Add support for function error injection

> >   arm: Add support for function error injection

> > 

> >  arch/arm/Kconfig                         |  1 +

> >  arch/arm/include/asm/error-injection.h   | 13 +++++++++++++

> >  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/error-injection.h | 13 +++++++++++++

> >  arch/arm64/include/asm/ptrace.h          |  5 +++++

> >  arch/arm64/lib/Makefile                  |  2 ++

> >  arch/arm64/lib/error-inject.c            | 19 +++++++++++++++++++

> >  10 files changed, 80 insertions(+)

> >  create mode 100644 arch/arm/include/asm/error-injection.h

> >  create mode 100644 arch/arm/lib/error-inject.c

> >  create mode 100644 arch/arm64/include/asm/error-injection.h

> >  create mode 100644 arch/arm64/lib/error-inject.c

> > 

> > -- 

> > 2.17.1

> > 

> 

> 

> -- 

> Masami Hiramatsu <mhiramat@kernel.org>