commit | 691ab6ee9123880f5fb9478cd7a65a0ca5194495 | [log] [tgz] |
---|---|---|
author | Eric Dumazet <[email protected]> | Tue Feb 20 08:48:23 2024 +0000 |
committer | Minh-Anh Nguyen <[email protected]> | Tue Mar 12 15:57:11 2024 +0000 |
tree | be40fcac77a6d0da968a97447212a86cf021b7f1 | |
parent | 392d425b2d4c238bae64600966bd17101336af9b [diff] |
net: abort SO_DEVMEM_DONTNEED sooner In case user provided wrong input, SO_DEVMEM_DONTNEED could spin many times (2^32 or more) and lock cpu for many seconds. Abort the loop immediately in case of an error. Note the ABI does not report back number of pages that have been released anyway, so tcpdirect never expected a failure there. Test the unlikely() case first, to reduce indentation level of the fast path. Fixes: ac4a2b0ef821 ("PRODKERNEL: net-tcpdirect-fastrak: add SO_DEVMEM_DONTNEED setsockopt to release pages") Tested: Ran syzbot repro Reported-and-tested-by: [email protected] Effort: net-tcpdirect-fastrak Upstream-Plan: 232518966 Google-Bug-Id: 325732619 Signed-off-by: Eric Dumazet <[email protected]> Change-Id: I4c64ec56bd0ea65d030a9e817e64517dc01333a6 Reviewed-on: https://cos-review.googlesource.com/c/third_party/kernel/+/65370 Reviewed-by: Mina Almasry <[email protected]> Tested-by: Minh-Anh Nguyen <[email protected]> Reviewed-on: https://cos-review.googlesource.com/c/third_party/kernel/+/65413 Reviewed-by: Oleksandr Tymoshenko <[email protected]> Tested-by: Cusky Presubmit Bot <[email protected]>