to confirm.
> Signed-off-by: Masami Hiramatsu (Google)
Reviewed-by: Alan Maguire
> ---
> include/linux/btf.h| 24 +
> kernel/bpf/btf.c | 115 +
> kernel/tr
On 04/10/2023 22:43, Steven Rostedt wrote:
> On Wed, 4 Oct 2023 22:35:07 +0100
> Alan Maguire wrote:
>
>> One thing we've heard from some embedded folks [1] is that having
>> kernel BTF loadable as a separate module (rather than embedded in
>> vmlinux) would hel
On 04/10/2023 18:29, Steven Rostedt wrote:
> On Wed, 4 Oct 2023 09:54:31 -0700
> Jakub Kicinski wrote:
>
>> On Wed, 4 Oct 2023 12:35:24 -0400 Steven Rostedt wrote:
Potentially naive question - the trace point holds enum skb_drop_reason.
The user space can get the names from BTF. Can we
On Thu, 11 Feb 2021, David Gow wrote:
> On Wed, Feb 10, 2021 at 6:14 AM Daniel Latypov wrote:
> >
> > From: Uriel Guajardo
> >
> > Add a kunit_fail_current_test() function to fail the currently running
> > test, if any, with an error message.
> >
> > This is largely intended for dynamic
el.org/linux-kselftest/20200806174326.3577537-1-urielguajard...@gmail.com/
>
For the series:
Reviewed-by: Alan Maguire
Thanks!
On Tue, 9 Feb 2021, Daniel Latypov wrote:
> On Tue, Feb 9, 2021 at 9:26 AM Alan Maguire wrote:
> >
> > On Fri, 5 Feb 2021, Daniel Latypov wrote:
> >
> > > From: Uriel Guajardo
> > >
> > > Add a kunit_fail_current_test() function to fail the cur
On Fri, 5 Feb 2021, Daniel Latypov wrote:
> From: Uriel Guajardo
>
> Add a kunit_fail_current_test() function to fail the currently running
> test, if any, with an error message.
>
> This is largely intended for dynamic analysis tools like UBSAN and for
> fakes.
> E.g. say I had a fake ops
On Thu, 21 Jan 2021, Andrii Nakryiko wrote:
> On Wed, Jan 20, 2021 at 10:56 PM Andrii Nakryiko
> wrote:
> >
> > On Sun, Jan 17, 2021 at 2:22 PM Alan Maguire
> > wrote:
> > >
> > > Add a BTF dumper for typed data, so that the user can dump
BTF type data dumping will use them in later patches, and they
are useful generally when handling BTF data.
Signed-off-by: Alan Maguire
---
tools/lib/bpf/btf.h | 19 +++
1 file changed, 19 insertions(+)
diff --git a/tools/lib/bpf/btf.h b/tools/lib/bpf/btf.h
index 1237bcd
6744073709551615,
},
},
...
Signed-off-by: Alan Maguire
---
tools/lib/bpf/btf.h | 17 +
tools/lib/bpf/btf_dump.c | 974 +++
tools/lib/bpf/libbpf.map | 5 +
3 files changed, 996 insertions(+)
diff --git a/tools/lib/bpf/btf.h b/tools/lib
sues found in it should be fixed there or vice versa;
mirroring the tests should help with this also
(Andrii)
[1]
https://lore.kernel.org/bpf/1610386373-24162-1-git-send-email-alan.magu...@oracle.com/T/#t
Alan Maguire (4):
libbpf: add btf_has_size() and btf_int() inlines
libbpf: make skip_mods_an
Test various type data dumping operations by comparing expected
format with the dumped string; an snprintf-style printf function
is used to record the string dumped.
Signed-off-by: Alan Maguire
---
tools/testing/selftests/bpf/prog_tests/btf_dump.c | 233 ++
1 file changed
btf_dump.c will need it for type-based data display.
Signed-off-by: Alan Maguire
---
tools/lib/bpf/libbpf.c | 4 +---
tools/lib/bpf/libbpf_internal.h | 2 ++
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c
index 2abbc38
On Mon, 11 Jan 2021, Andrii Nakryiko wrote:
> On Mon, Jan 11, 2021 at 9:34 AM Alan Maguire wrote:
> > Currently the only "show" function for userspace is to write the
> > representation of the typed data to a string via
> >
> > LIBBPF_API int
> > btf__s
skb_id);
else
btf__snprintf(btf, buf, sizeof(buf), skb_id, skb, 0);
Suggested-by: Alexei Starovoitov
Signed-off-by: Alan Maguire
---
include/linux/btf.h | 121 +---
include/linux/btf_common.h | 286 +
kernel/bpf/Makefile |2 +-
kernel/
Test btf__snprintf with various base/kernel types and ensure
display is as expected; tests are identical to those in snprintf_btf
test save for the fact these run in userspace rather than BPF program
context.
Signed-off-by: Alan Maguire
---
.../selftests/bpf/prog_tests/snprintf_btf_user.c
format. The test closely mirrors
the BPF program associated with the snprintf_btf.c; in this case
however the string representations are verified in userspace rather
than in BPF program context.
Alan Maguire (2):
bpf: share BTF "show" implementation between kernel and libbpf
selftests
needed for compilation anyhow.
[1]
https://lore.kernel.org/netdev/1461512707-23058-1-git-send-email-mikko.rapeli__34748.27880641$1462831734$gmane$o...@iki.fi/
Fixes: f6f3bac08ff9 ("tools/bpf: bpftool: add net support")
Signed-off-by: Alan Maguire
---
tools/bpf/bpftool/net.c | 1 -
1
On Tue, 5 Jan 2021, Cong Wang wrote:
> On Mon, Jan 4, 2021 at 7:29 AM Alan Maguire wrote:
> >
> > BPF Type Format (BTF) provides a description of kernel data structures
> > and of the types kernel functions utilize as arguments and return values.
> >
>
p "ip_send_skb(skb->dev == 0, skb)"
...as this will be evaluated before the skb is stringified,
and we potentially avoid that operation if the predicate fails.
The same is _not_ true however in the stash case; for
ksnoop "ip_send_skb(skb, return!=0)"
...we must collect
On Sat, 5 Dec 2020, Yonghong Song wrote:
>
>
> __builtin_btf_type_id() is really only supported in llvm12
> and 64bit return value support is pushed to llvm12 trunk
> a while back. The builtin is introduced in llvm11 but has a
> corner bug, so llvm12 is recommended. So if people use the
auditing example in
Documentation/RCU/listRCU.rst ; and as such we can eliminate
the lock and use list_del_rcu()/call_rcu() on module removal,
and list_add_rcu() for module addition.
Signed-off-by: Alan Maguire
---
kernel/bpf/btf.c | 31 +--
1 file changed, 17 insertions
t net_device".
Currently the tests take the messy approach of determining object
and type ids for the relevant module/function; __builtin_btf_type_id()
supports object ids by returning a 64-bit value, but need to find a good
way to determine if that support is present.
Signed-off-by: Alan M
the object id
specifies the module the type is in, or if no such id is
found in the module list, we fall back to vmlinux.
Signed-off-by: Alan Maguire
---
include/linux/btf.h| 12
include/uapi/linux/bpf.h | 13 +++--
kernel/bpf/btf.c
be supported
directly in the BPF program via __builtin_btf_type_id(); but
I need to determine a good test to determine if that builtin
supports object ids.
Changes since RFC
- add patch to remove module mutex
- modify to use obj_id instead of module name as identifier
in "struct btf_ptr" (And
On Sat, 14 Nov 2020, Yonghong Song wrote:
>
>
> On 11/14/20 8:04 AM, Alexei Starovoitov wrote:
> > On Fri, Nov 13, 2020 at 10:59 PM Andrii Nakryiko
> > wrote:
> >>
> >> On Fri, Nov 13, 2020 at 10:11 AM Alan Maguire
> >> wrote:
> >>>
lly
for vmlinux + module BTF, where the latter is much smaller.
Use btf__get_nr_types() instead.
Fixes: ba451366bf44 ("libbpf: Implement basic split BTF support")
Signed-off-by: Alan Maguire
---
tools/lib/bpf/btf.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --gi
net_device".
Signed-off-by: Alan Maguire
---
.../selftests/bpf/prog_tests/snprintf_btf_mod.c| 96 ++
tools/testing/selftests/bpf/progs/btf_ptr.h| 1 +
tools/testing/selftests/bpf/progs/veth_stats_rx.c | 73
3 files changed, 170 insertions(+)
cr
bpf_snprintf_btf and bpf_seq_printf_btf use a "struct btf_ptr *"
argument that specifies type information about the type to
be displayed. Augment this information to include a module
name, allowing such display to support module types.
Signed-off-by: Alan Maguire
---
include/l
lly
for vmlinux + module BTF, where the latter is much smaller.
Use btf__get_nr_types() instead.
Signed-off-by: Alan Maguire
---
tools/lib/bpf/btf.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/lib/bpf/btf.c b/tools/lib/bpf/btf.c
index 2d0d064..0fccf4b 100
of a module-specific type id will fail
in patch 3.
Patch 3 is a selftest that uses veth (when built as a
module) and a kprobe to display both a module-specific
and kernel-specific type; both are arguments to veth_stats_rx().
Alan Maguire (3):
bpf: add module support to btf disp
es etc and BTF generation seemed to work
fine for modules during kernel build).
For the "bpftool btf show" functionality, feel free to add
Tested-by: Alan Maguire
Thanks!
Alan
On Tue, 27 Oct 2020, Greg Kroah-Hartman wrote:
> From: Alan Maguire
>
> [ Upstream commit eb58bbf2e5c7917aa30bf8818761f26bbeeb2290 ]
>
> bpf iter size increase to PAGE_SIZE << 3 means overflow tests assuming
> page size need to be bumped also.
>
Alexei can correc
Resolve issues in bpf selftests introduced with BTF-based kernel data
display selftests; these are
- a warning introduced in snprintf_btf.c; and
- compilation failures with old kernels vmlinux.h
Alan Maguire (2):
selftests/bpf: fix unused-result warning in snprintf_btf.c
selftests/bpf
t;selftests/bpf: Add test for bpf_seq_printf_btf helper")
Fixes: 076a95f5aff2 ("selftests/bpf: Add bpf_snprintf_btf helper tests")
Reported-by: Andrii Nakryiko
Signed-off-by: Alan Maguire
---
tools/testing/selftests/bpf/progs/bpf_iter.h | 23 ++
tools/testing/s
em’, declared with attribute
warn_unused_result [-Wunused-result]
system("ping -c 1 127.0.0.1 > /dev/null");
^
[...]
Fixes: 076a95f5aff2 ("selftests/bpf: Add bpf_snprintf_btf helper tests")
Reported-by: Daniel Borkmann
Signed-off-
On Thu, 24 Sep 2020, Alexei Starovoitov wrote:
> to whatever number, but printing single task_struct needs ~800 lines and
> ~18kbytes. Humans can scroll through that much spam, but can we make it less
> verbose by default somehow?
> May be not in this patch set, but in the follow up?
>
One
Add a test verifying iterating over tasks and displaying BTF
representation of task_struct succeeds.
Suggested-by: Alexei Starovoitov
Signed-off-by: Alan Maguire
---
tools/testing/selftests/bpf/prog_tests/bpf_iter.c | 74 ++
.../selftests/bpf/progs/bpf_iter_task_btf.c
BPF iter size is limited to PAGE_SIZE; if we wish to display BTF-based
representations of larger kernel data structures such as task_struct,
this will be insufficient.
Suggested-by: Alexei Starovoitov
Signed-off-by: Alan Maguire
---
kernel/bpf/bpf_iter.c | 4 ++--
1 file changed, 2 insertions
to the
bpf_snprintf_btf helper, and the helper returns 0 on success
or a negative error value.
Suggested-by: Alexei Starovoitov
Signed-off-by: Alan Maguire
---
include/linux/btf.h| 2 ++
include/uapi/linux/bpf.h | 9 +
kernel/bpf/btf.c | 4 ++--
kernel/bpf/core.c
bpf iter size increase to PAGE_SIZE << 3 means overflow tests assuming
page size need to be bumped also.
Signed-off-by: Alan Maguire
---
tools/testing/selftests/bpf/prog_tests/bpf_iter.c | 14 +++---
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/tools/testing/sel
Tests verifying snprintf()ing of various data structures,
flags combinations using a tp_btf program. Tests are skipped
if __builtin_btf_type_id is not available to retrieve BTF
type ids.
Signed-off-by: Alan Maguire
---
.../selftests/bpf/prog_tests/snprintf_btf.c| 60
te pointer values.
BTF_SHOW_UNSAFE - do not copy data to safe buffer before display.
BTF_SHOW_ZERO - show zeroed values (by default they are not shown).
Signed-off-by: Alan Maguire
---
include/linux/btf.h | 36 ++
kernel/bpf/btf.c| 1007 +-
member names/types
- BTF_F_PTR_RAW:show raw (unobfuscated) pointer values;
equivalent to %px.
- BTF_F_ZERO: show zero-valued struct/union members;
they are not displayed by default
Signed-off-by: Alan Maguire
---
include/linux
in
bpf_trace_printk()
- added BPF tests which ensure %pT format specifier use works (Alexei).
Alan Maguire (8):
bpf: provide function to get vmlinux BTF information
bpf: move to generic BTF show support, apply it to seq files/strings
bpf: add bpf_snprintf_btf helper
selftests/bpf: add bpf_sn
It will be used later for BPF structure display support
Signed-off-by: Alan Maguire
---
include/linux/bpf.h | 2 ++
kernel/bpf/verifier.c | 18 --
2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/include/linux/bpf.h b/include/linux/bpf.h
index 7990232..2eae3f3
off-by: Alan Maguire
---
tools/testing/selftests/bpf/prog_tests/bpf_iter.c | 66 ++
.../selftests/bpf/progs/bpf_iter_task_btf.c| 49
2 files changed, 115 insertions(+)
create mode 100644 tools/testing/selftests/bpf/progs/bpf_iter_task_btf.c
diff --
It will be used later for BPF structure display support
Signed-off-by: Alan Maguire
---
include/linux/bpf.h | 2 ++
kernel/bpf/verifier.c | 18 --
2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/include/linux/bpf.h b/include/linux/bpf.h
index fc5c901..049e50f
to the
bpf_snprintf_btf helper, and the helper returns 0 on success
or a negative error value.
Suggested-by: Alexei Starovoitov
Signed-off-by: Alan Maguire
---
include/linux/btf.h| 2 ++
include/uapi/linux/bpf.h | 10 ++
kernel/bpf/btf.c | 4 ++--
kernel/bpf/core.c
te pointer values.
BTF_SHOW_UNSAFE - do not copy data to safe buffer before display.
BTF_SHOW_ZERO - show zeroed values (by default they are not shown).
Signed-off-by: Alan Maguire
---
include/linux/btf.h | 36 ++
kernel/bpf/btf.c| 980 ++-
race_printk()
- added BPF tests which ensure %pT format specifier use works (Alexei).
Alan Maguire (6):
bpf: provide function to get vmlinux BTF information
bpf: move to generic BTF show support, apply it to seq files/strings
bpf: add bpf_snprintf_btf helper
selftests/bpf: add bpf_snpri
Tests verifying snprintf()ing of various data structures,
flags combinations using a tp_btf program.
Signed-off-by: Alan Maguire
---
.../selftests/bpf/prog_tests/snprintf_btf.c| 54 +
.../selftests/bpf/progs/netif_receive_skb.c| 260 +
2 files changed
on members;
they are not displayed by default
Signed-off-by: Alan Maguire
---
include/linux/bpf.h| 1 +
include/linux/btf.h| 9 ++--
include/uapi/linux/bpf.h | 68 +++
kernel/bpf/core.c | 1 +
kernel/bpf/helpers.c
Tests verifying snprintf()ing of various data structures,
flags combinations using a tp_btf program.
Signed-off-by: Alan Maguire
---
.../selftests/bpf/prog_tests/btf_snprintf.c| 55 +
.../selftests/bpf/progs/netif_receive_skb.c| 260 +
2 files changed
te pointer values.
BTF_SHOW_UNSAFE - do not copy data to safe buffer before display.
BTF_SHOW_ZERO - show zeroed values (by default they are not shown).
Signed-off-by: Alan Maguire
---
include/linux/btf.h | 36 ++
kernel/bpf/btf.c| 971 ++-
format specifier in
bpf_trace_printk()
- added BPF tests which ensure %pT format specifier use works (Alexei).
Alan Maguire (6):
bpf: provide function to get vmlinux BTF information
bpf: move to generic BTF show support, apply it to seq files/strings
bpf: add bpf_btf_snprintf helper
s
off-by: Alan Maguire
---
tools/testing/selftests/bpf/prog_tests/bpf_iter.c | 66 ++
.../selftests/bpf/progs/bpf_iter_task_btf.c| 49
2 files changed, 115 insertions(+)
create mode 100644 tools/testing/selftests/bpf/progs/bpf_iter_task_btf.c
diff --
on members;
they are not displayed by default
Signed-off-by: Alan Maguire
---
include/linux/bpf.h| 1 +
include/linux/btf.h| 9 +++--
include/uapi/linux/bpf.h | 68
kernel/bpf/helpers.c | 4 ++
kernel/trace/b
It will be used later for BPF structure display support
Signed-off-by: Alan Maguire
---
include/linux/bpf.h | 2 ++
kernel/bpf/verifier.c | 18 --
2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/include/linux/bpf.h b/include/linux/bpf.h
index c6d9f2c..c0ad5d8
to the
bpf_btf_snprintf helper, and the helper returns 0 on success
or a negative error value.
Suggested-by: Alexei Starovoitov
Signed-off-by: Alan Maguire
---
include/linux/btf.h| 3 ++
include/uapi/linux/bpf.h | 10 ++
kernel/bpf/btf.c | 17 +++---
kernel/trace
On Fri, 14 Aug 2020, Alexei Starovoitov wrote:
> On Fri, Aug 14, 2020 at 02:06:37PM +0100, Alan Maguire wrote:
> > On Wed, 12 Aug 2020, Alexei Starovoitov wrote:
> >
> > > On Thu, Aug 06, 2020 at 03:42:23PM +0100, Alan Maguire wrote:
> > > >
>
On Wed, 12 Aug 2020, Alexei Starovoitov wrote:
> On Thu, Aug 06, 2020 at 03:42:23PM +0100, Alan Maguire wrote:
> >
> > The bpf_trace_printk tracepoint is augmented with a "trace_id"
> > field; it is used to allow tracepoint filtering as typed display
> > i
On Wed, 12 Aug 2020, Uriel Guajardo wrote:
> KUnit will fail tests upon observing a lockdep failure. Because lockdep
> turns itself off after its first failure, only fail the first test and
> warn users to not expect any future failures from lockdep.
>
> Similar to lib/locking-selftest [1], we
On Thu, 6 Aug 2020, Uriel Guajardo wrote:
> Adds an API to allow dynamic analysis tools to fail the currently
> running KUnit test case.
>
> - Always places the kunit test in the task_struct to allow other tools
> to access the currently running KUnit test.
>
> - Creates a new header file to
stead of
trace_printk()")
Signed-off-by: Alan Maguire
---
Documentation/bpf/bpf_design_QA.rst | 11 ---
1 file changed, 11 deletions(-)
diff --git a/Documentation/bpf/bpf_design_QA.rst
b/Documentation/bpf/bpf_design_QA.rst
index 12a246f..2df7b06 100644
--- a/Documentation/bpf/bpf_design_QA
Basic tests verifying various flag combinations for bpf_trace_btf()
using a tp_btf program to trace skb data.
Signed-off-by: Alan Maguire
---
tools/testing/selftests/bpf/prog_tests/trace_btf.c | 45 ++
.../selftests/bpf/progs/netif_receive_skb.c| 43
on members;
they are not displayed by default
Signed-off-by: Alan Maguire
---
include/linux/bpf.h| 1 +
include/linux/btf.h| 9 ++--
include/uapi/linux/bpf.h | 63 +
kernel/bpf/core.c | 5 ++
kernel/bpf
h is either all zeros or all 0xff values; the idea is this
exercises the "skip if zero" and "print everything" cases.
- added support in BPF for using the %pT format specifier in
bpf_trace_printk()
- added BPF tests which ensure %pT format specifier use works (Alexei).
Ala
t;
field; it is used to allow tracepoint filtering as typed display
information can easily be interspersed with other tracing data,
making it hard to read. Specifying a trace_id will allow users
to selectively trace data, eliminating noise.
Signed-off-by: Alan Maguire
---
include/linux/bpf.h
It will be used later for BPF structure display support
Signed-off-by: Alan Maguire
---
include/linux/bpf.h | 2 ++
kernel/bpf/verifier.c | 18 --
2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/include/linux/bpf.h b/include/linux/bpf.h
index cef4ef0..55eb67d
://lore.kernel.org/r/20200628194334.6238b...@oasis.local.home
Signed-off-by: Steven Rostedt (VMware)
Signed-off-by: Alan Maguire
Acked-by: Andrii Nakryiko
---
kernel/trace/Makefile| 2 ++
kernel/trace/bpf_trace.c | 42 +-
kernel/trace/bpf_trace.h | 34
will not prevent tracing output from being logged
(Steven, patch 1)
- use "tp/raw_syscalls/sys_enter" and a usleep(1) to trigger events
in the selftest ensuring test runs faster (Andrii, patch 2)
[1] https://lore.kernel.org/r/20200628194334.6238b...@oasis.local.home
Alan Maguire (2):
bpf: use
Simple selftests that verifies bpf_trace_printk() returns a sensible
value and tracing messages appear.
Signed-off-by: Alan Maguire
Acked-by: Andrii Nakryiko
---
.../selftests/bpf/prog_tests/trace_printk.c| 75 ++
tools/testing/selftests/bpf/progs/trace_printk.c
, patch 1)
- use "tp/raw_syscalls/sys_enter" and a usleep(1) to trigger events
in the selftest ensuring test runs faster (Andrii, patch 2)
[1] https://lore.kernel.org/r/20200628194334.6238b...@oasis.local.home
Alan Maguire (2):
bpf: use dedicated bpf_trace_printk event instead of tr
://lore.kernel.org/r/20200628194334.6238b...@oasis.local.home
Signed-off-by: Steven Rostedt (VMware)
Signed-off-by: Alan Maguire
---
kernel/trace/Makefile| 2 ++
kernel/trace/bpf_trace.c | 41 -
kernel/trace/bpf_trace.h | 34
Simple selftests that verifies bpf_trace_printk() returns a sensible
value and tracing messages appear.
Signed-off-by: Alan Maguire
---
.../selftests/bpf/prog_tests/trace_printk.c| 74 ++
tools/testing/selftests/bpf/progs/trace_printk.c | 21 ++
2 files changed
On Tue, 7 Jul 2020, Andrii Nakryiko wrote:
> On Fri, Jul 3, 2020 at 7:47 AM Alan Maguire wrote:
> >
> > The bpf helper bpf_trace_printk() uses trace_printk() under the hood.
> > This leads to an alarming warning message originating from trace
> > buffer allocation
://lore.kernel.org/r/20200628194334.6238b...@oasis.local.home
Signed-off-by: Steven Rostedt (VMware)
Signed-off-by: Alan Maguire
---
kernel/trace/Makefile| 2 ++
kernel/trace/bpf_trace.c | 41 +
kernel/trace/bpf_trace.h | 34
://lore.kernel.org/r/20200628194334.6238b...@oasis.local.home
Alan Maguire (2):
bpf: use dedicated bpf_trace_printk event instead of trace_printk()
selftests/bpf: add selftests verifying bpf_trace_printk() behaviour
kernel/trace/Makefile | 2 +
kernel/trace
Simple selftest that verifies bpf_trace_printk() returns a sensible
value and tracing messages appear.
Signed-off-by: Alan Maguire
---
.../selftests/bpf/prog_tests/trace_printk.c| 71 ++
tools/testing/selftests/bpf/progs/trace_printk.c | 21 +++
2 files changed
un 2020 15:51:50 +1000
> Subject: [PATCH] thunderbolt: merge fix for kunix_resource changes
>
> Signed-off-by: Stephen Rothwell
Thanks Stephen, resolution looks good to me! If you need it
Reviewed-by: Alan Maguire
Once the kunit and thunderbolt trees are merged there may
be some additional t
On Fri, 26 Jun 2020, Petr Mladek wrote:
> On Tue 2020-06-23 13:07:07, Alan Maguire wrote:
> > printk supports multiple pointer object type specifiers (printing
> > netdev features etc). Extend this support using BTF to cover
> > arbitrary types. "%pT&q
On Tue, 23 Jun 2020, David Gow wrote:
> On Mon, Jun 22, 2020 at 6:45 AM Frank Rowand wrote:
> >
> > Tim Bird started a thread [1] proposing that he document the selftest result
> > format used by Linux kernel tests.
> >
> > [1]
> >
tests verify we get 0 return value from bpf_trace_print()
using %pT format specifier with various modifiers/pointer
values.
Signed-off-by: Alan Maguire
---
.../selftests/bpf/prog_tests/trace_printk_btf.c| 45 +
.../selftests/bpf/progs/netif_receive_skb.c| 47
vmlinux BTF initialization can take time so it's best to do that
outside of printk context; otherwise the first printk() using %pT
will trigger BTF initialization.
Signed-off-by: Alan Maguire
---
lib/vsprintf.c | 12
1 file changed, 12 insertions(+)
diff --git a/lib/vsprintf.c b
te pointer values.
BTF_SHOW_UNSAFE - do not copy data to safe buffer before display.
BTF_SHOW_ZERO - show zeroed values (by default they are not shown).
Signed-off-by: Alan Maguire
---
include/linux/btf.h | 36 ++
kernel/bpf/btf.c| 966 ++-
es where overflow
is likely, the compact/no type names display modes may be used.
Signed-off-by: Alan Maguire
i
---
Documentation/core-api/printk-formats.rst | 17 ++
include/linux/btf.h | 3 +-
include/linux/printk.h| 16 +
lib/vsprintf.c
.
These changes add up to approximately 20,000 new tests covering
all enum, struct, union and typedefs in vmlinux BTF.
Individual tests are also added for int, char, struct, enum
and typedefs which verify output is as expected.
Signed-off-by: Alan Maguire
---
include/linux/btf.h | 3 +
kernel/bpf
Allow %pT[cNx0] format specifier for BTF-based display of data associated
with pointer. The unsafe data modifier 'u' - where the source data
is traversed without copying it to a safe buffer via probe_kernel_read() -
is not supported.
Signed-off-by: Alan Maguire
---
include/uapi/linux/bpf.h
ko - the version in the bpf-next
tree will induce a panic when running the fwnode_pointer() tests due
to a kobject issue; applying the patch in
https://lkml.org/lkml/2020/4/17/389
...resolved this issue for me.
Alan Maguire (8):
bpf: provide function to get vmlinux BTF information
bpf: move t
checkpatch complains about unknown format specifiers, so add
the BTF format specifier we will implement in a subsequent
patch to avoid errors.
Signed-off-by: Alan Maguire
---
scripts/checkpatch.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/checkpatch.pl b
It will be used later for BTF printk() support
Signed-off-by: Alan Maguire
---
include/linux/bpf.h | 2 ++
kernel/bpf/verifier.c | 18 --
2 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/include/linux/bpf.h b/include/linux/bpf.h
index 07052d4..a2ecebd 100644
On Tue, 16 Jun 2020, David Gow wrote:
> CONFIG_PM_QOS_KUNIT_TESTOn Mon, Jun 15, 2020 at 1:48 AM Kees Cook
> wrote:
> >
> > On Sat, Jun 13, 2020 at 02:51:17PM +0800, David Gow wrote:
> > > Yeah, _KUNIT_TEST was what we've sort-of implicitly decided on for
> > > config names, but the documentation
of UML so can be
useful to do if running under UML is failing. When tests are built-in
they will execute on boot, and modules will automatically execute
associated tests when loaded. Test results can be collected from
/sys/kernel/debug/kunit//results. For more details see
"KUnit on non-UML architectures" in :doc:`usage`.
Reviewed-by: Alan Maguire
use a "match-by-name" callback.
If an attempt to add a resource with a name that already exists
is made kunit_add_named_resource() will return -EEXIST.
Signed-off-by: Alan Maguire
Reviewed-by: Brendan Higgins
---
include/kunit/test.h | 54 +++
tried moving to
kunit_[action]_resource() as the format of function names
for consistency and readability.
[1] https://lkml.org/lkml/2020/2/26/1286
Signed-off-by: Alan Maguire
Reviewed-by: Brendan Higgins
---
include/kunit/test.h | 156 +-
l
for non-named resource (Brendan, patch 2)
Alan Maguire (2):
kunit: generalize kunit_resource API beyond allocated resources
kunit: add support for named resources
Alan Maguire (2):
kunit: generalize kunit_resource API beyond allocated resources
kunit: add support for named res
On Tue, 26 May 2020, Emanuele Giuseppe Esposito wrote:
> Add kunit tests to extensively test the stats_fs API functionality.
>
I've added in the kunit-related folks.
> In order to run them, the kernel .config must set CONFIG_KUNIT=y
> and a new .kunitconfig file must be created with
On Wed, 13 May 2020, Yonghong Song wrote:
>
> > +struct btf_show {
> > + u64 flags;
> > + void *target; /* target of show operation (seq file, buffer) */
> > + void (*showfn)(struct btf_show *show, const char *fmt, ...);
> > + const struct btf *btf;
> > + /* below are used during
On Wed, 13 May 2020, Yonghong Song wrote:
>
> > + while (isbtffmt(fmt[i]))
> > + i++;
>
> The pointer passed to the helper may not be valid pointer. I think you
> need to do a probe_read_kernel() here. Do an atomic memory allocation
>
1 - 100 of 128 matches
Mail list logo