summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShuah Khan <skhan@linuxfoundation.org>2022-07-01 10:53:52 -0600
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-07-12 16:32:22 +0200
commitca4a91958466243d50a28d7029394e5e71ef87a8 (patch)
treea2158e716f13e59412073bd60626b3ec45551d26
parentff79e0ca2bea386b3ca2df7fcb8cde2378e03786 (diff)
downloadlinux-stable-ca4a91958466243d50a28d7029394e5e71ef87a8.tar.gz
linux-stable-ca4a91958466243d50a28d7029394e5e71ef87a8.tar.bz2
linux-stable-ca4a91958466243d50a28d7029394e5e71ef87a8.zip
misc: rtsx_usb: set return value in rsp_buf alloc err path
commit 2cd37c2e72449a7add6da1183d20a6247d6db111 upstream. Set return value in rsp_buf alloc error path before going to error handling. drivers/misc/cardreader/rtsx_usb.c:639:6: warning: variable 'ret' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized] if (!ucr->rsp_buf) ^~~~~~~~~~~~~ drivers/misc/cardreader/rtsx_usb.c:678:9: note: uninitialized use occurs here return ret; ^~~ drivers/misc/cardreader/rtsx_usb.c:639:2: note: remove the 'if' if its condition is always false if (!ucr->rsp_buf) ^~~~~~~~~~~~~~~~~~ drivers/misc/cardreader/rtsx_usb.c:622:9: note: initialize the variable 'ret' to silence this warning int ret; ^ = 0 Fixes: 3776c7855985 ("misc: rtsx_usb: use separate command and response buffers") Reported-by: kernel test robot <lkp@intel.com> Cc: stable <stable@kernel.org> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org> Link: https://lore.kernel.org/r/20220701165352.15687-1-skhan@linuxfoundation.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/misc/cardreader/rtsx_usb.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/misc/cardreader/rtsx_usb.c b/drivers/misc/cardreader/rtsx_usb.c
index 4e2108052509..f150d8769f19 100644
--- a/drivers/misc/cardreader/rtsx_usb.c
+++ b/drivers/misc/cardreader/rtsx_usb.c
@@ -636,8 +636,10 @@ static int rtsx_usb_probe(struct usb_interface *intf,
return -ENOMEM;
ucr->rsp_buf = kmalloc(IOBUF_SIZE, GFP_KERNEL);
- if (!ucr->rsp_buf)
+ if (!ucr->rsp_buf) {
+ ret = -ENOMEM;
goto out_free_cmd_buf;
+ }
usb_set_intfdata(intf, ucr);