diff options
author | Florent Revest <revest@chromium.org> | 2021-04-19 17:52:43 +0200 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2021-04-19 15:27:37 -0700 |
commit | c2e39c6bdc7eb48459ec1d34d4f27eb82299f4b7 (patch) | |
tree | c44494fafe11db39c3be9fa40ed24d9e6ca84a0d /tools/testing/selftests/bpf/progs/test_snprintf_single.c | |
parent | 58c2b1f5e0121efd698b6ec8e45e47e58ca9caee (diff) |
selftests/bpf: Add a series of tests for bpf_snprintf
The "positive" part tests all format specifiers when things go well.
The "negative" part makes sure that incorrect format strings fail at
load time.
Signed-off-by: Florent Revest <revest@chromium.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20210419155243.1632274-7-revest@chromium.org
Diffstat (limited to 'tools/testing/selftests/bpf/progs/test_snprintf_single.c')
-rw-r--r-- | tools/testing/selftests/bpf/progs/test_snprintf_single.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/progs/test_snprintf_single.c b/tools/testing/selftests/bpf/progs/test_snprintf_single.c new file mode 100644 index 000000000000..402adaf344f9 --- /dev/null +++ b/tools/testing/selftests/bpf/progs/test_snprintf_single.c @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: GPL-2.0 +/* Copyright (c) 2021 Google LLC. */ + +#include <linux/bpf.h> +#include <bpf/bpf_helpers.h> + +/* The format string is filled from the userspace such that loading fails */ +static const char fmt[10]; + +SEC("raw_tp/sys_enter") +int handler(const void *ctx) +{ + unsigned long long arg = 42; + + bpf_snprintf(NULL, 0, fmt, &arg, sizeof(arg)); + + return 0; +} + +char _license[] SEC("license") = "GPL"; |