Message ID | 20241108125609.107016-1-nvbolhuis@gmail.com |
---|---|
State | New |
Headers | show |
Series | wifi: brcmfmac: fix scatter-gather handling by detecting end of sg list | expand |
nvbolhuis@gmail.com wrote: > From: Norbert van Bolhuis <nvbolhuis@gmail.com> > > The scatter-gather handling uses a pre-allocated list (with nents entries). > If the driver runs out of sg entries it will result in an oops. Let's detect > this instead and make the SDIO block transfer fail. > > Signed-off-by: Norbert van Bolhuis <nvbolhuis@gmail.com> Patch applied to wireless-next.git, thanks. 52e8726d6782 wifi: brcmfmac: fix scatter-gather handling by detecting end of sg list
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c index 42d991d9f8cb..60eb95fc19a5 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c @@ -455,6 +455,11 @@ static int brcmf_sdiod_sglist_rw(struct brcmf_sdio_dev *sdiodev, if (sg_data_sz > max_req_sz - req_sz) sg_data_sz = max_req_sz - req_sz; + if (!sgl) { + /* out of (pre-allocated) scatterlist entries */ + ret = -ENOMEM; + goto exit; + } sg_set_buf(sgl, pkt_data, sg_data_sz); sg_cnt++;