Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Dec 2017 15:52:42 +0530
From:      Harsh Jain <harsh@chelsio.com>
To:        "Andrey V. Elsukov" <bu7cher@yandex.ru>, freebsd-net@freebsd.org
Subject:   Re: [freebsd-current]Who should reset M_PKTHDR flag in m_buf when IP packets are fragmented. m_unshare panic throw when IPSec is enabled
Message-ID:  <fdb72f54-efdd-c54b-c8f7-c53057d24adf@chelsio.com>
In-Reply-To: <993c58bb-3bf2-d6a3-9a05-13e1631aec87@yandex.ru>
References:  <73302ead-b2e9-c25b-4d11-475f38dec1a1@chelsio.com> <993c58bb-3bf2-d6a3-9a05-13e1631aec87@yandex.ru>

next in thread | previous in thread | raw e-mail | index | archive | help


On 26-12-2017 15:22, Andrey V. Elsukov wrote:
> On 26.12.2017 07:43, Harsh Jain wrote:
>> 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
> Hi,
>
> it seems unusual that IP reassembly happens on outbound path.
It can be re-produced with single Ping packet on chelsio(cxgbe) NIC. I tried with Intel NIC. It seems they re-produce M_WRITEABLE() buffer(follows different path in m_unshare) which is not true for cxgbe.
> Do you have some packet normalization using firewall?
Default FREEBSD current installation. No explicit firewall.

What you think above patch makes sense.
>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?fdb72f54-efdd-c54b-c8f7-c53057d24adf>