Re: [PATCH trival 1/2] bpf: clean up put_cpu_var usage

From: Daniel Borkmann
Date: Tue Sep 27 2016 - 06:53:22 EST


Shaohua,

On 09/27/2016 01:51 AM, Alexei Starovoitov wrote:
On Mon, Sep 26, 2016 at 11:14:50AM -0700, Shaohua Li wrote:
put_cpu_var takes the percpu data, not the data returned from
get_cpu_var.

This doesn't change the behavior.

Cc: Tejun Heo <tj@xxxxxxxxxx>
Cc: Alexei Starovoitov <ast@xxxxxxxxxx>
Signed-off-by: Shaohua Li <shli@xxxxxx>

Looks good. Nice catch.
Please rebase to net-next tree and send it to netdev list.

+1

Otherwise we'll have conflicts at the time of the merge window.

While you're at it, the same kind of cleanup can be done for
prandom_u32() and prandom_bytes(), so you could either squash
that into this patch as well or make it two patches. Both for
netdev.

Thanks,
Daniel

---
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 03fd23d..b73913b 100644
--- a/kernel/bpf/core.c
+++ b/kernel/bpf/core.c
@@ -1031,7 +1031,7 @@ u64 bpf_user_rnd_u32(u64 r1, u64 r2, u64 r3, u64 r4, u64 r5)

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