Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Sep 2011 02:59:52 -0400
From:      Arnaud Lacombe <lacombar@gmail.com>
To:        freebsd-net@freebsd.org
Cc:        Jack Vogel <jfvogel@gmail.com>
Subject:   FreeBSD 7-STABLE mbuf corruption
Message-ID:  <CACqU3MUs9Z9GeuGe=8iVp=MWV6eG-tO%2BkHb1znatsTq2uEqwvA@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
--bcaec51f8e8bfcd05f04ac2c4177
Content-Type: text/plain; charset=ISO-8859-1

Hi folks,

We have been trying to track down a bad mbuf management for about two
weeks on a customized 7.1 base. I have finally been able to reproduce
it with a stock FreeBSD 7-STABLE (kernel from r225276, userland from
7.4).

With the help of the attached patches, I have just been able to
trigger the following panic:

panic: Corrupted unused flags, expected 0xffffffff00000000, got 0x0, flags 0x3
cpuid = 1
Uptime: 3d10h5m3s
Cannot dump. No dump device defined

The patches taints high order 32bits of m_flags (extended to 64bits;
those are thus unused) right before the mbuf is referenced in the TX
ring of the igb(4) driver, I expect this value to never change until
right before the mbuf is freed igb_txeof(). [About this, Jack, am I
correct expecting the mbuf's flags not to be touched between
igb_xmit() and igb_txeof() ?]

I have strong suspicions that this is the cause of PR/155597,
eventually a few others PR. My current assumption about the root cause
of this behavior is that the same mbuf ends up being queued for TX
twice. After the first TX, it gets released, eventually reused in
socket's buffer, but ends up being freed again after the second TX,
screwing the chains at the same time, leading to crashes of the box.

On the crashes happens in multiple locations. We have seen crashes
(both clean panic() and NULL-pointer dereference) in various places
over the last weeks, first an almost daily panic() in sbdrop() or
sbsndptr(), and NULL-pointer dereferences in hfsc_dequeue(),
m_ext_free(), m_copym, and the list goes on.

On the driver p.o.v, crashes happened with igb(4) end of last year. At
the time, dropping the number of queue to 1 mitigated the problem...
so far. Now, the daily crashes happens with em(4) (single queue by
default on 7). We also have records of crashes in sbsndptr() on
vr(4)-based devices. Crashes seen on em(4) configuration are almost
always preceded by one or many:

emX: discard frame w/o packet header

which we agree, should not happen.

On the traffic p.o.v., crashes happens on a 24h basis with a box
handling about 30Mbps over a couple of thousands TCP connections. I
have been able to get consistent crashes in about 1h with ALTQ
enabled, proxying about 200 TCP connection over 200Mbps of traffic
(unidirectional, sub-ms RTT). Crashes becomes a lot faster with ALTQ
disabled, down to a reliable crash within 5min. The box is running a
few hundreds ipfw rules. Without any ipfw rules loaded, crashes
happens within 30min.

Now, the FreeBSD 7-STABLE machine has been able to handle about
900Mbps of traffic, over 2*500 TCP connections (500 receiving, 500
sending), over 24h without crashing. It crashed almost instantly when
I restarted the test today. The kernel has been built with INVARIANTS
and INVARIANT_SUPPORT. Hardware enumerate as follow:

