Author: adrian
Date: Mon Nov 25 22:55:06 2013
New Revision: 258605
URL: http://svnweb.freebsd.org/changeset/base/258605

Log:
  Convert over the TCP probes to use mtod() rather than directly
  dereferencing m->m_data.
  
  Sponsored by: Netflix, Inc.

Modified:
  head/sys/netinet/tcp_input.c
  head/sys/netinet/tcp_subr.c

Modified: head/sys/netinet/tcp_input.c
==============================================================================
--- head/sys/netinet/tcp_input.c        Mon Nov 25 22:37:36 2013        
(r258604)
+++ head/sys/netinet/tcp_input.c        Mon Nov 25 22:55:06 2013        
(r258605)
@@ -1393,7 +1393,7 @@ relocked:
        }
 #endif
 
-       TCP_PROBE5(receive, NULL, tp, m->m_data, tp, th);
+       TCP_PROBE5(receive, NULL, tp, mtod(m, const char *), tp, th);
 
        /*
         * Segment belongs to a connection in SYN_SENT, ESTABLISHED or later
@@ -1405,7 +1405,7 @@ relocked:
        return;
 
 dropwithreset:
-       TCP_PROBE5(receive, NULL, tp, m->m_data, tp, th);
+       TCP_PROBE5(receive, NULL, tp, mtod(m, const char *), tp, th);
 
        if (ti_locked == TI_WLOCKED) {
                INP_INFO_WUNLOCK(&V_tcbinfo);
@@ -1429,7 +1429,7 @@ dropwithreset:
 
 dropunlock:
        if (m != NULL)
-               TCP_PROBE5(receive, NULL, tp, m->m_data, tp, th);
+               TCP_PROBE5(receive, NULL, tp, mtod(m, const char *), tp, th);
 
        if (ti_locked == TI_WLOCKED) {
                INP_INFO_WUNLOCK(&V_tcbinfo);
@@ -1928,8 +1928,8 @@ tcp_do_segment(struct mbuf *m, struct tc
                        goto dropwithreset;
                }
                if ((thflags & (TH_ACK|TH_RST)) == (TH_ACK|TH_RST)) {
-                       TCP_PROBE5(connect_refused, NULL, tp, m->m_data, tp,
-                           th);
+                       TCP_PROBE5(connect_refused, NULL, tp,
+                           mtod(m, const char *), tp, th);
                        tp = tcp_drop(tp, ECONNREFUSED);
                }
                if (thflags & TH_RST)
@@ -1982,7 +1982,7 @@ tcp_do_segment(struct mbuf *m, struct tc
                        } else {
                                tcp_state_change(tp, TCPS_ESTABLISHED);
                                TCP_PROBE5(connect_established, NULL, tp,
-                                   m->m_data, tp, th);
+                                   mtod(m, const char *), tp, th);
                                cc_conn_init(tp);
                                tcp_timer_activate(tp, TT_KEEP,
                                    TP_KEEPIDLE(tp));
@@ -2387,8 +2387,8 @@ tcp_do_segment(struct mbuf *m, struct tc
                        tp->t_flags &= ~TF_NEEDFIN;
                } else {
                        tcp_state_change(tp, TCPS_ESTABLISHED);
-                       TCP_PROBE5(accept_established, NULL, tp, m->m_data, tp,
-                           th);
+                       TCP_PROBE5(accept_established, NULL, tp,
+                           mtod(m, const char *), tp, th);
                        cc_conn_init(tp);
                        tcp_timer_activate(tp, TT_KEEP, TP_KEEPIDLE(tp));
                }

Modified: head/sys/netinet/tcp_subr.c
==============================================================================
--- head/sys/netinet/tcp_subr.c Mon Nov 25 22:37:36 2013        (r258604)
+++ head/sys/netinet/tcp_subr.c Mon Nov 25 22:55:06 2013        (r258605)
@@ -720,9 +720,10 @@ tcp_respond(struct tcpcb *tp, void *ipge
                tcp_trace(TA_OUTPUT, 0, tp, mtod(m, void *), th, 0);
 #endif
        if (flags & TH_RST)
-               TCP_PROBE5(accept_refused, NULL, NULL, m->m_data, tp, nth);
+               TCP_PROBE5(accept_refused, NULL, NULL, mtod(m, const char *),
+                   tp, nth);
 
-       TCP_PROBE5(send, NULL, tp, m->m_data, tp, nth);
+       TCP_PROBE5(send, NULL, tp, mtod(m, const char *), tp, nth);
 #ifdef INET6
        if (isipv6)
                (void) ip6_output(m, NULL, NULL, ipflags, NULL, NULL, inp);
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to