On 10/19/2017 03:55 PM, Mark Brown wrote:
Hi all,
After merging the net-next tree, today's linux-next build (x86allmodconfig)
failed like this:
/home/broonie/tmpfs/next/kernel/bpf/verifier.c: In function 'check_mem_access':
/home/broonie/tmpfs/next/kernel/bpf/verifier.c:1010:12: error: passing argument
1 of 'verbose' from incompatible pointer type
[-Werror=incompatible-pointer-types]
verbose("dereference of modified ctx ptr R%d off=%d+%d, ctx+const is allowed,
ctx+const+const is not\n",
^
Yeah, the verbose calls need to have env passed into them:
verbose(env, [...])
See also the note below '---':
http://patchwork.ozlabs.org/patch/826449/
/home/broonie/tmpfs/next/kernel/bpf/verifier.c:173:28: note: expected 'struct
bpf_verifier_env *' but argument is of type 'char *'
static __printf(2, 3) void verbose(struct bpf_verifier_env *env,
^
/home/broonie/tmpfs/next/kernel/bpf/verifier.c:1011:5: warning: passing
argument 2 of 'verbose' makes pointer from integer without a cast
[-Wint-conversion]
regno, reg->off, off - reg->off);
^
/home/broonie/tmpfs/next/kernel/bpf/verifier.c:173:28: note: expected 'const
char *' but argument is of type 'u32 {aka unsigned int}'
static __printf(2, 3) void verbose(struct bpf_verifier_env *env,
^
cc1: some warnings being treated as errors
/home/broonie/tmpfs/next/scripts/Makefile.build:313: recipe for target
'kernel/bpf/verifier.o' failed
Caused by commit
28e33f9d78eef ("bpf: disallow arithmetic operations on context pointer")
interacting with
61bd5218eef34 ("bpf: move global verifier log into verifier environment")