Messages in this thread | | | Date | Sat, 13 Aug 2022 21:49:52 +0530 | From | Siddh Raman Pant <> | Subject | Re: [PATCH v2] wifi: cfg80211: Fix UAF in ieee80211_scan_rx() |
| |
On Sat, 13 Aug 2022 00:55:09 +0530 Jakub Kicinski wrote: > Similarly to Greg, I'm not very familiar with the code base but one > sure way to move things forward would be to point out a commit which > broke things and put it in a Fixes tag. Much easier to validate a fix > by looking at where things went wrong.
Thanks, I now looked at some history.
The following commit on 28 Sep 2020 put the kfree call before NULLing: c8cb5b854b40 ("nl80211/cfg80211: support 6 GHz scanning")
The following commit on 19 Nov 2014 introduces RCU: 6ea0a69ca21b ("mac80211: rcu-ify scan and scheduled scan request pointers")
The kfree call wasn't "rcu-ified" in this commit, and neither were RCU heads added.
The following commit on 18 Dec 2014 added RCU head for sched_scan_req: 31a60ed1e95a ("nl80211: Convert sched_scan_req pointer to RCU pointer")
It seems a similar thing might not have been done for scan_req, but I could have also missed commits.
So what should go into the fixes tag, if any? Probably 6ea0a69ca21b?
Also, I probably should use RCU_INIT_POINTER in this patch. Or should I make a patch somewhat like 31a60ed1e95a?
Thanks, Siddh
| |