From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ie0-f174.google.com (mail-ie0-f174.google.com [209.85.223.174]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id 9CD3921F196 for ; Sun, 20 Jan 2013 11:24:13 -0800 (PST) Received: by mail-ie0-f174.google.com with SMTP id k11so2918566iea.5 for ; Sun, 20 Jan 2013 11:24:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:date:message-id:subject:from:to :content-type; bh=Lje/2BFqkj02OSZ9Yel7ZYK5zsfWFdavzbP97p6tCeg=; b=zoy4hG/0jrtk9rQiHVY+ItASKc/kVcLdH3PdPO92oGdrjUtup1AoG2cjn/IBdMvAZ7 5Z3xROWsUXjdOY34+J69sNu4S2/xBQr05nMZ4SR4UWZ9rsGujmhhFiYDCjFXsw46RLxc b3Yj5PYB6XTjSLJEHxkxm7vmdAh7SyB5UMoYCNWO4lzTA1GOP5QRhOcIs9HMOXhd005E L93iDSGfbaV2mZRyZrrByKODBQzGS/Sz6A3zZJNtlRBvEdqvhvKEB3p+iWCqWUqlZye6 LOyxNVR6LMGp7qvkCYGaw5LXVKfxMq7MsrtZuSI/IDY3H+6Tadur0cQh7gPY+5hrzTKe gtTg== MIME-Version: 1.0 X-Received: by 10.50.88.136 with SMTP id bg8mr7398869igb.96.1358709852830; Sun, 20 Jan 2013 11:24:12 -0800 (PST) Received: by 10.64.135.39 with HTTP; Sun, 20 Jan 2013 11:24:12 -0800 (PST) Date: Sun, 20 Jan 2013 14:24:12 -0500 Message-ID: From: Dave Taht To: cerowrt-devel@lists.bufferbloat.net Content-Type: multipart/mixed; boundary=e89a8f235a17217dad04d3bd4ae9 Subject: [Cerowrt-devel] was filled with hope for killing the last traps, now have brick X-BeenThere: cerowrt-devel@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: Development issues regarding the cerowrt test router project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Jan 2013 19:24:13 -0000 --e89a8f235a17217dad04d3bd4ae9 Content-Type: multipart/alternative; boundary=e89a8f235a17217daa04d3bd4ae7 --e89a8f235a17217daa04d3bd4ae7 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Mine and Robert Bradley's latest attempt at killing the last ipv6 instruction traps with a rollup patch from bugs 419 and 421... brick the router. It boots, the main green light goes on, then it dies. Naturally I left the serial cable at the office... Of course in the middle of this patch set revision I also updated to 3.7.3 and openwrt head, so have a few more variables than usual than just us to cope with. I would not mind eyeballs on this to see if there is an obvious flaw, otherwise I will progressively bisect from what was known to work forward as fast as I can. (besides, the hope is to submit this upstream) net_hdr_word is defined in the 902-unaligned_access_hacks patch in openwrt head... now off to find a small, sharp, pointy object... --=20 Dave T=E4ht Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html --e89a8f235a17217daa04d3bd4ae7 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Mine and Robert Bradley's latest attempt at killing the last ipv6 instr= uction traps
with a rollup patch from bugs 419 and 421...

<= /div>
brick the router.=A0It boots, the main green light goes on, then = it dies. Naturally
I left the serial cable at the office...

Of course in the middle of this patch set revision I also updated to = 3.7.3 and openwrt head,
so have a few more variables than usual t= han just us to cope with.=A0

I would not mind eyeballs on this to see if there is an= obvious flaw,=A0
otherwise I will progressively bisect from what= was known to work
forward as fast as I can. (besides, the hope i= s to =A0submit this upstream)

net_hdr_word is defined in the 902-unaligned_access_hac= ks patch in openwrt head...

now off to find a smal= l, sharp, pointy object...

--
Dave T=E4ht

Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscrib= e.html=20
--e89a8f235a17217daa04d3bd4ae7-- --e89a8f235a17217dad04d3bd4ae9 Content-Type: application/octet-stream; name="903-more-unaligned_access_hacks.patch" Content-Disposition: attachment; filename="903-more-unaligned_access_hacks.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_hc6k5lwy0 RnJvbSBmYjFmZTkxNTlhODg1NGNlZWNlOTM3ZjQzYjBjZWY1NmFiZjQ5OWNlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEYXZlIFRhaHQgPGRhdmUudGFodEBidWZmZXJibG9hdC5uZXQ+ CkRhdGU6IFNhdCwgMTkgSmFuIDIwMTMgMjI6MzE6NDAgLTA4MDAKU3ViamVjdDogW1BBVENIXSBm dWxsIGlwdjYgdW5hbGlnbmUgcGF0Y2hzZXQKCi0tLQogaW5jbHVkZS9saW51eC9pcHY2LmggICAg ICAgICAgICAgICAgICAgfCAgICAyICstCiBpbmNsdWRlL25ldC9hZGRyY29uZi5oICAgICAgICAg ICAgICAgICB8ICAgIDIgKy0KIGluY2x1ZGUvbmV0L2luZXRfZWNuLmggICAgICAgICAgICAgICAg IHwgICAgNCArKy0tCiBpbmNsdWRlL25ldC9pcHY2LmggICAgICAgICAgICAgICAgICAgICB8ICAg MTAgKysrKysrKy0tLQogaW5jbHVkZS9uZXQvbmRpc2MuaCAgICAgICAgICAgICAgICAgICAgfCAg ICA4ICsrKysrLS0tCiBpbmNsdWRlL3VhcGkvbGludXgvaW4uaCAgICAgICAgICAgICAgICB8ICAg IDIgKy0KIGluY2x1ZGUvdWFwaS9saW51eC94ZnJtLmggICAgICAgICAgICAgIHwgICAgMiArLQog bmV0L2NvcmUvc2VjdXJlX3NlcS5jICAgICAgICAgICAgICAgICAgfCAgICA5ICsrKysrKy0tLQog bmV0L2lwdjYvaXA2X2ZpYi5jICAgICAgICAgICAgICAgICAgICAgfCAgICAyICstCiBuZXQvbmV0 ZmlsdGVyL25mX2Nvbm50cmFja19wcm90b190Y3AuYyB8ICAgIDIgKy0KIG5ldC9uZXRmaWx0ZXIv eHRfTE9HLmMgICAgICAgICAgICAgICAgIHwgICAgNCArKy0tCiBuZXQveGZybS94ZnJtX2lucHV0 LmMgICAgICAgICAgICAgICAgICB8ICAgIDQgKystLQogMTIgZmlsZXMgY2hhbmdlZCwgMzAgaW5z ZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9p cHY2LmggYi9pbmNsdWRlL2xpbnV4L2lwdjYuaAppbmRleCA3NGE5MGJlLi44ZmE5M2JjIDEwMDY0 NAotLS0gYS9pbmNsdWRlL2xpbnV4L2lwdjYuaAorKysgYi9pbmNsdWRlL2xpbnV4L2lwdjYuaApA QCAtNzQsNyArNzQsNyBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBpcHY2aGRyICppcGlwdjZfaGRy KGNvbnN0IHN0cnVjdCBza19idWZmICpza2IpCiAKIHN0YXRpYyBpbmxpbmUgX191OCBpcHY2X3Rj bGFzcyhjb25zdCBzdHJ1Y3QgaXB2NmhkciAqaXBoKQogewotCXJldHVybiAobnRvaGwoKihfX2Jl MzIgKilpcGgpID4+IDIwKSAmIDB4ZmY7CisJcmV0dXJuIChudG9obChuZXRfaGRyX3dvcmQoaXBo KSkgPj4gMjApICYgMHhmZjsKIH0KIAogLyogCmRpZmYgLS1naXQgYS9pbmNsdWRlL25ldC9hZGRy Y29uZi5oIGIvaW5jbHVkZS9uZXQvYWRkcmNvbmYuaAppbmRleCA5ZTYzZTc2Li4xZmU2YTM4IDEw MDY0NAotLS0gYS9pbmNsdWRlL25ldC9hZGRyY29uZi5oCisrKyBiL2luY2x1ZGUvbmV0L2FkZHJj b25mLmgKQEAgLTM5LDcgKzM5LDcgQEAgc3RydWN0IHByZWZpeF9pbmZvIHsKIAlfX2JlMzIJCQly ZXNlcnZlZDI7CiAKIAlzdHJ1Y3QgaW42X2FkZHIJCXByZWZpeDsKLX07Cit9IF9fYXR0cmlidXRl X18oKHBhY2tlZCwgYWxpZ25lZCgyKSkpOwogCiAKICNpbmNsdWRlIDxsaW51eC9uZXRkZXZpY2Uu aD4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbmV0L2luZXRfZWNuLmggYi9pbmNsdWRlL25ldC9pbmV0 X2Vjbi5oCmluZGV4IGFhYjczNzUuLjVkYTE3NjggMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbmV0L2lu ZXRfZWNuLmgKKysrIGIvaW5jbHVkZS9uZXQvaW5ldF9lY24uaApAQCAtMTE1LDEzICsxMTUsMTMg QEAgc3RhdGljIGlubGluZSBpbnQgSVA2X0VDTl9zZXRfY2Uoc3RydWN0IGlwdjZoZHIgKmlwaCkK IHsKIAlpZiAoSU5FVF9FQ05faXNfbm90X2VjdChpcHY2X2dldF9kc2ZpZWxkKGlwaCkpKQogCQly ZXR1cm4gMDsKLQkqKF9fYmUzMiopaXBoIHw9IGh0b25sKElORVRfRUNOX0NFIDw8IDIwKTsKKwlu ZXRfaGRyX3dvcmQoaXBoKSB8PSBodG9ubChJTkVUX0VDTl9DRSA8PCAyMCk7CiAJcmV0dXJuIDE7 CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBJUDZfRUNOX2NsZWFyKHN0cnVjdCBpcHY2aGRyICpp cGgpCiB7Ci0JKihfX2JlMzIqKWlwaCAmPSB+aHRvbmwoSU5FVF9FQ05fTUFTSyA8PCAyMCk7CisJ bmV0X2hkcl93b3JkKGlwaCkgJj0gfmh0b25sKElORVRfRUNOX01BU0sgPDwgMjApOwogfQogCiBz dGF0aWMgaW5saW5lIHZvaWQgaXB2Nl9jb3B5X2RzY3AodW5zaWduZWQgaW50IGRzY3AsIHN0cnVj dCBpcHY2aGRyICppbm5lcikKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbmV0L2lwdjYuaCBiL2luY2x1 ZGUvbmV0L2lwdjYuaAppbmRleCA5NzliZjZjLi5lMmI2OTc1IDEwMDY0NAotLS0gYS9pbmNsdWRl L25ldC9pcHY2LmgKKysrIGIvaW5jbHVkZS9uZXQvaXB2Ni5oCkBAIC0zNzYsNiArMzc2LDggQEAg c3RhdGljIGlubGluZSBib29sIF9faXB2Nl9wcmVmaXhfZXF1YWwoY29uc3QgX19iZTMyICphMSwg Y29uc3QgX19iZTMyICphMiwKIAkJCQkgICAgICAgdW5zaWduZWQgaW50IHByZWZpeGxlbikKIHsK IAl1bnNpZ25lZCBpbnQgcGR3LCBwYmk7CisJLyogVXNlZCBmb3IgbGFzdCA8MzItYml0IGZyYWN0 aW9uIG9mIHByZWZpeCAqLworCXUzMiBwYmlhMSwgcGJpYTI7CiAKIAkvKiBjaGVjayBjb21wbGV0 ZSB1MzIgaW4gcHJlZml4ICovCiAJcGR3ID0gcHJlZml4bGVuID4+IDU7CkBAIC0zODQsNyArMzg2 LDkgQEAgc3RhdGljIGlubGluZSBib29sIF9faXB2Nl9wcmVmaXhfZXF1YWwoY29uc3QgX19iZTMy ICphMSwgY29uc3QgX19iZTMyICphMiwKIAogCS8qIGNoZWNrIGluY29tcGxldGUgdTMyIGluIHBy ZWZpeCAqLwogCXBiaSA9IHByZWZpeGxlbiAmIDB4MWY7Ci0JaWYgKHBiaSAmJiAoKGExW3Bkd10g XiBhMltwZHddKSAmIGh0b25sKCgweGZmZmZmZmZmKSA8PCAoMzIgLSBwYmkpKSkpCisJcGJpYTEg PSBuZXRfaGRyX3dvcmQoJmExW3Bkd10pOworCXBiaWEyID0gbmV0X2hkcl93b3JkKCZhMltwZHdd KTsKKwlpZiAocGJpICYmICgocGJpYTEgXiBwYmlhMikgJiBodG9ubCgoMHhmZmZmZmZmZikgPDwg KDMyIC0gcGJpKSkpKQogCQlyZXR1cm4gZmFsc2U7CiAKIAlyZXR1cm4gdHJ1ZTsKQEAgLTUwMCwx MyArNTA0LDEzIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBpcHY2X2FkZHJfc2V0X3Y0bWFwcGVkKGNv bnN0IF9fYmUzMiBhZGRyLAogICovCiBzdGF0aWMgaW5saW5lIGludCBfX2lwdjZfYWRkcl9kaWZm KGNvbnN0IHZvaWQgKnRva2VuMSwgY29uc3Qgdm9pZCAqdG9rZW4yLCBpbnQgYWRkcmxlbikKIHsK LQljb25zdCBfX2JlMzIgKmExID0gdG9rZW4xLCAqYTIgPSB0b2tlbjI7CisJY29uc3Qgc3RydWN0 IGluNl9hZGRyICphMSA9IHRva2VuMSwgKmEyID0gdG9rZW4yOwogCWludCBpOwogCiAJYWRkcmxl biA+Pj0gMjsKIAogCWZvciAoaSA9IDA7IGkgPCBhZGRybGVuOyBpKyspIHsKLQkJX19iZTMyIHhi ID0gYTFbaV0gXiBhMltpXTsKKwkJX19iZTMyIHhiID0gYTEtPnM2X2FkZHIzMltpXSBeIGEyLT5z Nl9hZGRyMzJbaV07CiAJCWlmICh4YikKIAkJCXJldHVybiBpICogMzIgKyAzMSAtIF9fZmxzKG50 b2hsKHhiKSk7CiAJfQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9uZXQvbmRpc2MuaCBiL2luY2x1ZGUv bmV0L25kaXNjLmgKaW5kZXggZTYxYTM4OC4uYjc5ZmVmMiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9u ZXQvbmRpc2MuaAorKysgYi9pbmNsdWRlL25ldC9uZGlzYy5oCkBAIC03Niw3ICs3Niw3IEBAIHN0 cnVjdCByYV9tc2cgewogICAgICAgICBzdHJ1Y3QgaWNtcDZoZHIJCWljbXBoOwogCV9fYmUzMgkJ CXJlYWNoYWJsZV90aW1lOwogCV9fYmUzMgkJCXJldHJhbnNfdGltZXI7Ci19OworfSBfX2F0dHJp YnV0ZV9fKChwYWNrZWQsIGFsaWduZWQoMikpKTsKIAogc3RydWN0IHJkX21zZyB7CiAJc3RydWN0 IGljbXA2aGRyIGljbXBoOwpAQCAtMTYzLDggKzE2MywxMCBAQCBzdGF0aWMgaW5saW5lIHN0cnVj dCBuZWlnaGJvdXIgKl9faXB2Nl9uZWlnaF9sb29rdXAoc3RydWN0IG5laWdoX3RhYmxlICp0Ymws IHN0cgogCSAgICAgbiA9IHJjdV9kZXJlZmVyZW5jZV9iaChuLT5uZXh0KSkgewogCQl1MzIgKm4z MiA9ICh1MzIgKikgbi0+cHJpbWFyeV9rZXk7CiAJCWlmIChuLT5kZXYgPT0gZGV2ICYmCi0JCSAg ICAoKG4zMlswXSBeIHAzMlswXSkgfCAobjMyWzFdIF4gcDMyWzFdKSB8Ci0JCSAgICAgKG4zMlsy XSBeIHAzMlsyXSkgfCAobjMyWzNdIF4gcDMyWzNdKSkgPT0gMCkgeworCQkgICAgKChuMzJbMF0g XiBuZXRfaGRyX3dvcmQoJnAzMlswXSkpIHwKKwkJICAgICAobjMyWzFdIF4gbmV0X2hkcl93b3Jk KCZwMzJbMV0pKSB8CisJCSAgICAgKG4zMlsyXSBeIG5ldF9oZHJfd29yZCgmcDMyWzJdKSkgfAor CQkgICAgIChuMzJbM10gXiBuZXRfaGRyX3dvcmQoJnAzMlszXSkpKSA9PSAwKSB7CiAJCQlpZiAo IWF0b21pY19pbmNfbm90X3plcm8oJm4tPnJlZmNudCkpCiAJCQkJbiA9IE5VTEw7CiAJCQlicmVh azsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9saW51eC9pbi5oIGIvaW5jbHVkZS91YXBpL2xp bnV4L2luLmgKaW5kZXggOWVkYjQ0MS4uODYwZGU3YSAxMDA2NDQKLS0tIGEvaW5jbHVkZS91YXBp L2xpbnV4L2luLmgKKysrIGIvaW5jbHVkZS91YXBpL2xpbnV4L2luLmgKQEAgLTU1LDcgKzU1LDcg QEAgZW51bSB7CiAvKiBJbnRlcm5ldCBhZGRyZXNzLiAqLwogc3RydWN0IGluX2FkZHIgewogCV9f YmUzMglzX2FkZHI7Ci19OworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQsIGFsaWduZWQoMikpKTsK IAogI2RlZmluZSBJUF9UT1MJCTEKICNkZWZpbmUgSVBfVFRMCQkyCmRpZmYgLS1naXQgYS9pbmNs dWRlL3VhcGkvbGludXgveGZybS5oIGIvaW5jbHVkZS91YXBpL2xpbnV4L3hmcm0uaAppbmRleCAy OGU0OTNiLi43NGE5ZDcxIDEwMDY0NAotLS0gYS9pbmNsdWRlL3VhcGkvbGludXgveGZybS5oCisr KyBiL2luY2x1ZGUvdWFwaS9saW51eC94ZnJtLmgKQEAgLTEzLDcgKzEzLDcgQEAKIHR5cGVkZWYg dW5pb24gewogCV9fYmUzMgkJYTQ7CiAJX19iZTMyCQlhNls0XTsKLX0geGZybV9hZGRyZXNzX3Q7 Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCwgYWxpZ25lZCgyKSkpIHhmcm1fYWRkcmVzc190Owog CiAvKiBJZGVudCBvZiBhIHNwZWNpZmljIHhmcm1fc3RhdGUuIEl0IGlzIHVzZWQgb24gaW5wdXQg dG8gbG9va3VwCiAgKiB0aGUgc3RhdGUgYnkgKHNwaSxkYWRkcixhaC9lc3ApIG9yIHRvIHN0b3Jl IGluZm9ybWF0aW9uIGFib3V0CmRpZmYgLS1naXQgYS9uZXQvY29yZS9zZWN1cmVfc2VxLmMgYi9u ZXQvY29yZS9zZWN1cmVfc2VxLmMKaW5kZXggZTYxYThiYi4uNDAwNWM2YSAxMDA2NDQKLS0tIGEv bmV0L2NvcmUvc2VjdXJlX3NlcS5jCisrKyBiL25ldC9jb3JlL3NlY3VyZV9zZXEuYwpAQCAtNDMs MTAgKzQzLDExIEBAIF9fdTMyIHNlY3VyZV90Y3B2Nl9zZXF1ZW5jZV9udW1iZXIoY29uc3QgX19i ZTMyICpzYWRkciwgY29uc3QgX19iZTMyICpkYWRkciwKIAl1MzIgc2VjcmV0W01ENV9NRVNTQUdF X0JZVEVTIC8gNF07CiAJdTMyIGhhc2hbTUQ1X0RJR0VTVF9XT1JEU107CiAJdTMyIGk7CisJY29u c3Qgc3RydWN0IGluNl9hZGRyICpkYWRkcjYgPSAoc3RydWN0IGluNl9hZGRyICopIGRhZGRyOwog CiAJbWVtY3B5KGhhc2gsIHNhZGRyLCAxNik7CiAJZm9yIChpID0gMDsgaSA8IDQ7IGkrKykKLQkJ c2VjcmV0W2ldID0gbmV0X3NlY3JldFtpXSArIChfX2ZvcmNlIHUzMilkYWRkcltpXTsKKwkJc2Vj cmV0W2ldID0gbmV0X3NlY3JldFtpXSArIChfX2ZvcmNlIHUzMilkYWRkcjYtPnM2X2FkZHIzMltp XTsKIAlzZWNyZXRbNF0gPSBuZXRfc2VjcmV0WzRdICsKIAkJKCgoX19mb3JjZSB1MTYpc3BvcnQg PDwgMTYpICsgKF9fZm9yY2UgdTE2KWRwb3J0KTsKIAlmb3IgKGkgPSA1OyBpIDwgTUQ1X01FU1NB R0VfQllURVMgLyA0OyBpKyspCkBAIC02NCwxMCArNjUsMTEgQEAgdTMyIHNlY3VyZV9pcHY2X3Bv cnRfZXBoZW1lcmFsKGNvbnN0IF9fYmUzMiAqc2FkZHIsIGNvbnN0IF9fYmUzMiAqZGFkZHIsCiAJ dTMyIHNlY3JldFtNRDVfTUVTU0FHRV9CWVRFUyAvIDRdOwogCXUzMiBoYXNoW01ENV9ESUdFU1Rf V09SRFNdOwogCXUzMiBpOworCWNvbnN0IHN0cnVjdCBpbjZfYWRkciAqZGFkZHI2ID0gKHN0cnVj dCBpbjZfYWRkciAqKSBkYWRkcjsKIAogCW1lbWNweShoYXNoLCBzYWRkciwgMTYpOwogCWZvciAo aSA9IDA7IGkgPCA0OyBpKyspCi0JCXNlY3JldFtpXSA9IG5ldF9zZWNyZXRbaV0gKyAoX19mb3Jj ZSB1MzIpIGRhZGRyW2ldOworCQlzZWNyZXRbaV0gPSBuZXRfc2VjcmV0W2ldICsgKF9fZm9yY2Ug dTMyKSBkYWRkcjYtPnM2X2FkZHIzMltpXTsKIAlzZWNyZXRbNF0gPSBuZXRfc2VjcmV0WzRdICsg KF9fZm9yY2UgdTMyKWRwb3J0OwogCWZvciAoaSA9IDU7IGkgPCBNRDVfTUVTU0FHRV9CWVRFUyAv IDQ7IGkrKykKIAkJc2VjcmV0W2ldID0gbmV0X3NlY3JldFtpXTsKQEAgLTE2NSwxMCArMTY3LDEx IEBAIHU2NCBzZWN1cmVfZGNjcHY2X3NlcXVlbmNlX251bWJlcihfX2JlMzIgKnNhZGRyLCBfX2Jl MzIgKmRhZGRyLAogCXUzMiBoYXNoW01ENV9ESUdFU1RfV09SRFNdOwogCXU2NCBzZXE7CiAJdTMy IGk7CisJY29uc3Qgc3RydWN0IGluNl9hZGRyICpkYWRkcjYgPSAoc3RydWN0IGluNl9hZGRyICop IGRhZGRyOwogCiAJbWVtY3B5KGhhc2gsIHNhZGRyLCAxNik7CiAJZm9yIChpID0gMDsgaSA8IDQ7 IGkrKykKLQkJc2VjcmV0W2ldID0gbmV0X3NlY3JldFtpXSArIGRhZGRyW2ldOworCQlzZWNyZXRb aV0gPSBuZXRfc2VjcmV0W2ldICsgIGRhZGRyNi0+czZfYWRkcjMyW2ldOwogCXNlY3JldFs0XSA9 IG5ldF9zZWNyZXRbNF0gKwogCQkoKChfX2ZvcmNlIHUxNilzcG9ydCA8PCAxNikgKyAoX19mb3Jj ZSB1MTYpZHBvcnQpOwogCWZvciAoaSA9IDU7IGkgPCBNRDVfTUVTU0FHRV9CWVRFUyAvIDQ7IGkr KykKZGlmZiAtLWdpdCBhL25ldC9pcHY2L2lwNl9maWIuYyBiL25ldC9pcHY2L2lwNl9maWIuYwpp bmRleCAyNDk5NWE5Li45NDZhYmQ3IDEwMDY0NAotLS0gYS9uZXQvaXB2Ni9pcDZfZmliLmMKKysr IGIvbmV0L2lwdjYvaXA2X2ZpYi5jCkBAIC0xNDQsNyArMTQ0LDcgQEAgc3RhdGljIF9faW5saW5l X18gX19iZTMyIGFkZHJfYml0X3NldChjb25zdCB2b2lkICp0b2tlbiwgaW50IGZuX2JpdCkKIAkg KiBTZWUgaW5jbHVkZS9hc20tZ2VuZXJpYy9iaXRvcHMvbGUuaC4KIAkgKi8KIAlyZXR1cm4gKF9f Zm9yY2UgX19iZTMyKSgxIDw8ICgofmZuX2JpdCBeIEJJVE9QX0JFMzJfU1dJWlpMRSkgJiAweDFm KSkgJgotCSAgICAgICBhZGRyW2ZuX2JpdCA+PiA1XTsKKwkgICAgICAgbmV0X2hkcl93b3JkKGFk ZHJbZm5fYml0ID4+IDVdKTsKIH0KIAogc3RhdGljIF9faW5saW5lX18gc3RydWN0IGZpYjZfbm9k ZSAqIG5vZGVfYWxsb2Modm9pZCkKZGlmZiAtLWdpdCBhL25ldC9uZXRmaWx0ZXIvbmZfY29ubnRy YWNrX3Byb3RvX3RjcC5jIGIvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfcHJvdG9fdGNwLmMK aW5kZXggNjFmOTI4NS4uNzg5M2RmNiAxMDA2NDQKLS0tIGEvbmV0L25ldGZpbHRlci9uZl9jb25u dHJhY2tfcHJvdG9fdGNwLmMKKysrIGIvbmV0L25ldGZpbHRlci9uZl9jb25udHJhY2tfcHJvdG9f dGNwLmMKQEAgLTQ0OSw3ICs0NDksNyBAQCBzdGF0aWMgdm9pZCB0Y3Bfc2Fjayhjb25zdCBzdHJ1 Y3Qgc2tfYnVmZiAqc2tiLCB1bnNpZ25lZCBpbnQgZGF0YW9mZiwKIAogCS8qIEZhc3QgcGF0aCBm b3IgdGltZXN0YW1wLW9ubHkgb3B0aW9uICovCiAJaWYgKGxlbmd0aCA9PSBUQ1BPTEVOX1RTVEFN UF9BTElHTkVECi0JICAgICYmICooX19iZTMyICopcHRyID09IGh0b25sKChUQ1BPUFRfTk9QIDw8 IDI0KQorCSAgICAmJiBuZXRfaGRyX3dvcmQocHRyKSA9PSBodG9ubCgoVENQT1BUX05PUCA8PCAy NCkKIAkJCQkgICAgICAgfCAoVENQT1BUX05PUCA8PCAxNikKIAkJCQkgICAgICAgfCAoVENQT1BU X1RJTUVTVEFNUCA8PCA4KQogCQkJCSAgICAgICB8IFRDUE9MRU5fVElNRVNUQU1QKSkKZGlmZiAt LWdpdCBhL25ldC9uZXRmaWx0ZXIveHRfTE9HLmMgYi9uZXQvbmV0ZmlsdGVyL3h0X0xPRy5jCmlu ZGV4IGZhNDAwOTYuLjI2MTZlY2YgMTAwNjQ0Ci0tLSBhL25ldC9uZXRmaWx0ZXIveHRfTE9HLmMK KysrIGIvbmV0L25ldGZpbHRlci94dF9MT0cuYwpAQCAtNTIxLDkgKzUyMSw5IEBAIHN0YXRpYyB2 b2lkIGR1bXBfaXB2Nl9wYWNrZXQoc3RydWN0IHNidWZmICptLAogCS8qIE1heCBsZW5ndGg6IDQ0 ICJMRU49NjU1MzUgVEM9MjU1IEhPUExJTUlUPTI1NSBGTE9XTEJMPUZGRkZGICIgKi8KIAlzYl9h ZGQobSwgIkxFTj0lWnUgVEM9JXUgSE9QTElNSVQ9JXUgRkxPV0xCTD0ldSAiLAogCSAgICAgICBu dG9ocyhpaC0+cGF5bG9hZF9sZW4pICsgc2l6ZW9mKHN0cnVjdCBpcHY2aGRyKSwKLQkgICAgICAg KG50b2hsKCooX19iZTMyICopaWgpICYgMHgwZmYwMDAwMCkgPj4gMjAsCisJICAgICAgIChudG9o bChuZXRfaGRyX3dvcmQoaWgpKSAmIDB4MGZmMDAwMDApID4+IDIwLAogCSAgICAgICBpaC0+aG9w X2xpbWl0LAotCSAgICAgICAobnRvaGwoKihfX2JlMzIgKilpaCkgJiAweDAwMGZmZmZmKSk7CisJ ICAgICAgIChudG9obChuZXRfaGRyX3dvcmQoaWgpKSAmIDB4MDAwZmZmZmYpKTsKIAogCWZyYWdt ZW50ID0gMDsKIAlwdHIgPSBpcDZob2ZmICsgc2l6ZW9mKHN0cnVjdCBpcHY2aGRyKTsKZGlmZiAt LWdpdCBhL25ldC94ZnJtL3hmcm1faW5wdXQuYyBiL25ldC94ZnJtL3hmcm1faW5wdXQuYwppbmRl eCBhYjJiYjQyLi41N2JiZDNmIDEwMDY0NAotLS0gYS9uZXQveGZybS94ZnJtX2lucHV0LmMKKysr IGIvbmV0L3hmcm0veGZybV9pbnB1dC5jCkBAIC03Nyw4ICs3Nyw4IEBAIGludCB4ZnJtX3BhcnNl X3NwaShzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB1OCBuZXh0aGRyLCBfX2JlMzIgKnNwaSwgX19iZTMy ICpzZXEpCiAJaWYgKCFwc2tiX21heV9wdWxsKHNrYiwgaGxlbikpCiAJCXJldHVybiAtRUlOVkFM OwogCi0JKnNwaSA9ICooX19iZTMyKikoc2tiX3RyYW5zcG9ydF9oZWFkZXIoc2tiKSArIG9mZnNl dCk7Ci0JKnNlcSA9ICooX19iZTMyKikoc2tiX3RyYW5zcG9ydF9oZWFkZXIoc2tiKSArIG9mZnNl dF9zZXEpOworCSpzcGkgPSBuZXRfaGRyX3dvcmQoc2tiX3RyYW5zcG9ydF9oZWFkZXIoc2tiKSAr IG9mZnNldCk7CisJKnNlcSA9IG5ldF9oZHJfd29yZChza2JfdHJhbnNwb3J0X2hlYWRlcihza2Ip ICsgb2Zmc2V0X3NlcSk7CiAJcmV0dXJuIDA7CiB9CiAKLS0gCjEuNy45LjUKCmRpZmYgLS1naXQg YS9pbmNsdWRlL25ldC9zZWN1cmVfc2VxLmggYi9pbmNsdWRlL25ldC9zZWN1cmVfc2VxLmgKaW5k ZXggYzJlNTQyYi4uZGFlZWVjOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9uZXQvc2VjdXJlX3NlcS5o CisrKyBiL2luY2x1ZGUvbmV0L3NlY3VyZV9zZXEuaApAQCAtMiw2ICsyLDcgQEAKICNkZWZpbmUg X05FVF9TRUNVUkVfU0VRCiAKICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgorI2luY2x1ZGUgPGxp bnV4L2luNi5oPgogCiBleHRlcm4gX191MzIgc2VjdXJlX2lwX2lkKF9fYmUzMiBkYWRkcik7CiBl eHRlcm4gX191MzIgc2VjdXJlX2lwdjZfaWQoY29uc3QgX19iZTMyIGRhZGRyWzRdKTsK --e89a8f235a17217dad04d3bd4ae9--