linux/drivers/net
Wentao Liang 08424a0922 wifi: brcm80211: fmac: Add error handling for brcmf_usb_dl_writeimage()
commit 8e089e7b58 upstream.

The function brcmf_usb_dl_writeimage() calls the function
brcmf_usb_dl_cmd() but dose not check its return value. The
'state.state' and the 'state.bytes' are uninitialized if the
function brcmf_usb_dl_cmd() fails. It is dangerous to use
uninitialized variables in the conditions.

Add error handling for brcmf_usb_dl_cmd() to jump to error
handling path if the brcmf_usb_dl_cmd() fails and the
'state.state' and the 'state.bytes' are uninitialized.

Improve the error message to report more detailed error
information.

Fixes: 71bb244ba2 ("brcm80211: fmac: add USB support for bcm43235/6/8 chipsets")
Cc: stable@vger.kernel.org # v3.4+
Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
Acked-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Link: https://patch.msgid.link/20250422042203.2259-1-vulab@iscas.ac.cn
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2025-05-09 09:43:52 +02:00
..
appletalk net: appletalk: remove Apple/Farallon LocalTalk PC support 2022-05-11 13:08:38 +01:00
arcnet arcnet: Add NULL check in com20020pci_probe() 2025-04-10 14:37:40 +02:00
bonding bonding: fix incorrect MAC address setting to receive NS messages 2025-03-22 12:50:39 -07:00
caif caif_virtio: fix wrong pointer check in cfv_probe() 2025-03-13 12:58:29 +01:00
can can: flexcan: disable transceiver during system PM 2025-03-28 21:59:54 +01:00
dsa net: dsa: mv88e6xxx: enable STU methods for 6320 family 2025-05-02 07:51:04 +02:00
ethernet amd-xgbe: Fix to ensure dependent features are toggled with RX checksum offload 2025-05-09 09:43:51 +02:00
fddi net: fddi: skfp: rmt: Clean up some inconsistent indenting 2023-04-11 12:46:26 +02:00
fjes fjes: fix memleaks in fjes_hw_setup 2024-01-31 16:19:05 -08:00
hamradio tty: use u8 for flags 2023-08-11 21:12:45 +02:00
hippi net: hippi: Add missing pci_disable_device() in rr_init_one() 2022-09-26 13:22:39 -07:00
hyperv hv_netvsc: Fix VF namespace also in synthetic NIC NETDEV_REGISTER event 2024-11-01 01:58:33 +01:00
ieee802154 ieee802154: ca8210: Add missing check for kfifo_alloc() in ca8210_probe() 2025-01-17 13:36:11 +01:00
ipa net: ipa: Enable checksum for IPA_ENDPOINT_AP_MODEM_{RX,TX} for v4.7 2025-03-13 12:58:31 +01:00
ipvlan ipvlan: ensure network headers are in skb linear part 2025-03-07 16:45:40 +01:00
mctp net: mctp i2c: Copy headers if cloned 2025-03-22 12:50:38 -07:00
mdio net: mdiobus: fix an OF node reference leak 2024-12-27 13:58:49 +01:00
netdevsim netdevsim: print human readable IP address 2025-02-21 13:57:25 +01:00
pcs net: pcs: xpcs: fix the wrong register that was written back 2024-10-10 11:57:58 +02:00
phy net: phy: microchip: force IRQ polling mode for lan88xx 2025-05-02 07:50:46 +02:00
plip net: plip: fix break; causing plip to never transmit 2024-11-01 01:58:29 +01:00
ppp net: ppp: Add bound checking for skb data on ppp_sync_txmung 2025-04-25 10:45:09 +02:00
pse-pd net: pse-pd: PSE_REGULATOR should depend on REGULATOR 2022-10-05 20:32:28 -07:00
slip slip: make slhc_remember() more robust against malicious packets 2024-10-17 15:24:30 +02:00
team team: better TEAM_OPTION_TYPE_STRING validation 2025-02-21 13:57:07 +01:00
thunderbolt net: thunderbolt: Fix TCPv6 GSO checksum calculation 2023-09-15 13:45:05 +01:00
usb Revert "rndis_host: Flag RNDIS modems as WWAN devices" 2025-05-09 09:43:49 +02:00
vmxnet3 vmxnet3: Fix malformed packet sizing in vmxnet3_process_xdp 2025-05-02 07:51:03 +02:00
vxlan vxlan: check vxlan_vnigroup_init() return value 2025-02-21 13:57:07 +01:00
wan drivers/net: process the result of hdlc_open() and add call of hdlc_close() in uhdlc_close() 2023-09-22 08:19:18 +01:00
wireguard wireguard: send: annotate intentional data race in checking empty queue 2024-07-18 13:21:23 +02:00
wireless wifi: brcm80211: fmac: Add error handling for brcmf_usb_dl_writeimage() 2025-05-09 09:43:52 +02:00
wwan net: wwan: mhi_wwan_mbim: Silence sequence number glitch errors 2025-03-22 12:50:43 -07:00
xen-netback net/xen-netback: prevent UAF in xenvif_flush_hash() 2024-10-10 11:57:22 +02:00
amt.c amt: do not use overwrapped cb area 2024-01-25 15:35:56 -08:00
bareudp.c bareudp: Pull inner IP header on xmit. 2024-10-04 16:28:58 +02:00
dummy.c net: add netdev_lockdep_set_classes() to virtual drivers 2024-04-13 13:07:30 +02:00
eql.c net: rename reference+tracking helpers 2022-06-09 21:52:55 -07:00
geneve.c geneve: Suppress list corruption splat in geneve_destroy_tunnels(). 2025-02-27 04:10:49 -08:00
gtp.c gtp: Suppress list corruption splat in gtp_net_exit_batch_rtnl(). 2025-02-27 04:10:49 -08:00
ifb.c net: Remove the obsolte u64_stats_fetch_*_irq() users (drivers). 2022-10-28 20:13:54 -07:00
Kconfig netconsole: Enable compile time configuration 2023-08-17 19:25:42 -07:00
LICENSE.SRC Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
loopback.c net: loopback: Avoid sending IP packets without an Ethernet header 2025-03-07 16:45:38 +01:00
macsec.c macsec: Fix use-after-free while sending the offloading packet 2024-11-08 16:28:18 +01:00
macvlan.c macvlan: Don't propagate promisc change to lower dev in passthru 2023-11-28 17:19:54 +00:00
macvtap.c drivers: remove struct module * setting from struct class 2023-03-17 15:16:27 +01:00
Makefile net: Always descend into dsa/ folder with CONFIG_NET_DSA enabled 2024-06-12 11:12:46 +02:00
mdio.c net: mdio: Correct function name mdio45_links_ok() in comment 2021-03-29 13:42:44 -07:00
mhi_net.c net: mhi: Remove redundant initialization owner in mhi_net_driver 2023-08-10 17:29:42 -07:00
mii.c net: mii: make mii_ethtool_gset() return void 2021-08-19 13:06:53 +01:00
net_failover.c net/net_failover: fix txq exceeding warning 2023-03-27 08:08:57 +01:00
netconsole.c net: netconsole: Disable target before netpoll cleanup 2024-08-03 08:54:13 +02:00
nlmon.c net: don't include ethtool.h from netdevice.h 2020-11-23 17:27:04 -08:00
ntb_netdev.c net: ntb_netdev: Move ntb_netdev_rx_handler() to call netif_rx() from __netif_rx() 2024-07-11 12:49:13 +02:00
rionet.c driver core: class: remove struct class_interface * from callbacks 2023-04-03 21:42:52 +02:00
sb1000.c net: dev: Makes sure netif_rx() can be invoked in any context. 2022-02-14 13:38:35 +00:00
Space.c net: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:07 -07:00
sungem_phy.c net: sungem_phy: Add of_node_put() for reference returned by of_get_parent() 2022-07-21 19:04:19 -07:00
tap.c tap: add missing verification for short frame 2024-07-27 11:34:11 +02:00
tun.c tun: revert fix group permission check 2025-02-17 09:40:14 +01:00
veth.c net: add netdev_lockdep_set_classes() to virtual drivers 2024-04-13 13:07:30 +02:00
virtio_net.c virtio-net: fix overflow inside virtnet_rq_alloc 2024-12-14 20:00:07 +01:00
vrf.c ipv6: introduce dst_rt6_info() helper 2024-12-14 19:59:35 +01:00
vsockmon.c net: don't include ethtool.h from netdevice.h 2020-11-23 17:27:04 -08:00
xen-netfront.c xen-netfront: handle NULL returned by xdp_convert_buff_to_frame() 2025-05-02 07:50:46 +02:00