diff mbox series

[bpf-next] bpf: Fix distinct pointer types warning for ARCH=i386

Message ID 20190412230101.2836689-1-rdna@fb.com
State Accepted
Delegated to: BPF Maintainers
Headers show
Series [bpf-next] bpf: Fix distinct pointer types warning for ARCH=i386 | expand

Commit Message

Andrey Ignatov April 12, 2019, 11:01 p.m. UTC
Fix a new warning reported by kbuild for make ARCH=i386:

   In file included from kernel/bpf/cgroup.c:11:0:
   kernel/bpf/cgroup.c: In function '__cgroup_bpf_run_filter_sysctl':
   include/linux/kernel.h:827:29: warning: comparison of distinct pointer types lacks a cast
      (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
                                ^
   include/linux/kernel.h:841:4: note: in expansion of macro '__typecheck'
      (__typecheck(x, y) && __no_side_effects(x, y))
       ^~~~~~~~~~~
   include/linux/kernel.h:851:24: note: in expansion of macro '__safe_cmp'
     __builtin_choose_expr(__safe_cmp(x, y), \
                           ^~~~~~~~~~
   include/linux/kernel.h:860:19: note: in expansion of macro '__careful_cmp'
    #define min(x, y) __careful_cmp(x, y, <)
                      ^~~~~~~~~~~~~
>> kernel/bpf/cgroup.c:837:17: note: in expansion of macro 'min'
      ctx.new_len = min(PAGE_SIZE, *pcount);
                    ^~~

Fixes: 4e63acdff864 ("bpf: Introduce bpf_sysctl_{get,set}_new_value helpers")
Signed-off-by: Andrey Ignatov <rdna@fb.com>
---
 kernel/bpf/cgroup.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Alexei Starovoitov April 12, 2019, 11:14 p.m. UTC | #1
On Fri, Apr 12, 2019 at 4:01 PM Andrey Ignatov <rdna@fb.com> wrote:
>
> Fix a new warning reported by kbuild for make ARCH=i386:
>
>    In file included from kernel/bpf/cgroup.c:11:0:
>    kernel/bpf/cgroup.c: In function '__cgroup_bpf_run_filter_sysctl':
>    include/linux/kernel.h:827:29: warning: comparison of distinct pointer types lacks a cast
>       (!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
>                                 ^
>    include/linux/kernel.h:841:4: note: in expansion of macro '__typecheck'
>       (__typecheck(x, y) && __no_side_effects(x, y))
>        ^~~~~~~~~~~
>    include/linux/kernel.h:851:24: note: in expansion of macro '__safe_cmp'
>      __builtin_choose_expr(__safe_cmp(x, y), \
>                            ^~~~~~~~~~
>    include/linux/kernel.h:860:19: note: in expansion of macro '__careful_cmp'
>     #define min(x, y) __careful_cmp(x, y, <)
>                       ^~~~~~~~~~~~~
> >> kernel/bpf/cgroup.c:837:17: note: in expansion of macro 'min'
>       ctx.new_len = min(PAGE_SIZE, *pcount);
>                     ^~~
>
> Fixes: 4e63acdff864 ("bpf: Introduce bpf_sysctl_{get,set}_new_value helpers")
> Signed-off-by: Andrey Ignatov <rdna@fb.com>

Applied. Thanks for the quick fix.
diff mbox series

Patch

diff --git a/kernel/bpf/cgroup.c b/kernel/bpf/cgroup.c
index 789d4ab2336e..e58a6c247f56 100644
--- a/kernel/bpf/cgroup.c
+++ b/kernel/bpf/cgroup.c
@@ -839,7 +839,7 @@  int __cgroup_bpf_run_filter_sysctl(struct ctl_table_header *head,
 		 * buffer bigger than provided by user.
 		 */
 		ctx.new_val = kmalloc_track_caller(PAGE_SIZE, GFP_KERNEL);
-		ctx.new_len = min(PAGE_SIZE, *pcount);
+		ctx.new_len = min_t(size_t, PAGE_SIZE, *pcount);
 		if (!ctx.new_val ||
 		    copy_from_user(ctx.new_val, buf, ctx.new_len))
 			/* Let BPF program decide how to proceed. */