bpf: Fix compiler warning on info.map_ids for 32bit platform
authorMartin KaFai Lau <[email protected]>
Fri, 29 Sep 2017 17:52:17 +0000 (10:52 -0700)
committerDavid S. Miller <[email protected]>
Sun, 1 Oct 2017 03:09:42 +0000 (04:09 +0100)
This patch uses u64_to_user_ptr() to cast info.map_ids to a userspace ptr.
It also tags the user_map_ids with '__user' for sparse check.

Fixes: cb4d2b3f03d8 ("bpf: Add name, load_time, uid and map_ids to bpf_prog_info")
Signed-off-by: Martin KaFai Lau <[email protected]>
Acked-by: Daniel Borkmann <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
kernel/bpf/syscall.c

index 11a7f82a55d19c67dc71a59b99663bf90f89e6ab..b927da66f653f47e3193fbf430577a072bc6b606 100644 (file)
@@ -1405,7 +1405,7 @@ static int bpf_prog_get_info_by_fd(struct bpf_prog *prog,
        info.nr_map_ids = prog->aux->used_map_cnt;
        ulen = min_t(u32, info.nr_map_ids, ulen);
        if (ulen) {
-               u32 *user_map_ids = (u32 *)info.map_ids;
+               u32 __user *user_map_ids = u64_to_user_ptr(info.map_ids);
                u32 i;
 
                for (i = 0; i < ulen; i++)