All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_stateless.c:133:18: warning: Value stored to 'pfb' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
@ 2021-11-07 17:22 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-11-07 17:22 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 17782 bytes --]

CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Yunfei Dong <yunfei.dong@mediatek.com>
CC: Mauro Carvalho Chehab <mchehab@kernel.org>
CC: linux-media(a)vger.kernel.org
CC: Alexandre Courbot <acourbot@chromium.org>
CC: "Tzung-Bi Shih" <tzungbi@google.com>
CC: Hans Verkuil <hverkuil@xs4all.nl>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   b5013d084e03e82ceeab4db8ae8ceeaebe76b0eb
commit: 8cdc3794b2e34b3ee11ddfccf4af3f64344a1a75 media: mtk-vcodec: vdec: support stateless API
date:   5 weeks ago
:::::: branch date: 18 hours ago
:::::: commit date: 5 weeks ago
config: riscv-randconfig-c006-20211001 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 962e503cc8bc411f7523cc393acae8aae425b1c4)
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
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8cdc3794b2e34b3ee11ddfccf4af3f64344a1a75
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 8cdc3794b2e34b3ee11ddfccf4af3f64344a1a75
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv clang-analyzer 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)
                                       ^
   arch/riscv/include/asm/mmio.h:133:19: note: expanded from macro '__io_br'
   #define __io_br()       do {} while (0)
                           ^
   drivers/usb/gadget/udc/lpc32xx_udc.c:1181:15: note: Assuming 'n' is < 'cbytes'
                   for (n = 0; n < cbytes; n += 4) {
                               ^~~~~~~~~~
   drivers/usb/gadget/udc/lpc32xx_udc.c:1181:3: note: Loop condition is true.  Entering loop body
                   for (n = 0; n < cbytes; n += 4) {
                   ^
   drivers/usb/gadget/udc/lpc32xx_udc.c:1182:10: note: Loop condition is false.  Exiting loop
                           tmp = readl(USBD_RXDATA(udc->udp_baseaddr));
                                 ^
   arch/riscv/include/asm/mmio.h:140:30: note: expanded from macro 'readl'
   #define readl(c)        ({ u32 __v; __io_br(); __v = readl_cpu(c); __io_ar(__v); __v; })
                                       ^
   arch/riscv/include/asm/mmio.h:133:19: note: expanded from macro '__io_br'
   #define __io_br()       do {} while (0)
                           ^
   drivers/usb/gadget/udc/lpc32xx_udc.c:1181:15: note: 'n' is >= 'cbytes'
                   for (n = 0; n < cbytes; n += 4) {
                               ^
   drivers/usb/gadget/udc/lpc32xx_udc.c:1181:3: note: Loop condition is false. Execution continues on line 1188
                   for (n = 0; n < cbytes; n += 4) {
                   ^
   drivers/usb/gadget/udc/lpc32xx_udc.c:1189:7: note: Assuming 'bl' is 0
                   if (bl) {
                       ^~
   drivers/usb/gadget/udc/lpc32xx_udc.c:1189:3: note: Taking false branch
                   if (bl) {
                   ^
   drivers/usb/gadget/udc/lpc32xx_udc.c:1194:3: note:  Execution continues on line 1189
                   break;
                   ^
   drivers/usb/gadget/udc/lpc32xx_udc.c:1225:3: note: Returning from 'udc_pop_fifo'
                   udc_pop_fifo(udc, (u8 *) data, tmp);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/usb/gadget/udc/lpc32xx_udc.c:1227:2: note: Loop condition is false.  Exiting loop
           writel(((hwep & 0x1E) << 1), USBD_CTRL(udc->udp_baseaddr));
           ^
   arch/riscv/include/asm/mmio.h:144:58: note: expanded from macro 'writel'
   #define writel(v, c)    ({ __io_bw(); writel_cpu((v), (c)); __io_aw(); })
                                                               ^
   arch/riscv/include/asm/mmio.h:136:19: note: expanded from macro '__io_aw'
   #define __io_aw()       mmiowb_set_pending()
                           ^
   include/asm-generic/mmiowb.h:61:31: note: expanded from macro 'mmiowb_set_pending'
   #define mmiowb_set_pending()            do { } while (0)
                                           ^
   drivers/usb/gadget/udc/lpc32xx_udc.c:2193:10: note: Returning from 'udc_read_hwep'
           bytes = udc_read_hwep(udc, EP_OUT, (u32 *) &ctrlpkt, 8);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/usb/gadget/udc/lpc32xx_udc.c:2194:6: note: Assuming 'bytes' is equal to 8
           if (bytes != 8) {
               ^~~~~~~~~~
   drivers/usb/gadget/udc/lpc32xx_udc.c:2194:2: note: Taking false branch
           if (bytes != 8) {
           ^
   drivers/usb/gadget/udc/lpc32xx_udc.c:2206:6: note: Assuming the condition is false
           if (likely(reqtype & USB_DIR_IN))
               ^
   include/linux/compiler.h:77:38: note: expanded from macro 'likely'
   # define likely(x)      __builtin_expect(!!(x), 1)
                                             ^~~~
   drivers/usb/gadget/udc/lpc32xx_udc.c:2206:2: note: Taking true branch
           if (likely(reqtype & USB_DIR_IN))
           ^
   drivers/usb/gadget/udc/lpc32xx_udc.c:2212:6: note: Assigned value is garbage or undefined
           req = le16_to_cpu(ctrlpkt.bRequest);
               ^
   drivers/usb/gadget/udc/lpc32xx_udc.c:2753:3: warning: Value stored to 'tmp' is never read [clang-analyzer-deadcode.DeadStores]
                   tmp = udc_protocol_cmd_r(udc, DAT_RD_ERR_STAT);
                   ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/usb/gadget/udc/lpc32xx_udc.c:2753:3: note: Value stored to 'tmp' is never read
                   tmp = udc_protocol_cmd_r(udc, DAT_RD_ERR_STAT);
                   ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
>> drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_stateless.c:133:18: warning: Value stored to 'pfb' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
           struct vdec_fb *pfb = &framebuf->frame_buffer;
                           ^~~   ~~~~~~~~~~~~~~~~~~~~~~~
   drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_stateless.c:133:18: note: Value stored to 'pfb' during its initialization is never read
           struct vdec_fb *pfb = &framebuf->frame_buffer;
                           ^~~   ~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   2 warnings generated.
   Suppressed 2 warnings (2 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   4 warnings generated.
   drivers/hwmon/ltc2945.c:286:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
           ret = regmap_update_bits(regmap, LTC2945_CONTROL, CONTROL_TEST_MODE,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/hwmon/ltc2945.c:286:2: note: Value stored to 'ret' is never read
           ret = regmap_update_bits(regmap, LTC2945_CONTROL, CONTROL_TEST_MODE,
           ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   2 warnings generated.
   Suppressed 2 warnings (2 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   3 warnings generated.
   Suppressed 3 warnings (3 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.

vim +/pfb +133 drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_stateless.c

8cdc3794b2e34b Yunfei Dong 2021-08-06  127  
8cdc3794b2e34b Yunfei Dong 2021-08-06  128  static struct vdec_fb *vdec_get_cap_buffer(struct mtk_vcodec_ctx *ctx,
8cdc3794b2e34b Yunfei Dong 2021-08-06  129  					   struct vb2_v4l2_buffer *vb2_v4l2)
8cdc3794b2e34b Yunfei Dong 2021-08-06  130  {
8cdc3794b2e34b Yunfei Dong 2021-08-06  131  	struct mtk_video_dec_buf *framebuf =
8cdc3794b2e34b Yunfei Dong 2021-08-06  132  		container_of(vb2_v4l2, struct mtk_video_dec_buf, m2m_buf.vb);
8cdc3794b2e34b Yunfei Dong 2021-08-06 @133  	struct vdec_fb *pfb = &framebuf->frame_buffer;
8cdc3794b2e34b Yunfei Dong 2021-08-06  134  	struct vb2_buffer *dst_buf = &vb2_v4l2->vb2_buf;
8cdc3794b2e34b Yunfei Dong 2021-08-06  135  
8cdc3794b2e34b Yunfei Dong 2021-08-06  136  	pfb = &framebuf->frame_buffer;
8cdc3794b2e34b Yunfei Dong 2021-08-06  137  	pfb->base_y.va = NULL;
8cdc3794b2e34b Yunfei Dong 2021-08-06  138  	pfb->base_y.dma_addr = vb2_dma_contig_plane_dma_addr(dst_buf, 0);
8cdc3794b2e34b Yunfei Dong 2021-08-06  139  	pfb->base_y.size = ctx->q_data[MTK_Q_DATA_DST].sizeimage[0];
8cdc3794b2e34b Yunfei Dong 2021-08-06  140  
8cdc3794b2e34b Yunfei Dong 2021-08-06  141  	if (ctx->q_data[MTK_Q_DATA_DST].fmt->num_planes == 2) {
8cdc3794b2e34b Yunfei Dong 2021-08-06  142  		pfb->base_c.va = NULL;
8cdc3794b2e34b Yunfei Dong 2021-08-06  143  		pfb->base_c.dma_addr =
8cdc3794b2e34b Yunfei Dong 2021-08-06  144  			vb2_dma_contig_plane_dma_addr(dst_buf, 1);
8cdc3794b2e34b Yunfei Dong 2021-08-06  145  		pfb->base_c.size = ctx->q_data[MTK_Q_DATA_DST].sizeimage[1];
8cdc3794b2e34b Yunfei Dong 2021-08-06  146  	}
8cdc3794b2e34b Yunfei Dong 2021-08-06  147  	mtk_v4l2_debug(1, "id=%d Framebuf  pfb=%p VA=%p Y_DMA=%pad C_DMA=%pad Size=%zx frame_count = %d",
8cdc3794b2e34b Yunfei Dong 2021-08-06  148  		       dst_buf->index, pfb, pfb->base_y.va, &pfb->base_y.dma_addr,
8cdc3794b2e34b Yunfei Dong 2021-08-06  149  		       &pfb->base_c.dma_addr, pfb->base_y.size, ctx->decoded_frame_cnt);
8cdc3794b2e34b Yunfei Dong 2021-08-06  150  
8cdc3794b2e34b Yunfei Dong 2021-08-06  151  	return pfb;
8cdc3794b2e34b Yunfei Dong 2021-08-06  152  }
8cdc3794b2e34b Yunfei Dong 2021-08-06  153  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 30915 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-11-07 17:22 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-07 17:22 drivers/media/platform/mtk-vcodec/mtk_vcodec_dec_stateless.c:133:18: warning: Value stored to 'pfb' during its initialization is never read [clang-analyzer-deadcode.DeadStores] kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.