misc: rtsx_usb: set return value in rsp_buf alloc err path
authorShuah Khan <skhan@linuxfoundation.org>
Fri, 1 Jul 2022 16:53:52 +0000 (10:53 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 12 Jul 2022 14:35:17 +0000 (16:35 +0200)
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>
drivers/misc/cardreader/rtsx_usb.c

index 4e21080..f150d87 100644 (file)
@@ -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);