mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-01 18:55:12 +00:00
rtl8192se: Fix BUG caused by failure to check skb allocation
When downloading firmware into the device, the driver fails to check the return when allocating an skb. When the allocation fails, a BUG can be generated, as seen in https://bugzilla.redhat.com/show_bug.cgi?id=771656. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Cc: Stable <stable@vger.kernel.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
874c60bad9
commit
d90db4b12b
@ -196,6 +196,8 @@ static bool _rtl92s_firmware_downloadcode(struct ieee80211_hw *hw,
|
||||
/* Allocate skb buffer to contain firmware */
|
||||
/* info and tx descriptor info. */
|
||||
skb = dev_alloc_skb(frag_length);
|
||||
if (!skb)
|
||||
return false;
|
||||
skb_reserve(skb, extra_descoffset);
|
||||
seg_ptr = (u8 *)skb_put(skb, (u32)(frag_length -
|
||||
extra_descoffset));
|
||||
@ -573,6 +575,8 @@ static bool _rtl92s_firmware_set_h2c_cmd(struct ieee80211_hw *hw, u8 h2c_cmd,
|
||||
|
||||
len = _rtl92s_get_h2c_cmdlen(MAX_TRANSMIT_BUFFER_SIZE, 1, &cmd_len);
|
||||
skb = dev_alloc_skb(len);
|
||||
if (!skb)
|
||||
return false;
|
||||
cb_desc = (struct rtl_tcb_desc *)(skb->cb);
|
||||
cb_desc->queue_index = TXCMD_QUEUE;
|
||||
cb_desc->cmd_or_init = DESC_PACKET_TYPE_NORMAL;
|
||||
|
Loading…
Reference in New Issue
Block a user