Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1532261 > unrolled thread

[PATCH 1/1] usb: return correct errno on failures

Started byPan Bian <bianpan2016@163.com>
First post2016-11-29 14:00 +0100
Last post2016-11-29 14:00 +0100
Articles 1 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [PATCH 1/1] usb: return correct errno on failures Pan Bian <bianpan2016@163.com> - 2016-11-29 14:00 +0100

#1532261 — [PATCH 1/1] usb: return correct errno on failures

FromPan Bian <bianpan2016@163.com>
Date2016-11-29 14:00 +0100
Subject[PATCH 1/1] usb: return correct errno on failures
Message-ID<sIQaS-9a-23@gated-at.bofh.it>
In function __wa_xfer_setup_segs(), variable result takes the return
value. Its value should be a negative errno on failures. Because result
may be reassigned in a loop, and its value is guaranteed to be not less
than 0 during the following repeats of the loop. So when the call to
kmalloc() or usb_alloc_urb() fails in the loop, the value of variable
result may be 0 (indicates no error), which is inconsistent with the
execution status. This patch fixes the bug, initializing variable result
with -ENOMEM in the loop.

Signed-off-by: Pan Bian <bianpan2016@163.com>
---
 drivers/usb/wusbcore/wa-xfer.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/usb/wusbcore/wa-xfer.c b/drivers/usb/wusbcore/wa-xfer.c
index 167fcc71..e70322b 100644
--- a/drivers/usb/wusbcore/wa-xfer.c
+++ b/drivers/usb/wusbcore/wa-xfer.c
@@ -1203,6 +1203,7 @@ static int __wa_xfer_setup_segs(struct wa_xfer *xfer, size_t xfer_hdr_size)
 				sizeof(struct wa_xfer_packet_info_hwaiso) +
 				(seg_isoc_frame_count * sizeof(__le16));
 		}
+		result = -ENOMEM;
 		seg = xfer->seg[cnt] = kmalloc(alloc_size + iso_pkt_descr_size,
 						GFP_ATOMIC);
 		if (seg == NULL)
-- 
1.9.1

[toc] | [standalone]


Back to top | Article view | linux.kernel


csiph-web