put_cpu_var takes the percpu data, not the data returned from get_cpu_var. This doesn't change the behavior.
Cc: Tejun Heo <t...@kernel.org> Cc: Alexei Starovoitov <a...@kernel.org> Signed-off-by: Shaohua Li <s...@fb.com> --- kernel/bpf/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/bpf/core.c b/kernel/bpf/core.c index 7b7baae..aa6d981 100644 --- a/kernel/bpf/core.c +++ b/kernel/bpf/core.c @@ -1031,7 +1031,7 @@ BPF_CALL_0(bpf_user_rnd_u32) state = &get_cpu_var(bpf_user_rnd_state); res = prandom_u32_state(state); - put_cpu_var(state); + put_cpu_var(bpf_user_rnd_state); return res; } -- 2.9.3