[ammarfaizi2-block:rostedt/linux-trace/for-next 22/32] kernel/trace/trace_events_user.c:392:38: sparse: sparse: Using plain integer as NULL pointer

From: kernel test robot
Date: Mon Feb 21 2022 - 06:27:04 EST


tree: https://github.com/ammarfaizi2/linux-block rostedt/linux-trace/for-next
head: 864ea0e10cc90416a01b46f0d47a6f26dc020820
commit: aa3b2b4c669205200615dd8a2cc4af4f81fd0335 [22/32] user_events: Add print_fmt generation support for basic types
config: x86_64-randconfig-s032-20220221 (https://download.01.org/0day-ci/archive/20220221/202202211917.j3vO1UWa-lkp@xxxxxxxxx/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://github.com/ammarfaizi2/linux-block/commit/aa3b2b4c669205200615dd8a2cc4af4f81fd0335
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block rostedt/linux-trace/for-next
git checkout aa3b2b4c669205200615dd8a2cc4af4f81fd0335
# save the config file to linux build tree
mkdir build_dir
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=x86_64 SHELL=/bin/bash kernel/trace/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>


sparse warnings: (new ones prefixed by >>)
>> kernel/trace/trace_events_user.c:392:38: sparse: sparse: Using plain integer as NULL pointer
kernel/trace/trace_events_user.c:413:40: sparse: sparse: Using plain integer as NULL pointer
kernel/trace/trace_events_user.c:858:16: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/trace/trace_events_user.c:858:16: sparse: void [noderef] __rcu *
kernel/trace/trace_events_user.c:858:16: sparse: void *
kernel/trace/trace_events_user.c:922:13: sparse: sparse: cast removes address space '__user' of expression
kernel/trace/trace_events_user.c:922:13: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void [noderef] __user *buf @@ got char * @@
kernel/trace/trace_events_user.c:922:13: sparse: expected void [noderef] __user *buf
kernel/trace/trace_events_user.c:922:13: sparse: got char *
kernel/trace/trace_events_user.c:938:16: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/trace/trace_events_user.c:938:16: sparse: void [noderef] __rcu *
kernel/trace/trace_events_user.c:938:16: sparse: void *
kernel/trace/trace_events_user.c:965:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/trace/trace_events_user.c:965:9: sparse: void [noderef] __rcu *
kernel/trace/trace_events_user.c:965:9: sparse: void *

vim +392 kernel/trace/trace_events_user.c

361
362 static const char *user_field_format(const char *type)
363 {
364 if (strcmp(type, "s64") == 0)
365 return "%lld";
366 if (strcmp(type, "u64") == 0)
367 return "%llu";
368 if (strcmp(type, "s32") == 0)
369 return "%d";
370 if (strcmp(type, "u32") == 0)
371 return "%u";
372 if (strcmp(type, "int") == 0)
373 return "%d";
374 if (strcmp(type, "unsigned int") == 0)
375 return "%u";
376 if (strcmp(type, "s16") == 0)
377 return "%d";
378 if (strcmp(type, "u16") == 0)
379 return "%u";
380 if (strcmp(type, "short") == 0)
381 return "%d";
382 if (strcmp(type, "unsigned short") == 0)
383 return "%u";
384 if (strcmp(type, "s8") == 0)
385 return "%d";
386 if (strcmp(type, "u8") == 0)
387 return "%u";
388 if (strcmp(type, "char") == 0)
389 return "%d";
390 if (strcmp(type, "unsigned char") == 0)
391 return "%u";
> 392 if (strstr(type, "char[") != 0)
393 return "%s";
394
395 /* Unknown, likely struct, allowed treat as 64-bit */
396 return "%llu";
397 }
398

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx