Messages in this thread | | | Date | Mon, 6 Dec 2021 16:18:10 +0300 | From | Dan Carpenter <> | Subject | drivers/mtd/parsers/ofpart_bcm4908.c:41 bcm4908_partitions_fw_offset() warn: should 'offset << 10' be a 64 bit type? |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 5f58da2befa58edf3a70b91ed87ed9bf77f1e70e commit: bb17230c61a6424b622e92006ec52ba23aa5a967 mtd: parsers: ofpart: support BCM4908 fixed partitions date: 9 months ago config: nios2-randconfig-m031-20211202 (https://download.01.org/0day-ci/archive/20211204/202112040342.AvFc4SDJ-lkp@intel.com/config) compiler: nios2-linux-gcc (GCC) 11.2.0
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings: drivers/mtd/parsers/ofpart_bcm4908.c:41 bcm4908_partitions_fw_offset() warn: should 'offset << 10' be a 64 bit type?
vim +41 drivers/mtd/parsers/ofpart_bcm4908.c
bb17230c61a642 Rafał Miłecki 2021-03-01 17 static long long bcm4908_partitions_fw_offset(void) ^^^^^^^^^ This is long long.
bb17230c61a642 Rafał Miłecki 2021-03-01 18 { bb17230c61a642 Rafał Miłecki 2021-03-01 19 struct device_node *root; bb17230c61a642 Rafał Miłecki 2021-03-01 20 struct property *prop; bb17230c61a642 Rafał Miłecki 2021-03-01 21 const char *s; bb17230c61a642 Rafał Miłecki 2021-03-01 22 bb17230c61a642 Rafał Miłecki 2021-03-01 23 root = of_find_node_by_path("/"); bb17230c61a642 Rafał Miłecki 2021-03-01 24 if (!root) bb17230c61a642 Rafał Miłecki 2021-03-01 25 return -ENOENT; bb17230c61a642 Rafał Miłecki 2021-03-01 26 bb17230c61a642 Rafał Miłecki 2021-03-01 27 of_property_for_each_string(root, "brcm_blparms", prop, s) { bb17230c61a642 Rafał Miłecki 2021-03-01 28 size_t len = strlen(BLPARAMS_FW_OFFSET); bb17230c61a642 Rafał Miłecki 2021-03-01 29 unsigned long offset; bb17230c61a642 Rafał Miłecki 2021-03-01 30 int err; bb17230c61a642 Rafał Miłecki 2021-03-01 31 bb17230c61a642 Rafał Miłecki 2021-03-01 32 if (strncmp(s, BLPARAMS_FW_OFFSET, len) || s[len] != '=') bb17230c61a642 Rafał Miłecki 2021-03-01 33 continue; bb17230c61a642 Rafał Miłecki 2021-03-01 34 bb17230c61a642 Rafał Miłecki 2021-03-01 35 err = kstrtoul(s + len + 1, 0, &offset); bb17230c61a642 Rafał Miłecki 2021-03-01 36 if (err) { bb17230c61a642 Rafał Miłecki 2021-03-01 37 pr_err("failed to parse %s\n", s + len + 1); bb17230c61a642 Rafał Miłecki 2021-03-01 38 return err; bb17230c61a642 Rafał Miłecki 2021-03-01 39 } bb17230c61a642 Rafał Miłecki 2021-03-01 40 bb17230c61a642 Rafał Miłecki 2021-03-01 @41 return offset << 10; ^^^^^^^^^^^^ So this should be long long. Although 32bit systems are not really common in real life any more...
bb17230c61a642 Rafał Miłecki 2021-03-01 42 } bb17230c61a642 Rafał Miłecki 2021-03-01 43 bb17230c61a642 Rafał Miłecki 2021-03-01 44 return -ENOENT; bb17230c61a642 Rafał Miłecki 2021-03-01 45 }
--- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
| |