Commit eb0f1e0c authored by Alexei Starovoitov's avatar Alexei Starovoitov Committed by Daniel Borkmann
Browse files

selftests/bpf: Convert test printk to use rodata.



Convert test trace_printk to more aggressively validate and use rodata.

Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
Acked-by: default avatarAndrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/20210514003623.28033-21-alexei.starovoitov@gmail.com
parent 0a930662
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -21,6 +21,9 @@ void test_trace_printk(void)
	if (CHECK(!skel, "skel_open", "failed to open skeleton\n"))
		return;

	ASSERT_EQ(skel->rodata->fmt[0], 'T', "invalid printk fmt string");
	skel->rodata->fmt[0] = 't';

	err = trace_printk__load(skel);
	if (CHECK(err, "skel_load", "failed to load skeleton: %d\n", err))
		goto cleanup;
+3 −3
Original line number Diff line number Diff line
@@ -10,11 +10,11 @@ char _license[] SEC("license") = "GPL";
int trace_printk_ret = 0;
int trace_printk_ran = 0;

SEC("tp/raw_syscalls/sys_enter")
const char fmt[] = "Testing,testing %d\n";

SEC("fentry/__x64_sys_nanosleep")
int sys_enter(void *ctx)
{
	static const char fmt[] = "testing,testing %d\n";

	trace_printk_ret = bpf_trace_printk(fmt, sizeof(fmt),
					    ++trace_printk_ran);
	return 0;