selftests/bpf: Add a test for ptr_to_map_value on stack for helper access
Change bpf_iter_task.c such that pointer to map_value may appear on the stack for bpf_seq_printf() to access. Without previous verifier patch, the bpf_iter test will fail. Signed-off-by: Yonghong Song <yhs@fb.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Song Liu <songliubraving@fb.com> Link: https://lore.kernel.org/bpf/20201210013350.943985-1-yhs@fb.com
This commit is contained in:
parent
cd17d38f8b
commit
b4b638c36b
@ -11,9 +11,10 @@ int dump_task(struct bpf_iter__task *ctx)
|
|||||||
{
|
{
|
||||||
struct seq_file *seq = ctx->meta->seq;
|
struct seq_file *seq = ctx->meta->seq;
|
||||||
struct task_struct *task = ctx->task;
|
struct task_struct *task = ctx->task;
|
||||||
|
static char info[] = " === END ===";
|
||||||
|
|
||||||
if (task == (void *)0) {
|
if (task == (void *)0) {
|
||||||
BPF_SEQ_PRINTF(seq, " === END ===\n");
|
BPF_SEQ_PRINTF(seq, "%s\n", info);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -108,8 +108,9 @@
|
|||||||
BPF_EXIT_INSN(),
|
BPF_EXIT_INSN(),
|
||||||
},
|
},
|
||||||
.fixup_map_hash_8b = { 3 },
|
.fixup_map_hash_8b = { 3 },
|
||||||
.errstr = "invalid indirect read from stack off -8+0 size 8",
|
.errstr_unpriv = "invalid indirect read from stack off -8+0 size 8",
|
||||||
.result = REJECT,
|
.result_unpriv = REJECT,
|
||||||
|
.result = ACCEPT,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"unpriv: mangle pointer on stack 1",
|
"unpriv: mangle pointer on stack 1",
|
||||||
|
Loading…
Reference in New Issue
Block a user