Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1576051 > unrolled thread

[PATCH v3 0/5] Miscellaneous fixes for BPF (perf tree)

Started byMickaël Salaün <mic@digikod.net>
First post2017-02-07 22:00 +0100
Last post2017-02-07 22:00 +0100
Articles 7 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH v3 0/5] Miscellaneous fixes for BPF (perf tree) Mickaël Salaün <mic@digikod.net> - 2017-02-07 22:00 +0100
    [PATCH v3 1/5] bpf: Add missing header to the library Mickaël Salaün <mic@digikod.net> - 2017-02-07 22:00 +0100
      Re: [PATCH v3 1/5] bpf: Add missing header to the library "Wangnan (F)" <wangnan0@huawei.com> - 2017-02-08 03:50 +0100
        Re: [PATCH v3 1/5] bpf: Add missing header to the library Arnaldo Carvalho de Melo <acme@redhat.com> - 2017-02-08 20:50 +0100
    [PATCH v3 3/5] samples/bpf: Ignore already processed ELF sections Mickaël Salaün <mic@digikod.net> - 2017-02-07 22:00 +0100
    [PATCH v3 5/5] samples/bpf: Add missing header Mickaël Salaün <mic@digikod.net> - 2017-02-07 22:00 +0100
    [PATCH v3 4/5] samples/bpf: Reset global variables Mickaël Salaün <mic@digikod.net> - 2017-02-07 22:00 +0100

#1576051 — [PATCH v3 0/5] Miscellaneous fixes for BPF (perf tree)

FromMickaël Salaün <mic@digikod.net>
Date2017-02-07 22:00 +0100
Subject[PATCH v3 0/5] Miscellaneous fixes for BPF (perf tree)
Message-ID<t8l1M-7If-5@gated-at.bofh.it>
This series brings some fixes and small improvements to the BPF library and
samples.

