[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20240916043819-mutt-send-email-mst@kernel.org>
Date: Mon, 16 Sep 2024 04:40:00 -0400
From: "Michael S. Tsirkin" <mst@...hat.com>
To: Dan Carpenter <dan.carpenter@...aro.org>
Cc: oe-kbuild@...ts.linux.dev, Srujana Challa <schalla@...vell.com>,
lkp@...el.com, oe-kbuild-all@...ts.linux.dev,
linux-kernel@...r.kernel.org,
Vamsi Attunuru <vattunuru@...vell.com>,
Shijith Thotton <sthotton@...vell.com>,
Nithin Dabilpuram <ndabilpuram@...vell.com>
Subject: Re: drivers/vdpa/octeon_ep/octep_vdpa_hw.c:143 octep_process_mbox()
warn: missing error code? 'ret'
On Mon, Sep 16, 2024 at 10:35:28AM +0300, Dan Carpenter wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 98f7e32f20d28ec452afb208f9cffc08448a2652
> commit: 8b6c724cdab85d8923dd8c474a5a9464228379c5 virtio: vdpa: vDPA driver for Marvell OCTEON DPU devices
> date: 10 weeks ago
> config: i386-randconfig-141-20240912 (https://download.01.org/0day-ci/archive/20240916/202409160431.bRhZWhiU-lkp@intel.com/config)
> compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@...el.com>
> | Reported-by: Dan Carpenter <dan.carpenter@...aro.org>
> | Closes: https://lore.kernel.org/r/202409160431.bRhZWhiU-lkp@intel.com/
>
> New smatch warnings:
> drivers/vdpa/octeon_ep/octep_vdpa_hw.c:143 octep_process_mbox() warn: missing error code? 'ret'
> drivers/vdpa/octeon_ep/octep_vdpa_hw.c:478 octep_hw_caps_read() warn: argument 3 to %016llx specifier is cast from pointer
>
> Old smatch warnings:
> drivers/vdpa/octeon_ep/octep_vdpa_hw.c:479 octep_hw_caps_read() warn: argument 3 to %016llx specifier is cast from pointer
> drivers/vdpa/octeon_ep/octep_vdpa_hw.c:480 octep_hw_caps_read() warn: argument 3 to %016llx specifier is cast from pointer
> drivers/vdpa/octeon_ep/octep_vdpa_hw.c:481 octep_hw_caps_read() warn: argument 3 to %016llx specifier is cast from pointer
> drivers/vdpa/octeon_ep/octep_vdpa_hw.c:514 octep_hw_caps_read() warn: argument 3 to %016llx specifier is cast from pointer
>
> vim +/ret +143 drivers/vdpa/octeon_ep/octep_vdpa_hw.c
>
> 8b6c724cdab85d Srujana Challa 2024-06-14 102 static int octep_process_mbox(struct octep_hw *oct_hw, u16 id, u16 qid, void *buffer,
> 8b6c724cdab85d Srujana Challa 2024-06-14 103 u32 buf_size, bool write)
> 8b6c724cdab85d Srujana Challa 2024-06-14 104 {
> 8b6c724cdab85d Srujana Challa 2024-06-14 105 struct octep_mbox __iomem *mbox = octep_get_mbox(oct_hw);
> 8b6c724cdab85d Srujana Challa 2024-06-14 106 struct pci_dev *pdev = oct_hw->pdev;
> 8b6c724cdab85d Srujana Challa 2024-06-14 107 u32 *p = (u32 *)buffer;
> 8b6c724cdab85d Srujana Challa 2024-06-14 108 u16 data_wds;
> 8b6c724cdab85d Srujana Challa 2024-06-14 109 int ret, i;
> 8b6c724cdab85d Srujana Challa 2024-06-14 110 u32 val;
> 8b6c724cdab85d Srujana Challa 2024-06-14 111
> 8b6c724cdab85d Srujana Challa 2024-06-14 112 if (!IS_ALIGNED(buf_size, 4))
> 8b6c724cdab85d Srujana Challa 2024-06-14 113 return -EINVAL;
> 8b6c724cdab85d Srujana Challa 2024-06-14 114
> 8b6c724cdab85d Srujana Challa 2024-06-14 115 /* Make sure mbox space is available */
> 8b6c724cdab85d Srujana Challa 2024-06-14 116 ret = octep_wait_for_mbox_avail(mbox);
> 8b6c724cdab85d Srujana Challa 2024-06-14 117 if (ret) {
> 8b6c724cdab85d Srujana Challa 2024-06-14 118 dev_warn(&pdev->dev, "Timeout waiting for previous mbox data to be consumed\n");
> 8b6c724cdab85d Srujana Challa 2024-06-14 119 return ret;
> 8b6c724cdab85d Srujana Challa 2024-06-14 120 }
> 8b6c724cdab85d Srujana Challa 2024-06-14 121 data_wds = buf_size / 4;
> 8b6c724cdab85d Srujana Challa 2024-06-14 122
> 8b6c724cdab85d Srujana Challa 2024-06-14 123 if (write) {
> 8b6c724cdab85d Srujana Challa 2024-06-14 124 for (i = 1; i <= data_wds; i++) {
> 8b6c724cdab85d Srujana Challa 2024-06-14 125 octep_write32_word(mbox, i, *p);
> 8b6c724cdab85d Srujana Challa 2024-06-14 126 p++;
> 8b6c724cdab85d Srujana Challa 2024-06-14 127 }
> 8b6c724cdab85d Srujana Challa 2024-06-14 128 }
> 8b6c724cdab85d Srujana Challa 2024-06-14 129 octep_write32_word(mbox, 0, (u32)qid);
> 8b6c724cdab85d Srujana Challa 2024-06-14 130 octep_write_sts(mbox, 0);
> 8b6c724cdab85d Srujana Challa 2024-06-14 131
> 8b6c724cdab85d Srujana Challa 2024-06-14 132 octep_write_hdr(mbox, id, MBOX_REQ_SIG);
> 8b6c724cdab85d Srujana Challa 2024-06-14 133
> 8b6c724cdab85d Srujana Challa 2024-06-14 134 ret = octep_wait_for_mbox_rsp(mbox);
> 8b6c724cdab85d Srujana Challa 2024-06-14 135 if (ret) {
> 8b6c724cdab85d Srujana Challa 2024-06-14 136 dev_warn(&pdev->dev, "Timeout waiting for mbox : %d response\n", id);
> 8b6c724cdab85d Srujana Challa 2024-06-14 137 return ret;
> 8b6c724cdab85d Srujana Challa 2024-06-14 138 }
> 8b6c724cdab85d Srujana Challa 2024-06-14 139
> 8b6c724cdab85d Srujana Challa 2024-06-14 140 val = octep_read_sig(mbox);
> 8b6c724cdab85d Srujana Challa 2024-06-14 141 if ((val & 0xFFFF) != MBOX_RSP_SIG) {
> 8b6c724cdab85d Srujana Challa 2024-06-14 142 dev_warn(&pdev->dev, "Invalid Signature from mbox : %d response\n", id);
> 8b6c724cdab85d Srujana Challa 2024-06-14 @143 return ret;
>
> return -EINVAL;
>
> The other warnings are because we should use %p to print pointers. Depening on
> the .config the kernel will mask out pointers so that they aren't disclosed to
> the users. Otherwise it risks being an information leak to defeat KSALR.
>
> 8b6c724cdab85d Srujana Challa 2024-06-14 144 }
> 8b6c724cdab85d Srujana Challa 2024-06-14 145
> 8b6c724cdab85d Srujana Challa 2024-06-14 146 val = octep_read_sts(mbox);
> 8b6c724cdab85d Srujana Challa 2024-06-14 147 if (val & MBOX_RC_MASK) {
> 8b6c724cdab85d Srujana Challa 2024-06-14 148 ret = MBOX_RSP_TO_ERR(val);
> 8b6c724cdab85d Srujana Challa 2024-06-14 149 dev_warn(&pdev->dev, "Error while processing mbox : %d, err %d\n", id, ret);
> 8b6c724cdab85d Srujana Challa 2024-06-14 150 return ret;
> 8b6c724cdab85d Srujana Challa 2024-06-14 151 }
> 8b6c724cdab85d Srujana Challa 2024-06-14 152
> 8b6c724cdab85d Srujana Challa 2024-06-14 153 if (!write)
> 8b6c724cdab85d Srujana Challa 2024-06-14 154 for (i = 1; i <= data_wds; i++)
> 8b6c724cdab85d Srujana Challa 2024-06-14 155 *p++ = octep_read32_word(mbox, i);
> 8b6c724cdab85d Srujana Challa 2024-06-14 156
> 8b6c724cdab85d Srujana Challa 2024-06-14 157 return 0;
> 8b6c724cdab85d Srujana Challa 2024-06-14 158 }
>
> --
> 0-DAY CI Kernel Test Service
> https://github.com/intel/lkp-tests/wiki
Indeed.
Srujana Challa, pls post a fixup patch ASAP, I will squash it.
--
MST
Powered by blists - more mailing lists