linux/drivers/staging/wfx
Jérôme Pouiller 5f841fe698 staging: wfx: increase robustness of hif_generic_confirm()
Smatch complains:

    drivers/staging/wfx/hif_rx.c:26 hif_generic_confirm() warn: negative user subtract: 0-u16max - 4
    20  static int hif_generic_confirm(struct wfx_dev *wdev,
    21                                 const struct hif_msg *hif, const void *buf)
    22  {
    23          // All confirm messages start with status
    24          int status = le32_to_cpup((__le32 *)buf);
    25          int cmd = hif->id;
    26          int len = le16_to_cpu(hif->len) - 4; // drop header
                                              ^^^^^
    27
    28          WARN(!mutex_is_locked(&wdev->hif_cmd.lock), "data locking error");

In fact, rx_helper() already make the necessary checks on the value of
hif->len. Never mind, add an explicit check to make Smatch happy.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20201009171307.864608-6-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-10-10 12:33:59 +02:00
..
Documentation/devicetree/bindings/net/wireless dt-bindings: staging: wfx: silabs,wfx yaml conversion 2020-10-07 12:55:47 +02:00
bh.c staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
bh.h staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
bus_sdio.c staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
bus_spi.c staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
bus.h staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
data_rx.c staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
data_rx.h staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
data_tx.c staging: wfx: standardize the error when vif does not exist 2020-10-10 12:33:59 +02:00
data_tx.h staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
debug.c staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
debug.h staging: wfx: allow to send commands to chip 2019-10-04 10:46:10 +02:00
fwio.c staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
fwio.h staging: wfx: load firmware 2019-10-04 10:43:39 +02:00
hif_api_cmd.h staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
hif_api_general.h staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
hif_api_mib.h staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
hif_rx.c staging: wfx: increase robustness of hif_generic_confirm() 2020-10-10 12:33:59 +02:00
hif_rx.h staging: wfx: add support for start-up indication 2019-10-04 10:46:09 +02:00
hif_tx_mib.c staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
hif_tx_mib.h staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
hif_tx.c staging: wfx: improve error handling of hif_join() 2020-10-10 12:33:58 +02:00
hif_tx.h staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
hwio.c staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
hwio.h staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
Kconfig staging: wfx: fix CONFIG_MMC=m with CONFIG_WFX=y 2019-10-26 20:42:32 +02:00
key.c staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
key.h staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
main.c staging: wfx: wfx_init_common() returns NULL on error 2020-10-10 12:33:59 +02:00
main.h staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
Makefile staging: wfx: place hif_tx_mib functions into a .c file 2020-04-13 14:32:38 +02:00
queue.c staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
queue.h staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
scan.c staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
scan.h staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
sta.c staging: wfx: standardize the error when vif does not exist 2020-10-10 12:33:59 +02:00
sta.h staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
TODO staging: wfx: update TODO list 2020-09-13 09:23:06 +02:00
traces.h staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00
wfx.h staging: wfx: update copyrights dates 2020-10-07 12:55:47 +02:00