This is intended for the perf tree and apply on e06094ab6755 ("Merge
remote-tracking branch 'tip/perf/urgent' into perf/core").

Changes since v2:
* add this cover letter

Changes since v1:
* exclude patches not intended for the perf tree

Regards,

Mickaël Salaün (5):
  bpf: Add missing header to the library
  bpf: Simplify bpf_load_program() error handling in the library
  samples/bpf: Ignore already processed ELF sections
  samples/bpf: Reset global variables
  samples/bpf: Add missing header

 samples/bpf/bpf_load.c     |  7 +++++++
 samples/bpf/tracex5_kern.c |  1 +
 tools/lib/bpf/bpf.c        | 18 ++++++------------
 tools/lib/bpf/bpf.h        |  1 +
 4 files changed, 15 insertions(+), 12 deletions(-)

-- 
2.11.0

[toc] | [next] | [standalone]


#1576054 — [PATCH v3 1/5] bpf: Add missing header to the library

FromMickaël Salaün <mic@digikod.net>
Date2017-02-07 22:00 +0100
Subject[PATCH v3 1/5] bpf: Add missing header to the library
Message-ID<t8l1N-7If-37@gated-at.bofh.it>
In reply to#1576051
Include stddef.h to define size_t.

Signed-off-by: Mickaël Salaün <mic@digikod.net>
Cc: Alexei Starovoitov <ast@fb.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Wang Nan <wangnan0@huawei.com>
---
 tools/lib/bpf/bpf.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/lib/bpf/bpf.h b/tools/lib/bpf/bpf.h
index a2f9853dd882..df6e186da788 100644
--- a/tools/lib/bpf/bpf.h
+++ b/tools/lib/bpf/bpf.h
@@ -22,6 +22,7 @@
 #define __BPF_BPF_H
 
 #include <linux/bpf.h>
+#include <stddef.h>
 
 int bpf_create_map(enum bpf_map_type map_type, int key_size, int value_size,
 		   int max_entries, __u32 map_flags);
-- 
2.11.0

[toc] | [prev] | [next] | [standalone]


#1576242 — Re: [PATCH v3 1/5] bpf: Add missing header to the library

From"Wangnan (F)" <wangnan0@huawei.com>
Date2017-02-08 03:50 +0100
SubjectRe: [PATCH v3 1/5] bpf: Add missing header to the library
Message-ID<t8qut-2In-3@gated-at.bofh.it>
In reply to#1576054

On 2017/2/8 4:56, Mickaël Salaün wrote:
> Include stddef.h to define size_t.
>
> Signed-off-by: Mickaël Salaün <mic@digikod.net>
> Cc: Alexei Starovoitov <ast@fb.com>
> Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
> Cc: Daniel Borkmann <daniel@iogearbox.net>
> Cc: Wang Nan <wangnan0@huawei.com>
> ---
>   tools/lib/bpf/bpf.h | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/tools/lib/bpf/bpf.h b/tools/lib/bpf/bpf.h
> index a2f9853dd882..df6e186da788 100644
> --- a/tools/lib/bpf/bpf.h
> +++ b/tools/lib/bpf/bpf.h
> @@ -22,6 +22,7 @@
>   #define __BPF_BPF_H
>   
>   #include <linux/bpf.h>
> +#include <stddef.h>
>   
>   int bpf_create_map(enum bpf_map_type map_type, int key_size, int value_size,
>   		   int max_entries, __u32 map_flags);
Looks good to me.

Thank you.

[toc] | [prev] | [next] | [standalone]


#1576991 — Re: [PATCH v3 1/5] bpf: Add missing header to the library

FromArnaldo Carvalho de Melo <acme@redhat.com>
Date2017-02-08 20:50 +0100
SubjectRe: [PATCH v3 1/5] bpf: Add missing header to the library
Message-ID<t8GpA-4sD-21@gated-at.bofh.it>
In reply to#1576242
Em Wed, Feb 08, 2017 at 10:47:18AM +0800, Wangnan (F) escreveu:
> >+++ b/tools/lib/bpf/bpf.h
> >@@ -22,6 +22,7 @@
> >  #define __BPF_BPF_H
> >  #include <linux/bpf.h>
> >+#include <stddef.h>
> >  int bpf_create_map(enum bpf_map_type map_type, int key_size, int value_size,
> >  		   int max_entries, __u32 map_flags);
> Looks good to me.
> 
> Thank you.

Applied, took the "Thank you" as an "Acked-by: Wang",

Regards,

- Arnaldo

[toc] | [prev] | [next] | [standalone]


#1576055 — [PATCH v3 3/5] samples/bpf: Ignore already processed ELF sections

FromMickaël Salaün <mic@digikod.net>
Date2017-02-07 22:00 +0100
Subject[PATCH v3 3/5] samples/bpf: Ignore already processed ELF sections
Message-ID<t8l1N-7If-45@gated-at.bofh.it>
In reply to#1576051
Add a missing check for the map fixup loop.

Signed-off-by: Mickaël Salaün <mic@digikod.net>
Cc: Alexei Starovoitov <ast@fb.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Daniel Borkmann <daniel@iogearbox.net>
---
 samples/bpf/bpf_load.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/samples/bpf/bpf_load.c b/samples/bpf/bpf_load.c
index 396e204888b3..e04fe09d7c2e 100644
--- a/samples/bpf/bpf_load.c
+++ b/samples/bpf/bpf_load.c
@@ -328,6 +328,8 @@ int load_bpf_file(char *path)
 
 	/* load programs that need map fixup (relocations) */
 	for (i = 1; i < ehdr.e_shnum; i++) {
+		if (processed_sec[i])
+			continue;
 
 		if (get_sec(elf, i, &ehdr, &shname, &shdr, &data))
 			continue;
-- 
2.11.0

[toc] | [prev] | [next] | [standalone]


#1576057 — [PATCH v3 5/5] samples/bpf: Add missing header

FromMickaël Salaün <mic@digikod.net>
Date2017-02-07 22:00 +0100
Subject[PATCH v3 5/5] samples/bpf: Add missing header
Message-ID<t8l1N-7If-47@gated-at.bofh.it>
In reply to#1576051
Include unistd.h to define __NR_getuid and __NR_getsid.

Signed-off-by: Mickaël Salaün <mic@digikod.net>
Cc: Alexei Starovoitov <ast@fb.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: David S. Miller <davem@davemloft.net>
---
 samples/bpf/tracex5_kern.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/samples/bpf/tracex5_kern.c b/samples/bpf/tracex5_kern.c
index fd12d7154d42..7e4cf74553ff 100644
--- a/samples/bpf/tracex5_kern.c
+++ b/samples/bpf/tracex5_kern.c
@@ -8,6 +8,7 @@
 #include <linux/version.h>
 #include <uapi/linux/bpf.h>
 #include <uapi/linux/seccomp.h>
+#include <uapi/linux/unistd.h>
 #include "bpf_helpers.h"
 
 #define PROG(F) SEC("kprobe/"__stringify(F)) int bpf_func_##F
-- 
2.11.0

[toc] | [prev] | [next] | [standalone]


#1576058 — [PATCH v3 4/5] samples/bpf: Reset global variables

FromMickaël Salaün <mic@digikod.net>
Date2017-02-07 22:00 +0100
Subject[PATCH v3 4/5] samples/bpf: Reset global variables
Message-ID<t8l1N-7If-49@gated-at.bofh.it>
In reply to#1576051
Before loading a new ELF, clean previous kernel version, license and
processed sections.

Signed-off-by: Mickaël Salaün <mic@digikod.net>
Cc: Alexei Starovoitov <ast@fb.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: David S. Miller <davem@davemloft.net>
---
 samples/bpf/bpf_load.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/samples/bpf/bpf_load.c b/samples/bpf/bpf_load.c
index e04fe09d7c2e..b86ee54da2d1 100644
--- a/samples/bpf/bpf_load.c
+++ b/samples/bpf/bpf_load.c
@@ -277,6 +277,11 @@ int load_bpf_file(char *path)
 	Elf_Data *data, *data_prog, *symbols = NULL;
 	char *shname, *shname_prog;
 
+	/* reset global variables */
+	kern_version = 0;
+	memset(license, 0, sizeof(license));
+	memset(processed_sec, 0, sizeof(processed_sec));
+
 	if (elf_version(EV_CURRENT) == EV_NONE)
 		return 1;
 
-- 
2.11.0

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web