Message ID | 20240905152658.380237-1-prestwoj@gmail.com (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
Series | [v2,1/2] scan: don't survey on external scans | expand |
Context | Check | Description |
---|---|---|
tedd_an/pre-ci_am | success | Success |
prestwoj/iwd-alpine-ci-fetch | success | Fetch PR |
prestwoj/iwd-ci-gitlint | success | GitLint |
prestwoj/iwd-ci-fetch | success | Fetch PR |
prestwoj/iwd-alpine-ci-setupell | success | Prep - Setup ELL |
prestwoj/iwd-ci-setupell | success | Prep - Setup ELL |
prestwoj/iwd-ci-makedistcheck | success | Make Distcheck |
prestwoj/iwd-alpine-ci-makedistcheck | success | Make Distcheck |
prestwoj/iwd-ci-build | success | Build - Configure |
prestwoj/iwd-alpine-ci-build | success | Build - Configure |
prestwoj/iwd-ci-makecheckvalgrind | success | Make Check w/Valgrind |
prestwoj/iwd-ci-makecheck | success | Make Check |
prestwoj/iwd-ci-clang | success | clang PASS |
prestwoj/iwd-alpine-ci-makecheckvalgrind | success | Make Check w/Valgrind |
prestwoj/iwd-alpine-ci-makecheck | success | Make Check |
prestwoj/iwd-ci-incremental_build | success | Incremental Build with patches |
prestwoj/iwd-alpine-ci-incremental_build | success | Incremental Build with patches |
prestwoj/iwd-ci-testrunner | success | test-runner PASS |
Hi James, On 9/5/24 10:26 AM, James Prestwood wrote: > Since surveys end up making driver calls in the kernel its not > entirely known how they are implemented or how long they will > take. For this reason the survey will be skipped if getting the > results from an external scan. > > Doing this also fixes a crash caused by external scans where the > scan request pointer is not checked and dereferenced: > > 0x00005ffa6a0376de in get_survey_done (user_data=0x5ffa783a3f90) at src/scan.c:2059 > 0x0000749646a29bbd in ?? () from /usr/lib/libell.so.0 > 0x0000749646a243cb in ?? () from /usr/lib/libell.so.0 > 0x0000749646a24655 in l_main_iterate () from /usr/lib/libell.so.0 > 0x0000749646a24ace in l_main_run () from /usr/lib/libell.so.0 > 0x0000749646a263a4 in l_main_run_with_signal () from /usr/lib/libell.so.0 > 0x00005ffa6a00d642 in main (argc=<optimized out>, argv=<optimized out>) at src/main.c:614 > > Reported-by: Daniel Bond <danielbondno@gmail.com> > --- > src/scan.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > v2: > * Disabled scan surveys rather than allowing a NULL scan request > Both applied, thanks. Regards, -Denis
diff --git a/src/scan.c b/src/scan.c index debdeb1f..1cec9785 100644 --- a/src/scan.c +++ b/src/scan.c @@ -2089,9 +2089,10 @@ static void scan_get_results(struct scan_context *sc, struct scan_request *sr, results->bss_list = l_queue_new(); results->freqs = freqs; - if (scan_survey(results)) + /* If there is no scan request (external scan), just get the results */ + if (sr && scan_survey(results)) return; - else + else if (sr) l_warn("failed to start a scan survey"); get_results(results);