Hi All,

If I try to run ping of size say 6000 in IPSec transport mode, m_unshare() 
panic with following trace. It seems that while re-assembly of IP packet 
"ip_reass" missed re-setting of "M_PKTHDR".  After applying below patch things 
work fine. Can some one suggest Is it a BUG or I am missing somethings.

panic: m_unshare: m0 0xfffff80020f82600, m 0xfffff8005d054100 has M_PKTHDR
cpuid = 15
time = 1495578455
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2c/frame 0xfffffe044e9bb890
kdb_backtrace() at kdb_backtrace+0x53/frame 0xfffffe044e9bb960
vpanic() at vpanic+0x269/frame 0xfffffe044e9bba30
kassert_panic() at kassert_panic+0xc7/frame 0xfffffe044e9bbac0
m_unshare() at m_unshare+0x578/frame 0xfffffe044e9bbbc0
esp_output() at esp_output+0x44c/frame 0xfffffe044e9bbe40
ipsec4_perform_request() at ipsec4_perform_request+0x5df/frame 
0xfffffe044e9bbff0


Patch to fix

diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC
index bf5e209ad3b..c9044652ba2 100644
--- a/sys/amd64/conf/GENERIC
+++ b/sys/amd64/conf/GENERIC
@@ -21,7 +21,7 @@
 cpu            HAMMER
 ident          GENERIC

-makeoptions    DEBUG=-g                # Build kernel with gdb(1) debug symbols
+makeoptions    DEBUG="-g -O0"          # Build kernel with gdb(1) debug symbols
 makeoptions    WITH_CTF=1              # Run ctfconvert(1) for DTrace support

 options        SCHED_ULE               # ULE scheduler
diff --git a/sys/netinet/ip_reass.c b/sys/netinet/ip_reass.c
index fbf9c176956..c6755c99f72 100644
--- a/sys/netinet/ip_reass.c
+++ b/sys/netinet/ip_reass.c
@@ -247,6 +247,7 @@ ip_reass(struct mbuf *m)
                goto done;
        } else {
                fp->ipq_nfrags++;
+               m->m_flags &= ~M_PKTHDR;
 #ifdef MAC
                mac_ipq_update(m, fp);
 #endif



Thanks & Regards

Harsh Jain

_______________________________________________
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to