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

Reply via email to