[vkoul-dmaengine:topic/tasklet 66/81] drivers/dma/pl330.c:2487:16: warning: passing argument 1 of 'pl330_tasklet' makes pointer from integer without a cast
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git topic/tasklet
head: 59cd818763e8b12e85f28e27fa0a6821faf45660
commit: ab2a98ae4105d805383f840c54fabbb6560e2fc7 [66/81] dmaengine: pl330: convert tasklets to use new tasklet_setup() API
config: arm64-randconfig-r006-20200918 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.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
git checkout ab2a98ae4105d805383f840c54fabbb6560e2fc7
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/dma/pl330.c: In function 'pl330_issue_pending':
>> drivers/dma/pl330.c:2487:16: warning: passing argument 1 of 'pl330_tasklet' makes pointer from integer without a cast [-Wint-conversion]
2487 | pl330_tasklet((unsigned long)pch);
| ^~~~~~~~~~~~~~~~~~
| |
| long unsigned int
drivers/dma/pl330.c:2065:50: note: expected 'struct tasklet_struct *' but argument is of type 'long unsigned int'
2065 | static void pl330_tasklet(struct tasklet_struct *t)
| ~~~~~~~~~~~~~~~~~~~~~~~^
# https://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git/commi...
git remote add vkoul-dmaengine https://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git
git fetch --no-tags vkoul-dmaengine topic/tasklet
git checkout ab2a98ae4105d805383f840c54fabbb6560e2fc7
vim +/pl330_tasklet +2487 drivers/dma/pl330.c
b3040e40675ec2c Jassi Brar 2010-05-23 2467
b3040e40675ec2c Jassi Brar 2010-05-23 2468 static void pl330_issue_pending(struct dma_chan *chan)
b3040e40675ec2c Jassi Brar 2010-05-23 2469 {
04abf5daf7df852 Lars-Peter Clausen 2014-01-11 2470 struct dma_pl330_chan *pch = to_pchan(chan);
04abf5daf7df852 Lars-Peter Clausen 2014-01-11 2471 unsigned long flags;
04abf5daf7df852 Lars-Peter Clausen 2014-01-11 2472
04abf5daf7df852 Lars-Peter Clausen 2014-01-11 2473 spin_lock_irqsave(&pch->lock, flags);
ae43b3289186480 Krzysztof Kozlowski 2014-11-14 2474 if (list_empty(&pch->work_list)) {
ae43b3289186480 Krzysztof Kozlowski 2014-11-14 2475 /*
ae43b3289186480 Krzysztof Kozlowski 2014-11-14 2476 * Warn on nothing pending. Empty submitted_list may
ae43b3289186480 Krzysztof Kozlowski 2014-11-14 2477 * break our pm_runtime usage counter as it is
ae43b3289186480 Krzysztof Kozlowski 2014-11-14 2478 * updated on work_list emptiness status.
ae43b3289186480 Krzysztof Kozlowski 2014-11-14 2479 */
ae43b3289186480 Krzysztof Kozlowski 2014-11-14 2480 WARN_ON(list_empty(&pch->submitted_list));
5c9e6c2b2ba3ec3 Marek Szyprowski 2016-12-16 2481 pch->active = true;
ae43b3289186480 Krzysztof Kozlowski 2014-11-14 2482 pm_runtime_get_sync(pch->dmac->ddma.dev);
ae43b3289186480 Krzysztof Kozlowski 2014-11-14 2483 }
04abf5daf7df852 Lars-Peter Clausen 2014-01-11 2484 list_splice_tail_init(&pch->submitted_list, &pch->work_list);
04abf5daf7df852 Lars-Peter Clausen 2014-01-11 2485 spin_unlock_irqrestore(&pch->lock, flags);
04abf5daf7df852 Lars-Peter Clausen 2014-01-11 2486
04abf5daf7df852 Lars-Peter Clausen 2014-01-11 @2487 pl330_tasklet((unsigned long)pch);
b3040e40675ec2c Jassi Brar 2010-05-23 2488 }
b3040e40675ec2c Jassi Brar 2010-05-23 2489
:::::: The code at line 2487 was first introduced by commit
:::::: 04abf5daf7df852566e5a4782d5954daa40e2542 dma: pl330: Differentiate between submitted and issued descriptors
:::::: TO: Lars-Peter Clausen <lars(a)metafoo.de>
:::::: CC: Vinod Koul <vinod.koul(a)intel.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
Re: [PATCH v16 2/2] drm/bridge: anx7625: Add anx7625 MIPI DSI/DPI to DP
by Dan Carpenter
Hi Xin,
url: https://github.com/0day-ci/linux/commits/Xin-Ji/Add-initial-support-for-s...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 5925fa68fe8244651b3f78a88c4af99190a88f0d
config: mips-randconfig-m031-20200917 (attached as .config)
compiler: mips-linux-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/gpu/drm/bridge/analogix/anx7625.c:1289 anx7625_get_edid() warn: possible memory leak of 'edid'
# https://github.com/0day-ci/linux/commit/667ee517c70d2bedafe5bfa0dc5f13fc6...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Xin-Ji/Add-initial-support-for-slimport-anx7625/20200917-163238
git checkout 667ee517c70d2bedafe5bfa0dc5f13fc60d5133d
vim +/edid +1289 drivers/gpu/drm/bridge/analogix/anx7625.c
667ee517c70d2be Xin Ji 2020-09-17 1264 static struct edid *anx7625_get_edid(struct anx7625_data *ctx)
667ee517c70d2be Xin Ji 2020-09-17 1265 {
667ee517c70d2be Xin Ji 2020-09-17 1266 struct device *dev = &ctx->client->dev;
667ee517c70d2be Xin Ji 2020-09-17 1267 struct s_edid_data *p_edid = &ctx->slimport_edid_p;
667ee517c70d2be Xin Ji 2020-09-17 1268 int edid_num;
667ee517c70d2be Xin Ji 2020-09-17 1269 u8 *edid;
667ee517c70d2be Xin Ji 2020-09-17 1270
667ee517c70d2be Xin Ji 2020-09-17 1271 edid = kmalloc(FOUR_BLOCK_SIZE, GFP_KERNEL);
667ee517c70d2be Xin Ji 2020-09-17 1272 if (!edid) {
667ee517c70d2be Xin Ji 2020-09-17 1273 DRM_DEV_ERROR(dev, "Fail to allocate buffer\n");
667ee517c70d2be Xin Ji 2020-09-17 1274 return NULL;
667ee517c70d2be Xin Ji 2020-09-17 1275 }
667ee517c70d2be Xin Ji 2020-09-17 1276
667ee517c70d2be Xin Ji 2020-09-17 1277 if (ctx->slimport_edid_p.edid_block_num > 0) {
667ee517c70d2be Xin Ji 2020-09-17 1278 memcpy(edid, ctx->slimport_edid_p.edid_raw_data,
667ee517c70d2be Xin Ji 2020-09-17 1279 FOUR_BLOCK_SIZE);
667ee517c70d2be Xin Ji 2020-09-17 1280 return (struct edid *)edid;
667ee517c70d2be Xin Ji 2020-09-17 1281 }
667ee517c70d2be Xin Ji 2020-09-17 1282
667ee517c70d2be Xin Ji 2020-09-17 1283 anx7625_low_power_mode_check(ctx, 1);
667ee517c70d2be Xin Ji 2020-09-17 1284 edid_num = sp_tx_edid_read(ctx, p_edid->edid_raw_data);
667ee517c70d2be Xin Ji 2020-09-17 1285 anx7625_low_power_mode_check(ctx, 0);
667ee517c70d2be Xin Ji 2020-09-17 1286
667ee517c70d2be Xin Ji 2020-09-17 1287 if (edid_num < 1) {
667ee517c70d2be Xin Ji 2020-09-17 1288 DRM_DEV_ERROR(dev, "Fail to read EDID: %d\n", edid_num);
667ee517c70d2be Xin Ji 2020-09-17 @1289 return NULL;
kfree(edid); before returning.
667ee517c70d2be Xin Ji 2020-09-17 1290 }
667ee517c70d2be Xin Ji 2020-09-17 1291
667ee517c70d2be Xin Ji 2020-09-17 1292 p_edid->edid_block_num = edid_num;
667ee517c70d2be Xin Ji 2020-09-17 1293
667ee517c70d2be Xin Ji 2020-09-17 1294 memcpy(edid, ctx->slimport_edid_p.edid_raw_data, FOUR_BLOCK_SIZE);
667ee517c70d2be Xin Ji 2020-09-17 1295 return (struct edid *)edid;
667ee517c70d2be Xin Ji 2020-09-17 1296 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
Re: [PATCH v2] regmap: debugfs: Fix handling of name string for debugfs init delays
by Dan Carpenter
Hi Charles,
url: https://github.com/0day-ci/linux/commits/Charles-Keepax/regmap-debugfs-Fi...
base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap.git for-next
config: x86_64-randconfig-m001-20200917 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
drivers/base/regmap/regmap.c:1177 __regmap_init() error: uninitialized symbol 'ret'.
drivers/base/regmap/regmap.c:1177 __regmap_init() warn: passing zero to 'ERR_PTR'
Old smatch warnings:
drivers/base/regmap/regmap.c:1901 _regmap_raw_write() error: uninitialized symbol 'ret'.
drivers/base/regmap/regmap.c:2685 regmap_raw_read() error: uninitialized symbol 'ret'.
# https://github.com/0day-ci/linux/commit/d1cea9a7b51682f9b773cf376db0fe146...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Charles-Keepax/regmap-debugfs-Fix-handling-of-name-string-for-debugfs-init-delays/20200917-204117
git checkout d1cea9a7b51682f9b773cf376db0fe14656869a7
vim +/ret +1177 drivers/base/regmap/regmap.c
afcc00b91f1865f Xiubo Li 2015-12-03 948
b83a313bf252018 Mark Brown 2011-05-11 949 default:
8698b9364710e7b Baolin Wang 2017-11-01 950 goto err_hwlock;
"ret" not set before the gotos and is uninitialized before the very
first gotos in the function.
b83a313bf252018 Mark Brown 2011-05-11 951 }
b83a313bf252018 Mark Brown 2011-05-11 952
8a819ff8abac9ad Mark Brown 2013-03-04 953 if (val_endian == REGMAP_ENDIAN_NATIVE)
8a819ff8abac9ad Mark Brown 2013-03-04 954 map->format.parse_inplace = regmap_parse_inplace_noop;
8a819ff8abac9ad Mark Brown 2013-03-04 955
b83a313bf252018 Mark Brown 2011-05-11 956 switch (config->val_bits) {
b83a313bf252018 Mark Brown 2011-05-11 957 case 8:
b83a313bf252018 Mark Brown 2011-05-11 958 map->format.format_val = regmap_format_8;
b83a313bf252018 Mark Brown 2011-05-11 959 map->format.parse_val = regmap_parse_8;
8a819ff8abac9ad Mark Brown 2013-03-04 960 map->format.parse_inplace = regmap_parse_inplace_noop;
b83a313bf252018 Mark Brown 2011-05-11 961 break;
b83a313bf252018 Mark Brown 2011-05-11 962 case 16:
141eba2e006dd81 Stephen Warren 2012-05-24 963 switch (val_endian) {
141eba2e006dd81 Stephen Warren 2012-05-24 964 case REGMAP_ENDIAN_BIG:
141eba2e006dd81 Stephen Warren 2012-05-24 965 map->format.format_val = regmap_format_16_be;
141eba2e006dd81 Stephen Warren 2012-05-24 966 map->format.parse_val = regmap_parse_16_be;
8a819ff8abac9ad Mark Brown 2013-03-04 967 map->format.parse_inplace = regmap_parse_16_be_inplace;
141eba2e006dd81 Stephen Warren 2012-05-24 968 break;
4aa8c0694c731e0 Xiubo Li 2014-04-02 969 case REGMAP_ENDIAN_LITTLE:
4aa8c0694c731e0 Xiubo Li 2014-04-02 970 map->format.format_val = regmap_format_16_le;
4aa8c0694c731e0 Xiubo Li 2014-04-02 971 map->format.parse_val = regmap_parse_16_le;
4aa8c0694c731e0 Xiubo Li 2014-04-02 972 map->format.parse_inplace = regmap_parse_16_le_inplace;
4aa8c0694c731e0 Xiubo Li 2014-04-02 973 break;
141eba2e006dd81 Stephen Warren 2012-05-24 974 case REGMAP_ENDIAN_NATIVE:
141eba2e006dd81 Stephen Warren 2012-05-24 975 map->format.format_val = regmap_format_16_native;
141eba2e006dd81 Stephen Warren 2012-05-24 976 map->format.parse_val = regmap_parse_16_native;
141eba2e006dd81 Stephen Warren 2012-05-24 977 break;
141eba2e006dd81 Stephen Warren 2012-05-24 978 default:
8698b9364710e7b Baolin Wang 2017-11-01 979 goto err_hwlock;
141eba2e006dd81 Stephen Warren 2012-05-24 980 }
b83a313bf252018 Mark Brown 2011-05-11 981 break;
ea279fc5619e254 Marc Reilly 2012-03-16 982 case 24:
141eba2e006dd81 Stephen Warren 2012-05-24 983 if (val_endian != REGMAP_ENDIAN_BIG)
8698b9364710e7b Baolin Wang 2017-11-01 984 goto err_hwlock;
ea279fc5619e254 Marc Reilly 2012-03-16 985 map->format.format_val = regmap_format_24;
ea279fc5619e254 Marc Reilly 2012-03-16 986 map->format.parse_val = regmap_parse_24;
ea279fc5619e254 Marc Reilly 2012-03-16 987 break;
7d5e525b9ceda0e Mark Brown 2012-02-17 988 case 32:
141eba2e006dd81 Stephen Warren 2012-05-24 989 switch (val_endian) {
141eba2e006dd81 Stephen Warren 2012-05-24 990 case REGMAP_ENDIAN_BIG:
141eba2e006dd81 Stephen Warren 2012-05-24 991 map->format.format_val = regmap_format_32_be;
141eba2e006dd81 Stephen Warren 2012-05-24 992 map->format.parse_val = regmap_parse_32_be;
8a819ff8abac9ad Mark Brown 2013-03-04 993 map->format.parse_inplace = regmap_parse_32_be_inplace;
141eba2e006dd81 Stephen Warren 2012-05-24 994 break;
4aa8c0694c731e0 Xiubo Li 2014-04-02 995 case REGMAP_ENDIAN_LITTLE:
4aa8c0694c731e0 Xiubo Li 2014-04-02 996 map->format.format_val = regmap_format_32_le;
4aa8c0694c731e0 Xiubo Li 2014-04-02 997 map->format.parse_val = regmap_parse_32_le;
4aa8c0694c731e0 Xiubo Li 2014-04-02 998 map->format.parse_inplace = regmap_parse_32_le_inplace;
4aa8c0694c731e0 Xiubo Li 2014-04-02 999 break;
141eba2e006dd81 Stephen Warren 2012-05-24 1000 case REGMAP_ENDIAN_NATIVE:
141eba2e006dd81 Stephen Warren 2012-05-24 1001 map->format.format_val = regmap_format_32_native;
141eba2e006dd81 Stephen Warren 2012-05-24 1002 map->format.parse_val = regmap_parse_32_native;
141eba2e006dd81 Stephen Warren 2012-05-24 1003 break;
141eba2e006dd81 Stephen Warren 2012-05-24 1004 default:
8698b9364710e7b Baolin Wang 2017-11-01 1005 goto err_hwlock;
141eba2e006dd81 Stephen Warren 2012-05-24 1006 }
7d5e525b9ceda0e Mark Brown 2012-02-17 1007 break;
afcc00b91f1865f Xiubo Li 2015-12-03 1008 #ifdef CONFIG_64BIT
782035ea94dc402 Dan Carpenter 2015-12-12 1009 case 64:
afcc00b91f1865f Xiubo Li 2015-12-03 1010 switch (val_endian) {
afcc00b91f1865f Xiubo Li 2015-12-03 1011 case REGMAP_ENDIAN_BIG:
afcc00b91f1865f Xiubo Li 2015-12-03 1012 map->format.format_val = regmap_format_64_be;
afcc00b91f1865f Xiubo Li 2015-12-03 1013 map->format.parse_val = regmap_parse_64_be;
afcc00b91f1865f Xiubo Li 2015-12-03 1014 map->format.parse_inplace = regmap_parse_64_be_inplace;
afcc00b91f1865f Xiubo Li 2015-12-03 1015 break;
afcc00b91f1865f Xiubo Li 2015-12-03 1016 case REGMAP_ENDIAN_LITTLE:
afcc00b91f1865f Xiubo Li 2015-12-03 1017 map->format.format_val = regmap_format_64_le;
afcc00b91f1865f Xiubo Li 2015-12-03 1018 map->format.parse_val = regmap_parse_64_le;
afcc00b91f1865f Xiubo Li 2015-12-03 1019 map->format.parse_inplace = regmap_parse_64_le_inplace;
afcc00b91f1865f Xiubo Li 2015-12-03 1020 break;
afcc00b91f1865f Xiubo Li 2015-12-03 1021 case REGMAP_ENDIAN_NATIVE:
afcc00b91f1865f Xiubo Li 2015-12-03 1022 map->format.format_val = regmap_format_64_native;
afcc00b91f1865f Xiubo Li 2015-12-03 1023 map->format.parse_val = regmap_parse_64_native;
afcc00b91f1865f Xiubo Li 2015-12-03 1024 break;
afcc00b91f1865f Xiubo Li 2015-12-03 1025 default:
8698b9364710e7b Baolin Wang 2017-11-01 1026 goto err_hwlock;
afcc00b91f1865f Xiubo Li 2015-12-03 1027 }
afcc00b91f1865f Xiubo Li 2015-12-03 1028 break;
afcc00b91f1865f Xiubo Li 2015-12-03 1029 #endif
b83a313bf252018 Mark Brown 2011-05-11 1030 }
b83a313bf252018 Mark Brown 2011-05-11 1031
141eba2e006dd81 Stephen Warren 2012-05-24 1032 if (map->format.format_write) {
141eba2e006dd81 Stephen Warren 2012-05-24 1033 if ((reg_endian != REGMAP_ENDIAN_BIG) ||
141eba2e006dd81 Stephen Warren 2012-05-24 1034 (val_endian != REGMAP_ENDIAN_BIG))
8698b9364710e7b Baolin Wang 2017-11-01 1035 goto err_hwlock;
67921a1a6660d32 Markus Pargmann 2015-08-21 1036 map->use_single_write = true;
141eba2e006dd81 Stephen Warren 2012-05-24 1037 }
7a6476143270d94 Mark Brown 2012-04-30 1038
b83a313bf252018 Mark Brown 2011-05-11 1039 if (!map->format.format_write &&
b83a313bf252018 Mark Brown 2011-05-11 1040 !(map->format.format_reg && map->format.format_val))
8698b9364710e7b Baolin Wang 2017-11-01 1041 goto err_hwlock;
b83a313bf252018 Mark Brown 2011-05-11 1042
82159ba8e6ef8c3 Mark Brown 2012-01-18 1043 map->work_buf = kzalloc(map->format.buf_size, GFP_KERNEL);
b83a313bf252018 Mark Brown 2011-05-11 1044 if (map->work_buf == NULL) {
b83a313bf252018 Mark Brown 2011-05-11 1045 ret = -ENOMEM;
8698b9364710e7b Baolin Wang 2017-11-01 1046 goto err_hwlock;
b83a313bf252018 Mark Brown 2011-05-11 1047 }
b83a313bf252018 Mark Brown 2011-05-11 1048
d2a5884a64161b5 Andrey Smirnov 2013-01-27 1049 if (map->format.format_write) {
d2a5884a64161b5 Andrey Smirnov 2013-01-27 1050 map->defer_caching = false;
07c320dc31d757b Andrey Smirnov 2013-01-12 1051 map->reg_write = _regmap_bus_formatted_write;
d2a5884a64161b5 Andrey Smirnov 2013-01-27 1052 } else if (map->format.format_val) {
d2a5884a64161b5 Andrey Smirnov 2013-01-27 1053 map->defer_caching = true;
07c320dc31d757b Andrey Smirnov 2013-01-12 1054 map->reg_write = _regmap_bus_raw_write;
d2a5884a64161b5 Andrey Smirnov 2013-01-27 1055 }
d2a5884a64161b5 Andrey Smirnov 2013-01-27 1056
d2a5884a64161b5 Andrey Smirnov 2013-01-27 1057 skip_format_initialization:
07c320dc31d757b Andrey Smirnov 2013-01-12 1058
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1059 map->range_tree = RB_ROOT;
e3549cd01347ef2 Mark Brown 2012-10-02 1060 for (i = 0; i < config->num_ranges; i++) {
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1061 const struct regmap_range_cfg *range_cfg = &config->ranges[i];
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1062 struct regmap_range_node *new;
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1063
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1064 /* Sanity check */
061adc064adbbdd Mark Brown 2012-10-03 1065 if (range_cfg->range_max < range_cfg->range_min) {
061adc064adbbdd Mark Brown 2012-10-03 1066 dev_err(map->dev, "Invalid range %d: %d < %d\n", i,
061adc064adbbdd Mark Brown 2012-10-03 1067 range_cfg->range_max, range_cfg->range_min);
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1068 goto err_range;
061adc064adbbdd Mark Brown 2012-10-03 1069 }
061adc064adbbdd Mark Brown 2012-10-03 1070
061adc064adbbdd Mark Brown 2012-10-03 1071 if (range_cfg->range_max > map->max_register) {
061adc064adbbdd Mark Brown 2012-10-03 1072 dev_err(map->dev, "Invalid range %d: %d > %d\n", i,
061adc064adbbdd Mark Brown 2012-10-03 1073 range_cfg->range_max, map->max_register);
061adc064adbbdd Mark Brown 2012-10-03 1074 goto err_range;
061adc064adbbdd Mark Brown 2012-10-03 1075 }
061adc064adbbdd Mark Brown 2012-10-03 1076
061adc064adbbdd Mark Brown 2012-10-03 1077 if (range_cfg->selector_reg > map->max_register) {
061adc064adbbdd Mark Brown 2012-10-03 1078 dev_err(map->dev,
061adc064adbbdd Mark Brown 2012-10-03 1079 "Invalid range %d: selector out of map\n", i);
061adc064adbbdd Mark Brown 2012-10-03 1080 goto err_range;
061adc064adbbdd Mark Brown 2012-10-03 1081 }
061adc064adbbdd Mark Brown 2012-10-03 1082
061adc064adbbdd Mark Brown 2012-10-03 1083 if (range_cfg->window_len == 0) {
061adc064adbbdd Mark Brown 2012-10-03 1084 dev_err(map->dev, "Invalid range %d: window_len 0\n",
061adc064adbbdd Mark Brown 2012-10-03 1085 i);
061adc064adbbdd Mark Brown 2012-10-03 1086 goto err_range;
061adc064adbbdd Mark Brown 2012-10-03 1087 }
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1088
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1089 /* Make sure, that this register range has no selector
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1090 or data window within its boundary */
e3549cd01347ef2 Mark Brown 2012-10-02 1091 for (j = 0; j < config->num_ranges; j++) {
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1092 unsigned sel_reg = config->ranges[j].selector_reg;
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1093 unsigned win_min = config->ranges[j].window_start;
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1094 unsigned win_max = win_min +
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1095 config->ranges[j].window_len - 1;
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1096
f161d22081e9b81 Philipp Zabel 2013-07-23 1097 /* Allow data window inside its own virtual range */
f161d22081e9b81 Philipp Zabel 2013-07-23 1098 if (j == i)
f161d22081e9b81 Philipp Zabel 2013-07-23 1099 continue;
f161d22081e9b81 Philipp Zabel 2013-07-23 1100
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1101 if (range_cfg->range_min <= sel_reg &&
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1102 sel_reg <= range_cfg->range_max) {
061adc064adbbdd Mark Brown 2012-10-03 1103 dev_err(map->dev,
061adc064adbbdd Mark Brown 2012-10-03 1104 "Range %d: selector for %d in window\n",
061adc064adbbdd Mark Brown 2012-10-03 1105 i, j);
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1106 goto err_range;
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1107 }
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1108
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1109 if (!(win_max < range_cfg->range_min ||
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1110 win_min > range_cfg->range_max)) {
061adc064adbbdd Mark Brown 2012-10-03 1111 dev_err(map->dev,
061adc064adbbdd Mark Brown 2012-10-03 1112 "Range %d: window for %d in window\n",
061adc064adbbdd Mark Brown 2012-10-03 1113 i, j);
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1114 goto err_range;
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1115 }
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1116 }
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1117
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1118 new = kzalloc(sizeof(*new), GFP_KERNEL);
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1119 if (new == NULL) {
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1120 ret = -ENOMEM;
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1121 goto err_range;
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1122 }
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1123
4b020b3f9ba2af8 Mark Brown 2012-10-03 1124 new->map = map;
d058bb49618482f Mark Brown 2012-10-03 1125 new->name = range_cfg->name;
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1126 new->range_min = range_cfg->range_min;
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1127 new->range_max = range_cfg->range_max;
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1128 new->selector_reg = range_cfg->selector_reg;
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1129 new->selector_mask = range_cfg->selector_mask;
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1130 new->selector_shift = range_cfg->selector_shift;
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1131 new->window_start = range_cfg->window_start;
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1132 new->window_len = range_cfg->window_len;
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1133
53e87f88b14c011 Nenghua Cao 2014-02-21 1134 if (!_regmap_range_add(map, new)) {
061adc064adbbdd Mark Brown 2012-10-03 1135 dev_err(map->dev, "Failed to add range %d\n", i);
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1136 kfree(new);
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1137 goto err_range;
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1138 }
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1139
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1140 if (map->selector_work_buf == NULL) {
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1141 map->selector_work_buf =
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1142 kzalloc(map->format.buf_size, GFP_KERNEL);
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1143 if (map->selector_work_buf == NULL) {
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1144 ret = -ENOMEM;
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1145 goto err_range;
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1146 }
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1147 }
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1148 }
052d2cd123e7e36 Mark Brown 2011-11-21 1149
e5e3b8abeda1cf4 Lars-Peter Clausen 2011-11-16 1150 ret = regcache_init(map, config);
0ff3e62ff119f2b Mark Brown 2012-10-04 1151 if (ret != 0)
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1152 goto err_range;
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1153
a7a037c837cb0f9 Daeseok Youn 2014-04-01 1154 if (dev) {
6cfec04bcc05a82 Michal Simek 2014-02-10 1155 ret = regmap_attach_dev(dev, map, config);
6cfec04bcc05a82 Michal Simek 2014-02-10 1156 if (ret != 0)
6cfec04bcc05a82 Michal Simek 2014-02-10 1157 goto err_regcache;
9b947a13e7f6017 David Lechner 2018-02-19 1158 } else {
d1cea9a7b51682f Charles Keepax 2020-09-17 1159 regmap_debugfs_init(map);
a7a037c837cb0f9 Daeseok Youn 2014-04-01 1160 }
72b39f6f2b5a6b0 Mark Brown 2012-05-08 1161
b83a313bf252018 Mark Brown 2011-05-11 1162 return map;
b83a313bf252018 Mark Brown 2011-05-11 1163
6cfec04bcc05a82 Michal Simek 2014-02-10 1164 err_regcache:
72b39f6f2b5a6b0 Mark Brown 2012-05-08 1165 regcache_exit(map);
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1166 err_range:
6863ca6227598d1 Krystian Garbaciak 2012-06-15 1167 regmap_range_exit(map);
58072cbfc522c25 Lars-Peter Clausen 2011-11-10 1168 kfree(map->work_buf);
8698b9364710e7b Baolin Wang 2017-11-01 1169 err_hwlock:
a1a68fcaf165a6e Baolin Wang 2017-11-20 1170 if (map->hwlock)
8698b9364710e7b Baolin Wang 2017-11-01 1171 hwspin_lock_free(map->hwlock);
8253bb3f82554ce Bartosz Golaszewski 2017-12-13 1172 err_name:
8253bb3f82554ce Bartosz Golaszewski 2017-12-13 1173 kfree_const(map->name);
b83a313bf252018 Mark Brown 2011-05-11 1174 err_map:
b83a313bf252018 Mark Brown 2011-05-11 1175 kfree(map);
b83a313bf252018 Mark Brown 2011-05-11 1176 err:
b83a313bf252018 Mark Brown 2011-05-11 @1177 return ERR_PTR(ret);
^^^^^^^^^^^^^^^^^^^
Leads to an Oops in the caller.
b83a313bf252018 Mark Brown 2011-05-11 1178 }
3cfe7a74d42b7e3 Nicolas Boichat 2015-07-08 1179 EXPORT_SYMBOL_GPL(__regmap_init);
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[arm-tegra:for-5.10/firmware 1/1] drivers/mailbox/tegra-hsp.c:332:6: error: implicit declaration of function 'tegra_is_silicon'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra.git for-5.10/firmware
head: 23d31e4703d73f8d28a78ac7a2d36db834069624
commit: 23d31e4703d73f8d28a78ac7a2d36db834069624 [1/1] firmware: tegra: Enable BPMP support on Tegra234
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.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
git checkout 23d31e4703d73f8d28a78ac7a2d36db834069624
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/mailbox/tegra-hsp.c: In function 'tegra_hsp_doorbell_startup':
>> drivers/mailbox/tegra-hsp.c:332:6: error: implicit declaration of function 'tegra_is_silicon' [-Werror=implicit-function-declaration]
332 | if (tegra_is_silicon() && !tegra_hsp_doorbell_can_ring(db))
| ^~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
# https://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra.git/c...
git remote add arm-tegra https://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra.git
git fetch --no-tags arm-tegra for-5.10/firmware
git checkout 23d31e4703d73f8d28a78ac7a2d36db834069624
vim +/tegra_is_silicon +332 drivers/mailbox/tegra-hsp.c
307
308 static int tegra_hsp_doorbell_startup(struct mbox_chan *chan)
309 {
310 struct tegra_hsp_doorbell *db = chan->con_priv;
311 struct tegra_hsp *hsp = db->channel.hsp;
312 struct tegra_hsp_doorbell *ccplex;
313 unsigned long flags;
314 u32 value;
315
316 if (db->master >= chan->mbox->num_chans) {
317 dev_err(chan->mbox->dev,
318 "invalid master ID %u for HSP channel\n",
319 db->master);
320 return -EINVAL;
321 }
322
323 ccplex = tegra_hsp_doorbell_get(hsp, TEGRA_HSP_DB_MASTER_CCPLEX);
324 if (!ccplex)
325 return -ENODEV;
326
327 /*
328 * On simulation platforms the BPMP hasn't had a chance yet to mark
329 * the doorbell as ringable by the CCPLEX, so we want to skip extra
330 * checks here.
331 */
> 332 if (tegra_is_silicon() && !tegra_hsp_doorbell_can_ring(db))
333 return -ENODEV;
334
335 spin_lock_irqsave(&hsp->lock, flags);
336
337 value = tegra_hsp_channel_readl(&ccplex->channel, HSP_DB_ENABLE);
338 value |= BIT(db->master);
339 tegra_hsp_channel_writel(&ccplex->channel, value, HSP_DB_ENABLE);
340
341 spin_unlock_irqrestore(&hsp->lock, flags);
342
343 return 0;
344 }
345
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[arnd-playground:arm-kill-set_fs-5 17/40] drivers/scsi/megaraid/megaraid_sas_base.c:8347:10: warning: incompatible integer to pointer conversion returning 'int' from a function with result type 'struct megasas_iocpacket
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git arm-kill-set_fs-5
head: 1086c1cb895540fdf215aecf3ed4a96843d6633e
commit: 7c6abb06b21a8c97bae4a330de4a490c5acf0dbf [17/40] scsi: megaraid_sas: simplify compat_ioctl handling
config: riscv-randconfig-r031-20200917 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 0ff28fa6a75617d61b1aeea77463d6a1684c3c89)
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
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
git checkout 7c6abb06b21a8c97bae4a330de4a490c5acf0dbf
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from arch/riscv/include/asm/io.h:148:
include/asm-generic/io.h:564:9: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
return inw(addr);
^~~~~~~~~
arch/riscv/include/asm/io.h:55:76: note: expanded from macro 'inw'
#define inw(c) ({ u16 __v; __io_pbr(); __v = readw_cpu((void*)(PCI_IOBASE + (c))); __io_par(__v); __v; })
~~~~~~~~~~ ^
arch/riscv/include/asm/mmio.h:88:76: note: expanded from macro 'readw_cpu'
#define readw_cpu(c) ({ u16 __r = le16_to_cpu((__force __le16)__raw_readw(c)); __r; })
^
include/uapi/linux/byteorder/little_endian.h:36:51: note: expanded from macro '__le16_to_cpu'
#define __le16_to_cpu(x) ((__force __u16)(__le16)(x))
^
In file included from drivers/scsi/megaraid/megaraid_sas_base.c:22:
In file included from include/linux/pci.h:38:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:10:
In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:13:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/riscv/include/asm/io.h:148:
include/asm-generic/io.h:572:9: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
return inl(addr);
^~~~~~~~~
arch/riscv/include/asm/io.h:56:76: note: expanded from macro 'inl'
#define inl(c) ({ u32 __v; __io_pbr(); __v = readl_cpu((void*)(PCI_IOBASE + (c))); __io_par(__v); __v; })
~~~~~~~~~~ ^
arch/riscv/include/asm/mmio.h:89:76: note: expanded from macro 'readl_cpu'
#define readl_cpu(c) ({ u32 __r = le32_to_cpu((__force __le32)__raw_readl(c)); __r; })
^
include/uapi/linux/byteorder/little_endian.h:34:51: note: expanded from macro '__le32_to_cpu'
#define __le32_to_cpu(x) ((__force __u32)(__le32)(x))
^
In file included from drivers/scsi/megaraid/megaraid_sas_base.c:22:
In file included from include/linux/pci.h:38:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:10:
In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:13:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/riscv/include/asm/io.h:148:
include/asm-generic/io.h:580:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
outb(value, addr);
^~~~~~~~~~~~~~~~~
arch/riscv/include/asm/io.h:58:68: note: expanded from macro 'outb'
#define outb(v,c) ({ __io_pbw(); writeb_cpu((v),(void*)(PCI_IOBASE + (c))); __io_paw(); })
~~~~~~~~~~ ^
arch/riscv/include/asm/mmio.h:91:52: note: expanded from macro 'writeb_cpu'
#define writeb_cpu(v, c) ((void)__raw_writeb((v), (c)))
^
In file included from drivers/scsi/megaraid/megaraid_sas_base.c:22:
In file included from include/linux/pci.h:38:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:10:
In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:13:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/riscv/include/asm/io.h:148:
include/asm-generic/io.h:588:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
outw(value, addr);
^~~~~~~~~~~~~~~~~
arch/riscv/include/asm/io.h:59:68: note: expanded from macro 'outw'
#define outw(v,c) ({ __io_pbw(); writew_cpu((v),(void*)(PCI_IOBASE + (c))); __io_paw(); })
~~~~~~~~~~ ^
arch/riscv/include/asm/mmio.h:92:76: note: expanded from macro 'writew_cpu'
#define writew_cpu(v, c) ((void)__raw_writew((__force u16)cpu_to_le16(v), (c)))
^
In file included from drivers/scsi/megaraid/megaraid_sas_base.c:22:
In file included from include/linux/pci.h:38:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:10:
In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:13:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/riscv/include/asm/io.h:148:
include/asm-generic/io.h:596:2: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
outl(value, addr);
^~~~~~~~~~~~~~~~~
arch/riscv/include/asm/io.h:60:68: note: expanded from macro 'outl'
#define outl(v,c) ({ __io_pbw(); writel_cpu((v),(void*)(PCI_IOBASE + (c))); __io_paw(); })
~~~~~~~~~~ ^
arch/riscv/include/asm/mmio.h:93:76: note: expanded from macro 'writel_cpu'
#define writel_cpu(v, c) ((void)__raw_writel((__force u32)cpu_to_le32(v), (c)))
^
In file included from drivers/scsi/megaraid/megaraid_sas_base.c:22:
In file included from include/linux/pci.h:38:
In file included from include/linux/interrupt.h:11:
In file included from include/linux/hardirq.h:10:
In file included from ./arch/riscv/include/generated/asm/hardirq.h:1:
In file included from include/asm-generic/hardirq.h:13:
In file included from include/linux/irq.h:20:
In file included from include/linux/io.h:13:
In file included from arch/riscv/include/asm/io.h:148:
include/asm-generic/io.h:1017:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port;
~~~~~~~~~~ ^
>> drivers/scsi/megaraid/megaraid_sas_base.c:8347:10: warning: incompatible integer to pointer conversion returning 'int' from a function with result type 'struct megasas_iocpacket *' [-Wint-conversion]
return -ENOMEM;
^~~~~~~
8 warnings generated.
# https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git/commi...
git remote add arnd-playground https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git
git fetch --no-tags arnd-playground arm-kill-set_fs-5
git checkout 7c6abb06b21a8c97bae4a330de4a490c5acf0dbf
vim +8347 drivers/scsi/megaraid/megaraid_sas_base.c
8335
8336 static struct megasas_iocpacket *
8337 megasas_compat_iocpacket_get_user(void __user *arg)
8338 {
8339 struct megasas_iocpacket *ioc;
8340 struct compat_megasas_iocpacket __user *cioc = arg;
8341 size_t size;
8342 int err = -EFAULT;
8343 int i;
8344
8345 ioc = kzalloc(sizeof(*ioc), GFP_KERNEL);
8346 if (!ioc)
> 8347 return -ENOMEM;
8348 size = offsetof(struct megasas_iocpacket, frame) + sizeof(ioc->frame);
8349 if (copy_from_user(ioc, arg, size))
8350 goto out;
8351
8352 for (i = 0; i < MAX_IOCTL_SGE; i++) {
8353 compat_uptr_t iov_base;
8354 if (get_user(iov_base, &cioc->sgl[i].iov_base) ||
8355 get_user(ioc->sgl[i].iov_len, &cioc->sgl[i].iov_len)) {
8356 goto out;
8357 }
8358 ioc->sgl[i].iov_base = compat_ptr(iov_base);
8359 }
8360
8361 return ioc;
8362 out:
8363 kfree(ioc);
8364
8365 return ERR_PTR(err);
8366 }
8367
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years
[arnd-playground:arm-kill-set_fs-5 17/40] drivers/scsi/megaraid/megaraid_sas_base.c:8347:24: sparse: sparse: incorrect type in return expression (different base types)
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git arm-kill-set_fs-5
head: 1086c1cb895540fdf215aecf3ed4a96843d6633e
commit: 7c6abb06b21a8c97bae4a330de4a490c5acf0dbf [17/40] scsi: megaraid_sas: simplify compat_ioctl handling
config: arc-randconfig-s032-20200918 (attached as .config)
compiler: arc-elf-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-201-g24bdaac6-dirty
git checkout 7c6abb06b21a8c97bae4a330de4a490c5acf0dbf
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/scsi/megaraid/megaraid_sas_base.c:4542:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] flags @@ got int @@
drivers/scsi/megaraid/megaraid_sas_base.c:4542:21: sparse: expected restricted __le16 [usertype] flags
drivers/scsi/megaraid/megaraid_sas_base.c:4542:21: sparse: got int
drivers/scsi/megaraid/megaraid_sas_base.c:4793:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] flags @@ got int @@
drivers/scsi/megaraid/megaraid_sas_base.c:4793:21: sparse: expected restricted __le16 [usertype] flags
drivers/scsi/megaraid/megaraid_sas_base.c:4793:21: sparse: got int
drivers/scsi/megaraid/megaraid_sas_base.c:6608:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] flags @@ got int @@
drivers/scsi/megaraid/megaraid_sas_base.c:6608:21: sparse: expected restricted __le16 [usertype] flags
drivers/scsi/megaraid/megaraid_sas_base.c:6608:21: sparse: got int
drivers/scsi/megaraid/megaraid_sas_base.c:4449:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] flags @@ got int @@
drivers/scsi/megaraid/megaraid_sas_base.c:4449:21: sparse: expected restricted __le16 [usertype] flags
drivers/scsi/megaraid/megaraid_sas_base.c:4449:21: sparse: got int
drivers/scsi/megaraid/megaraid_sas_base.c:277:31: sparse: sparse: restricted __le16 degrades to integer
drivers/scsi/megaraid/megaraid_sas_base.c:283:31: sparse: sparse: cast from restricted __le16
drivers/scsi/megaraid/megaraid_sas_base.c:409:29: sparse: sparse: cast to restricted __le32
drivers/scsi/megaraid/megaraid_sas_base.c:1213:32: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] opcode @@ got restricted __le32 [usertype] opcode @@
drivers/scsi/megaraid/megaraid_sas_base.c:1213:32: sparse: expected unsigned int [usertype] opcode
drivers/scsi/megaraid/megaraid_sas_base.c:1213:32: sparse: got restricted __le32 [usertype] opcode
drivers/scsi/megaraid/megaraid_sas_base.c:1991:33: sparse: sparse: cast to restricted __le32
drivers/scsi/megaraid/megaraid_sas_base.c:2032:34: sparse: sparse: cast to restricted __le32
drivers/scsi/megaraid/megaraid_sas_base.c:4673:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] flags @@ got int @@
drivers/scsi/megaraid/megaraid_sas_base.c:4673:21: sparse: expected restricted __le16 [usertype] flags
drivers/scsi/megaraid/megaraid_sas_base.c:4673:21: sparse: got int
drivers/scsi/megaraid/megaraid_sas_base.c:4912:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] flags @@ got int @@
drivers/scsi/megaraid/megaraid_sas_base.c:4912:21: sparse: expected restricted __le16 [usertype] flags
drivers/scsi/megaraid/megaraid_sas_base.c:4912:21: sparse: got int
drivers/scsi/megaraid/megaraid_sas_base.c:5097:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] flags @@ got int @@
drivers/scsi/megaraid/megaraid_sas_base.c:5097:21: sparse: expected restricted __le16 [usertype] flags
drivers/scsi/megaraid/megaraid_sas_base.c:5097:21: sparse: got int
drivers/scsi/megaraid/megaraid_sas_base.c:5179:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] flags @@ got int @@
drivers/scsi/megaraid/megaraid_sas_base.c:5179:21: sparse: expected restricted __le16 [usertype] flags
drivers/scsi/megaraid/megaraid_sas_base.c:5179:21: sparse: got int
drivers/scsi/megaraid/megaraid_sas_base.c:6161:42: sparse: sparse: cast removes address space '__iomem' of expression
drivers/scsi/megaraid/megaraid_sas_base.c:6160:57: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned int [noderef] [usertype] __iomem * @@ got unsigned int [usertype] * @@
drivers/scsi/megaraid/megaraid_sas_base.c:6160:57: sparse: expected unsigned int [noderef] [usertype] __iomem *
drivers/scsi/megaraid/megaraid_sas_base.c:6160:57: sparse: got unsigned int [usertype] *
drivers/scsi/megaraid/megaraid_sas_base.c:6165:34: sparse: sparse: cast removes address space '__iomem' of expression
drivers/scsi/megaraid/megaraid_sas_base.c:6164:57: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected unsigned int [noderef] [usertype] __iomem * @@ got unsigned int [usertype] * @@
drivers/scsi/megaraid/megaraid_sas_base.c:6164:57: sparse: expected unsigned int [noderef] [usertype] __iomem *
drivers/scsi/megaraid/megaraid_sas_base.c:6164:57: sparse: got unsigned int [usertype] *
drivers/scsi/megaraid/megaraid_sas_base.c:6472:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] flags @@ got int @@
drivers/scsi/megaraid/megaraid_sas_base.c:6472:21: sparse: expected restricted __le16 [usertype] flags
drivers/scsi/megaraid/megaraid_sas_base.c:6472:21: sparse: got int
drivers/scsi/megaraid/megaraid_sas_base.c:6686:21: sparse: sparse: incorrect type in assignment (different base types) @@ expected restricted __le16 [usertype] flags @@ got int @@
drivers/scsi/megaraid/megaraid_sas_base.c:6686:21: sparse: expected restricted __le16 [usertype] flags
drivers/scsi/megaraid/megaraid_sas_base.c:6686:21: sparse: got int
drivers/scsi/megaraid/megaraid_sas_base.c:7422:44: sparse: sparse: restricted __le32 degrades to integer
drivers/scsi/megaraid/megaraid_sas_base.c:8053:23: sparse: sparse: incorrect type in assignment (different base types) @@ expected int crash_support @@ got restricted __le32 @@
drivers/scsi/megaraid/megaraid_sas_base.c:8053:23: sparse: expected int crash_support
drivers/scsi/megaraid/megaraid_sas_base.c:8053:23: sparse: got restricted __le32
drivers/scsi/megaraid/megaraid_sas_base.c:8137:31: sparse: sparse: invalid assignment: &=
drivers/scsi/megaraid/megaraid_sas_base.c:8137:31: sparse: left side has type restricted __le16
drivers/scsi/megaraid/megaraid_sas_base.c:8137:31: sparse: right side has type int
>> drivers/scsi/megaraid/megaraid_sas_base.c:8347:24: sparse: sparse: incorrect type in return expression (different base types) @@ expected struct megasas_iocpacket * @@ got int @@
>> drivers/scsi/megaraid/megaraid_sas_base.c:8347:24: sparse: expected struct megasas_iocpacket *
drivers/scsi/megaraid/megaraid_sas_base.c:8347:24: sparse: got int
drivers/scsi/megaraid/megaraid_sas_base.c:8669:46: sparse: sparse: restricted __le32 degrades to integer
# https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git/commi...
git remote add arnd-playground https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git
git fetch --no-tags arnd-playground arm-kill-set_fs-5
git checkout 7c6abb06b21a8c97bae4a330de4a490c5acf0dbf
vim +8347 drivers/scsi/megaraid/megaraid_sas_base.c
8335
8336 static struct megasas_iocpacket *
8337 megasas_compat_iocpacket_get_user(void __user *arg)
8338 {
8339 struct megasas_iocpacket *ioc;
8340 struct compat_megasas_iocpacket __user *cioc = arg;
8341 size_t size;
8342 int err = -EFAULT;
8343 int i;
8344
8345 ioc = kzalloc(sizeof(*ioc), GFP_KERNEL);
8346 if (!ioc)
> 8347 return -ENOMEM;
8348 size = offsetof(struct megasas_iocpacket, frame) + sizeof(ioc->frame);
8349 if (copy_from_user(ioc, arg, size))
8350 goto out;
8351
8352 for (i = 0; i < MAX_IOCTL_SGE; i++) {
8353 compat_uptr_t iov_base;
8354 if (get_user(iov_base, &cioc->sgl[i].iov_base) ||
8355 get_user(ioc->sgl[i].iov_len, &cioc->sgl[i].iov_len)) {
8356 goto out;
8357 }
8358 ioc->sgl[i].iov_base = compat_ptr(iov_base);
8359 }
8360
8361 return ioc;
8362 out:
8363 kfree(ioc);
8364
8365 return ERR_PTR(err);
8366 }
8367
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years