Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

usb: storage: Add check for kcalloc

As kcalloc may return NULL pointer, the return value should
be checked and return error if fails as same as the ones in
alauda_read_map.

Fixes: e80b0fade09e ("[PATCH] USB Storage: add alauda support")
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Link: https://lore.kernel.org/r/20221208110058.12983-1-jiasheng@iscas.ac.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Jiasheng Jiang and committed by
Greg Kroah-Hartman
c35ca10f 82710ecd

+2
+2
drivers/usb/storage/alauda.c
··· 438 438 + MEDIA_INFO(us).blockshift + MEDIA_INFO(us).pageshift); 439 439 MEDIA_INFO(us).pba_to_lba = kcalloc(num_zones, sizeof(u16*), GFP_NOIO); 440 440 MEDIA_INFO(us).lba_to_pba = kcalloc(num_zones, sizeof(u16*), GFP_NOIO); 441 + if (MEDIA_INFO(us).pba_to_lba == NULL || MEDIA_INFO(us).lba_to_pba == NULL) 442 + return USB_STOR_TRANSPORT_ERROR; 441 443 442 444 if (alauda_reset_media(us) != USB_STOR_XFER_GOOD) 443 445 return USB_STOR_TRANSPORT_ERROR;