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>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202304201037.YqeNgQrk-lkp@intel.com>
Date:   Thu, 20 Apr 2023 10:35:15 +0800
From:   kernel test robot <lkp@...el.com>
To:     Anup Sharma <anupnewsmail@...il.com>, zbr@...emap.net
Cc:     oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] drivers: w1: slaves: Drop unnecessary explicit casting

Hi Anup,

kernel test robot noticed the following build warnings:

[auto build test WARNING on linus/master]
[also build test WARNING on v6.3-rc7 next-20230419]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Anup-Sharma/drivers-w1-slaves-Drop-unnecessary-explicit-casting/20230420-082340
patch link:    https://lore.kernel.org/r/ZECFjQMLwnoYPMeL%40yoga
patch subject: [PATCH] drivers: w1: slaves: Drop unnecessary explicit casting
config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20230420/202304201037.YqeNgQrk-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/intel-lab-lkp/linux/commit/211461ea088a31e3a084fd539e243c9d32db3cb6
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Anup-Sharma/drivers-w1-slaves-Drop-unnecessary-explicit-casting/20230420-082340
        git checkout 211461ea088a31e3a084fd539e243c9d32db3cb6
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k SHELL=/bin/bash drivers/w1/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202304201037.YqeNgQrk-lkp@intel.com/

All warnings (new ones prefixed by >>):

   In file included from include/linux/device.h:15,
                    from drivers/w1/slaves/w1_ds2433.c:11:
   drivers/w1/slaves/w1_ds2433.c: In function 'eeprom_write':
