lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Sat, 16 Jul 2022 07:27:25 +0800
From:   kernel test robot <lkp@...el.com>
To:     Beau Belgrave <beaub@...ux.microsoft.com>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org,
        "Steven Rostedt (Google)" <rostedt@...dmis.org>
Subject: kernel/trace/trace_events_user.c:392:38: sparse: sparse: Using plain
 integer as NULL pointer

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   9b59ec8d50a1f28747ceff9a4f39af5deba9540e
commit: aa3b2b4c669205200615dd8a2cc4af4f81fd0335 user_events: Add print_fmt generation support for basic types
date:   5 months ago
config: sparc64-randconfig-s031-20220716 (https://download.01.org/0day-ci/archive/20220716/202207160723.D8leglO3-lkp@intel.com/config)
compiler: sparc64-linux-gcc (GCC) 12.1.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.4-39-gce1a6720-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=aa3b2b4c669205200615dd8a2cc4af4f81fd0335
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout aa3b2b4c669205200615dd8a2cc4af4f81fd0335
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=sparc64 SHELL=/bin/bash drivers/usb/gadget/function/ drivers/virtio/ kernel/trace/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@...el.com>


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
https://01.org/lkp

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