fix: use-after-free in pkt_normalizer + ll_queue waiter cancel + uasync gen counter for epoll fd-reuse
- pkt_normalizer: save recvpart->len before queue_data_put (may free synchronously) - ll_queue: save uasync_call_soon handle in queue_waiter_handle, cancel on free - uasync: generation counter in epoll data.u64 to skip stale events after fd reuse - uasync: keep fd_to_index mapping after socket_array_remove for inactive nodes - test: test_uasync_socket_race — 4 children × 200 iterations, currently flaky
This commit is contained in:
1 parent
a01e2f0899
commit
ccdbab95a8
6 files changed
+228
-59
No files matched your search
@@ -117,6 +117,7 @@ struct queue_waiter_handle {
|
||||
struct ll_queue* defer_q;
|
||||
queue_threshold_callback_fn defer_cb;
|
||||
void* defer_arg;
|
||||
void* call_soon_id; ///< хендл отложенного вызова (для отмены)
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in new issue
Block a user