>> drivers/w1/slaves/w1_ds2433.c:216:35: warning: format '%p' expects argument of type 'void *', but argument 3 has type 'loff_t' {aka 'long long int'} [-Wformat=]
     216 |                 dev_err(&sl->dev, "invalid offset/count off=%pe cnt=%zd\n",
         |                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/dev_printk.h:110:30: note: in definition of macro 'dev_printk_index_wrap'
     110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
         |                              ^~~
   include/linux/dev_printk.h:144:56: note: in expansion of macro 'dev_fmt'
     144 |         dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
         |                                                        ^~~~~~~
   drivers/w1/slaves/w1_ds2433.c:216:17: note: in expansion of macro 'dev_err'
     216 |                 dev_err(&sl->dev, "invalid offset/count off=%pe cnt=%zd\n",
         |                 ^~~~~~~
   drivers/w1/slaves/w1_ds2433.c:216:62: note: format string is defined here
     216 |                 dev_err(&sl->dev, "invalid offset/count off=%pe cnt=%zd\n",
         |                                                             ~^
         |                                                              |
         |                                                              void *
         |                                                             %lld
   drivers/w1/slaves/w1_ds2433.c:224:43: warning: format '%p' expects argument of type 'void *', but argument 3 has type 'loff_t' {aka 'long long int'} [-Wformat=]
     224 |                         dev_err(&sl->dev, "bad CRC at offset %pe\n", off);
         |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/dev_printk.h:110:30: note: in definition of macro 'dev_printk_index_wrap'
     110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
         |                              ^~~
   include/linux/dev_printk.h:144:56: note: in expansion of macro 'dev_fmt'
     144 |         dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
         |                                                        ^~~~~~~
   drivers/w1/slaves/w1_ds2433.c:224:25: note: in expansion of macro 'dev_err'
     224 |                         dev_err(&sl->dev, "bad CRC at offset %pe\n", off);
         |                         ^~~~~~~
   drivers/w1/slaves/w1_ds2433.c:224:63: note: format string is defined here
     224 |                         dev_err(&sl->dev, "bad CRC at offset %pe\n", off);
         |                                                              ~^
         |                                                               |
         |                                                               void *
         |                                                              %lld
--
   In file included from include/linux/device.h:15,
                    from drivers/w1/slaves/w1_ds28e04.c:11:
   drivers/w1/slaves/w1_ds28e04.c: In function 'eeprom_write':
>> drivers/w1/slaves/w1_ds28e04.c:237:43: warning: format '%p' expects argument of type 'void *', but argument 3 has type 'loff_t' {aka 'long long int'} [-Wformat=]
     237 |                         dev_err(&sl->dev, "invalid offset/count off=%pe cnt=%zd\n",
         |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/dev_printk.h:110:30: note: in definition of macro 'dev_printk_index_wrap'
     110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
         |                              ^~~
   include/linux/dev_printk.h:144:56: note: in expansion of macro 'dev_fmt'
     144 |         dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
         |                                                        ^~~~~~~
   drivers/w1/slaves/w1_ds28e04.c:237:25: note: in expansion of macro 'dev_err'
     237 |                         dev_err(&sl->dev, "invalid offset/count off=%pe cnt=%zd\n",
         |                         ^~~~~~~
   drivers/w1/slaves/w1_ds28e04.c:237:70: note: format string is defined here
     237 |                         dev_err(&sl->dev, "invalid offset/count off=%pe cnt=%zd\n",
         |                                                                     ~^
         |                                                                      |
         |                                                                      void *
         |                                                                     %lld
   drivers/w1/slaves/w1_ds28e04.c:246:51: warning: format '%p' expects argument of type 'void *', but argument 3 has type 'loff_t' {aka 'long long int'} [-Wformat=]
     246 |                                 dev_err(&sl->dev, "bad CRC at offset %pe\n",
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/dev_printk.h:110:30: note: in definition of macro 'dev_printk_index_wrap'
     110 |                 _p_func(dev, fmt, ##__VA_ARGS__);                       \
         |                              ^~~
   include/linux/dev_printk.h:144:56: note: in expansion of macro 'dev_fmt'
     144 |         dev_printk_index_wrap(_dev_err, KERN_ERR, dev, dev_fmt(fmt), ##__VA_ARGS__)
         |                                                        ^~~~~~~
   drivers/w1/slaves/w1_ds28e04.c:246:33: note: in expansion of macro 'dev_err'
     246 |                                 dev_err(&sl->dev, "bad CRC at offset %pe\n",
         |                                 ^~~~~~~
   drivers/w1/slaves/w1_ds28e04.c:246:71: note: format string is defined here
     246 |                                 dev_err(&sl->dev, "bad CRC at offset %pe\n",
         |                                                                      ~^
         |                                                                       |
         |                                                                       void *
         |                                                                      %lld


vim +216 drivers/w1/slaves/w1_ds2433.c

   202	
   203	static ssize_t eeprom_write(struct file *filp, struct kobject *kobj,
   204				    struct bin_attribute *bin_attr, char *buf,
   205				    loff_t off, size_t count)
   206	{
   207		struct w1_slave *sl = kobj_to_w1_slave(kobj);
   208		int addr, len, idx;
   209	
   210		if ((count = w1_f23_fix_count(off, count, W1_EEPROM_SIZE)) == 0)
   211			return 0;
   212	
   213	#ifdef CONFIG_W1_SLAVE_DS2433_CRC
   214		/* can only write full blocks in cached mode */
   215		if ((off & W1_PAGE_MASK) || (count & W1_PAGE_MASK)) {
 > 216			dev_err(&sl->dev, "invalid offset/count off=%pe cnt=%zd\n",
   217				off, count);
   218			return -EINVAL;
   219		}
   220	
   221		/* make sure the block CRCs are valid */
   222		for (idx = 0; idx < count; idx += W1_PAGE_SIZE) {
   223			if (crc16(CRC16_INIT, &buf[idx], W1_PAGE_SIZE) != CRC16_VALID) {
   224				dev_err(&sl->dev, "bad CRC at offset %pe\n", off);
   225				return -EINVAL;
   226			}
   227		}
   228	#endif	/* CONFIG_W1_SLAVE_DS2433_CRC */
   229	
   230		mutex_lock(&sl->master->bus_mutex);
   231	
   232		/* Can only write data to one page at a time */
   233		idx = 0;
   234		while (idx < count) {
   235			addr = off + idx;
   236			len = W1_PAGE_SIZE - (addr & W1_PAGE_MASK);
   237			if (len > (count - idx))
   238				len = count - idx;
   239	
   240			if (w1_f23_write(sl, addr, len, &buf[idx]) < 0) {
   241				count = -EIO;
   242				goto out_up;
   243			}
   244			idx += len;
   245		}
   246	
   247	out_up:
   248		mutex_unlock(&sl->master->bus_mutex);
   249	
   250		return count;
   251	}
   252	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