Page MenuHomeFreeBSD

D45753.diff
No OneTemporary

D45753.diff

diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c
--- a/sys/netinet/tcp_subr.c
+++ b/sys/netinet/tcp_subr.c
@@ -2215,6 +2215,10 @@
#ifdef TCP_HHOOK
if (khelp_init_osd(HELPER_CLASS_TCP, &tp->t_osd)) {
+ if (CC_ALGO(tp)->cb_destroy != NULL)
+ CC_ALGO(tp)->cb_destroy(&tp->t_ccv);
+ CC_DATA(tp) = NULL;
+ cc_detach(tp);
if (tp->t_fb->tfb_tcp_fb_fini)
(*tp->t_fb->tfb_tcp_fb_fini)(tp, 1);
refcount_release(&tp->t_fb->tfb_refcnt);
@@ -2291,6 +2295,13 @@
tp->t_pacing_rate = -1;
if (tp->t_fb->tfb_tcp_fb_init) {
if ((*tp->t_fb->tfb_tcp_fb_init)(tp, &tp->t_fb_ptr)) {
+ if (CC_ALGO(tp)->cb_destroy != NULL)
+ CC_ALGO(tp)->cb_destroy(&tp->t_ccv);
+ CC_DATA(tp) = NULL;
+ cc_detach(tp);
+#ifdef TCP_HHOOK
+ khelp_destroy_osd(&tp->t_osd);
+#endif
refcount_release(&tp->t_fb->tfb_refcnt);
return (NULL);
}

File Metadata

Mime Type
text/plain
Expires
Sat, Jan 17, 9:37 PM (13 h, 45 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27699604
Default Alt Text
D45753.diff (856 B)

Event Timeline