[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180312154403.GC23720@kernel.org>
Date: Mon, 12 Mar 2018 12:44:03 -0300
From: Arnaldo Carvalho de Melo <acme@...nel.org>
To: Jiri Olsa <jolsa@...nel.org>
Cc: lkml <linux-kernel@...r.kernel.org>,
Ingo Molnar <mingo@...nel.org>,
Namhyung Kim <namhyung@...nel.org>,
David Ahern <dsahern@...il.com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>
Subject: Re: [PATCH 09/13] libbpf: Add bpf_insn__interpret function
Em Mon, Mar 12, 2018 at 10:43:09AM +0100, Jiri Olsa escreveu:
> Adding bpf_insn__interpret function to run ebpf program
> in user space.
>
> It's 'borrowed' from systemtap code, I still need to figure
> the proper credits, that will go to the file header in case
> this would ever go in.
What is the license? GPL?
> Link: http://lkml.kernel.org/n/tip-qqxsyw6imdisj3dydd6e21y7@git.kernel.org
> Signed-off-by: Jiri Olsa <jolsa@...nel.org>
>
> +++ b/tools/lib/bpf/Build
> @@ -1 +1 @@
> -libbpf-y := libbpf.o bpf.o nlattr.o
> +libbpf-y := libbpf.o bpf.o nlattr.o interp.o
> diff --git a/tools/lib/bpf/interp.c b/tools/lib/bpf/interp.c
> new file mode 100644
> index 000000000000..2ceb6a0836c3
> --- /dev/null
> +++ b/tools/lib/bpf/interp.c
> @@ -0,0 +1,245 @@
> +#include <uapi/linux/bpf.h>
> +#include <stdlib.h>
> +#include "interp.h"
> +
> +u64 bpf_interp__run(struct bpf_interp *interp)
> +{
<SNIP>
> +
> + case BPF_JMP | BPF_EXIT:
> + return regs[0];
> +
> + default:
> + abort();
And this should be converted to returning some error that the users can
tell the user using whatever UI (TUI, etc).
> + }
> +
> + regs[i->dst_reg] = dr;
> + nowrite:
> + i++;
> + }
> +
> + return 0;
> +}
> --
> 2.13.6
Powered by blists - more mailing lists