From: Nam Cao Date: Tue, 25 Oct 2022 09:12:25 +0000 (+0200) Subject: staging: rtl8712: check for return value of _r8712_init_xmit_priv() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=242443430dd8ef932a56cf483080a46f2948dd65;p=linux.git staging: rtl8712: check for return value of _r8712_init_xmit_priv() The return value of _r8712_init_xmit_priv() is never checked and the driver always continue execution as if all is well. This will cause problems if, for example, buffers cannot be allocated and the driver continue and use those buffers. Check for return value of _r8712_init_xmit_priv() and return error (if any) during probing. Tested-by: Philipp Hortmann Signed-off-by: Nam Cao Link: https://lore.kernel.org/r/b550803561acf26af71f2377215c28b94435a644.1666688642.git.namcaov@gmail.com Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/rtl8712/os_intfs.c b/drivers/staging/rtl8712/os_intfs.c index 12adb470d216c..205b7d66a40ab 100644 --- a/drivers/staging/rtl8712/os_intfs.c +++ b/drivers/staging/rtl8712/os_intfs.c @@ -308,7 +308,9 @@ int r8712_init_drv_sw(struct _adapter *padapter) ret = r8712_init_mlme_priv(padapter); if (ret) return ret; - _r8712_init_xmit_priv(&padapter->xmitpriv, padapter); + ret = _r8712_init_xmit_priv(&padapter->xmitpriv, padapter); + if (ret) + return ret; ret = _r8712_init_recv_priv(&padapter->recvpriv, padapter); if (ret) return ret;