CPU: Intel(R) Xeon(R) CPU           E5420  @ 2.50GHz (2493.76-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x1067a  Family = 6  Model = 17  Stepping = 10
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x40ce3bd<SSE3,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,DCA,SSE4.1,XSAVE>
  AMD Features=0x20100000<NX,LM>
  AMD Features2=0x1<LAHF>
  Cores per package: 4
real memory  = 3757834240 (3583 MB)
avail memory = 3678064640 (3507 MB)
ACPI APIC Table: <100509 APIC1714>
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
 cpu2 (AP): APIC ID:  2
 cpu3 (AP): APIC ID:  3
  cpu (AP): APIC ID:  4 (disabled)
  cpu (AP): APIC ID:  5 (disabled)
  cpu (AP): APIC ID:  6 (disabled)
  cpu (AP): APIC ID:  7 (disabled)
[...]
igb0: <Intel(R) PRO/1000 Network Connection version - 2.2.5> port
0xec00-0xec1f mem
0xfdf60000-0xfdf7ffff,0xfdf40000-0xfdf5ffff,0xfdfb8000-0xfdfbbfff irq
16 at device 0.0 on pci7
igb0: Using MSIX interrupts with 5 vectors
igb0: [ITHREAD]
igb0: [ITHREAD]
igb0: [ITHREAD]
igb0: [ITHREAD]
igb0: [ITHREAD]
igb0: Ethernet address: 00:15:b2:xx:xx:xx
igb1: <Intel(R) PRO/1000 Network Connection version - 2.2.5> port
0xec80-0xec9f mem
0xfdfe0000-0xfdffffff,0xfdfc0000-0xfdfdffff,0xfdfbc000-0xfdfbffff irq
17 at device 0.1 on pci7
igb1: Using MSIX interrupts with 5 vectors
igb1: [ITHREAD]
igb1: [ITHREAD]
igb1: [ITHREAD]
igb1: [ITHREAD]
igb1: [ITHREAD]
igb1: Ethernet address: 00:15:b2:xx:xx:xx

em(4) and igb(4) are a direct backport from HEAD, plus the build fix I
posted a few days ago.

Custom mbuf debugging is attached, as well as the config of the
kernel. The goal of the changes was first to enforce mbuf trashing,
then locate the bogus m_freem()[0], thus modifying the mbuf free path
to taint the mbuf not with the static 0xdeadc0de, but with the IP of
the call-site. Then add some consistency check.

At this point, any help is appreciated!

Thanks in advance,
 - Arnaud

[0]: the reason behind that is that I first got tons of crashes
related 0xdeadc0de, in particular, an mbuf being tagged M_PROMISC,
while the interface was not in promiscuous mode crashing on an
unwanted call to m_freem() in ether_demub()

--bcaec51f8e8bfcd05f04ac2c4177
Content-Type: application/octet-stream; name=GENERIC
Content-Disposition: attachment; filename=GENERIC
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gs737y7j0

IwojIEdFTkVSSUMgLS0gR2VuZXJpYyBrZXJuZWwgY29uZmlndXJhdGlvbiBmaWxlIGZvciBGcmVl
QlNEL2kzODYKIwojIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMgZmlsZSwgcGxlYXNlIHJl
YWQgdGhlIGhhbmRib29rIHNlY3Rpb24gb24KIyBLZXJuZWwgQ29uZmlndXJhdGlvbiBGaWxlczoK
IwojICAgIGh0dHA6Ly93d3cuRnJlZUJTRC5vcmcvZG9jL2VuX1VTLklTTzg4NTktMS9ib29rcy9o
YW5kYm9vay9rZXJuZWxjb25maWctY29uZmlnLmh0bWwKIwojIFRoZSBoYW5kYm9vayBpcyBhbHNv
IGF2YWlsYWJsZSBsb2NhbGx5IGluIC91c3Ivc2hhcmUvZG9jL2hhbmRib29rCiMgaWYgeW91J3Zl
IGluc3RhbGxlZCB0aGUgZG9jIGRpc3RyaWJ1dGlvbiwgb3RoZXJ3aXNlIGFsd2F5cyBzZWUgdGhl
CiMgRnJlZUJTRCBXb3JsZCBXaWRlIFdlYiBzZXJ2ZXIgKGh0dHA6Ly93d3cuRnJlZUJTRC5vcmcv
KSBmb3IgdGhlCiMgbGF0ZXN0IGluZm9ybWF0aW9uLgojCiMgQW4gZXhoYXVzdGl2ZSBsaXN0IG9m
IG9wdGlvbnMgYW5kIG1vcmUgZGV0YWlsZWQgZXhwbGFuYXRpb25zIG9mIHRoZQojIGRldmljZSBs
aW5lcyBpcyBhbHNvIHByZXNlbnQgaW4gdGhlIC4uLy4uL2NvbmYvTk9URVMgYW5kIE5PVEVTIGZp
bGVzLgojIElmIHlvdSBhcmUgaW4gZG91YnQgYXMgdG8gdGhlIHB1cnBvc2Ugb3IgbmVjZXNzaXR5
IG9mIGEgbGluZSwgY2hlY2sgZmlyc3QKIyBpbiBOT1RFUy4KIwojICRGcmVlQlNEJAoKI2NwdQkJ
STQ4Nl9DUFUKI2NwdQkJSTU4Nl9DUFUKY3B1CQlJNjg2X0NQVQppZGVudAkJR0VORVJJQwoKIyBU
byBzdGF0aWNhbGx5IGNvbXBpbGUgaW4gZGV2aWNlIHdpcmluZyBpbnN0ZWFkIG9mIC9ib290L2Rl
dmljZS5oaW50cwojaGludHMJCSJHRU5FUklDLmhpbnRzIgkJIyBEZWZhdWx0IHBsYWNlcyB0byBs
b29rIGZvciBkZXZpY2VzLgoKbWFrZW9wdGlvbnMJREVCVUc9LWcJCSMgQnVpbGQga2VybmVsIHdp
dGggZ2RiKDEpIGRlYnVnIHN5bWJvbHMKCm9wdGlvbnMgCVNDSEVEX1VMRQkJIyBVTEUgc2NoZWR1
bGVyCm9wdGlvbnMgCVBSRUVNUFRJT04JCSMgRW5hYmxlIGtlcm5lbCB0aHJlYWQgcHJlZW1wdGlv
bgpvcHRpb25zIAlJTkVUCQkJIyBJbnRlck5FVHdvcmtpbmcKb3B0aW9ucyAJSU5FVDYJCQkjIElQ
djYgY29tbXVuaWNhdGlvbnMgcHJvdG9jb2xzCiNvcHRpb25zIAlTQ1RQCQkJIyBTdHJlYW0gQ29u
dHJvbCBUcmFuc21pc3Npb24gUHJvdG9jb2wKb3B0aW9ucyAJRkZTCQkJIyBCZXJrZWxleSBGYXN0
IEZpbGVzeXN0ZW0Kb3B0aW9ucyAJU09GVFVQREFURVMJCSMgRW5hYmxlIEZGUyBzb2Z0IHVwZGF0
ZXMgc3VwcG9ydApvcHRpb25zIAlVRlNfQUNMCQkJIyBTdXBwb3J0IGZvciBhY2Nlc3MgY29udHJv
bCBsaXN0cwpvcHRpb25zIAlVRlNfRElSSEFTSAkJIyBJbXByb3ZlIHBlcmZvcm1hbmNlIG9uIGJp
ZyBkaXJlY3RvcmllcwpvcHRpb25zIAlVRlNfR0pPVVJOQUwJCSMgRW5hYmxlIGdqb3VybmFsLWJh
c2VkIFVGUyBqb3VybmFsaW5nCm9wdGlvbnMgCU1EX1JPT1QJCQkjIE1EIGlzIGEgcG90ZW50aWFs
IHJvb3QgZGV2aWNlCiNvcHRpb25zIAlORlNDTElFTlQJCSMgTmV0d29yayBGaWxlc3lzdGVtIENs
aWVudAojb3B0aW9ucyAJTkZTU0VSVkVSCQkjIE5ldHdvcmsgRmlsZXN5c3RlbSBTZXJ2ZXIKI29w
dGlvbnMgCU5GU0xPQ0tECQkjIE5ldHdvcmsgTG9jayBNYW5hZ2VyCiNvcHRpb25zIAlORlNfUk9P
VAkJIyBORlMgdXNhYmxlIGFzIC8sIHJlcXVpcmVzIE5GU0NMSUVOVAojb3B0aW9ucyAJTVNET1NG
UwkJCSMgTVNET1MgRmlsZXN5c3RlbQpvcHRpb25zIAlDRDk2NjAJCQkjIElTTyA5NjYwIEZpbGVz
eXN0ZW0Kb3B0aW9ucyAJUFJPQ0ZTCQkJIyBQcm9jZXNzIGZpbGVzeXN0ZW0gKHJlcXVpcmVzIFBT
RVVET0ZTKQpvcHRpb25zIAlQU0VVRE9GUwkJIyBQc2V1ZG8tZmlsZXN5c3RlbSBmcmFtZXdvcmsK
b3B0aW9ucyAJR0VPTV9QQVJUX0dQVAkJIyBHVUlEIFBhcnRpdGlvbiBUYWJsZXMuCm9wdGlvbnMg
CUdFT01fTEFCRUwJCSMgUHJvdmlkZXMgbGFiZWxpemF0aW9uCm9wdGlvbnMgCUNPTVBBVF80M1RU
WQkJIyBCU0QgNC4zIFRUWSBjb21wYXQgW0tFRVAgVEhJUyFdCiNvcHRpb25zIAlDT01QQVRfRlJF
RUJTRDQJCSMgQ29tcGF0aWJsZSB3aXRoIEZyZWVCU0Q0CiNvcHRpb25zIAlDT01QQVRfRlJFRUJT
RDUJCSMgQ29tcGF0aWJsZSB3aXRoIEZyZWVCU0Q1CiNvcHRpb25zIAlDT01QQVRfRlJFRUJTRDYJ
CSMgQ29tcGF0aWJsZSB3aXRoIEZyZWVCU0Q2CiNvcHRpb25zIAlTQ1NJX0RFTEFZPTUwMDAJCSMg
RGVsYXkgKGluIG1zKSBiZWZvcmUgcHJvYmluZyBTQ1NJCm9wdGlvbnMgCUtUUkFDRQkJCSMga3Ry
YWNlKDEpIHN1cHBvcnQKb3B0aW9ucyAJU1RBQ0sJCQkjIHN0YWNrKDkpIHN1cHBvcnQKb3B0aW9u
cyAJU1lTVlNITQkJCSMgU1lTVi1zdHlsZSBzaGFyZWQgbWVtb3J5Cm9wdGlvbnMgCVNZU1ZNU0cJ
CQkjIFNZU1Ytc3R5bGUgbWVzc2FnZSBxdWV1ZXMKb3B0aW9ucyAJU1lTVlNFTQkJCSMgU1lTVi1z
dHlsZSBzZW1hcGhvcmVzCm9wdGlvbnMgCVAxMDAzXzFCX1NFTUFQSE9SRVMJIyBQT1NJWC1zdHls
ZSBzZW1hcGhvcmVzCm9wdGlvbnMgCV9LUE9TSVhfUFJJT1JJVFlfU0NIRURVTElORyAjIFBPU0lY
IFAxMDAzXzFCIHJlYWwtdGltZSBleHRlbnNpb25zCm9wdGlvbnMgCUtCRF9JTlNUQUxMX0NERVYJ
IyBpbnN0YWxsIGEgQ0RFViBlbnRyeSBpbiAvZGV2Cm9wdGlvbnMgCUFEQVBUSVZFX0dJQU5UCQkj
IEdpYW50IG11dGV4IGlzIGFkYXB0aXZlLgpvcHRpb25zIAlTVE9QX05NSQkJIyBTdG9wIENQVVMg
dXNpbmcgTk1JIGluc3RlYWQgb2YgSVBJCm9wdGlvbnMgCUFVRElUCQkJIyBTZWN1cml0eSBldmVu
dCBhdWRpdGluZwojb3B0aW9ucyAJS0RUUkFDRV9IT09LUwkJIyBLZXJuZWwgRFRyYWNlIGhvb2tz
Cm9wdGlvbnMgCUlOQ0xVREVfQ09ORklHX0ZJTEUgICAgICMgSW5jbHVkZSB0aGlzIGZpbGUgaW4g
a2VybmVsCgojIFRvIG1ha2UgYW4gU01QIGtlcm5lbCwgdGhlIG5leHQgdHdvIGxpbmVzIGFyZSBu
ZWVkZWQKb3B0aW9ucyAJU01QCQkJIyBTeW1tZXRyaWMgTXVsdGlQcm9jZXNzb3IgS2VybmVsCmRl
dmljZQkJYXBpYwkJCSMgSS9PIEFQSUMKCiMgQ1BVIGZyZXF1ZW5jeSBjb250cm9sCmRldmljZQkJ
Y3B1ZnJlcQoKIyBCdXMgc3VwcG9ydC4KZGV2aWNlCQllaXNhCmRldmljZQkJcGNpCgojIEZsb3Bw
eSBkcml2ZXMKI2RldmljZQkJZmRjCgojIEFUQSBhbmQgQVRBUEkgZGV2aWNlcwpkZXZpY2UJCWF0
YQpkZXZpY2UJCWF0YWRpc2sJCSMgQVRBIGRpc2sgZHJpdmVzCmRldmljZQkJYXRhcmFpZAkJIyBB
VEEgUkFJRCBkcml2ZXMKI2RldmljZQkJYXRhcGljZAkJIyBBVEFQSSBDRFJPTSBkcml2ZXMKI2Rl
dmljZQkJYXRhcGlmZAkJIyBBVEFQSSBmbG9wcHkgZHJpdmVzCiNkZXZpY2UJCWF0YXBpc3QJCSMg
QVRBUEkgdGFwZSBkcml2ZXMKb3B0aW9ucyAJQVRBX1NUQVRJQ19JRAkjIFN0YXRpYyBkZXZpY2Ug
bnVtYmVyaW5nCgojIFNDU0kgQ29udHJvbGxlcnMKI2RldmljZQkJYWhiCQkjIEVJU0EgQUhBMTc0
MiBmYW1pbHkKI2RldmljZQkJYWhjCQkjIEFIQTI5NDAgYW5kIG9uYm9hcmQgQUlDN3h4eCBkZXZp
Y2VzCiNvcHRpb25zIAlBSENfUkVHX1BSRVRUWV9QUklOVAkjIFByaW50IHJlZ2lzdGVyIGJpdGZp
ZWxkcyBpbiBkZWJ1ZwoJCQkJCSMgb3V0cHV0LiAgQWRkcyB+MTI4ayB0byBkcml2ZXIuCiNkZXZp
Y2UJCWFoZAkJIyBBSEEzOTMyMC8yOTMyMCBhbmQgb25ib2FyZCBBSUM3OXh4IGRldmljZXMKI29w
dGlvbnMgCUFIRF9SRUdfUFJFVFRZX1BSSU5UCSMgUHJpbnQgcmVnaXN0ZXIgYml0ZmllbGRzIGlu
IGRlYnVnCgkJCQkJIyBvdXRwdXQuICBBZGRzIH4yMTVrIHRvIGRyaXZlci4KI2RldmljZQkJYW1k
CQkjIEFNRCA1M0M5NzQgKFRla3JhbSBEQy0zOTAoVCkpCiNkZXZpY2UJCWhwdGlvcAkJIyBIaWdo
cG9pbnQgUm9ja2V0UmFpZCAzeHh4IHNlcmllcwojZGV2aWNlCQlpc3AJCSMgUWxvZ2ljIGZhbWls
eQojZGV2aWNlIAlpc3BmdwkJIyBGaXJtd2FyZSBmb3IgUUxvZ2ljIEhCQXMtIG5vcm1hbGx5IGEg
bW9kdWxlCiNkZXZpY2UJCW1wdAkJIyBMU0ktTG9naWMgTVBULUZ1c2lvbgojZGV2aWNlCQluY3IJ
CSMgTkNSL1N5bWJpb3MgTG9naWMKI2RldmljZQkJc3ltCQkjIE5DUi9TeW1iaW9zIExvZ2ljIChu
ZXdlciBjaGlwc2V0cyArIHRob3NlIG9mIGBuY3InKQojZGV2aWNlCQl0cm0JCSMgVGVrcmFtIERD
Mzk1VS9VVy9GIERDMzE1VSBhZGFwdGVycwoKI2RldmljZQkJYWR2CQkjIEFkdmFuc3lzIFNDU0kg
YWRhcHRlcnMKI2RldmljZQkJYWR3CQkjIEFkdmFuc3lzIHdpZGUgU0NTSSBhZGFwdGVycwojZGV2
aWNlCQlhaGEJCSMgQWRhcHRlYyAxNTR4IFNDU0kgYWRhcHRlcnMKI2RldmljZQkJYWljCQkjIEFk
YXB0ZWMgMTVbMDEyXXggU0NTSSBhZGFwdGVycywgQUlDLTZbMjNdNjAuCiNkZXZpY2UJCWJ0CQkj
IEJ1c2xvZ2ljL015bGV4IE11bHRpTWFzdGVyIFNDU0kgYWRhcHRlcnMKCiNkZXZpY2UJCW5jdgkJ
IyBOQ1IgNTNDNTAwCiNkZXZpY2UJCW5zcAkJIyBXb3JrYml0IE5pbmphIFNDU0ktMwojZGV2aWNl
CQlzdGcJCSMgVE1DIDE4QzMwLzE4QzUwCgojIFNDU0kgcGVyaXBoZXJhbHMKZGV2aWNlCQlzY2J1
cwkJIyBTQ1NJIGJ1cyAocmVxdWlyZWQgZm9yIFNDU0kpCmRldmljZQkJY2gJCSMgU0NTSSBtZWRp
YSBjaGFuZ2VycwpkZXZpY2UJCWRhCQkjIERpcmVjdCBBY2Nlc3MgKGRpc2tzKQojZGV2aWNlCQlz
YQkJIyBTZXF1ZW50aWFsIEFjY2VzcyAodGFwZSBldGMpCiNkZXZpY2UJCWNkCQkjIENECmRldmlj
ZQkJcGFzcwkJIyBQYXNzdGhyb3VnaCBkZXZpY2UgKGRpcmVjdCBTQ1NJIGFjY2VzcykKZGV2aWNl
CQlzZXMJCSMgU0NTSSBFbnZpcm9ubWVudGFsIFNlcnZpY2VzIChhbmQgU0FGLVRFKQoKIyBSQUlE
IGNvbnRyb2xsZXJzIGludGVyZmFjZWQgdG8gdGhlIFNDU0kgc3Vic3lzdGVtCiNkZXZpY2UJCWFt
cgkJIyBBTUkgTWVnYVJBSUQKI2RldmljZQkJYXJjbXNyCQkjIEFyZWNhIFNBVEEgSUkgUkFJRAoj
ZGV2aWNlCQlhc3IJCSMgRFBUIFNtYXJ0UkFJRCBWLCBWSSBhbmQgQWRhcHRlYyBTQ1NJIFJBSUQK
I2RldmljZQkJY2lzcwkJIyBDb21wYXEgU21hcnQgUkFJRCA1KgojZGV2aWNlCQlkcHQJCSMgRFBU
IFNtYXJ0Y2FjaGUgSUlJLCBJViAtIFNlZSBOT1RFUyBmb3Igb3B0aW9ucwojZGV2aWNlCQlocHRt
dgkJIyBIaWdocG9pbnQgUm9ja2V0UkFJRCAxODJ4CiNkZXZpY2UJCWhwdHJyCQkjIEhpZ2hwb2lu
dCBSb2NrZXRSQUlEIDE3eHgsIDIyeHgsIDIzeHgsIDI1eHgKI2RldmljZQkJaWlyCQkjIEludGVs
IEludGVncmF0ZWQgUkFJRAojZGV2aWNlCQlpcHMJCSMgSUJNIChBZGFwdGVjKSBTZXJ2ZVJBSUQK
I2RldmljZQkJbWx5CQkjIE15bGV4IEFjY2VsZVJBSUQvZVh0cmVtZVJBSUQKI2RldmljZQkJdHdh
CQkjIDN3YXJlIDkwMDAgc2VyaWVzIFBBVEEvU0FUQSBSQUlECgojIFJBSUQgY29udHJvbGxlcnMK
I2RldmljZQkJYWFjCQkjIEFkYXB0ZWMgRlNBIFJBSUQKI2RldmljZQkJYWFjcAkJIyBTQ1NJIHBh
c3N0aHJvdWdoIGZvciBhYWMgKHJlcXVpcmVzIENBTSkKI2RldmljZQkJaWRhCQkjIENvbXBhcSBT
bWFydCBSQUlECiNkZXZpY2UJCW1maQkJIyBMU0kgTWVnYVJBSUQgU0FTCiNkZXZpY2UJCW1seAkJ
IyBNeWxleCBEQUM5NjAgZmFtaWx5CiNkZXZpY2UJCXBzdAkJIyBQcm9taXNlIFN1cGVydHJhayBT
WDYwMDAKI2RldmljZQkJdHdlCQkjIDN3YXJlIEFUQSBSQUlECgojIGF0a2JkYzAgY29udHJvbHMg
Ym90aCB0aGUga2V5Ym9hcmQgYW5kIHRoZSBQUy8yIG1vdXNlCmRldmljZQkJYXRrYmRjCQkjIEFU
IGtleWJvYXJkIGNvbnRyb2xsZXIKZGV2aWNlCQlhdGtiZAkJIyBBVCBrZXlib2FyZApkZXZpY2UJ
CXBzbQkJIyBQUy8yIG1vdXNlCgpkZXZpY2UJCWtiZG11eAkJIyBrZXlib2FyZCBtdWx0aXBsZXhl
cgoKZGV2aWNlCQl2Z2EJCSMgVkdBIHZpZGVvIGNhcmQgZHJpdmVyCgojZGV2aWNlCQlzcGxhc2gJ
CSMgU3BsYXNoIHNjcmVlbiBhbmQgc2NyZWVuIHNhdmVyIHN1cHBvcnQKCiMgc3lzY29ucyBpcyB0
aGUgZGVmYXVsdCBjb25zb2xlIGRyaXZlciwgcmVzZW1ibGluZyBhbiBTQ08gY29uc29sZQpkZXZp
Y2UJCXNjCgpkZXZpY2UJCWFncAkJIyBzdXBwb3J0IHNldmVyYWwgQUdQIGNoaXBzZXRzCgojIFBv
d2VyIG1hbmFnZW1lbnQgc3VwcG9ydCAoc2VlIE5PVEVTIGZvciBtb3JlIG9wdGlvbnMpCiNkZXZp
Y2UJCWFwbQojIEFkZCBzdXNwZW5kL3Jlc3VtZSBzdXBwb3J0IGZvciB0aGUgaTgyNTQuCmRldmlj
ZQkJcG10aW1lcgoKIyBQQ0NBUkQgKFBDTUNJQSkgc3VwcG9ydAojIFBDTUNJQSBhbmQgY2FyZGJ1
cyBicmlkZ2Ugc3VwcG9ydAojZGV2aWNlCQljYmIJCSMgY2FyZGJ1cyAoeWVudGEpIGJyaWRnZQoj
ZGV2aWNlCQlwY2NhcmQJCSMgUEMgQ2FyZCAoMTYtYml0KSBidXMKI2RldmljZQkJY2FyZGJ1cwkJ
IyBDYXJkQnVzICgzMi1iaXQpIGJ1cwoKIyBTZXJpYWwgKENPTSkgcG9ydHMKZGV2aWNlCQlzaW8J
CSMgODI1MCwgMTZbNDVdNTAgYmFzZWQgc2VyaWFsIHBvcnRzCmRldmljZQkJdWFydAkJIyBHZW5l
cmljIFVBUlQgZHJpdmVyCgojIFBhcmFsbGVsIHBvcnQKI2RldmljZQkJcHBjCiNkZXZpY2UJCXBw
YnVzCQkjIFBhcmFsbGVsIHBvcnQgYnVzIChyZXF1aXJlZCkKI2RldmljZQkJbHB0CQkjIFByaW50
ZXIKI2RldmljZQkJcGxpcAkJIyBUQ1AvSVAgb3ZlciBwYXJhbGxlbAojZGV2aWNlCQlwcGkJCSMg
UGFyYWxsZWwgcG9ydCBpbnRlcmZhY2UgZGV2aWNlCiNkZXZpY2UJCXZwbwkJIyBSZXF1aXJlcyBz
Y2J1cyBhbmQgZGEKCiMgSWYgeW91J3ZlIGdvdCBhICJkdW1iIiBzZXJpYWwgb3IgcGFyYWxsZWwg
UENJIGNhcmQgdGhhdCBpcwojIHN1cHBvcnRlZCBieSB0aGUgcHVjKDQpIGdsdWUgZHJpdmVyLCB1
bmNvbW1lbnQgdGhlIGZvbGxvd2luZwojIGxpbmUgdG8gZW5hYmxlIGl0IChjb25uZWN0cyB0byBz
aW8sIHVhcnQgYW5kL29yIHBwYyBkcml2ZXJzKToKI2RldmljZQkJcHVjCgojIFBDSSBFdGhlcm5l
dCBOSUNzLgojZGV2aWNlCQlkZQkJIyBERUMvSW50ZWwgREMyMXg0eCAoYGBUdWxpcCcnKQpkZXZp
Y2UJCWVtCQkjIEludGVsIFBSTy8xMDAwIEdpZ2FiaXQgRXRoZXJuZXQgRmFtaWx5CmRldmljZQkJ
aWdiCQkjIEludGVsIFBSTy8xMDAwIFBDSUUgU2VydmVyIEdpZ2FiaXQgRmFtaWx5CiNkZXZpY2UJ
CWl4Z2IJCSMgSW50ZWwgUFJPLzEwR2JFIEV0aGVybmV0IENhcmQKI2RldmljZQkJbGUJCSMgQU1E
IEFtNzkwMCBMQU5DRSBhbmQgQW03OUM5eHggUENuZXQKI2RldmljZQkJdHhwCQkjIDNDb20gM2NS
OTkwIChgYFR5cGhvb24nJykKI2RldmljZQkJdngJCSMgM0NvbSAzYzU5MCwgM2M1OTUgKGBgVm9y
dGV4JycpCgojIFBDSSBFdGhlcm5ldCBOSUNzIHRoYXQgdXNlIHRoZSBjb21tb24gTUlJIGJ1cyBj
b250cm9sbGVyIGNvZGUuCiMgTk9URTogQmUgc3VyZSB0byBrZWVwIHRoZSAnZGV2aWNlIG1paWJ1
cycgbGluZSBpbiBvcmRlciB0byB1c2UgdGhlc2UgTklDcyEKZGV2aWNlCQltaWlidXMJCSMgTUlJ
IGJ1cyBzdXBwb3J0CiNkZXZpY2UJCWFnZQkJIyBBdHRhbnNpYy9BdGhlcm9zIEwxIEdpZ2FiaXQg
RXRoZXJuZXQKI2RldmljZQkJYWxjCQkjIEF0aGVyb3MgQVI4MTMxL0FSODEzMiBFdGhlcm5ldAoj
ZGV2aWNlCQlhbGUJCSMgQXRoZXJvcyBBUjgxMjEvQVI4MTEzL0FSODExNCBFdGhlcm5ldAojZGV2
aWNlCQliY2UJCSMgQnJvYWRjb20gQkNNNTcwNi9CQ001NzA4IEdpZ2FiaXQgRXRoZXJuZXQKI2Rl
dmljZQkJYmZlCQkjIEJyb2FkY29tIEJDTTQ0MHggMTAvMTAwIEV0aGVybmV0CiNkZXZpY2UJCWJn
ZQkJIyBCcm9hZGNvbSBCQ001NzB4eCBHaWdhYml0IEV0aGVybmV0CiNkZXZpY2UJCWRjCQkjIERF
Qy9JbnRlbCAyMTE0MyBhbmQgdmFyaW91cyB3b3JrYWxpa2VzCiNkZXZpY2UJCWV0CQkjIEFnZXJl
IEVUMTMxMCAxMC8xMDAvR2lnYWJpdCBFdGhlcm5ldAojZGV2aWNlCQlmeHAJCSMgSW50ZWwgRXRo
ZXJFeHByZXNzIFBSTy8xMDBCICg4MjU1NywgODI1NTgpCiNkZXZpY2UJCWptZQkJIyBKTWljcm9u
IEpNQzI1MCBHaWdhYml0L0pNQzI2MCBGYXN0IEV0aGVybmV0CiNkZXZpY2UJCWxnZQkJIyBMZXZl
bCAxIExYVDEwMDEgZ2lnYWJpdCBFdGhlcm5ldAojZGV2aWNlCQltc2sJCSMgTWFydmVsbC9TeXNL
b25uZWN0IFl1a29uIElJIEdpZ2FiaXQgRXRoZXJuZXQKI2RldmljZQkJbmZlCQkjIG5WaWRpYSBu
Rm9yY2UgTUNQIG9uLWJvYXJkIEV0aGVybmV0CiNkZXZpY2UJCW5nZQkJIyBOYXRTZW1pIERQODM4
MjAgZ2lnYWJpdCBFdGhlcm5ldAojZGV2aWNlCQludmUJCSMgblZpZGlhIG5Gb3JjZSBNQ1Agb24t
Ym9hcmQgRXRoZXJuZXQgTmV0d29ya2luZwojZGV2aWNlCQlwY24JCSMgQU1EIEFtNzlDOTd4IFBD
SSAxMC8xMDAgKHByZWNlZGVuY2Ugb3ZlciAnbGUnKQojZGV2aWNlCQlyZQkJIyBSZWFsVGVrIDgx
MzlDKy84MTY5LzgxNjlTLzgxMTBTCiNkZXZpY2UJCXJsCQkjIFJlYWxUZWsgODEyOS84MTM5CiNk
ZXZpY2UJCXNmCQkjIEFkYXB0ZWMgQUlDLTY5MTUgKGBgU3RhcmZpcmUnJykKI2RldmljZQkJc2dl
CQkjIFNpbGljb24gSW50ZWdyYXRlZCBTeXN0ZW1zIFNpUzE5MC8xOTEKI2RldmljZQkJc2lzCQkj
IFNpbGljb24gSW50ZWdyYXRlZCBTeXN0ZW1zIFNpUyA5MDAvU2lTIDcwMTYKI2RldmljZQkJc2sJ
CSMgU3lzS29ubmVjdCBTSy05ODR4ICYgU0stOTgyeCBnaWdhYml0IEV0aGVybmV0CiNkZXZpY2UJ
CXN0ZQkJIyBTdW5kYW5jZSBTVDIwMSAoRC1MaW5rIERGRS01NTBUWCkKI2RldmljZQkJc3RnZQkJ
IyBTdW5kYW5jZS9UYW1hcmFjayBUQzkwMjEgZ2lnYWJpdCBFdGhlcm5ldAojZGV2aWNlCQl0aQkJ
IyBBbHRlb24gTmV0d29ya3MgVGlnb24gSS9JSSBnaWdhYml0IEV0aGVybmV0CiNkZXZpY2UJCXRs
CQkjIFRleGFzIEluc3RydW1lbnRzIFRodW5kZXJMQU4KI2RldmljZQkJdHgJCSMgU01DIEV0aGVy
UG93ZXIgSUkgKDgzYzE3MCBgYEVQSUMnJykKI2RldmljZQkJdmdlCQkjIFZJQSBWVDYxMnggZ2ln
YWJpdCBFdGhlcm5ldAojZGV2aWNlCQl2cgkJIyBWSUEgUmhpbmUsIFJoaW5lIElJCiNkZXZpY2UJ
CXZ0ZQkJIyBETSZQIFZvcnRleDg2IFJEQyBSNjA0MCBGYXN0IEV0aGVybmV0CiNkZXZpY2UJCXdi
CQkjIFdpbmJvbmQgVzg5Qzg0MEYKI2RldmljZQkJeGwJCSMgM0NvbSAzYzkweCAoYGBCb29tZXJh
bmcnJywgYGBDeWNsb25lJycpCgojIElTQSBFdGhlcm5ldCBOSUNzLiAgcGNjYXJkIE5JQ3MgaW5j
bHVkZWQuCiNkZXZpY2UJCWNzCQkjIENyeXN0YWwgU2VtaWNvbmR1Y3RvciBDUzg5eDAgTklDCiMg
J2RldmljZSBlZCcgcmVxdWlyZXMgJ2RldmljZSBtaWlidXMnCiNkZXZpY2UJCWVkCQkjIE5FWzEy
XTAwMCwgU01DIFVsdHJhLCAzYzUwMywgRFM4MzkwIGNhcmRzCiNkZXZpY2UJCWV4CQkjIEludGVs
IEV0aGVyRXhwcmVzcyBQcm8vMTAgYW5kIFByby8xMCsKI2RldmljZQkJZXAJCSMgRXRoZXJsaW5r
IElJSSBiYXNlZCBjYXJkcwojZGV2aWNlCQlmZQkJIyBGdWppdHN1IE1CODY5NnggYmFzZWQgY2Fy
ZHMKI2RldmljZQkJaWUJCSMgRXRoZXJFeHByZXNzIDgvMTYsIDNDNTA3LCBTdGFyTEFOIDEwIGV0
Yy4KI2RldmljZQkJc24JCSMgU01DJ3MgOTAwMCBzZXJpZXMgb2YgRXRoZXJuZXQgY2hpcHMKI2Rl
dmljZQkJeGUJCSMgWGlyY29tIHBjY2FyZCBFdGhlcm5ldAoKIyBXaXJlbGVzcyBOSUMgY2FyZHMK
I2RldmljZQkJd2xhbgkJIyA4MDIuMTEgc3VwcG9ydAojZGV2aWNlCQl3bGFuX3dlcAkjIDgwMi4x
MSBXRVAgc3VwcG9ydAojZGV2aWNlCQl3bGFuX2NjbXAJIyA4MDIuMTEgQ0NNUCBzdXBwb3J0CiNk
ZXZpY2UJCXdsYW5fdGtpcAkjIDgwMi4xMSBUS0lQIHN1cHBvcnQKI2RldmljZQkJd2xhbl9hbXJy
CSMgQU1SUiB0cmFuc21pdCByYXRlIGNvbnRyb2wgYWxnb3JpdGhtCiNkZXZpY2UJCXdsYW5fc2Nh
bl9hcAkjIDgwMi4xMSBBUCBtb2RlIHNjYW5uaW5nCiNkZXZpY2UJCXdsYW5fc2Nhbl9zdGEJIyA4
MDIuMTEgU1RBIG1vZGUgc2Nhbm5pbmcKI2RldmljZQkJYW4JCSMgQWlyb25ldCA0NTAwLzQ4MDAg
ODAyLjExIHdpcmVsZXNzIE5JQ3MuCiNkZXZpY2UJCWF0aAkJIyBBdGhlcm9zIHBjaS9jYXJkYnVz
IE5JQydzCiNkZXZpY2UJCWF0aF9oYWwJCSMgQXRoZXJvcyBIQUwgKEhhcmR3YXJlIEFjY2VzcyBM
YXllcikKI29wdGlvbnMJCUFIX1NVUFBPUlRfQVI1NDE2CSMgZW5hYmxlIEFSNTQxNiB0eC9yeCBk
ZXNjcmlwdG9ycwojZGV2aWNlCQlhdGhfcmF0ZV9zYW1wbGUJIyBTYW1wbGVSYXRlIHR4IHJhdGUg
Y29udHJvbCBmb3IgYXRoCiNkZXZpY2UJCWF3aQkJIyBCYXlTdGFjayA2NjAgYW5kIG90aGVycwoj
ZGV2aWNlCQlyYWwJCSMgUmFsaW5rIFRlY2hub2xvZ3kgUlQyNTAwIHdpcmVsZXNzIE5JQ3MuCiNk
ZXZpY2UJCXdpCQkjIFdhdmVMQU4vSW50ZXJzaWwvU3ltYm9sIDgwMi4xMSB3aXJlbGVzcyBOSUNz
LgojZGV2aWNlCQl3bAkJIyBPbGRlciBub24gODAyLjExIFdhdmVsYW4gd2lyZWxlc3MgTklDLgoK
IyBQc2V1ZG8gZGV2aWNlcy4KZGV2aWNlCQlsb29wCQkjIE5ldHdvcmsgbG9vcGJhY2sKZGV2aWNl
CQlyYW5kb20JCSMgRW50cm9weSBkZXZpY2UKZGV2aWNlCQlldGhlcgkJIyBFdGhlcm5ldCBzdXBw
b3J0CmRldmljZQkJdmxhbgkJIyA4MDIuMVEgVkxBTiBzdXBwb3J0CmRldmljZQkJc2wJCSMgS2Vy
bmVsIFNMSVAKZGV2aWNlCQlwcHAJCSMgS2VybmVsIFBQUApkZXZpY2UJCXR1bgkJIyBQYWNrZXQg
dHVubmVsLgpkZXZpY2UJCXB0eQkJIyBQc2V1ZG8tdHR5cyAodGVsbmV0IGV0YykKZGV2aWNlCQlt
ZAkJIyBNZW1vcnkgImRpc2tzIgpkZXZpY2UJCWdpZgkJIyBJUHY2IGFuZCBJUHY0IHR1bm5lbGlu
ZwpkZXZpY2UJCWZhaXRoCQkjIElQdjYtdG8tSVB2NCByZWxheWluZyAodHJhbnNsYXRpb24pCmRl
dmljZQkJZmlybXdhcmUJIyBmaXJtd2FyZSBhc3Npc3QgbW9kdWxlCgojIFRoZSBgYnBmJyBkZXZp
Y2UgZW5hYmxlcyB0aGUgQmVya2VsZXkgUGFja2V0IEZpbHRlci4KIyBCZSBhd2FyZSBvZiB0aGUg
YWRtaW5pc3RyYXRpdmUgY29uc2VxdWVuY2VzIG9mIGVuYWJsaW5nIHRoaXMhCiMgTm90ZSB0aGF0
ICdicGYnIGlzIHJlcXVpcmVkIGZvciBESENQLgpkZXZpY2UJCWJwZgkJIyBCZXJrZWxleSBwYWNr
ZXQgZmlsdGVyCgojCm9wdGlvbnMJCUlOVkFSSUFOVFMKb3B0aW9ucwkJSU5WQVJJQU5UX1NVUFBP
UlQKCiMKb3B0aW9ucwkJSVBGSVJFV0FMTAoKb3B0aW9ucwkJSVBGSVJFV0FMTF9ERUZBVUxUX1RP
X0FDQ0VQVApvcHRpb25zCQlJUEZJUkVXQUxMX0ZPUldBUkQKb3B0aW9ucwkJSVBGSVJFV0FMTF9W
RVJCT1NFCgojCmRldmljZQkJcGYJCSMKCiMKb3B0aW9ucwkJQUxUUQpvcHRpb25zCQlBTFRRX0NC
USAgICAgICAgIyBDbGFzcyBCYXNlZCBRdWV1ZWluZwpvcHRpb25zCQlBTFRRX1JFRCAgICAgICAg
IyBSYW5kb20gRWFybHkgRGV0ZWN0aW9uCm9wdGlvbnMJCUFMVFFfUklPICAgICAgICAjIFJFRCBJ
bi9PdXQKb3B0aW9ucwkJQUxUUV9IRlNDICAgICAgICMgSGllcmFyY2hpY2FsIFBhY2tldCBTY2hl
ZHVsZXIKb3B0aW9ucwkJQUxUUV9DRE5SICAgICAgICMgVHJhZmZpYyBjb25kaXRpb25lcgpvcHRp
b25zCQlBTFRRX1BSSVEgICAgICAgIyBQcmlvcml0eSBRdWV1ZWluZwpvcHRpb25zCQlBTFRRX05P
UENDICAgICAgIyBSZXF1aXJlZCBpZiB0aGUgVFNDIGlzIHVudXNhYmxlCgojIFVTQiBzdXBwb3J0
CiNkZXZpY2UJCXVoY2kJCSMgVUhDSSBQQ0ktPlVTQiBpbnRlcmZhY2UKI2RldmljZQkJb2hjaQkJ
IyBPSENJIFBDSS0+VVNCIGludGVyZmFjZQojZGV2aWNlCQllaGNpCQkjIEVIQ0kgUENJLT5VU0Ig
aW50ZXJmYWNlIChVU0IgMi4wKQojZGV2aWNlCQl1c2IJCSMgVVNCIEJ1cyAocmVxdWlyZWQpCiNk
ZXZpY2UJCXVkYnAJCSMgVVNCIERvdWJsZSBCdWxrIFBpcGUgZGV2aWNlcwojZGV2aWNlCQl1Z2Vu
CQkjIEdlbmVyaWMKI2RldmljZQkJdWhpZAkJIyAiSHVtYW4gSW50ZXJmYWNlIERldmljZXMiCiNk
ZXZpY2UJCXVrYmQJCSMgS2V5Ym9hcmQKI2RldmljZQkJdWxwdAkJIyBQcmludGVyCiNkZXZpY2UJ
CXVtYXNzCQkjIERpc2tzL01hc3Mgc3RvcmFnZSAtIFJlcXVpcmVzIHNjYnVzIGFuZCBkYQojZGV2
aWNlCQl1bXMJCSMgTW91c2UKI2RldmljZQkJdXJpbwkJIyBEaWFtb25kIFJpbyA1MDAgTVAzIHBs
YXllcgojZGV2aWNlCQl1c2Nhbm5lcgkjIFNjYW5uZXJzCiMgVVNCIFNlcmlhbCBkZXZpY2VzCiNk
ZXZpY2UJCXVjb20JCSMgR2VuZXJpYyBjb20gdHR5cwojZGV2aWNlCQl1YXJrCQkjIFRlY2hub2xv
Z2llcyBBUkszMTE2IGJhc2VkIHNlcmlhbCBhZGFwdGVycwojZGV2aWNlCQl1YnNhCQkjIEJlbGtp
biBGNVUxMDMgYW5kIGNvbXBhdGlibGUgc2VyaWFsIGFkYXB0ZXJzCiNkZXZpY2UJCXVic2VyCQkj
IEJXQ1QgY29uc29sZSBzZXJpYWwgYWRhcHRlcnMKI2RldmljZQkJdWZ0ZGkJCSMgRm9yIEZUREkg
dXNiIHNlcmlhbCBhZGFwdGVycwojZGV2aWNlCQl1aXBhcQkJIyBTb21lIFdpbkNFIGJhc2VkIGRl
dmljZXMKI2RldmljZQkJdXBsY29tCQkjIFByb2xpZmljIFBMLTIzMDMgc2VyaWFsIGFkYXB0ZXJz
CiNkZXZpY2UJCXVzbGNvbQkJIyBTSSBMYWJzIENQMjEwMS9DUDIxMDIgc2VyaWFsIGFkYXB0ZXJz
CiNkZXZpY2UJCXV2aXNvcgkJIyBWaXNvciBhbmQgUGFsbSBkZXZpY2VzCiNkZXZpY2UJCXV2c2Nv
bQkJIyBVU0Igc2VyaWFsIHN1cHBvcnQgZm9yIERESSBwb2NrZXQncyBQSFMKIyBVU0IgRXRoZXJu
ZXQsIHJlcXVpcmVzIG1paWJ1cwojZGV2aWNlCQlhdWUJCSMgQURNdGVrIFVTQiBFdGhlcm5ldAoj
ZGV2aWNlCQlheGUJCSMgQVNJWCBFbGVjdHJvbmljcyBVU0IgRXRoZXJuZXQKI2RldmljZQkJY2Rj
ZQkJIyBHZW5lcmljIFVTQiBvdmVyIEV0aGVybmV0CiNkZXZpY2UJCWN1ZQkJIyBDQVRDIFVTQiBF
dGhlcm5ldAojZGV2aWNlCQlrdWUJCSMgS2F3YXNha2kgTFNJIFVTQiBFdGhlcm5ldAojZGV2aWNl
CQlydWUJCSMgUmVhbFRlayBSVEw4MTUwIFVTQiBFdGhlcm5ldAojIFVTQiBXaXJlbGVzcwojZGV2
aWNlCQlydW0JCSMgUmFsaW5rIFRlY2hub2xvZ3kgUlQyNTAxVVNCIHdpcmVsZXNzIE5JQ3MKI2Rl
dmljZQkJdXJhbAkJIyBSYWxpbmsgVGVjaG5vbG9neSBSVDI1MDBVU0Igd2lyZWxlc3MgTklDcwoK
IyBGaXJlV2lyZSBzdXBwb3J0CiNkZXZpY2UJCWZpcmV3aXJlCSMgRmlyZVdpcmUgYnVzIGNvZGUK
I2RldmljZQkJc2JwCQkjIFNDU0kgb3ZlciBGaXJlV2lyZSAoUmVxdWlyZXMgc2NidXMgYW5kIGRh
KQojZGV2aWNlCQlmd2UJCSMgRXRoZXJuZXQgb3ZlciBGaXJlV2lyZSAobm9uLXN0YW5kYXJkISkK
I2RldmljZQkJZndpcAkJIyBJUCBvdmVyIEZpcmVXaXJlIChSRkMgMjczNCwzMTQ2KQojZGV2aWNl
CQlkY29ucwkJIyBEdW1iIGNvbnNvbGUgZHJpdmVyCiNkZXZpY2UJCWRjb25zX2Nyb20JIyBDb25m
aWd1cmF0aW9uIFJPTSBmb3IgZGNvbnMK
--bcaec51f8e8bfcd05f04ac2c4177
Content-Type: text/x-patch; charset=US-ASCII;
	name="0001-inlinize-m_freem.patch"
Content-Disposition: attachment; filename="0001-inlinize-m_freem.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gs73885t1

RnJvbSA1MjIxNTE5ZmM3ZDRjMzFiNmMxZWEyYzc1ODFiZDk5OGI3NTA1ZTY1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBcm5hdWQgTGFjb21iZSA8bGFjb21iYXJAZ21haWwuY29tPgpE
YXRlOiBUdWUsIDMwIEF1ZyAyMDExIDIxOjU1OjQ3IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAxLzRd
IGlubGluaXplIG1fZnJlZW0oKQoKLS0tCiBzeXMva2Vybi91aXBjX21idWYuYyB8ICAgMTIgLS0t
LS0tLS0tLS0tCiBzeXMvc3lzL21idWYuaCAgICAgICB8ICAgMTQgKysrKysrKysrKysrKy0KIDIg
ZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCgpkaWZmIC0t
Z2l0IGEvc3lzL2tlcm4vdWlwY19tYnVmLmMgYi9zeXMva2Vybi91aXBjX21idWYuYwppbmRleCBm
ODIzZTI2Li45ZjkyODhmIDEwMDY0NAotLS0gYS9zeXMva2Vybi91aXBjX21idWYuYworKysgYi9z
eXMva2Vybi91aXBjX21idWYuYwpAQCAtMTUxLDE4ICsxNTEsNiBAQCBtX2dldG0yKHN0cnVjdCBt
YnVmICptLCBpbnQgbGVuLCBpbnQgaG93LCBzaG9ydCB0eXBlLCBpbnQgZmxhZ3MpCiAJcmV0dXJu
IChtKTsKIH0KIAotLyoKLSAqIEZyZWUgYW4gZW50aXJlIGNoYWluIG9mIG1idWZzIGFuZCBhc3Nv
Y2lhdGVkIGV4dGVybmFsIGJ1ZmZlcnMsIGlmCi0gKiBhcHBsaWNhYmxlLgotICovCi12b2lkCi1t
X2ZyZWVtKHN0cnVjdCBtYnVmICptYikKLXsKLQotCXdoaWxlIChtYiAhPSBOVUxMKQotCQltYiA9
IG1fZnJlZShtYik7Ci19Ci0KIC8qLQogICogQ29uZmlndXJlIGEgcHJvdmlkZWQgbWJ1ZiB0byBy
ZWZlciB0byB0aGUgcHJvdmlkZWQgZXh0ZXJuYWwgc3RvcmFnZQogICogYnVmZmVyIGFuZCBzZXR1
cCBhIHJlZmVyZW5jZSBjb3VudCBmb3Igc2FpZCBidWZmZXIuICBJZiB0aGUgc2V0dGluZwpkaWZm
IC0tZ2l0IGEvc3lzL3N5cy9tYnVmLmggYi9zeXMvc3lzL21idWYuaAppbmRleCA4NTI5Y2NhLi5m
M2Y5OGIwIDEwMDY0NAotLS0gYS9zeXMvc3lzL21idWYuaAorKysgYi9zeXMvc3lzL21idWYuaApA
QCAtMzU4LDYgKzM1OCw3IEBAIHN0YXRpYyBfX2lubGluZSBzdHJ1Y3QgbWJ1ZgkqbV9nZXRqY2wo
aW50IGhvdywgc2hvcnQgdHlwZSwgaW50IGZsYWdzLAogCQkJCSAgICBpbnQgc2l6ZSk7CiBzdGF0
aWMgX19pbmxpbmUgc3RydWN0IG1idWYJKm1fZ2V0Y2xyKGludCBob3csIHNob3J0IHR5cGUpOwkv
KiBYWFggKi8KIHN0YXRpYyBfX2lubGluZSBzdHJ1Y3QgbWJ1ZgkqbV9mcmVlKHN0cnVjdCBtYnVm
ICptKTsKK3N0YXRpYyBfX2lubGluZSB2b2lkCQltX2ZyZWVtKHN0cnVjdCBtYnVmICptKTsKIHN0
YXRpYyBfX2lubGluZSB2b2lkCQkgbV9jbGdldChzdHJ1Y3QgbWJ1ZiAqbSwgaW50IGhvdyk7CiBz
dGF0aWMgX19pbmxpbmUgdm9pZAkJKm1fY2xqZ2V0KHN0cnVjdCBtYnVmICptLCBpbnQgaG93LCBp
bnQgc2l6ZSk7CiBzdGF0aWMgX19pbmxpbmUgdm9pZAkJIG1fY2h0eXBlKHN0cnVjdCBtYnVmICpt
LCBzaG9ydCBuZXdfdHlwZSk7CkBAIC01MjAsNiArNTIxLDE4IEBAIG1fZnJlZShzdHJ1Y3QgbWJ1
ZiAqbSkKIAlyZXR1cm4gKG4pOwogfQogCisvKgorICogRnJlZSBhbiBlbnRpcmUgY2hhaW4gb2Yg
bWJ1ZnMgYW5kIGFzc29jaWF0ZWQgZXh0ZXJuYWwgYnVmZmVycywgaWYKKyAqIGFwcGxpY2FibGUu
CisgKi8KK3N0YXRpYyBfX2lubGluZSB2b2lkCittX2ZyZWVtKHN0cnVjdCBtYnVmICptKQorewor
CisJd2hpbGUgKG0gIT0gTlVMTCkKKwkJbSA9IG1fZnJlZShtKTsKK30KKwogc3RhdGljIF9faW5s
aW5lIHZvaWQKIG1fY2xnZXQoc3RydWN0IG1idWYgKm0sIGludCBob3cpCiB7CkBAIC03NjcsNyAr
NzgwLDYgQEAgc3RydWN0IG1idWYJKm1fZHVwKHN0cnVjdCBtYnVmICosIGludCk7CiBpbnQJCSBt
X2R1cF9wa3RoZHIoc3RydWN0IG1idWYgKiwgc3RydWN0IG1idWYgKiwgaW50KTsKIHVfaW50CQkg
bV9maXhoZHIoc3RydWN0IG1idWYgKik7CiBzdHJ1Y3QgbWJ1ZgkqbV9mcmFnbWVudChzdHJ1Y3Qg
bWJ1ZiAqLCBpbnQsIGludCk7Ci12b2lkCQkgbV9mcmVlbShzdHJ1Y3QgbWJ1ZiAqKTsKIHN0cnVj
dCBtYnVmCSptX2dldG0yKHN0cnVjdCBtYnVmICosIGludCwgaW50LCBzaG9ydCwgaW50KTsKIHN0
cnVjdCBtYnVmCSptX2dldHB0cihzdHJ1Y3QgbWJ1ZiAqLCBpbnQsIGludCAqKTsKIHVfaW50CQkg
bV9sZW5ndGgoc3RydWN0IG1idWYgKiwgc3RydWN0IG1idWYgKiopOwotLSAKMS43LjYuMTUzLmc3
ODQzMgoK
--bcaec51f8e8bfcd05f04ac2c4177
Content-Type: text/x-patch; charset=US-ASCII;
	name="0002-mbuf-use-after-free-marking.patch"
Content-Disposition: attachment; 
	filename="0002-mbuf-use-after-free-marking.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gs738bs12

RnJvbSAwZjJhZGE3YTg1YzllNjY1YmUyM2Y0ODAxZTE3MjJlNzc2NDkyZmRjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBcm5hdWQgTGFjb21iZSA8bGFjb21iYXJAZ21haWwuY29tPgpE
YXRlOiBXZWQsIDMxIEF1ZyAyMDExIDEyOjE2OjU4IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAyLzRd
IG1idWYgdXNlLWFmdGVyLWZyZWUgbWFya2luZwoKLS0tCiBzeXMva2Vybi91aXBjX21idWYuYyB8
ICAgIDQgKystLQogc3lzL3N5cy9tYnVmLmggICAgICAgfCAgIDM3ICsrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrLS0tLS0KIHN5cy92bS91bWFfZGJnLmMgICAgIHwgICAgNiArKysrLS0K
IDMgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYg
LS1naXQgYS9zeXMva2Vybi91aXBjX21idWYuYyBiL3N5cy9rZXJuL3VpcGNfbWJ1Zi5jCmluZGV4
IDlmOTI4OGYuLjliOTJmYjAgMTAwNjQ0Ci0tLSBhL3N5cy9rZXJuL3VpcGNfbWJ1Zi5jCisrKyBi
L3N5cy9rZXJuL3VpcGNfbWJ1Zi5jCkBAIC0xOTcsNyArMTk3LDcgQEAgbV9leHRhZGQoc3RydWN0
IG1idWYgKm1iLCBjYWRkcl90IGJ1ZiwgdV9pbnQgc2l6ZSwKICAqIHN0b3JhZ2UgYXR0YWNoZWQg
dG8gdGhlbSBpZiB0aGUgcmVmZXJlbmNlIGNvdW50IGhpdHMgMS4KICAqLwogdm9pZAotbWJfZnJl
ZV9leHQoc3RydWN0IG1idWYgKm0pCittYl9mcmVlX2V4dChzdHJ1Y3QgbWJ1ZiAqbSwgdm9pZCAq
YXJnKQogewogCWludCBza2lwbWJ1ZjsKIAkKQEAgLTI2NCw3ICsyNjQsNyBAQCBtYl9mcmVlX2V4
dChzdHJ1Y3QgbWJ1ZiAqbSkKIAltLT5tX2V4dC5leHRfc2l6ZSA9IDA7CiAJbS0+bV9leHQuZXh0
X3R5cGUgPSAwOwogCW0tPm1fZmxhZ3MgJj0gfk1fRVhUOwotCXVtYV96ZnJlZSh6b25lX21idWYs
IG0pOworCXVtYV96ZnJlZV9hcmcoem9uZV9tYnVmLCBtLCBhcmcpOwogfQogCiAvKgpkaWZmIC0t
Z2l0IGEvc3lzL3N5cy9tYnVmLmggYi9zeXMvc3lzL21idWYuaAppbmRleCBmM2Y5OGIwLi4xOWVh
NWU4IDEwMDY0NAotLS0gYS9zeXMvc3lzL21idWYuaAorKysgYi9zeXMvc3lzL21idWYuaApAQCAt
MzYyLDcgKzM2Miw3IEBAIHN0YXRpYyBfX2lubGluZSB2b2lkCQltX2ZyZWVtKHN0cnVjdCBtYnVm
ICptKTsKIHN0YXRpYyBfX2lubGluZSB2b2lkCQkgbV9jbGdldChzdHJ1Y3QgbWJ1ZiAqbSwgaW50
IGhvdyk7CiBzdGF0aWMgX19pbmxpbmUgdm9pZAkJKm1fY2xqZ2V0KHN0cnVjdCBtYnVmICptLCBp
bnQgaG93LCBpbnQgc2l6ZSk7CiBzdGF0aWMgX19pbmxpbmUgdm9pZAkJIG1fY2h0eXBlKHN0cnVj
dCBtYnVmICptLCBzaG9ydCBuZXdfdHlwZSk7Ci12b2lkCQkJCSBtYl9mcmVlX2V4dChzdHJ1Y3Qg
bWJ1ZiAqKTsKK3ZvaWQJCQkJIG1iX2ZyZWVfZXh0KHN0cnVjdCBtYnVmICosIHZvaWQgKik7CiBz
dGF0aWMgX19pbmxpbmUgc3RydWN0IG1idWYJKm1fbGFzdChzdHJ1Y3QgbWJ1ZiAqbSk7CiAKIHN0
YXRpYyBfX2lubGluZSBpbnQKQEAgLTUwNiwyMSArNTA2LDM5IEBAIG1fZnJlZV9mYXN0KHN0cnVj
dCBtYnVmICptKQogewogCUtBU1NFUlQoU0xJU1RfRU1QVFkoJm0tPm1fcGt0aGRyLnRhZ3MpLCAo
ImRvaW5nIGZhc3QgZnJlZSBvZiBtYnVmIHdpdGggdGFncyIpKTsKIAorI2lmZGVmIElOVkFSSUFO
VFMKKwl1bWFfemZyZWVfYXJnKHpvbmVfbWJ1ZiwgbSwgKHZvaWQgKikoMHhmMDBmMDAwMCB8IE1C
X05PVEFHUykpOworI2Vsc2UKIAl1bWFfemZyZWVfYXJnKHpvbmVfbWJ1ZiwgbSwgKHZvaWQgKilN
Ql9OT1RBR1MpOworI2VuZGlmCiB9CiAKIHN0YXRpYyBfX2lubGluZSBzdHJ1Y3QgbWJ1ZiAqCi1t
X2ZyZWUoc3RydWN0IG1idWYgKm0pCittX2ZyZWVfYXJnKHN0cnVjdCBtYnVmICptLCB2b2lkICph
cmcpCiB7CiAJc3RydWN0IG1idWYgKm4gPSBtLT5tX25leHQ7CiAKIAlpZiAobS0+bV9mbGFncyAm
IE1fRVhUKQotCQltYl9mcmVlX2V4dChtKTsKKwkJbWJfZnJlZV9leHQobSwgYXJnKTsKIAllbHNl
IGlmICgobS0+bV9mbGFncyAmIE1fTk9GUkVFKSA9PSAwKQotCQl1bWFfemZyZWUoem9uZV9tYnVm
LCBtKTsKKwkJdW1hX3pmcmVlX2FyZyh6b25lX21idWYsIG0sIGFyZyk7CisKIAlyZXR1cm4gKG4p
OwogfQogCitzdGF0aWMgX19pbmxpbmUgc3RydWN0IG1idWYgKgorbV9mcmVlKHN0cnVjdCBtYnVm
ICptKQoreworCisJcmV0dXJuIG1fZnJlZV9hcmcobSwgMCk7Cit9CisKKyNpZmRlZiBJTlZBUklB
TlRTCisjZGVmaW5lIF9USElTX0lQXyAgKHsgX19sYWJlbF9fIF9faGVyZTsgX19oZXJlOiAodW5z
aWduZWQgbG9uZykmJl9faGVyZTsgfSkKKyNlbHNlCisjZGVmaW5lIF9USElTX0lQXyAwCisjZW5k
aWYKKwogLyoKICAqIEZyZWUgYW4gZW50aXJlIGNoYWluIG9mIG1idWZzIGFuZCBhc3NvY2lhdGVk
IGV4dGVybmFsIGJ1ZmZlcnMsIGlmCiAgKiBhcHBsaWNhYmxlLgpAQCAtNTI4LDkgKzU0NiwxOCBA
QCBtX2ZyZWUoc3RydWN0IG1idWYgKm0pCiBzdGF0aWMgX19pbmxpbmUgdm9pZAogbV9mcmVlbShz
dHJ1Y3QgbWJ1ZiAqbSkKIHsKKwl1bnNpZ25lZCBsb25nIHRoaXNfaXAgPSAoX1RISVNfSVBfICYg
MHgwMGZmZmYwMCkgfCAoX1RISVNfSVBfICYgMHhmZikgPDwgMjQ7CisKKwl3aGlsZSAobSAhPSBO
VUxMKQorCQltID0gbV9mcmVlX2FyZyhtLCAodm9pZCAqKXRoaXNfaXApOworfQorCitzdGF0aWMg
X19pbmxpbmUgdm9pZAorbV9mcmVlbV9hcmcoc3RydWN0IG1idWYgKm0sIHZvaWQgKmFyZykKK3sK
IAogCXdoaWxlIChtICE9IE5VTEwpCi0JCW0gPSBtX2ZyZWUobSk7CisJCW0gPSBtX2ZyZWVfYXJn
KG0sIGFyZyk7CiB9CiAKIHN0YXRpYyBfX2lubGluZSB2b2lkCmRpZmYgLS1naXQgYS9zeXMvdm0v
dW1hX2RiZy5jIGIvc3lzL3ZtL3VtYV9kYmcuYwppbmRleCA5MDc1YmY5Li42NjliMWY1IDEwMDY0
NAotLS0gYS9zeXMvdm0vdW1hX2RiZy5jCisrKyBiL3N5cy92bS91bWFfZGJnLmMKQEAgLTYxLDYg
KzYxLDcgQEAgc3RhdGljIGNvbnN0IHVfaW50MzJfdCB1bWFfanVuayA9IDB4ZGVhZGMwZGU7CiBp
bnQKIHRyYXNoX2N0b3Iodm9pZCAqbWVtLCBpbnQgc2l6ZSwgdm9pZCAqYXJnLCBpbnQgZmxhZ3Mp
CiB7CisjaWYgMAogCWludCBjbnQ7CiAJdV9pbnQzMl90ICpwOwogCkBAIC03Miw2ICs3Myw3IEBA
IHRyYXNoX2N0b3Iodm9pZCAqbWVtLCBpbnQgc2l6ZSwgdm9pZCAqYXJnLCBpbnQgZmxhZ3MpCiAJ
CQkgICAgbWVtLCBzaXplLCAqcCwgcCk7CiAJCQlyZXR1cm4gKDApOwogCQl9CisjZW5kaWYKIAly
ZXR1cm4gKDApOwogfQogCkBAIC05MCw3ICs5Miw3IEBAIHRyYXNoX2R0b3Iodm9pZCAqbWVtLCBp
bnQgc2l6ZSwgdm9pZCAqYXJnKQogCWNudCA9IHNpemUgLyBzaXplb2YodW1hX2p1bmspOwogCiAJ
Zm9yIChwID0gbWVtOyBjbnQgPiAwOyBjbnQtLSwgcCsrKQotCQkqcCA9IHVtYV9qdW5rOworCQkq
cCA9ICh1bnNpZ25lZCBsb25nKWFyZzsKIH0KIAogLyoKQEAgLTEwMiw3ICsxMDQsNyBAQCB0cmFz
aF9kdG9yKHZvaWQgKm1lbSwgaW50IHNpemUsIHZvaWQgKmFyZykKIGludAogdHJhc2hfaW5pdCh2
b2lkICptZW0sIGludCBzaXplLCBpbnQgZmxhZ3MpCiB7Ci0JdHJhc2hfZHRvcihtZW0sIHNpemUs
IE5VTEwpOworCXRyYXNoX2R0b3IobWVtLCBzaXplLCAodm9pZCAqKXVtYV9qdW5rKTsKIAlyZXR1
cm4gKDApOwogfQogCi0tIAoxLjcuNi4xNTMuZzc4NDMyCgo=
--bcaec51f8e8bfcd05f04ac2c4177
Content-Type: text/x-patch; charset=US-ASCII;
	name="0003-64bits-mbuf-flags.patch"
Content-Disposition: attachment; filename="0003-64bits-mbuf-flags.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gs738e613

RnJvbSBjNThlODcyOGU0ZGQ3NWI1NDJmYTg3MGJmYzc0MjBhM2M1NTVkMmNhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBcm5hdWQgTGFjb21iZSA8bGFjb21iYXJAZ21haWwuY29tPgpE
YXRlOiBXZWQsIDMxIEF1ZyAyMDExIDIyOjA4OjA0IC0wNDAwClN1YmplY3Q6IFtQQVRDSCAzLzRd
IDY0Yml0cyBtYnVmIGZsYWdzCgotLS0KIHN5cy9rZXJuL3VpcGNfbWJ1Zi5jIHwgICAgNiArKysr
Ky0KIHN5cy9zeXMvbWJ1Zi5oICAgICAgIHwgICA0NiArKysrKysrKysrKysrKysrKysrKysrKy0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDI4IGluc2VydGlvbnMoKyks
IDI0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3N5cy9rZXJuL3VpcGNfbWJ1Zi5jIGIvc3lz
L2tlcm4vdWlwY19tYnVmLmMKaW5kZXggOWI5MmZiMC4uMjRmOWVjOCAxMDA2NDQKLS0tIGEvc3lz
L2tlcm4vdWlwY19tYnVmLmMKKysrIGIvc3lzL2tlcm4vdWlwY19tYnVmLmMKQEAgLTUwLDYgKzUw
LDggQEAgX19GQlNESUQoIiRGcmVlQlNEJCIpOwogCiAjaW5jbHVkZSA8c2VjdXJpdHkvbWFjL21h
Y19mcmFtZXdvcmsuaD4KIAorI2luY2x1ZGUgPG1hY2hpbmUvX2ludHR5cGVzLmg+CisKIGludAlt
YXhfbGlua2hkcjsKIGludAltYXhfcHJvdG9oZHI7CiBpbnQJbWF4X2hkcjsKQEAgLTE0MDUsMTAg
KzE0MDcsMTIgQEAgbV9wcmludChjb25zdCBzdHJ1Y3QgbWJ1ZiAqbSwgaW50IG1heGxlbikKIAkJ
cGRhdGEgPSBtMi0+bV9sZW47CiAJCWlmIChtYXhsZW4gIT0gLTEgJiYgcGRhdGEgPiBtYXhsZW4p
CiAJCQlwZGF0YSA9IG1heGxlbjsKKyNpZiAwCiAJCXByaW50ZigibWJ1ZjogJXAgbGVuOiAlZCwg
bmV4dDogJXAsICViJXMiLCBtMiwgbTItPm1fbGVuLAogCQkgICAgbTItPm1fbmV4dCwgbTItPm1f
ZmxhZ3MsICJcMjBcMjBmcmVlbGlzdFwxN3NraXBmdyIKIAkJICAgICJcMTFwcm90bzVcMTBwcm90
bzRcN3Byb3RvM1w2cHJvdG8yXDVwcm90bzFcNHJkb25seSIKIAkJICAgICJcM2VvclwycGt0aGRy
XDFleHQiLCBwZGF0YSA/ICIiIDogIlxuIik7CisjZW5kaWYKIAkJaWYgKHBkYXRhKQogCQkJcHJp
bnRmKCIsICUqRFxuIiwgcGRhdGEsICh1X2NoYXIgKiltMi0+bV9kYXRhLCAiLSIpOwogCQlpZiAo
bGVuICE9IC0xKQpAQCAtMTgzNSw3ICsxODM5LDcgQEAgbV91bnNoYXJlKHN0cnVjdCBtYnVmICpt
MCwgaW50IGhvdykKIAkJICogaXQgYW55d2F5LCB3ZSB0cnkgdG8gcmVkdWNlIHRoZSBudW1iZXIg
b2YgbWJ1ZnMgYW5kCiAJCSAqIGNsdXN0ZXJzIHNvIHRoYXQgZnV0dXJlIHdvcmsgaXMgZWFzaWVy
KS4KIAkJICovCi0JCUtBU1NFUlQobS0+bV9mbGFncyAmIE1fRVhULCAoIm1fZmxhZ3MgMHgleCIs
IG0tPm1fZmxhZ3MpKTsKKwkJS0FTU0VSVChtLT5tX2ZsYWdzICYgTV9FWFQsICgibV9mbGFncyAw
eCUiIFBSSXg2NCwgbS0+bV9mbGFncykpOwogCQkvKiBOQjogd2Ugb25seSBjb2FsZXNjZSBpbnRv
IGEgY2x1c3RlciBvciBsYXJnZXIgKi8KIAkJaWYgKG1wcmV2ICE9IE5VTEwgJiYgKG1wcmV2LT5t
X2ZsYWdzICYgTV9FWFQpICYmCiAJCSAgICBtLT5tX2xlbiA8PSBNX1RSQUlMSU5HU1BBQ0UobXBy
ZXYpKSB7CmRpZmYgLS1naXQgYS9zeXMvc3lzL21idWYuaCBiL3N5cy9zeXMvbWJ1Zi5oCmluZGV4
IDE5ZWE1ZTguLjhhZDA5YmIgMTAwNjQ0Ci0tLSBhL3N5cy9zeXMvbWJ1Zi5oCisrKyBiL3N5cy9z
eXMvbWJ1Zi5oCkBAIC05MSw3ICs5MSw3IEBAIHN0cnVjdCBtX2hkciB7CiAJc3RydWN0IG1idWYJ
Km1oX25leHRwa3Q7CS8qIG5leHQgY2hhaW4gaW4gcXVldWUvcmVjb3JkICovCiAJY2FkZHJfdAkJ
IG1oX2RhdGE7CS8qIGxvY2F0aW9uIG9mIGRhdGEgKi8KIAlpbnQJCSBtaF9sZW47CS8qIGFtb3Vu
dCBvZiBkYXRhIGluIHRoaXMgbWJ1ZiAqLwotCWludAkJIG1oX2ZsYWdzOwkvKiBmbGFnczsgc2Vl
IGJlbG93ICovCisJdWludDY0X3QJIG1oX2ZsYWdzOwkvKiBmbGFnczsgc2VlIGJlbG93ICovCiAJ
c2hvcnQJCSBtaF90eXBlOwkvKiB0eXBlIG9mIGRhdGEgaW4gdGhpcyBtYnVmICovCiAJdWludDhf
dCAgICAgICAgICBwYWRbTV9IRFJfUEFEXTsvKiB3b3JkIGFsaWduICAgICAgICAgICAgICAgICAg
Ki8KIH07CkBAIC0xNjksMjggKzE2OSwyOCBAQCBzdHJ1Y3QgbWJ1ZiB7CiAvKgogICogbWJ1ZiBm
bGFncy4KICAqLwotI2RlZmluZQlNX0VYVAkJMHgwMDAwMDAwMSAvKiBoYXMgYXNzb2NpYXRlZCBl
eHRlcm5hbCBzdG9yYWdlICovCi0jZGVmaW5lCU1fUEtUSERSCTB4MDAwMDAwMDIgLyogc3RhcnQg
b2YgcmVjb3JkICovCi0jZGVmaW5lCU1fRU9SCQkweDAwMDAwMDA0IC8qIGVuZCBvZiByZWNvcmQg
Ki8KLSNkZWZpbmUJTV9SRE9OTFkJMHgwMDAwMDAwOCAvKiBhc3NvY2lhdGVkIGRhdGEgaXMgbWFy
a2VkIHJlYWQtb25seSAqLwotI2RlZmluZQlNX1BST1RPMQkweDAwMDAwMDEwIC8qIHByb3RvY29s
LXNwZWNpZmljICovCi0jZGVmaW5lCU1fUFJPVE8yCTB4MDAwMDAwMjAgLyogcHJvdG9jb2wtc3Bl
Y2lmaWMgKi8KLSNkZWZpbmUJTV9QUk9UTzMJMHgwMDAwMDA0MCAvKiBwcm90b2NvbC1zcGVjaWZp
YyAqLwotI2RlZmluZQlNX1BST1RPNAkweDAwMDAwMDgwIC8qIHByb3RvY29sLXNwZWNpZmljICov
Ci0jZGVmaW5lCU1fUFJPVE81CTB4MDAwMDAxMDAgLyogcHJvdG9jb2wtc3BlY2lmaWMgKi8KLSNk
ZWZpbmUJTV9CQ0FTVAkJMHgwMDAwMDIwMCAvKiBzZW5kL3JlY2VpdmVkIGFzIGxpbmstbGV2ZWwg
YnJvYWRjYXN0ICovCi0jZGVmaW5lCU1fTUNBU1QJCTB4MDAwMDA0MDAgLyogc2VuZC9yZWNlaXZl
ZCBhcyBsaW5rLWxldmVsIG11bHRpY2FzdCAqLwotI2RlZmluZQlNX0ZSQUcJCTB4MDAwMDA4MDAg
LyogcGFja2V0IGlzIGEgZnJhZ21lbnQgb2YgYSBsYXJnZXIgcGFja2V0ICovCi0jZGVmaW5lCU1f
RklSU1RGUkFHCTB4MDAwMDEwMDAgLyogcGFja2V0IGlzIGZpcnN0IGZyYWdtZW50ICovCi0jZGVm
aW5lCU1fTEFTVEZSQUcJMHgwMDAwMjAwMCAvKiBwYWNrZXQgaXMgbGFzdCBmcmFnbWVudCAqLwot
I2RlZmluZQlNX1NLSVBfRklSRVdBTEwJMHgwMDAwNDAwMCAvKiBza2lwIGZpcmV3YWxsIHByb2Nl
c3NpbmcgKi8KLSNkZWZpbmUJTV9GUkVFTElTVAkweDAwMDA4MDAwIC8qIG1idWYgaXMgb24gdGhl
IGZyZWUgbGlzdCAqLwotI2RlZmluZQlNX1ZMQU5UQUcJMHgwMDAxMDAwMCAvKiBldGhlcl92dGFn
IGlzIHZhbGlkICovCi0jZGVmaW5lCU1fUFJPTUlTQwkweDAwMDIwMDAwIC8qIHBhY2tldCB3YXMg
bm90IGZvciB1cyAqLwotI2RlZmluZQlNX05PRlJFRQkweDAwMDQwMDAwIC8qIGRvIG5vdCBmcmVl
IG1idWYsIGVtYmVkZGVkIGluIGNsdXN0ZXIgKi8KLSNkZWZpbmUJTV9QUk9UTzYJMHgwMDA4MDAw
MCAvKiBwcm90b2NvbC1zcGVjaWZpYyAqLwotI2RlZmluZQlNX1BST1RPNwkweDAwMTAwMDAwIC8q
IHByb3RvY29sLXNwZWNpZmljICovCi0jZGVmaW5lCU1fUFJPVE84CTB4MDAyMDAwMDAgLyogcHJv
dG9jb2wtc3BlY2lmaWMgKi8KKyNkZWZpbmUJTV9FWFQJCTB4MDAwMDAwMDFVTEwgLyogaGFzIGFz
c29jaWF0ZWQgZXh0ZXJuYWwgc3RvcmFnZSAqLworI2RlZmluZQlNX1BLVEhEUgkweDAwMDAwMDAy
VUxMIC8qIHN0YXJ0IG9mIHJlY29yZCAqLworI2RlZmluZQlNX0VPUgkJMHgwMDAwMDAwNFVMTCAv
KiBlbmQgb2YgcmVjb3JkICovCisjZGVmaW5lCU1fUkRPTkxZCTB4MDAwMDAwMDhVTEwgLyogYXNz
b2NpYXRlZCBkYXRhIGlzIG1hcmtlZCByZWFkLW9ubHkgKi8KKyNkZWZpbmUJTV9QUk9UTzEJMHgw
MDAwMDAxMFVMTCAvKiBwcm90b2NvbC1zcGVjaWZpYyAqLworI2RlZmluZQlNX1BST1RPMgkweDAw
MDAwMDIwVUxMIC8qIHByb3RvY29sLXNwZWNpZmljICovCisjZGVmaW5lCU1fUFJPVE8zCTB4MDAw
MDAwNDBVTEwgLyogcHJvdG9jb2wtc3BlY2lmaWMgKi8KKyNkZWZpbmUJTV9QUk9UTzQJMHgwMDAw
MDA4MFVMTCAvKiBwcm90b2NvbC1zcGVjaWZpYyAqLworI2RlZmluZQlNX1BST1RPNQkweDAwMDAw
MTAwVUxMIC8qIHByb3RvY29sLXNwZWNpZmljICovCisjZGVmaW5lCU1fQkNBU1QJCTB4MDAwMDAy
MDBVTEwgLyogc2VuZC9yZWNlaXZlZCBhcyBsaW5rLWxldmVsIGJyb2FkY2FzdCAqLworI2RlZmlu
ZQlNX01DQVNUCQkweDAwMDAwNDAwVUxMIC8qIHNlbmQvcmVjZWl2ZWQgYXMgbGluay1sZXZlbCBt
dWx0aWNhc3QgKi8KKyNkZWZpbmUJTV9GUkFHCQkweDAwMDAwODAwVUxMIC8qIHBhY2tldCBpcyBh
IGZyYWdtZW50IG9mIGEgbGFyZ2VyIHBhY2tldCAqLworI2RlZmluZQlNX0ZJUlNURlJBRwkweDAw
MDAxMDAwVUxMIC8qIHBhY2tldCBpcyBmaXJzdCBmcmFnbWVudCAqLworI2RlZmluZQlNX0xBU1RG
UkFHCTB4MDAwMDIwMDBVTEwgLyogcGFja2V0IGlzIGxhc3QgZnJhZ21lbnQgKi8KKyNkZWZpbmUJ
TV9TS0lQX0ZJUkVXQUxMCTB4MDAwMDQwMDBVTEwgLyogc2tpcCBmaXJld2FsbCBwcm9jZXNzaW5n
ICovCisjZGVmaW5lCU1fRlJFRUxJU1QJMHgwMDAwODAwMFVMTCAvKiBtYnVmIGlzIG9uIHRoZSBm
cmVlIGxpc3QgKi8KKyNkZWZpbmUJTV9WTEFOVEFHCTB4MDAwMTAwMDBVTEwgLyogZXRoZXJfdnRh
ZyBpcyB2YWxpZCAqLworI2RlZmluZQlNX1BST01JU0MJMHgwMDAyMDAwMFVMTCAvKiBwYWNrZXQg
d2FzIG5vdCBmb3IgdXMgKi8KKyNkZWZpbmUJTV9OT0ZSRUUJMHgwMDA0MDAwMFVMTCAvKiBkbyBu
b3QgZnJlZSBtYnVmLCBlbWJlZGRlZCBpbiBjbHVzdGVyICovCisjZGVmaW5lCU1fUFJPVE82CTB4
MDAwODAwMDBVTEwgLyogcHJvdG9jb2wtc3BlY2lmaWMgKi8KKyNkZWZpbmUJTV9QUk9UTzcJMHgw
MDEwMDAwMFVMTCAvKiBwcm90b2NvbC1zcGVjaWZpYyAqLworI2RlZmluZQlNX1BST1RPOAkweDAw
MjAwMDAwVUxMIC8qIHByb3RvY29sLXNwZWNpZmljICovCiAvKgogICogRm9yIFJFTEVOR197Niw3
fSBzdGVhbCB0aGVzZSBmbGFncyBmb3IgbGltaXRlZCBtdWx0aXBsZSByb3V0aW5nIHRhYmxlCiAg
KiBzdXBwb3J0LiBJbiBSRUxFTkdfOCBhbmQgYmV5b25kLCB1c2UganVzdCBvbmUgZmxhZyBhbmQg
YSB0YWcuCi0tIAoxLjcuNi4xNTMuZzc4NDMyCgo=
--bcaec51f8e8bfcd05f04ac2c4177
Content-Type: text/x-patch; charset=US-ASCII; 
	name="0004-verify-mbuf-s-flags-consistency-after-tx.patch"
Content-Disposition: attachment; 
	filename="0004-verify-mbuf-s-flags-consistency-after-tx.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gs738g954

RnJvbSBkMDUzMDg2N2E0NGU4MDI5YTRlNjRlNjljYWNkY2FhOTk4YTdlNzZmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBcm5hdWQgTGFjb21iZSA8bGFjb21iYXJAZ21haWwuY29tPgpE
YXRlOiBXZWQsIDMxIEF1ZyAyMDExIDIyOjEwOjU2IC0wNDAwClN1YmplY3Q6IFtQQVRDSCA0LzRd
IHZlcmlmeSBtYnVmJ3MgZmxhZ3MgY29uc2lzdGVuY3kgYWZ0ZXIgdHgKCi0tLQogc3lzL2Rldi9l
MTAwMC9pZl9lbS5jICB8ICAgMTQgKysrKysrKysrKysrKy0KIHN5cy9kZXYvZTEwMDAvaWZfaWdi
LmMgfCAgIDE0ICsrKysrKysrKysrKystCiBzeXMvc3lzL21idWYuaCAgICAgICAgIHwgICAgMyAr
KysKIDMgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRp
ZmYgLS1naXQgYS9zeXMvZGV2L2UxMDAwL2lmX2VtLmMgYi9zeXMvZGV2L2UxMDAwL2lmX2VtLmMK
aW5kZXggYzVlOTM2ZC4uY2ExNjQ3ZSAxMDA2NDQKLS0tIGEvc3lzL2Rldi9lMTAwMC9pZl9lbS5j
CisrKyBiL3N5cy9kZXYvZTEwMDAvaWZfZW0uYwpAQCAtNzQsNiArNzQsNyBAQAogI2luY2x1ZGUg
PG5ldGluZXQvdWRwLmg+CiAKICNpbmNsdWRlIDxtYWNoaW5lL2luX2Nrc3VtLmg+CisjaW5jbHVk
ZSA8bWFjaGluZS9faW50dHlwZXMuaD4KICNpbmNsdWRlIDxkZXYvbGVkL2xlZC5oPgogI2luY2x1
ZGUgPGRldi9wY2kvcGNpdmFyLmg+CiAjaW5jbHVkZSA8ZGV2L3BjaS9wY2lyZWcuaD4KQEAgLTE5
MDcsNiArMTkwOCw4IEBAIGVtX3htaXQoc3RydWN0IHR4X3JpbmcgKnR4ciwgc3RydWN0IG1idWYg
KiptX2hlYWRwKQogICAgICAgICAgICAgICAgIGN0eGQtPmxvd2VyLmRhdGEgfD0gaHRvbGUzMihF
MTAwMF9UWERfQ01EX1ZMRSk7CiAgICAgICAgIH0KIAorCW1faGVhZC0+bV9mbGFncyB8PSBNX1VO
VVNFRDsKKwogICAgICAgICB0eF9idWZmZXItPm1faGVhZCA9IG1faGVhZDsKIAl0eF9idWZmZXJf
bWFwcGVkLT5tYXAgPSB0eF9idWZmZXItPm1hcDsKIAl0eF9idWZmZXItPm1hcCA9IG1hcDsKQEAg
LTM1MzUsNyArMzUzOCwxNiBAQCBlbV90eGVvZihzdHJ1Y3QgdHhfcmluZyAqdHhyKQogCQkJCSAg
ICBCVVNfRE1BU1lOQ19QT1NUV1JJVEUpOwogCQkJCWJ1c19kbWFtYXBfdW5sb2FkKHR4ci0+dHh0
YWcsCiAJCQkJICAgIHR4X2J1ZmZlci0+bWFwKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIAlt
X2ZyZWVtKHR4X2J1ZmZlci0+bV9oZWFkKTsKKwkJCQl7CisJCQkJCUtBU1NFUlQoKHR4X2J1ZmZl
ci0+bV9oZWFkLT5tX2ZsYWdzICYgTV9VTlVTRUQpID09IE1fVU5VU0VELAorCQkJCQkgICAgKCJD
b3JydXB0ZWQgdW51c2VkIGZsYWdzLCBleHBlY3RlZCAweCUiIFBSSXg2NCAiLCBnb3QgMHglIiBQ
Ukl4NjQgIiwgZmxhZ3MgMHglIiBQUkl4NjQsCisJCQkJCSAgICAgICAgTV9VTlVTRUQsIHR4X2J1
ZmZlci0+bV9oZWFkLT5tX2ZsYWdzICYgTV9VTlVTRUQsCisJCQkJCSAgICAgICAgdHhfYnVmZmVy
LT5tX2hlYWQtPm1fZmxhZ3MpKTsKKwkJCQkJdHhfYnVmZmVyLT5tX2hlYWQtPm1fZmxhZ3MgJj0g
fk1fVU5VU0VEOworCisJCQkJCW1fZnJlZW1fYXJnKHR4X2J1ZmZlci0+bV9oZWFkLCAodm9pZCAq
KTB4MDBiYWJlMDApOworCQkJCX0KKwogICAgICAgICAgICAgICAgICAgICAgICAgCXR4X2J1ZmZl
ci0+bV9oZWFkID0gTlVMTDsKICAgICAgICAgICAgICAgICAJfQogCQkJdHhfYnVmZmVyLT5uZXh0
X2VvcCA9IC0xOwpkaWZmIC0tZ2l0IGEvc3lzL2Rldi9lMTAwMC9pZl9pZ2IuYyBiL3N5cy9kZXYv
ZTEwMDAvaWZfaWdiLmMKaW5kZXggNDcwMDgyOS4uOWFkNjE2YyAxMDA2NDQKLS0tIGEvc3lzL2Rl
di9lMTAwMC9pZl9pZ2IuYworKysgYi9zeXMvZGV2L2UxMDAwL2lmX2lnYi5jCkBAIC04MCw2ICs4
MCw3IEBACiAjaW5jbHVkZSA8bmV0aW5ldC91ZHAuaD4KIAogI2luY2x1ZGUgPG1hY2hpbmUvaW5f
Y2tzdW0uaD4KKyNpbmNsdWRlIDxtYWNoaW5lL19pbnR0eXBlcy5oPgogI2luY2x1ZGUgPGRldi9s
ZWQvbGVkLmg+CiAjaW5jbHVkZSA8ZGV2L3BjaS9wY2l2YXIuaD4KICNpbmNsdWRlIDxkZXYvcGNp
L3BjaXJlZy5oPgpAQCAtMTY1NSw2ICsxNjU2LDggQEAgaWdiX3htaXQoc3RydWN0IHR4X3Jpbmcg
KnR4ciwgc3RydWN0IG1idWYgKiptX2hlYWRwKQogCXR4ci0+bmV4dF9hdmFpbF9kZXNjID0gaTsK
IAl0eHItPnR4X2F2YWlsIC09IG5zZWdzOwogCisJbV9oZWFkLT5tX2ZsYWdzIHw9IE1fVU5VU0VE
OworCiAgICAgICAgIHR4X2J1ZmZlci0+bV9oZWFkID0gbV9oZWFkOwogCXR4X2J1ZmZlcl9tYXBw
ZWQtPm1hcCA9IHR4X2J1ZmZlci0+bWFwOwogCXR4X2J1ZmZlci0+bWFwID0gbWFwOwpAQCAtMzM3
NCw3ICszMzc3LDE2IEBAIGlnYl90eGVvZihzdHJ1Y3QgdHhfcmluZyAqdHhyKQogCQkJCWJ1c19k
bWFtYXBfdW5sb2FkKHR4ci0+dHh0YWcsCiAJCQkJICAgIHR4X2J1ZmZlci0+bWFwKTsKIAotICAg
ICAgICAgICAgICAgICAgICAgICAgCW1fZnJlZW0odHhfYnVmZmVyLT5tX2hlYWQpOworCQkJCXsK
KwkJCQkJS0FTU0VSVCgodHhfYnVmZmVyLT5tX2hlYWQtPm1fZmxhZ3MgJiBNX1VOVVNFRCkgPT0g
TV9VTlVTRUQsCisJCQkJCSAgICAoIkNvcnJ1cHRlZCB1bnVzZWQgZmxhZ3MsIGV4cGVjdGVkIDB4
JSIgUFJJeDY0ICIsIGdvdCAweCUiIFBSSXg2NCAiLCBmbGFncyAweCUiIFBSSXg2NCwKKwkJCQkJ
ICAgICAgICBNX1VOVVNFRCwgdHhfYnVmZmVyLT5tX2hlYWQtPm1fZmxhZ3MgJiBNX1VOVVNFRCwK
KwkJCQkJICAgICAgICB0eF9idWZmZXItPm1faGVhZC0+bV9mbGFncykpOworCQkJCQl0eF9idWZm
ZXItPm1faGVhZC0+bV9mbGFncyAmPSB+TV9VTlVTRUQ7CisKKwkJCQkJbV9mcmVlbV9hcmcodHhf
YnVmZmVyLT5tX2hlYWQsICh2b2lkICopMHgwMGJhYmUwMCk7CisJCQkJfQorCiAgICAgICAgICAg
ICAgICAgICAgICAgICAJdHhfYnVmZmVyLT5tX2hlYWQgPSBOVUxMOwogICAgICAgICAgICAgICAg
IAl9CiAJCQl0eF9idWZmZXItPm5leHRfZW9wID0gLTE7CmRpZmYgLS1naXQgYS9zeXMvc3lzL21i
dWYuaCBiL3N5cy9zeXMvbWJ1Zi5oCmluZGV4IDhhZDA5YmIuLjI5OWU2OTEgMTAwNjQ0Ci0tLSBh
L3N5cy9zeXMvbWJ1Zi5oCisrKyBiL3N5cy9zeXMvbWJ1Zi5oCkBAIC0xOTEsNiArMTkxLDkgQEAg
c3RydWN0IG1idWYgewogI2RlZmluZQlNX1BST1RPNgkweDAwMDgwMDAwVUxMIC8qIHByb3RvY29s
LXNwZWNpZmljICovCiAjZGVmaW5lCU1fUFJPVE83CTB4MDAxMDAwMDBVTEwgLyogcHJvdG9jb2wt
c3BlY2lmaWMgKi8KICNkZWZpbmUJTV9QUk9UTzgJMHgwMDIwMDAwMFVMTCAvKiBwcm90b2NvbC1z
cGVjaWZpYyAqLworCisjZGVmaW5lIE1fVU5VU0VECSh+KDB4ZmZmZmZmZmZVTEwpKQorCiAvKgog
ICogRm9yIFJFTEVOR197Niw3fSBzdGVhbCB0aGVzZSBmbGFncyBmb3IgbGltaXRlZCBtdWx0aXBs
ZSByb3V0aW5nIHRhYmxlCiAgKiBzdXBwb3J0LiBJbiBSRUxFTkdfOCBhbmQgYmV5b25kLCB1c2Ug
anVzdCBvbmUgZmxhZyBhbmQgYSB0YWcuCi0tIAoxLjcuNi4xNTMuZzc4NDMyCgo=
--bcaec51f8e8bfcd05f04ac2c4177--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACqU3MUs9Z9GeuGe=8iVp=MWV6eG-tO%2BkHb1znatsTq2uEqwvA>