* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox