Message ID | 20210718084202.5118-1-len.baker@gmx.com |
---|---|
State | New |
Headers | show |
Series | [v3] rtw88: Remove unnecessary check code | expand |
Len Baker <len.baker@gmx.com> writes: > The rtw_pci_init_rx_ring function is only ever called with a fixed > constant or RTK_MAX_RX_DESC_NUM for the "len" argument. Since this > constant is defined as 512, the "if (len > TRX_BD_IDX_MASK)" check > can never happen (TRX_BD_IDX_MASK is defined as GENMASK(11, 0) or in > other words as 4095). > > So, remove this check. > > Signed-off-by: Len Baker <len.baker@gmx.com> Are everyone ok with this version?
On Mon, Jul 26, 2021 at 11:34 PM Kalle Valo <kvalo@codeaurora.org> wrote: > > Len Baker <len.baker@gmx.com> writes: > > > The rtw_pci_init_rx_ring function is only ever called with a fixed > > constant or RTK_MAX_RX_DESC_NUM for the "len" argument. Since this > > constant is defined as 512, the "if (len > TRX_BD_IDX_MASK)" check > > can never happen (TRX_BD_IDX_MASK is defined as GENMASK(11, 0) or in > > other words as 4095). > > > > So, remove this check. > > > > Signed-off-by: Len Baker <len.baker@gmx.com> > > Are everyone ok with this version? I suppose? I'm not really sure where the line should be drawn on excessive bounds checking, false warnings from otherwise quite useful static analysis tools, etc., but I suppose it doesn't make much sense to add additional excess bounds checks just to quiet Coverity. It might be nice to include the true motivation in the patch description though, which is: "this also quiets a false warning from Coverity". Anyway, feel free to pick one of these: Shrug-by: Brian Norris <briannorris@chromium.org> or Reviewed-by: Brian Norris <briannorris@chromium.org>
On Tue, Jul 27, 2021 at 11:16:11AM -0700, Brian Norris wrote: > On Mon, Jul 26, 2021 at 11:34 PM Kalle Valo <kvalo@codeaurora.org> wrote: > > > > Len Baker <len.baker@gmx.com> writes: > > > > > The rtw_pci_init_rx_ring function is only ever called with a fixed > > > constant or RTK_MAX_RX_DESC_NUM for the "len" argument. Since this > > > constant is defined as 512, the "if (len > TRX_BD_IDX_MASK)" check > > > can never happen (TRX_BD_IDX_MASK is defined as GENMASK(11, 0) or in > > > other words as 4095). > > > > > > So, remove this check. > > > > > > Signed-off-by: Len Baker <len.baker@gmx.com> > > > > Are everyone ok with this version? > > I suppose? I'm not really sure where the line should be drawn on > excessive bounds checking, false warnings from otherwise quite useful > static analysis tools, etc., but I suppose it doesn't make much sense > to add additional excess bounds checks just to quiet Coverity. > > It might be nice to include the true motivation in the patch > description though, which is: "this also quiets a false warning from > Coverity". Ok, I will send a new version with the commit changelog updated. > > Anyway, feel free to pick one of these: > > Shrug-by: Brian Norris <briannorris@chromium.org> > > or > > Reviewed-by: Brian Norris <briannorris@chromium.org> Thanks, Len
diff --git a/drivers/net/wireless/realtek/rtw88/pci.c b/drivers/net/wireless/realtek/rtw88/pci.c index e7d17ab8f113..f17e7146f20f 100644 --- a/drivers/net/wireless/realtek/rtw88/pci.c +++ b/drivers/net/wireless/realtek/rtw88/pci.c @@ -268,11 +268,6 @@ static int rtw_pci_init_rx_ring(struct rtw_dev *rtwdev, int i, allocated; int ret = 0; - if (len > TRX_BD_IDX_MASK) { - rtw_err(rtwdev, "len %d exceeds maximum RX entries\n", len); - return -EINVAL; - } - head = dma_alloc_coherent(&pdev->dev, ring_sz, &dma, GFP_KERNEL); if (!head) { rtw_err(rtwdev, "failed to allocate rx ring\n");
The rtw_pci_init_rx_ring function is only ever called with a fixed constant or RTK_MAX_RX_DESC_NUM for the "len" argument. Since this constant is defined as 512, the "if (len > TRX_BD_IDX_MASK)" check can never happen (TRX_BD_IDX_MASK is defined as GENMASK(11, 0) or in other words as 4095). So, remove this check. Signed-off-by: Len Baker <len.baker@gmx.com> --- Changelog v1 -> v2 - Remove the macro ARRAY_SIZE from the for loop (Pkshih, Brian Norris). - Add a new check for the len variable (Pkshih, Brian Norris). Changelog v2 -> v3 - Change the subject of the patch. - Remove the "if" check statement (Greg KH) - Remove the "Fixes" tag, "Addresses-Coverity-ID" tag and Cc to stable. The previous versions can be found at: v1 https://lore.kernel.org/lkml/20210711141634.6133-1-len.baker@gmx.com/ v2 https://lore.kernel.org/lkml/20210716155311.5570-1-len.baker@gmx.com/ drivers/net/wireless/realtek/rtw88/pci.c | 5 ----- 1 file changed, 5 deletions(-) -- 2.25.1