All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-next:master 10391/10906] drivers/scsi/mpi3mr/mpi3mr_os.c:389:40: warning: cast from pointer to integer of different size
@ 2022-07-17 19:06 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-07-17 19:06 UTC (permalink / raw)
  To: Sreekanth Reddy
  Cc: kbuild-all, Linux Memory Management List, Martin K. Petersen

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   6014cfa5bf32cf8c5c58b3cfd5ee0e1542c8a825
commit: c196bc4dce42bdcc2c69ec106d176f427c56003a [10391/10906] scsi: mpi3mr: Reduce VD queue depth on detecting throttling
config: csky-allyesconfig (https://download.01.org/0day-ci/archive/20220718/202207180253.NWBbnISq-lkp@intel.com/config)
compiler: csky-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://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=c196bc4dce42bdcc2c69ec106d176f427c56003a
        git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
        git fetch --no-tags linux-next master
        git checkout c196bc4dce42bdcc2c69ec106d176f427c56003a
        # 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=csky SHELL=/bin/bash drivers/gpu/drm/amd/amdgpu/ drivers/net/vmxnet3/ drivers/scsi/mpi3mr/

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

All warnings (new ones prefixed by >>):

   drivers/scsi/mpi3mr/mpi3mr_os.c: In function 'mpi3mr_queue_qd_reduction_event':
>> drivers/scsi/mpi3mr/mpi3mr_os.c:389:40: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
     389 |         *(__le64 *)fwevt->event_data = (__le64)tg;
         |                                        ^
   drivers/scsi/mpi3mr/mpi3mr_os.c: In function 'mpi3mr_fwevt_bh':
>> drivers/scsi/mpi3mr/mpi3mr_os.c:1663:22: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    1663 |                 tg = (struct mpi3mr_throttle_group_info *)
         |                      ^
   drivers/scsi/mpi3mr/mpi3mr_os.c: In function 'mpi3mr_queue_qd_reduction_event':
   drivers/scsi/mpi3mr/mpi3mr_os.c:389:9: warning: array subscript '__le64 {aka long long unsigned int}[9]' is partly outside array bounds of 'unsigned char[76]' [-Warray-bounds]
     389 |         *(__le64 *)fwevt->event_data = (__le64)tg;
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/fs.h:45,
                    from include/linux/highmem.h:5,
                    from include/linux/bvec.h:10,
                    from include/linux/blk_types.h:10,
                    from include/linux/blkdev.h:9,
                    from drivers/scsi/mpi3mr/mpi3mr.h:13,
                    from drivers/scsi/mpi3mr/mpi3mr_os.c:10:
   In function 'kmalloc',
       inlined from 'kzalloc' at include/linux/slab.h:733:9,
       inlined from 'mpi3mr_alloc_fwevt' at drivers/scsi/mpi3mr/mpi3mr_os.c:198:10,
       inlined from 'mpi3mr_queue_qd_reduction_event' at drivers/scsi/mpi3mr/mpi3mr_os.c:384:10:
   include/linux/slab.h:600:24: note: at offset 72 into object of size 76 allocated by 'kmem_cache_alloc_trace'
     600 |                 return kmem_cache_alloc_trace(
         |                        ^~~~~~~~~~~~~~~~~~~~~~~
     601 |                                 kmalloc_caches[kmalloc_type(flags)][index],
         |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     602 |                                 flags, size);
         |                                 ~~~~~~~~~~~~


vim +389 drivers/scsi/mpi3mr/mpi3mr_os.c

   358	
   359	/**
   360	 * mpi3mr_queue_qd_reduction_event - Queue TG QD reduction event
   361	 * @mrioc: Adapter instance reference
   362	 * @tg: Throttle group information pointer
   363	 *
   364	 * Accessor to queue on synthetically generated driver event to
   365	 * the event worker thread, the driver event will be used to
   366	 * reduce the QD of all VDs in the TG from the worker thread.
   367	 *
   368	 * Return: None.
   369	 */
   370	static void mpi3mr_queue_qd_reduction_event(struct mpi3mr_ioc *mrioc,
   371		struct mpi3mr_throttle_group_info *tg)
   372	{
   373		struct mpi3mr_fwevt *fwevt;
   374		u16 sz = sizeof(struct mpi3mr_throttle_group_info *);
   375	
   376		/*
   377		 * If the QD reduction event is already queued due to throttle and if
   378		 * the QD is not restored through device info change event
   379		 * then dont queue further reduction events
   380		 */
   381		if (tg->fw_qd != tg->modified_qd)
   382			return;
   383	
   384		fwevt = mpi3mr_alloc_fwevt(sz);
   385		if (!fwevt) {
   386			ioc_warn(mrioc, "failed to queue TG QD reduction event\n");
   387			return;
   388		}
 > 389		*(__le64 *)fwevt->event_data = (__le64)tg;
   390		fwevt->mrioc = mrioc;
   391		fwevt->event_id = MPI3MR_DRIVER_EVENT_TG_QD_REDUCTION;
   392		fwevt->send_ack = 0;
   393		fwevt->process_evt = 1;
   394		fwevt->evt_ctx = 0;
   395		fwevt->event_data_size = sz;
   396		tg->modified_qd = max_t(u16, (tg->fw_qd * tg->qd_reduction) / 10, 8);
   397	
   398		dprint_event_bh(mrioc, "qd reduction event queued for tg_id(%d)\n",
   399		    tg->id);
   400		mpi3mr_fwevt_add_to_list(mrioc, fwevt);
   401	}
   402	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-07-17 19:07 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-17 19:06 [linux-next:master 10391/10906] drivers/scsi/mpi3mr/mpi3mr_os.c:389:40: warning: cast from pointer to integer of different size kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.