:::::: :::::: Manual check reason: "low confidence static check warning: drivers/gpu/drm/drm_edid.c:2124:9: warning: Local variable 'block' shadows outer argument [shadowArgument]" ::::::
CC: [email protected] BCC: [email protected] CC: [email protected] TO: Jani Nikula <[email protected]> CC: "Ville Syrjälä" <[email protected]> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 018ab4fabddd94f1c96f3b59e180691b9e88d5d8 commit: 89fb7536ad2fdcdaf95eee44b9e162d0522f48dc drm/edid: add typedef for block read function date: 9 weeks ago :::::: branch date: 17 hours ago :::::: commit date: 9 weeks ago compiler: hppa-linux-gcc (GCC) 11.3.0 reproduce (cppcheck warning): # apt-get install cppcheck git checkout 89fb7536ad2fdcdaf95eee44b9e162d0522f48dc cppcheck --quiet --enable=style,performance,portability --template=gcc FILE If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <[email protected]> cppcheck warnings: (new ones prefixed by >>) >> drivers/nvme/host/pci.c:2075:10: warning: Local variable 'size' shadows >> outer variable [shadowVariable] size_t size = le32_to_cpu(descs[i].size) * NVME_CTRL_PAGE_SIZE; ^ drivers/nvme/host/pci.c:2031:6: note: Shadowed declaration u64 size, tmp; ^ drivers/nvme/host/pci.c:2075:10: note: Shadow variable size_t size = le32_to_cpu(descs[i].size) * NVME_CTRL_PAGE_SIZE; ^ cppcheck possible warnings: (new ones prefixed by >>, may not real problems) >> drivers/pci/pci-sysfs.c:1272:47: warning: Parameter 'buf' can be declared >> with const [constParameter] struct bin_attribute *bin_attr, char *buf, ^ >> drivers/gpu/drm/ttm/ttm_bo.c:1098:28: warning: Local variable 'ctx' shadows >> outer argument [shadowArgument] struct ttm_operation_ctx ctx = { false, false }; ^ drivers/gpu/drm/ttm/ttm_bo.c:1058:76: note: Shadowed declaration int ttm_bo_swapout(struct ttm_buffer_object *bo, struct ttm_operation_ctx *ctx, ^ drivers/gpu/drm/ttm/ttm_bo.c:1098:28: note: Shadow variable struct ttm_operation_ctx ctx = { false, false }; ^ -- >> drivers/gpu/drm/drm_edid.c:2124:9: warning: Local variable 'block' shadows >> outer argument [shadowArgument] void *block = edid + j; ^ drivers/gpu/drm/drm_edid.c:2101:0: note: Shadowed declaration read_block_fn read_block, ^ drivers/gpu/drm/drm_edid.c:2124:9: note: Shadow variable void *block = edid + j; ^ vim +/block +2124 drivers/gpu/drm/drm_edid.c bac9c29482248b0 Douglas Anderson 2021-09-14 2079 18df89fef2d5c7c Lars-Peter Clausen 2012-04-27 2080 /** 18df89fef2d5c7c Lars-Peter Clausen 2012-04-27 2081 * drm_do_get_edid - get EDID data using a custom EDID block read function 18df89fef2d5c7c Lars-Peter Clausen 2012-04-27 2082 * @connector: connector we're probing 18df89fef2d5c7c Lars-Peter Clausen 2012-04-27 2083 * @get_edid_block: EDID block read function 18df89fef2d5c7c Lars-Peter Clausen 2012-04-27 2084 * @data: private data passed to the block read function 18df89fef2d5c7c Lars-Peter Clausen 2012-04-27 2085 * 18df89fef2d5c7c Lars-Peter Clausen 2012-04-27 2086 * When the I2C adapter connected to the DDC bus is hidden behind a device that 18df89fef2d5c7c Lars-Peter Clausen 2012-04-27 2087 * exposes a different interface to read EDID blocks this function can be used 18df89fef2d5c7c Lars-Peter Clausen 2012-04-27 2088 * to get EDID data using a custom block read function. 18df89fef2d5c7c Lars-Peter Clausen 2012-04-27 2089 * 18df89fef2d5c7c Lars-Peter Clausen 2012-04-27 2090 * As in the general case the DDC bus is accessible by the kernel at the I2C 18df89fef2d5c7c Lars-Peter Clausen 2012-04-27 2091 * level, drivers must make all reasonable efforts to expose it as an I2C 18df89fef2d5c7c Lars-Peter Clausen 2012-04-27 2092 * adapter and use drm_get_edid() instead of abusing this function. 18df89fef2d5c7c Lars-Peter Clausen 2012-04-27 2093 * 0ae865ef92f1920 Cai Huoqing 2021-07-30 2094 * The EDID may be overridden using debugfs override_edid or firmware EDID 53fd40a90f3c0bd Jani Nikula 2017-09-12 2095 * (drm_load_edid_firmware() and drm.edid_firmware parameter), in this priority 53fd40a90f3c0bd Jani Nikula 2017-09-12 2096 * order. Having either of them bypasses actual EDID reads. 53fd40a90f3c0bd Jani Nikula 2017-09-12 2097 * 18df89fef2d5c7c Lars-Peter Clausen 2012-04-27 2098 * Return: Pointer to valid EDID or NULL if we couldn't find any. 18df89fef2d5c7c Lars-Peter Clausen 2012-04-27 2099 */ 18df89fef2d5c7c Lars-Peter Clausen 2012-04-27 2100 struct edid *drm_do_get_edid(struct drm_connector *connector, 89fb7536ad2fdcd Jani Nikula 2022-04-11 2101 read_block_fn read_block, 89fb7536ad2fdcd Jani Nikula 2022-04-11 2102 void *context) 61e57a8d72f2336 Adam Jackson 2010-03-29 2103 { ccc97def44ecc08 Jani Nikula 2022-03-31 2104 int j, invalid_blocks = 0; e9a9e0768ba49d9 Jani Nikula 2022-03-31 2105 struct edid *edid, *new, *override; 53fd40a90f3c0bd Jani Nikula 2017-09-12 2106 56a2b7f2a39a8d4 Jani Nikula 2019-06-07 2107 override = drm_get_override_edid(connector); 56a2b7f2a39a8d4 Jani Nikula 2019-06-07 2108 if (override) 53fd40a90f3c0bd Jani Nikula 2017-09-12 2109 return override; 61e57a8d72f2336 Adam Jackson 2010-03-29 2110 89fb7536ad2fdcd Jani Nikula 2022-04-11 2111 edid = drm_do_get_edid_base_block(connector, read_block, context); e7bd95a7ed4e4c8 Douglas Anderson 2021-10-04 2112 if (!edid) 61e57a8d72f2336 Adam Jackson 2010-03-29 2113 return NULL; 61e57a8d72f2336 Adam Jackson 2010-03-29 2114 ccc97def44ecc08 Jani Nikula 2022-03-31 2115 if (edid->extensions == 0) e9a9e0768ba49d9 Jani Nikula 2022-03-31 2116 return edid; 61e57a8d72f2336 Adam Jackson 2010-03-29 2117 ccc97def44ecc08 Jani Nikula 2022-03-31 2118 new = krealloc(edid, (edid->extensions + 1) * EDID_LENGTH, GFP_KERNEL); 61e57a8d72f2336 Adam Jackson 2010-03-29 2119 if (!new) 61e57a8d72f2336 Adam Jackson 2010-03-29 2120 goto out; f14f368670541bf Chris Wilson 2016-10-17 2121 edid = new; 61e57a8d72f2336 Adam Jackson 2010-03-29 2122 e9a9e0768ba49d9 Jani Nikula 2022-03-31 2123 for (j = 1; j <= edid->extensions; j++) { e9a9e0768ba49d9 Jani Nikula 2022-03-31 @2124 void *block = edid + j; 18d83450468ca57 Jani Nikula 2022-03-31 2125 int try; a28187ccab9410c Chris Wilson 2016-10-17 2126 18d83450468ca57 Jani Nikula 2022-03-31 2127 for (try = 0; try < 4; try++) { 89fb7536ad2fdcd Jani Nikula 2022-04-11 2128 if (read_block(context, block, j, EDID_LENGTH)) 61e57a8d72f2336 Adam Jackson 2010-03-29 2129 goto out; 14544d0937bf016 Chris Wilson 2016-10-24 2130 if (drm_edid_block_valid(block, j, false, NULL)) 61e57a8d72f2336 Adam Jackson 2010-03-29 2131 break; 61e57a8d72f2336 Adam Jackson 2010-03-29 2132 } f934ec8c34b9dce Maarten Lankhorst 2013-01-29 2133 18d83450468ca57 Jani Nikula 2022-03-31 2134 if (try == 4) ccc97def44ecc08 Jani Nikula 2022-03-31 2135 invalid_blocks++; 0ea75e23356f73b Sam Tygier 2010-09-23 2136 } 0ea75e23356f73b Sam Tygier 2010-09-23 2137 ccc97def44ecc08 Jani Nikula 2022-03-31 2138 if (invalid_blocks) { 63cae081538de1b Jani Nikula 2022-04-11 2139 connector_bad_edid(connector, edid, edid->extensions + 1); 14544d0937bf016 Chris Wilson 2016-10-24 2140 ccc97def44ecc08 Jani Nikula 2022-03-31 2141 edid = edid_filter_invalid_blocks(edid, invalid_blocks); 61e57a8d72f2336 Adam Jackson 2010-03-29 2142 } 61e57a8d72f2336 Adam Jackson 2010-03-29 2143 e9a9e0768ba49d9 Jani Nikula 2022-03-31 2144 return edid; 61e57a8d72f2336 Adam Jackson 2010-03-29 2145 61e57a8d72f2336 Adam Jackson 2010-03-29 2146 out: f14f368670541bf Chris Wilson 2016-10-17 2147 kfree(edid); 61e57a8d72f2336 Adam Jackson 2010-03-29 2148 return NULL; 61e57a8d72f2336 Adam Jackson 2010-03-29 2149 } 18df89fef2d5c7c Lars-Peter Clausen 2012-04-27 2150 EXPORT_SYMBOL_GPL(drm_do_get_edid); 61e57a8d72f2336 Adam Jackson 2010-03-29 2151 :::::: The code at line 2124 was first introduced by commit :::::: e9a9e0768ba49d9cad3b698860af1842c53c717f drm/edid: use struct edid * in drm_do_get_edid() :::::: TO: Jani Nikula <[email protected]> :::::: CC: Jani Nikula <[email protected]> -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
