Page MenuHomeFreeBSD

D46483.diff
No OneTemporary

D46483.diff

diff --git a/sys/netipsec/ipsec_offload.c b/sys/netipsec/ipsec_offload.c
--- a/sys/netipsec/ipsec_offload.c
+++ b/sys/netipsec/ipsec_offload.c
@@ -386,7 +386,7 @@
TASK_INIT(&tq->install_task, 0, ipsec_accel_sa_newkey_act, tq);
tq->sav = sav;
- tq->install_vnet = curthread->td_vnet; /* XXXKIB liveness */
+ tq->install_vnet = curthread->td_vnet;
taskqueue_enqueue(taskqueue_thread, &tq->install_task);
}
diff --git a/sys/netipsec/key.c b/sys/netipsec/key.c
--- a/sys/netipsec/key.c
+++ b/sys/netipsec/key.c
@@ -8713,6 +8713,9 @@
}
SAHTREE_WUNLOCK();
+ /* Wait for async work referencing this VNET to finish. */
+ ipsec_accel_sync();
+
key_freesah_flushed(&sahdrainq);
hashdestroy(V_sphashtbl, M_IPSEC_SP, V_sphash_mask);
hashdestroy(V_savhashtbl, M_IPSEC_SA, V_savhash_mask);

File Metadata

Mime Type
text/plain
Expires
Wed, Oct 2, 11:20 AM (21 h, 35 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
13302715
Default Alt Text
D46483.diff (800 B)

Event Timeline