diff options
author | Suwan Kim <suwan.kim027@gmail.com> | 2019-11-11 15:10:35 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-11-13 11:53:11 +0100 |
commit | 2a9125317b247f2cf35c196f968906dcf062ae2d (patch) | |
tree | 3b883ede04e3cb83c2ab3d27dd023ca9638387a8 /drivers/usb/renesas_usbhs | |
parent | USBIP: add config dependency for SGL_ALLOC (diff) | |
download | linux-2a9125317b247f2cf35c196f968906dcf062ae2d.tar.xz linux-2a9125317b247f2cf35c196f968906dcf062ae2d.zip |
usbip: Fix uninitialized symbol 'nents' in stub_recv_cmd_submit()
Smatch reported that nents is not initialized and used in
stub_recv_cmd_submit(). nents is currently initialized by sgl_alloc()
and used to allocate multiple URBs when host controller doesn't
support scatter-gather DMA. The use of uninitialized nents means that
buf_len is zero and use_sg is true. But buffer length should not be
zero when an URB uses scatter-gather DMA.
To prevent this situation, add the conditional that checks buf_len
and use_sg. And move the use of nents right after the sgl_alloc() to
avoid the use of uninitialized nents.
If the error occurs, it adds SDEV_EVENT_ERROR_MALLOC and stub_priv
will be released by stub event handler and connection will be shut
down.
Fixes: ea44d190764b ("usbip: Implement SG support to vhci-hcd and stub driver")
Reported-by: kbuild test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Suwan Kim <suwan.kim027@gmail.com>
Acked-by: Shuah Khan <skhan@linuxfoundation.org>
Cc: stable <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20191111141035.27788-1-suwan.kim027@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/renesas_usbhs')
0 files changed, 0 insertions, 0 deletions