diff options
author | Florin Coras <fcoras@cisco.com> | 2019-03-04 14:19:39 -0800 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2019-03-06 18:41:28 +0000 |
commit | c0737e962ca913763e4cc3aa516a2dfffe46659e (patch) | |
tree | 195ab85ca0d12e6b2f8b9a73f7f8c5a46bd3bb13 /src/vnet/session-apps/proxy.c | |
parent | 2c49ffeb251d4eb11368ca8f866020e317ac09fb (diff) |
session: use session index instead of fifo for evt
Avoids derefrencing fifo pointers whose segments could have been
unmapped.
Change-Id: Ifb0b7399e424f145f3f94b769391a6f4e31bb4e6
Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/vnet/session-apps/proxy.c')
-rw-r--r-- | src/vnet/session-apps/proxy.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/vnet/session-apps/proxy.c b/src/vnet/session-apps/proxy.c index 1ee5f5a741c..2e03ccc9f91 100644 --- a/src/vnet/session-apps/proxy.c +++ b/src/vnet/session-apps/proxy.c @@ -212,7 +212,8 @@ proxy_rx_callback (session_t * s) if (svm_fifo_set_event (active_open_tx_fifo)) { u32 ao_thread_index = active_open_tx_fifo->master_thread_index; - if (session_send_io_evt_to_thread_custom (active_open_tx_fifo, + u32 ao_session_index = active_open_tx_fifo->master_session_index; + if (session_send_io_evt_to_thread_custom (&ao_session_index, ao_thread_index, SESSION_IO_EVT_TX)) clib_warning ("failed to enqueue tx evt"); @@ -356,7 +357,8 @@ active_open_rx_callback (session_t * s) if (svm_fifo_set_event (proxy_tx_fifo)) { u8 thread_index = proxy_tx_fifo->master_thread_index; - return session_send_io_evt_to_thread_custom (proxy_tx_fifo, + u32 session_index = proxy_tx_fifo->master_session_index; + return session_send_io_evt_to_thread_custom (&session_index, thread_index, SESSION_IO_EVT_TX); } |