| From 4be73f2d4420909d10295b1ac5415c05c90e5500 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 16 Sep 2021 16:49:18 +0000 |
| Subject: wilc1000: fix possible memory leak in cfg_scan_result() |
| |
| From: Ajay Singh <ajay.kathat@microchip.com> |
| |
| [ Upstream commit 3c719fed0f3a5e95b1d164609ecc81c4191ade70 ] |
| |
| When the BSS reference holds a valid reference, it is not freed. The 'if' |
| condition is wrong. Instead of the 'if (bss)' check, the 'if (!bss)' check |
| is used. |
| The issue is solved by removing the unnecessary 'if' check because |
| cfg80211_put_bss() already performs the NULL validation. |
| |
| Fixes: 6cd4fa5ab691 ("staging: wilc1000: make use of cfg80211_inform_bss_frame()") |
| Signed-off-by: Ajay Singh <ajay.kathat@microchip.com> |
| Signed-off-by: Kalle Valo <kvalo@codeaurora.org> |
| Link: https://lore.kernel.org/r/20210916164902.74629-3-ajay.kathat@microchip.com |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/staging/wilc1000/wilc_wfi_cfgoperations.c | 3 +-- |
| 1 file changed, 1 insertion(+), 2 deletions(-) |
| |
| diff --git a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c |
| index c3cd6f389a989..2a369fdaf0cbb 100644 |
| --- a/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c |
| +++ b/drivers/staging/wilc1000/wilc_wfi_cfgoperations.c |
| @@ -97,8 +97,7 @@ static void cfg_scan_result(enum scan_event scan_event, |
| info->frame_len, |
| (s32)info->rssi * 100, |
| GFP_KERNEL); |
| - if (!bss) |
| - cfg80211_put_bss(wiphy, bss); |
| + cfg80211_put_bss(wiphy, bss); |
| } else if (scan_event == SCAN_EVENT_DONE) { |
| mutex_lock(&priv->scan_req_lock); |
| |
| -- |
| 2.33.0 |
| |