[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2fea1ce0-0818-69b2-1fc1-03e624f56ceb@gmail.com>
Date: Tue, 15 Feb 2022 14:33:44 +0100
From: Bodo Stroesser <bostroesser@...il.com>
To: kernel test robot <lkp@...el.com>,
Guixin Liu <kanie@...ux.alibaba.com>,
martin.petersen@...cle.com
Cc: kbuild-all@...ts.01.org, linux-scsi@...r.kernel.org,
target-devel@...r.kernel.org, linux-kernel@...r.kernel.org,
xiaoguang.wang@...ux.alibaba.com, xlpang@...ux.alibaba.com
Subject: Re: [PATCH V3] scsi: target: tcmu: Make cmd_ring_size changeable via
configfs.
Hi Liu,
since CMDR_OFF is defined as "sizeof(struct tcmu_mailbox)", we could
fix the warning by using %z. OTOH, the fields cmdr_off and cmdr_size
in struct tcmu_mailbox are defined as u32, as well as cmdr_size in
struct tcmu_dev.
So I think we should add a cast to u32 in the definition of CMDR_OFF.
That should allow us to use %u on all architectures. Additionally
it avoids expansion to long during calculations where CMDR_OFF is
involved.
Btw: in my comments I asked you to remove the "\n" in the sprintf for
DataPagesPerBlk. But of course we need a space instead to allow
proper parsing of the output.
Bodo
On 15.02.22 14:05, kernel test robot wrote:
> Hi Guixin,
>
> Thank you for the patch! Perhaps something to improve:
>
> [auto build test WARNING on mkp-scsi/for-next]
> [also build test WARNING on v5.17-rc4 next-20220215]
> [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]
>
> url: https://github.com/0day-ci/linux/commits/Guixin-Liu/scsi-target-tcmu-Make-cmd_ring_size-changeable-via-configfs/20220215-160505
> base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next
> config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20220215/202202152052.AEF7jHIH-lkp@intel.com/config)
> compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
> reproduce (this is a W=1 build):
> # https://github.com/0day-ci/linux/commit/7f77700542b8196c546ef10656dda7a107d8d1ad
> git remote add linux-review https://github.com/0day-ci/linux
> git fetch --no-tags linux-review Guixin-Liu/scsi-target-tcmu-Make-cmd_ring_size-changeable-via-configfs/20220215-160505
> git checkout 7f77700542b8196c546ef10656dda7a107d8d1ad
> # save the config file to linux build tree
> mkdir build_dir
> make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/target/
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@...el.com>
>
> All warnings (new ones prefixed by >>):
>
> drivers/target/target_core_user.c: In function 'tcmu_show_configfs_dev_params':
>>> drivers/target/target_core_user.c:2627:41: warning: format '%u' expects argument of type 'unsigned int', but argument 3 has type 'long unsigned int' [-Wformat=]
> 2627 | bl += sprintf(b + bl, "CmdRingSizeMB: %u\n",
> | ~^
> | |
> | unsigned int
> | %lu
> 2628 | (udev->cmdr_size + CMDR_OFF) >> 20);
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | |
> | long unsigned int
> drivers/target/target_core_user.c: In function 'tcmu_cmd_ring_size_mb_show':
> drivers/target/target_core_user.c:2743:37: warning: format '%u' expects argument of type 'unsigned int', but argument 4 has type 'long unsigned int' [-Wformat=]
> 2743 | return snprintf(page, PAGE_SIZE, "%u\n",
> | ~^
> | |
> | unsigned int
> | %lu
> 2744 | (udev->cmdr_size + CMDR_OFF) >> 20);
> | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> | |
> | long unsigned int
>
>
> vim +2627 drivers/target/target_core_user.c
>
> 2616
> 2617 static ssize_t tcmu_show_configfs_dev_params(struct se_device *dev, char *b)
> 2618 {
> 2619 struct tcmu_dev *udev = TCMU_DEV(dev);
> 2620 ssize_t bl = 0;
> 2621
> 2622 bl = sprintf(b + bl, "Config: %s ",
> 2623 udev->dev_config[0] ? udev->dev_config : "NULL");
> 2624 bl += sprintf(b + bl, "Size: %llu ", udev->dev_size);
> 2625 bl += sprintf(b + bl, "MaxDataAreaMB: %u ", udev->data_area_mb);
> 2626 bl += sprintf(b + bl, "DataPagesPerBlk: %u", udev->data_pages_per_blk);
>> 2627 bl += sprintf(b + bl, "CmdRingSizeMB: %u\n",
> 2628 (udev->cmdr_size + CMDR_OFF) >> 20);
> 2629
> 2630 return bl;
> 2631 }
> 2632
>
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Powered by blists - more mailing lists