From owner-freebsd-net@FreeBSD.ORG Mon Sep 5 06:59:53 2011 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0812E10656D2 for ; Mon, 5 Sep 2011 06:59:53 +0000 (UTC) (envelope-from lacombar@gmail.com) Received: from mail-pz0-f45.google.com (mail-pz0-f45.google.com [209.85.210.45]) by mx1.freebsd.org (Postfix) with ESMTP id C70258FC1C for ; Mon, 5 Sep 2011 06:59:52 +0000 (UTC) Received: by pzk33 with SMTP id 33so14214034pzk.18 for ; Sun, 04 Sep 2011 23:59:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:cc:content-type; bh=kS3winUxiANfN0zdLqyVLX7b1bRI0Xk3BL2QQ1iLrzA=; b=b/KmhDPyp6GA7bqn+jiFpg16ivdoP3U07Kglz46oJOoi+dXZ7/JjnDQ6wlg1ZtjBxQ 3xVPRRoGS2NvBluOVlMfLw/rtAvi0rj5gxwe6zs6TGgv8fkCDcC945iliSyYLYioTfI+ u5NcFG6V/sKLAWu1MzLfXElhBkz9Ybhf72BHw= MIME-Version: 1.0 Received: by 10.68.17.67 with SMTP id m3mr7184060pbd.329.1315205992468; Sun, 04 Sep 2011 23:59:52 -0700 (PDT) Received: by 10.142.131.15 with HTTP; Sun, 4 Sep 2011 23:59:52 -0700 (PDT) Date: Mon, 5 Sep 2011 02:59:52 -0400 Message-ID: From: Arnaud Lacombe To: freebsd-net@freebsd.org Content-Type: multipart/mixed; boundary=bcaec51f8e8bfcd05f04ac2c4177 Cc: Jack Vogel Subject: FreeBSD 7-STABLE mbuf corruption X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Sep 2011 06:59:53 -0000 --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 Features2=0x40ce3bd AMD Features=0x20100000 AMD Features2=0x1 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: 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: 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--