From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f47.google.com ([209.85.167.47]) by ewsd; Sat Jan 11 16:24:15 EST 2020 Received: by mail-lf1-f47.google.com with SMTP id v201so4118970lfa.11 for <9front@9front.org>; Sat, 11 Jan 2020 13:24:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=XRgSwMmidvNa2zqcaMRP2wxF3t8siE3fq8H4/2bDXYY=; b=jUBJthP3ogzDGgGiaxJY7cWH3z8LapdcbZl3VNnjEAgqHoT0wkTRZ6vE2Fcy8YfsNA V/WhY16Ahz7Y0Y67eI9+hei6SKbdPKI8iOyiK8L0kfGrr+IUY3sIkDiJcqYO4/p6xFLo T3PYrPtQrpgSW/riiHCMrneRlCVWOFGgX5ZscBIFXTJt3BvJOJLQpGPKLm9awYhFWGIp IRydceo1mrsdhm0fXmOF6j8GxA06VV7wUNEE9wDeTUACyqN4ro7Ah4gZn1V4vULzjz4t kMNqTGz5DTk1GHv0+msj7DRCOXnfAKmLPfX1zaI43kuIu0aR/60HTXVilJ7ZBDqsqssI UIaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=XRgSwMmidvNa2zqcaMRP2wxF3t8siE3fq8H4/2bDXYY=; b=ekOwLUabmBZJ35X05u9NIc7p7ubQJf10pX61ivGgiuCqO8hWtl4JHuIBP2cRke2jbo WE6VT0eas/uI0tgjtD39M5OI5qzczpYds8G1ynU9OqK5VnYdQ+hUrn4h/gS2DElytpYu GGVYE1ElNET0tKGcLumdu5kthtRJa6MuC9G0xjEbNE4c72bo6PqvqGdPn9vYKlDamuoC hr3nuLBrx8b/9jwxPNnINDVbb42zbhNnDYoAuMHx6zfQuYtwZhOZGuZ9kLWbVAisInT8 w00ko6OiiFu1y9pxM5VLLkYbWg787L22QXVy1NmcFbZb/gX1kzKY9Pv/0krnyrzx8pdU vxlQ== X-Gm-Message-State: APjAAAVfcNU43JB0P+h/YM3iddQXKVjJXoVxx4lOUJdgAvo+GymUrI8M eK4hO1yPlFxguL+ptY/jH9PkYojl0t/8jCfJVLMbNA== X-Google-Smtp-Source: APXvYqyhOGNV3mxYixYK+0G80uwfekZW4+sgrO/cIqOvDLzLVrL/MDkdqObxK0h6SFTYStVe7BisFfAk2rIdKzY5ZLc= X-Received: by 2002:ac2:5dc7:: with SMTP id x7mr5994118lfq.24.1578777850968; Sat, 11 Jan 2020 13:24:10 -0800 (PST) MIME-Version: 1.0 Received: by 2002:a05:6504:556:0:0:0:0 with HTTP; Sat, 11 Jan 2020 13:24:10 -0800 (PST) In-Reply-To: <76481B02AE084AE907C892C25C6715F4@felloff.net> References: <76481B02AE084AE907C892C25C6715F4@felloff.net> From: Robert Ransom Date: Sat, 11 Jan 2020 16:24:10 -0500 Message-ID: Subject: Re: [9front] Kernel patches (cpufreqctl, Radeon on amd64, trivia) To: 9front@9front.org Cc: cinap_lenrek@felloff.net Content-Type: multipart/mixed; boundary="000000000000fd3bb2059be3dc78" List-ID: <9front.9front.org> List-Help: X-Glyph: ➈ X-Bullshit: virtual browser ORM CMS method --000000000000fd3bb2059be3dc78 Content-Type: text/plain; charset="UTF-8" On 1/11/20, cinap_lenrek@felloff.net wrote: > applied the trivial ones. > > Patch 7514, 7515, 7517, 7518 got mangled (by postmaster@ewsd?) in the mail. > can you resubmit please and put me directly in CC? See attached. --000000000000fd3bb2059be3dc78 Content-Type: text/x-patch; charset="US-ASCII"; name="7514.patch" Content-Disposition: attachment; filename="7514.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: file0 IyBIRyBjaGFuZ2VzZXQgcGF0Y2gKIyBVc2VyIFJvYmVydCBSYW5zb20gPHJyYW5zb20uODc3NEBn bWFpbC5jb20+CiMgRGF0ZSAxNTc4MTQ3NTEyIDE4MDAwCiMgTm9kZSBJRCA5MzlhYjE5NzQ2Mzcw M2Q0ODM1NjIyMTAzYmRlNDEwYmQwYTJhY2Q3CiMgUGFyZW50ICA4NWRmYjRkMGQ1ZWU5MzA3M2Nk ZTYzNmNjNTI4OGU3MjExNmI0NmU1CkFkYXB0IHZnYXJhZGVvbiBkcml2ZXIgdG8gNjQtYml0CgpO b3QgeWV0IHRlc3RlZC4KCmRpZmYgLS1naXQgYS9zeXMvc3JjLzkvcGMvdmdhcmFkZW9uLmMgYi9z eXMvc3JjLzkvcGMvdmdhcmFkZW9uLmMKLS0tIGEvc3lzL3NyYy85L3BjL3ZnYXJhZGVvbi5jCisr KyBiL3N5cy9zcmMvOS9wYy92Z2FyYWRlb24uYwpAQCAtMjgsNDUgKzI4LDQ1IEBACiAvKiBtbWlv IGFjY2VzcyAqLwogCiBzdGF0aWMgdm9pZAotT1VUUkVHOCh1bG9uZyBtbWlvLCB1bG9uZyBvZmZz ZXQsIHVjaGFyIHZhbCkKK09VVFJFRzgodWxvbmcgKm1taW8sIHVsb25nIG9mZnNldCwgdWNoYXIg dmFsKQogewotCSgodWNoYXIqKUtBRERSKChtbWlvICsgb2Zmc2V0KSkpWzBdID0gdmFsOworCSgo dWNoYXIqKUtBRERSKCgoKHVpbnRwdHIpbW1pbykgKyBvZmZzZXQpKSlbMF0gPSB2YWw7CiB9CiAK IHN0YXRpYyB2b2lkCi1PVVRSRUcodWxvbmcgbW1pbywgdWxvbmcgb2Zmc2V0LCB1bG9uZyB2YWwp CitPVVRSRUcodWxvbmcgKm1taW8sIHVsb25nIG9mZnNldCwgdWxvbmcgdmFsKQogewotCSgodWxv bmcqKUtBRERSKChtbWlvICsgb2Zmc2V0KSkpWzBdID0gdmFsOworCSgodWxvbmcqKUtBRERSKCgo KHVpbnRwdHIpbW1pbykgKyBvZmZzZXQpKSlbMF0gPSB2YWw7CiB9CiAKIHN0YXRpYyB1bG9uZwot SU5SRUcodWxvbmcgbW1pbywgdWxvbmcgb2Zmc2V0KQorSU5SRUcodWxvbmcgKm1taW8sIHVsb25n IG9mZnNldCkKIHsKLQlyZXR1cm4gKCh1bG9uZyopS0FERFIoKG1taW8gKyBvZmZzZXQpKSlbMF07 CisJcmV0dXJuICgodWxvbmcqKUtBRERSKCgoKHVpbnRwdHIpbW1pbykgKyBvZmZzZXQpKSlbMF07 CiB9CiAKIHN0YXRpYyB2b2lkCi1PVVRSRUdQKHVsb25nIG1taW8sIHVsb25nIG9mZnNldCwgdWxv bmcgdmFsLCB1bG9uZyBtYXNrKQorT1VUUkVHUCh1bG9uZyAqbW1pbywgdWxvbmcgb2Zmc2V0LCB1 bG9uZyB2YWwsIHVsb25nIG1hc2spCiB7CiAJT1VUUkVHKG1taW8sIG9mZnNldCwgKElOUkVHKG1t aW8sIG9mZnNldCkgJiBtYXNrKSB8IHZhbCk7CiB9CiAKIHN0YXRpYyB2b2lkCi1PVVRQTEwodWxv bmcgbW1pbywgdWxvbmcgb2Zmc2V0LCB1bG9uZyB2YWwpCitPVVRQTEwodWxvbmcgKm1taW8sIHVs b25nIG9mZnNldCwgdWxvbmcgdmFsKQogewogCU9VVFJFRzgobW1pbywgQ0xPQ0tfQ05UTF9JTkRF WCwgKG9mZnNldCAmIDB4M2YpIHwgUExMX1dSX0VOKTsKIAlPVVRSRUcobW1pbywgQ0xPQ0tfQ05U TF9EQVRBLCB2YWwpOwogfQogCiBzdGF0aWMgdWxvbmcKLUlOUExMKHVsb25nIG1taW8sIHVsb25n IG9mZnNldCkKK0lOUExMKHVsb25nICptbWlvLCB1bG9uZyBvZmZzZXQpCiB7CiAJT1VUUkVHOCht bWlvLCBDTE9DS19DTlRMX0lOREVYLCBvZmZzZXQgJiAweDNmKTsKIAlyZXR1cm4gSU5SRUcobW1p bywgQ0xPQ0tfQ05UTF9EQVRBKTsKIH0KIAogc3RhdGljIHZvaWQKLU9VVFBMTFAodWxvbmcgbW1p bywgdWxvbmcgb2Zmc2V0LCB1bG9uZyB2YWwsIHVsb25nIG1hc2spCitPVVRQTExQKHVsb25nICpt bWlvLCB1bG9uZyBvZmZzZXQsIHVsb25nIHZhbCwgdWxvbmcgbWFzaykKIHsKIAlPVVRQTEwobW1p bywgb2Zmc2V0LCAoSU5QTEwobW1pbywgb2Zmc2V0KSAmIG1hc2spIHwgdmFsKTsKIH0KQEAgLTE3 NCwxMCArMTc0LDEwIEBACiAJCXkgPSAwOwogCX0KIAotCU9VVFJFRygodWxvbmcpc2NyLT5tbWlv LCBDVVJfT0ZGU0VULCBzdG9yYWdlICsgb3kgKiAyNTYpOwotCU9VVFJFRygodWxvbmcpc2NyLT5t bWlvLCBDVVJfSE9SWl9WRVJUX09GRiwKKwlPVVRSRUcoc2NyLT5tbWlvLCBDVVJfT0ZGU0VULCBz dG9yYWdlICsgb3kgKiAyNTYpOworCU9VVFJFRyhzY3ItPm1taW8sIENVUl9IT1JaX1ZFUlRfT0ZG LAogCQkob3ggJiAweDdmZmYpIDw8IDE2IHwgKG95ICYgMHg3ZmZmKSk7Ci0JT1VUUkVHKCh1bG9u ZylzY3ItPm1taW8sIENVUl9IT1JaX1ZFUlRfUE9TTiwKKwlPVVRSRUcoc2NyLT5tbWlvLCBDVVJf SE9SWl9WRVJUX1BPU04sCiAJCSh4ICYgMHg3ZmZmKSA8PCAxNiB8ICh5ICYgMHg3ZmZmKSk7CiAJ cmV0dXJuIDA7CiB9CkBAIC0xODcsNyArMTg3LDcgQEAKIHsKIAlpZihzY3ItPm1taW8gPT0gbmls KQogCQlyZXR1cm47Ci0JT1VUUkVHUCgodWxvbmcpc2NyLT5tbWlvLCBDUlRDX0dFTl9DTlRMLCAw LCB+Q1JUQ19DVVJfRU4pOworCU9VVFJFR1Aoc2NyLT5tbWlvLCBDUlRDX0dFTl9DTlRMLCAwLCB+ Q1JUQ19DVVJfRU4pOwogfQogCiBzdGF0aWMgdm9pZApAQCAtMjAwLDExICsyMDAsMTEgQEAKIAog CXJhZGVvbmN1cmRpc2FibGUoc2NyKTsKIAlzdG9yYWdlID0gc2NyLT5hcHNpemUgLSAxKk1lZzsK LQlzY3ItPnN0b3JhZ2UgPSAodWxvbmcpS0FERFIoc2NyLT5wYWRkciArIHN0b3JhZ2UpOworCXNj ci0+c3RvcmFnZSA9ICh1aW50cHRyKUtBRERSKHNjci0+cGFkZHIgKyBzdG9yYWdlKTsKIAlyYWRl b25jdXJsb2FkKHNjciwgJmFycm93KTsKIAlyYWRlb25jdXJtb3ZlKHNjciwgWlApOwogCi0JT1VU UkVHUCgodWxvbmcpc2NyLT5tbWlvLCBDUlRDX0dFTl9DTlRMLCBDUlRDX0NVUl9FTiB8IDI8PDIw LAorCU9VVFJFR1Aoc2NyLT5tbWlvLCBDUlRDX0dFTl9DTlRMLCBDUlRDX0NVUl9FTiB8IDI8PDIw LAogCQl+KENSVENfQ1VSX0VOIHwgMzw8MjApKTsKIH0KIApAQCAtMjIzLDI0ICsyMjMsMjQgQEAK IAogCW1hc2sgPSBDUlRDX0RJU1BMQVlfRElTIHwgQ1JUQ19IU1lOQ19ESVMgfCBDUlRDX1ZTWU5D X0RJUzsKIAlpZiAoYmxhbmsgPT0gMCkgewotCQlPVVRSRUdQKCh1bG9uZylzY3ItPm1taW8sIENS VENfRVhUX0NOVEwsIDAsIH5tYXNrKTsKKwkJT1VUUkVHUChzY3ItPm1taW8sIENSVENfRVhUX0NO VEwsIDAsIH5tYXNrKTsKIAkJcmV0dXJuOwogCX0KIAogCWNwID0gZ2V0Y29uZigiKmRwbXMiKTsK IAlpZiAoY3ApIHsKIAkJaWYgKHN0cmNtcChjcCwgInN0YW5kYnkiKSA9PSAwKQotCQkJT1VUUkVH UCgodWxvbmcpc2NyLT5tbWlvLCBDUlRDX0VYVF9DTlRMLAorCQkJT1VUUkVHUChzY3ItPm1taW8s IENSVENfRVhUX0NOVEwsCiAJCQkJQ1JUQ19ESVNQTEFZX0RJUyB8IENSVENfSFNZTkNfRElTLCB+ bWFzayk7CiAJCWVsc2UgaWYgKHN0cmNtcChjcCwgInN1c3BlbmQiKSA9PSAwKQotCQkJT1VUUkVH UCgodWxvbmcpc2NyLT5tbWlvLCBDUlRDX0VYVF9DTlRMLAorCQkJT1VUUkVHUChzY3ItPm1taW8s IENSVENfRVhUX0NOVEwsCiAJCQkJQ1JUQ19ESVNQTEFZX0RJUyB8IENSVENfVlNZTkNfRElTLCB+ bWFzayk7CiAJCWVsc2UgaWYgKHN0cmNtcChjcCwgIm9mZiIpID09IDApCi0JCQlPVVRSRUdQKCh1 bG9uZylzY3ItPm1taW8sIENSVENfRVhUX0NOVEwsIG1hc2ssIH5tYXNrKTsKKwkJCU9VVFJFR1Ao c2NyLT5tbWlvLCBDUlRDX0VYVF9DTlRMLCBtYXNrLCB+bWFzayk7CiAJCXJldHVybjsKIAl9CiAK LQlPVVRSRUdQKCh1bG9uZylzY3ItPm1taW8sIENSVENfRVhUX0NOVEwsIG1hc2ssIH5tYXNrKTsK KwlPVVRSRUdQKHNjci0+bW1pbywgQ1JUQ19FWFRfQ05UTCwgbWFzaywgfm1hc2spOwogfQogCiAv KiBodyBhY2NlbGVyYXRpb24gKi8KQEAgLTI1MSw3ICsyNTEsNyBAQAogCWludCBpOwogCiAJZm9y IChpID0gMDsgaSA8IDIwMDAwMDA7IGkrKykKLQkJaWYgKElOUkVHKCh1bG9uZylzY3ItPm1taW8s IFJCQk1fU1RBVFVTKSAmIFJCQk1fRklGT0NOVF9NQVNLID49CisJCWlmIChJTlJFRyhzY3ItPm1t aW8sIFJCQk1fU1RBVFVTKSAmIFJCQk1fRklGT0NOVF9NQVNLID49CiAJCSAgICBlbnRyaWVzKQog CQkJcmV0dXJuOwogCWlwcmludCgicmFkZW9uOiBmaWZvIHRpbWVvdXRcbiIpOwpAQCAtMjY2LDEy ICsyNjYsMTIgQEAKIAkJaW50IGk7CiAKIAkJZm9yIChpID0gMDsgaSA8IDIwMDAwMDA7IGkrKykK LQkJCWlmICghKElOUkVHKCh1bG9uZylzY3ItPm1taW8sIFJCQk1fU1RBVFVTKSAmIFJCQk1fQUNU SVZFKSkKKwkJCWlmICghKElOUkVHKHNjci0+bW1pbywgUkJCTV9TVEFUVVMpICYgUkJCTV9BQ1RJ VkUpKQogCQkJCXJldHVybjsKIAogCQlpcHJpbnQoInJhZGVvbjogaWRsZSB0aW1lZCBvdXQ6ICV1 bGQgZW50cmllcywgc3RhdD0weCUuOHVseFxuIiwKLQkJCUlOUkVHKCh1bG9uZylzY3ItPm1taW8s IFJCQk1fU1RBVFVTKSAmIFJCQk1fRklGT0NOVF9NQVNLLAotCQkJSU5SRUcoKHVsb25nKXNjci0+ bW1pbywgUkJCTV9TVEFUVVMpKTsKKwkJCUlOUkVHKHNjci0+bW1pbywgUkJCTV9TVEFUVVMpICYg UkJCTV9GSUZPQ05UX01BU0ssCisJCQlJTlJFRyhzY3ItPm1taW8sIFJCQk1fU1RBVFVTKSk7CiAJ fQogfQogCkBAIC0yODQsMTUgKzI4NCwxNSBAQAogCQlyZXR1cm4gMDsKIAogCXJhZGVvbndhaXRm aWZvKHNjciwgNik7Ci0JT1VUUkVHKCh1bG9uZylzY3ItPm1taW8sIERQX0dVSV9NQVNURVJfQ05U TCwKKwlPVVRSRUcoc2NyLT5tbWlvLCBEUF9HVUlfTUFTVEVSX0NOVEwsCiAJCWRwX2d1aV9tYXN0 ZXJfY250bCB8IEdNQ19CUlVTSF9TT0xJRF9DT0xPUiB8CiAJCUdNQ19TUkNfREFUQVRZUEVfQ09M T1IgfCBST1AzX1ApOwotCU9VVFJFRygodWxvbmcpc2NyLT5tbWlvLCBEUF9CUlVTSF9GUkdEX0NM UiwgY29sb3IpOwotCU9VVFJFRygodWxvbmcpc2NyLT5tbWlvLCBEUF9XUklURV9NQVNLLCB+MHVs KTsKLQlPVVRSRUcoKHVsb25nKXNjci0+bW1pbywgRFBfQ05UTCwKKwlPVVRSRUcoc2NyLT5tbWlv LCBEUF9CUlVTSF9GUkdEX0NMUiwgY29sb3IpOworCU9VVFJFRyhzY3ItPm1taW8sIERQX1dSSVRF X01BU0ssIH4wdWwpOworCU9VVFJFRyhzY3ItPm1taW8sIERQX0NOVEwsCiAJCURTVF9YX0xFRlRf VE9fUklHSFQgfCBEU1RfWV9UT1BfVE9fQk9UVE9NKTsKLQlPVVRSRUcoKHVsb25nKXNjci0+bW1p bywgRFNUX1lfWCwgci5taW4ueSA8PCAxNiB8IHIubWluLngpOwotCU9VVFJFRygodWxvbmcpc2Ny LT5tbWlvLCBEU1RfV0lEVEhfSEVJR0hULCBEeChyKSA8PCAxNiB8IER5KHIpKTsKKwlPVVRSRUco c2NyLT5tbWlvLCBEU1RfWV9YLCByLm1pbi55IDw8IDE2IHwgci5taW4ueCk7CisJT1VUUkVHKHNj ci0+bW1pbywgRFNUX1dJRFRIX0hFSUdIVCwgRHgocikgPDwgMTYgfCBEeShyKSk7CiAKIAlyYWRl b253YWl0aWRsZShzY3IpOwogCXJldHVybiAxOwpAQCAtMzI5LDE0ICszMjksMTQgQEAKIAkJZHBf Y250bCB8PSBEU1RfWF9MRUZUX1RPX1JJR0hUOwogCiAJcmFkZW9ud2FpdGZpZm8oc2NyLCA2KTsK LQlPVVRSRUcoKHVsb25nKXNjci0+bW1pbywgRFBfR1VJX01BU1RFUl9DTlRMLCBkcF9ndWlfbWFz dGVyX2NudGwgfAorCU9VVFJFRyhzY3ItPm1taW8sIERQX0dVSV9NQVNURVJfQ05UTCwgZHBfZ3Vp X21hc3Rlcl9jbnRsIHwKIAkJR01DX0JSVVNIX05PTkUgfCBHTUNfU1JDX0RBVEFUWVBFX0NPTE9S IHwgRFBfU1JDX1NPVVJDRV9NRU1PUlkgfAogCQlST1AzX1MpOwotCU9VVFJFRygodWxvbmcpc2Ny LT5tbWlvLCBEUF9XUklURV9NQVNLLCB+MHVsKTsKLQlPVVRSRUcoKHVsb25nKXNjci0+bW1pbywg RFBfQ05UTCwgZHBfY250bCk7Ci0JT1VUUkVHKCh1bG9uZylzY3ItPm1taW8sIFNSQ19ZX1gsIHlz IDw8IDE2IHwgeHMpOwotCU9VVFJFRygodWxvbmcpc2NyLT5tbWlvLCBEU1RfWV9YLCB5ZCA8PCAx NiB8IHhkKTsKLQlPVVRSRUcoKHVsb25nKXNjci0+bW1pbywgRFNUX1dJRFRIX0hFSUdIVCwgdyA8 PCAxNiB8IGgpOworCU9VVFJFRyhzY3ItPm1taW8sIERQX1dSSVRFX01BU0ssIH4wdWwpOworCU9V VFJFRyhzY3ItPm1taW8sIERQX0NOVEwsIGRwX2NudGwpOworCU9VVFJFRyhzY3ItPm1taW8sIFNS Q19ZX1gsIHlzIDw8IDE2IHwgeHMpOworCU9VVFJFRyhzY3ItPm1taW8sIERTVF9ZX1gsIHlkIDw8 IDE2IHwgeGQpOworCU9VVFJFRyhzY3ItPm1taW8sIERTVF9XSURUSF9IRUlHSFQsIHcgPDwgMTYg fCBoKTsKIAogCXJhZGVvbndhaXRpZGxlKHNjcik7CiAKQEAgLTM3Niw3NSArMzc2LDc1IEBACiAJ fQogCiAJLyogZGlzYWJsZSAzRCAqLwotCU9VVFJFRygodWxvbmcpc2NyLT5tbWlvLCBSQjNEX0NO VEwsIDApOworCU9VVFJFRyhzY3ItPm1taW8sIFJCM0RfQ05UTCwgMCk7CiAKIAkvKiBmbHVzaCBl bmdpbmUgKi8KLQlPVVRSRUdQKCh1bG9uZylzY3ItPm1taW8sIFJCMkRfRFNUQ0FDSEVfQ1RMU1RB VCwKKwlPVVRSRUdQKHNjci0+bW1pbywgUkIyRF9EU1RDQUNIRV9DVExTVEFULAogCQlSQjJEX0RD X0ZMVVNIX0FMTCwgflJCMkRfRENfRkxVU0hfQUxMKTsKIAlmb3IgKGkgPSAwOyBpIDwgMjAwMDAw MDsgaSsrKQotCQlpZiAoIShJTlJFRygodWxvbmcpc2NyLT5tbWlvLCBSQjJEX0RTVENBQ0hFX0NU TFNUQVQpICYKKwkJaWYgKCEoSU5SRUcoc2NyLT5tbWlvLCBSQjJEX0RTVENBQ0hFX0NUTFNUQVQp ICYKIAkJICAgIFJCMkRfRENfQlVTWSkpCiAJCQlicmVhazsKIAogCS8qIHJlc2V0IDJEIGVuZ2lu ZSAqLwotCWNsb2NrX2NudGxfaW5kZXggPSBJTlJFRygodWxvbmcpc2NyLT5tbWlvLCBDTE9DS19D TlRMX0lOREVYKTsKKwljbG9ja19jbnRsX2luZGV4ID0gSU5SRUcoc2NyLT5tbWlvLCBDTE9DS19D TlRMX0lOREVYKTsKIAotCW1jbGtfY250bCA9IElOUExMKCh1bG9uZylzY3ItPm1taW8sIE1DTEtf Q05UTCk7Ci0JT1VUUExMKCh1bG9uZylzY3ItPm1taW8sIE1DTEtfQ05UTCwgbWNsa19jbnRsIHwg Rk9SQ0VPTl9NQ0xLQSB8CisJbWNsa19jbnRsID0gSU5QTEwoc2NyLT5tbWlvLCBNQ0xLX0NOVEwp OworCU9VVFBMTChzY3ItPm1taW8sIE1DTEtfQ05UTCwgbWNsa19jbnRsIHwgRk9SQ0VPTl9NQ0xL QSB8CiAJCUZPUkNFT05fTUNMS0IgfCBGT1JDRU9OX1lDTEtBIHwgRk9SQ0VPTl9ZQ0xLQiB8IEZP UkNFT05fTUMgfAogCQlGT1JDRU9OX0FJQyk7Ci0JcmJibV9zb2Z0X3Jlc2V0ID0gSU5SRUcoKHVs b25nKXNjci0+bW1pbywgUkJCTV9TT0ZUX1JFU0VUKTsKKwlyYmJtX3NvZnRfcmVzZXQgPSBJTlJF RyhzY3ItPm1taW8sIFJCQk1fU09GVF9SRVNFVCk7CiAKLQlPVVRSRUcoKHVsb25nKXNjci0+bW1p bywgUkJCTV9TT0ZUX1JFU0VULCByYmJtX3NvZnRfcmVzZXQgfAorCU9VVFJFRyhzY3ItPm1taW8s IFJCQk1fU09GVF9SRVNFVCwgcmJibV9zb2Z0X3Jlc2V0IHwKIAkJU09GVF9SRVNFVF9DUCB8IFNP RlRfUkVTRVRfSEkgfCBTT0ZUX1JFU0VUX1NFIHwgU09GVF9SRVNFVF9SRSB8CiAJCVNPRlRfUkVT RVRfUFAgfCBTT0ZUX1JFU0VUX0UyIHwgU09GVF9SRVNFVF9SQik7Ci0JSU5SRUcoKHVsb25nKXNj ci0+bW1pbywgUkJCTV9TT0ZUX1JFU0VUKTsKLQlPVVRSRUcoKHVsb25nKXNjci0+bW1pbywgUkJC TV9TT0ZUX1JFU0VULCByYmJtX3NvZnRfcmVzZXQgJgorCUlOUkVHKHNjci0+bW1pbywgUkJCTV9T T0ZUX1JFU0VUKTsKKwlPVVRSRUcoc2NyLT5tbWlvLCBSQkJNX1NPRlRfUkVTRVQsIHJiYm1fc29m dF9yZXNldCAmCiAJCX4oU09GVF9SRVNFVF9DUCB8IFNPRlRfUkVTRVRfSEkgfCBTT0ZUX1JFU0VU X1NFIHwgU09GVF9SRVNFVF9SRSB8CiAJCVNPRlRfUkVTRVRfUFAgfCBTT0ZUX1JFU0VUX0UyIHwg U09GVF9SRVNFVF9SQikpOwotCUlOUkVHKCh1bG9uZylzY3ItPm1taW8sIFJCQk1fU09GVF9SRVNF VCk7CisJSU5SRUcoc2NyLT5tbWlvLCBSQkJNX1NPRlRfUkVTRVQpOwogCi0JT1VUUExMKCh1bG9u ZylzY3ItPm1taW8sIE1DTEtfQ05UTCwgbWNsa19jbnRsKTsKLQlPVVRSRUcoKHVsb25nKXNjci0+ bW1pbywgQ0xPQ0tfQ05UTF9JTkRFWCwgY2xvY2tfY250bF9pbmRleCk7CisJT1VUUExMKHNjci0+ bW1pbywgTUNMS19DTlRMLCBtY2xrX2NudGwpOworCU9VVFJFRyhzY3ItPm1taW8sIENMT0NLX0NO VExfSU5ERVgsIGNsb2NrX2NudGxfaW5kZXgpOwogCiAJLyogaW5pdCAyRCBlbmdpbmUgKi8KIAly YWRlb253YWl0ZmlmbyhzY3IsIDEpOwotCU9VVFJFRygodWxvbmcpc2NyLT5tbWlvLCBSQjJEX0RT VENBQ0hFX01PREUsIDApOworCU9VVFJFRyhzY3ItPm1taW8sIFJCMkRfRFNUQ0FDSEVfTU9ERSwg MCk7CiAKIAlwaXRjaCA9IER4KHNjci0+Z3NjcmVlbi0+cikgKiBicHA7CiAJcmFkZW9ud2FpdGZp Zm8oc2NyLCA0KTsKLQlPVVRSRUcoKHVsb25nKXNjci0+bW1pbywgREVGQVVMVF9QSVRDSCwgcGl0 Y2gpOwotCU9VVFJFRygodWxvbmcpc2NyLT5tbWlvLCBEU1RfUElUQ0gsIHBpdGNoKTsKLQlPVVRS RUcoKHVsb25nKXNjci0+bW1pbywgU1JDX1BJVENILCBwaXRjaCk7Ci0JT1VUUkVHKCh1bG9uZylz Y3ItPm1taW8sIERTVF9QSVRDSF9PRkZTRVRfQywgMCk7CisJT1VUUkVHKHNjci0+bW1pbywgREVG QVVMVF9QSVRDSCwgcGl0Y2gpOworCU9VVFJFRyhzY3ItPm1taW8sIERTVF9QSVRDSCwgcGl0Y2gp OworCU9VVFJFRyhzY3ItPm1taW8sIFNSQ19QSVRDSCwgcGl0Y2gpOworCU9VVFJFRyhzY3ItPm1t aW8sIERTVF9QSVRDSF9PRkZTRVRfQywgMCk7CiAKIAlyYWRlb253YWl0ZmlmbyhzY3IsIDMpOwot CU9VVFJFRygodWxvbmcpc2NyLT5tbWlvLCBERUZBVUxUX09GRlNFVCwgMCk7Ci0JT1VUUkVHKCh1 bG9uZylzY3ItPm1taW8sIERTVF9PRkZTRVQsIDApOwotCU9VVFJFRygodWxvbmcpc2NyLT5tbWlv LCBTUkNfT0ZGU0VULCAwKTsKKwlPVVRSRUcoc2NyLT5tbWlvLCBERUZBVUxUX09GRlNFVCwgMCk7 CisJT1VUUkVHKHNjci0+bW1pbywgRFNUX09GRlNFVCwgMCk7CisJT1VUUkVHKHNjci0+bW1pbywg U1JDX09GRlNFVCwgMCk7CiAKIAlyYWRlb253YWl0ZmlmbyhzY3IsIDEpOwotCU9VVFJFR1AoKHVs b25nKXNjci0+bW1pbywgRFBfREFUQVRZUEUsIDAsIH5IT1NUX0JJR19FTkRJQU5fRU4pOworCU9V VFJFR1Aoc2NyLT5tbWlvLCBEUF9EQVRBVFlQRSwgMCwgfkhPU1RfQklHX0VORElBTl9FTik7CiAK IAlyYWRlb253YWl0ZmlmbyhzY3IsIDEpOwotCU9VVFJFRygodWxvbmcpc2NyLT5tbWlvLCBERUZB VUxUX1NDX0JPVFRPTV9SSUdIVCwKKwlPVVRSRUcoc2NyLT5tbWlvLCBERUZBVUxUX1NDX0JPVFRP TV9SSUdIVCwKIAkJREVGQVVMVF9TQ19SSUdIVF9NQVggfCBERUZBVUxUX1NDX0JPVFRPTV9NQVgp OwogCiAJZHBfZ3VpX21hc3Rlcl9jbnRsID0gZHR5cGUgPDwgR01DX0RTVF9EQVRBVFlQRV9TSElG VCB8CiAJCUdNQ19TUkNfUElUQ0hfT0ZGU0VUX0NOVEwgfCBHTUNfRFNUX1BJVENIX09GRlNFVF9D TlRMIHwKIAkJR01DX0NMUl9DTVBfQ05UTF9ESVM7CiAJcmFkZW9ud2FpdGZpZm8oc2NyLCAxKTsK LQlPVVRSRUcoKHVsb25nKXNjci0+bW1pbywgRFBfR1VJX01BU1RFUl9DTlRMLAorCU9VVFJFRyhz Y3ItPm1taW8sIERQX0dVSV9NQVNURVJfQ05UTCwKIAkgICAgZHBfZ3VpX21hc3Rlcl9jbnRsIHwg R01DX0JSVVNIX1NPTElEX0NPTE9SIHwgR01DX1NSQ19EQVRBVFlQRV9DT0xPUik7CiAKIAlyYWRl b253YWl0ZmlmbyhzY3IsIDcpOwotCU9VVFJFRygodWxvbmcpc2NyLT5tbWlvLCBEU1RfTElORV9T VEFSVCwgICAgMCk7Ci0JT1VUUkVHKCh1bG9uZylzY3ItPm1taW8sIERTVF9MSU5FX0VORCwgICAg ICAwKTsKLQlPVVRSRUcoKHVsb25nKXNjci0+bW1pbywgRFBfQlJVU0hfRlJHRF9DTFIsIH4wdWwp OwotCU9VVFJFRygodWxvbmcpc2NyLT5tbWlvLCBEUF9CUlVTSF9CS0dEX0NMUiwgMCk7Ci0JT1VU UkVHKCh1bG9uZylzY3ItPm1taW8sIERQX1NSQ19GUkdEX0NMUiwgICB+MHVsKTsKLQlPVVRSRUco KHVsb25nKXNjci0+bW1pbywgRFBfU1JDX0JLR0RfQ0xSLCAgIDApOwotCU9VVFJFRygodWxvbmcp c2NyLT5tbWlvLCBEUF9XUklURV9NQVNLLCAgICAgfjB1bCk7CisJT1VUUkVHKHNjci0+bW1pbywg RFNUX0xJTkVfU1RBUlQsICAgIDApOworCU9VVFJFRyhzY3ItPm1taW8sIERTVF9MSU5FX0VORCwg ICAgICAwKTsKKwlPVVRSRUcoc2NyLT5tbWlvLCBEUF9CUlVTSF9GUkdEX0NMUiwgfjB1bCk7CisJ T1VUUkVHKHNjci0+bW1pbywgRFBfQlJVU0hfQktHRF9DTFIsIDApOworCU9VVFJFRyhzY3ItPm1t aW8sIERQX1NSQ19GUkdEX0NMUiwgICB+MHVsKTsKKwlPVVRSRUcoc2NyLT5tbWlvLCBEUF9TUkNf QktHRF9DTFIsICAgMCk7CisJT1VUUkVHKHNjci0+bW1pbywgRFBfV1JJVEVfTUFTSywgICAgIH4w dWwpOwogCiAJcmFkZW9ud2FpdGlkbGUoc2NyKTsKIApkaWZmIC0tZ2l0IGEvc3lzL3NyYy85L3Bj NjQvcGM2NCBiL3N5cy9zcmMvOS9wYzY0L3BjNjQKLS0tIGEvc3lzL3NyYy85L3BjNjQvcGM2NAor KysgYi9zeXMvc3JjLzkvcGM2NC9wYzY0CkBAIC0xMjksNyArMTI5LDcgQEAKICMJdmdhbWdhNHh4 CStjdXIKICMJdmdhbmVvbWFnaWMJK2N1cgogIwl2Z2FudmlkaWEJK2N1cgotIwl2Z2FyYWRlb24J K2N1cgorCXZnYXJhZGVvbgkrY3VyCiAjCXZnYXJnYjUyNAk9Y3VyCiAjCXZnYXMzCQkrY3VyIHZn YXNhdmFnZQogIwl2Z2F0MnI0CQkrY3VyCg== --000000000000fd3bb2059be3dc78 Content-Type: text/x-patch; charset="US-ASCII"; name="7515.patch" Content-Disposition: attachment; filename="7515.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: file2 IyBIRyBjaGFuZ2VzZXQgcGF0Y2gKIyBVc2VyIFJvYmVydCBSYW5zb20gPHJyYW5zb20uODc3NEBn bWFpbC5jb20+CiMgRGF0ZSAxNTc4MTQ3OTYwIDE4MDAwCiMgTm9kZSBJRCA0OGExNThjMDczMWIy NmMxNDJhNDA0Y2MzZmRkMDRlNjc5YTNiY2ExCiMgUGFyZW50ICA5MzlhYjE5NzQ2MzcwM2Q0ODM1 NjIyMTAzYmRlNDEwYmQwYTJhY2Q3CkFkZCBtaW5pbWFsIENQVSBmcmVxdWVuY3kgc3VwcG9ydCBm b3IgQU1EIGZhbWlseSAxMGggYW5kIGxhdGVyCgpUaGlzIHVzZXMgdGhlICdoYXJkd2FyZSBQLXN0 YXRlIGNvbnRyb2wnIHByZXNlbnQgdGhyb3VnaCB0aGUKY3VycmVudCBmYW1pbHkgMTdoIHByb2Nl c3NvcnMuICBGYW1pbHkgMTBoIGFsc28gaGFzIHRoZSByZWdpc3RlcnMKZm9yIHRoZSBvbGRlciBz b2Z0d2FyZSBDT0YvVklEIGNvbnRyb2wgbWVjaGFuaXNtIHJlcXVpcmVkIGJ5IGZhbWlseQowZmgg KGFuZCBlYXJsaWVyPyksIHNvIHRoaXMgcmVhbGx5IG91Z2h0IHRvIGJlIGdlbmVyYWxpemVkIHRv CnN1cHBvcnQgbW9yZSB0aGFuIG9uZSB0eXBlIG9mIENQVSBmcmVxdWVuY3kgY29udHJvbCBvbiB0 aGUgc2FtZQpzeXN0ZW0uCgpkaWZmIC0tZ2l0IGEvc3lzL3NyYy85L3BjL2NwdWZyZXEuYyBiL3N5 cy9zcmMvOS9wYy9jcHVmcmVxLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKLS0tIC9kZXYvbnVsbAor KysgYi9zeXMvc3JjLzkvcGMvY3B1ZnJlcS5jCkBAIC0wLDAgKzEsOTcgQEAKKyNpbmNsdWRlICJ1 LmgiCisjaW5jbHVkZSAiLi4vcG9ydC9saWIuaCIKKyNpbmNsdWRlICJtZW0uaCIKKyNpbmNsdWRl ICJkYXQuaCIKKyNpbmNsdWRlICJmbnMuaCIKKyNpbmNsdWRlICJpby5oIgorI2luY2x1ZGUgIi4u L3BvcnQvZXJyb3IuaCIKKworZW51bSB7CisJQ01wb3dlcnNhdmUsCit9OworCitzdGF0aWMgQ21k dGFiIGFtZHBzdGF0ZWN0bG1zZ1tdID0geworCUNNcG93ZXJzYXZlLAkicG93ZXJzYXZlIiwJMSwK K307CisKK3N0YXRpYyBpbnQKK2FtZHBzdGF0ZWNwdWZyZXFvayh2b2lkKQoreworCXVsb25nIHJl Z3NbNF07CisKKwlpZihzdHJjbXAobS0+Y3B1aWRpZCwgIkF1dGhlbnRpY0FNRCIpID09IDApewor CQljcHVpZCgweDgwMDAwMDA3LCByZWdzKTsKKwkJcmV0dXJuIChyZWdzWzNdICYgKDEgPDwgNykp ICE9IDA7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZAorYW1kcHN0YXRlc2V0KHVs b25nIHBzdCkKK3sKKwl2bG9uZyBjbWRtc3I7CisJbG9uZyBpOworCU1hY2ggKnc7CisKKwl3ID0g dXAtPndpcmVkOworCWNtZG1zciA9IHBzdCAmIDE1OworCWZvcihpID0gMDsgaSA8IGNvbmYubm1h Y2g7ICsraSl7CisJCXByb2N3aXJlZCh1cCwgaSk7CisJCXNjaGVkKCk7CisJCWlmKHdybXNyKDB4 QzAwMTAwNjIsIGNtZG1zcikgPCAwKQorCQkJcHJpbnQoImVycm9yIHNldHRpbmcgUC1zdGF0ZSAl dWxkIG9uIG1hY2ggJWxkXG4iLCBwc3QsIGkpOworCX0KKwl1cC0+d2lyZWQgPSB3OworCXNjaGVk KCk7Cit9CisKK3N0YXRpYyB2b2lkCithbWRwc3RhdGVjdGwoQ21kYnVmICpjYikKK3sKKwlDbWR0 YWIgKmN0OworCXZsb25nIGxpbW1zcjsKKwl1bG9uZyBQc3RhdGVNYXhWYWw7CisKKwljdCA9IGxv b2t1cGNtZChjYiwgYW1kcHN0YXRlY3RsbXNnLCBuZWxlbShhbWRwc3RhdGVjdGxtc2cpKTsKKwlz d2l0Y2goY3QtPmluZGV4KXsKKwljYXNlIENNcG93ZXJzYXZlOgorCQlpZihyZG1zcigweEMwMDEw MDYxLCAmbGltbXNyKSA8IDApeworCQkJY21kZXJyb3IoY2IsICJNU1JDMDAxXzAwNjEgdW5zdXBw b3J0ZWQ/ISIpOworCQkJcmV0dXJuOworCQl9CisJCVBzdGF0ZU1heFZhbCA9IChsaW1tc3IgPj4g NCkgJiAxNTsKKwkJcHJpbnQoIlBTdGF0ZU1heFZhbDogJXVsZFxuIiwgUHN0YXRlTWF4VmFsKTsK KworCQlhbWRwc3RhdGVzZXQoUHN0YXRlTWF4VmFsKTsKKworCQlyZXR1cm47CisJfQorCisJY21k ZXJyb3IoY2IsICJiYWQgY3B1ZnJlcSBjb250cm9sIG1lc3NhZ2UiKTsKK30KKworc3RhdGljIGxv bmcKK2FtZHBzdGF0ZWN0bHdyaXRlKENoYW4gKmMsIHZvaWQgKmEsIGxvbmcgbiwgdmxvbmcgb2Zm KQoreworCUNtZGJ1ZiAqY2I7CisKKwlpZihvZmYgfHwgbiA+PSBSRUFEU1RSKQorCQllcnJvcihF YmFkYXJnKTsKKworCWNiID0gcGFyc2VjbWQoYSwgbik7CisJaWYod2FzZXJyb3IoKSl7CisJCWZy ZWUoY2IpOworCQluZXh0ZXJyb3IoKTsKKwl9CisJYW1kcHN0YXRlY3RsKGNiKTsKKwlwb3BlcnJv cigpOworCWZyZWUoY2IpOworCXJldHVybiBuOworfQorCit2b2lkCitjcHVmcmVxbGluayh2b2lk KQoreworCWlmKGFtZHBzdGF0ZWNwdWZyZXFvaygpKQorCQlhZGRhcmNoZmlsZSgiY3B1ZnJlcWN0 bCIsIDA2NjQsIG5pbCwgYW1kcHN0YXRlY3Rsd3JpdGUpOworfQpkaWZmIC0tZ2l0IGEvc3lzL3Ny Yy85L3BjL3BjIGIvc3lzL3NyYy85L3BjL3BjCi0tLSBhL3N5cy9zcmMvOS9wYy9wYworKysgYi9z eXMvc3JjLzkvcGMvcGMKQEAgLTQ4LDYgKzQ4LDcgQEAKIAlkZXZwY2NhcmQKIAlkZXZpODIzNjUK IAljcHV0ZW1wCisJY3B1ZnJlcQogCWFwbQkJYXBtanVtcAogCWV0aGVyMjAwMAlldGhlcjgzOTAK IAlldGhlcjIxMTR4CXBjaQpkaWZmIC0tZ2l0IGEvc3lzL3NyYy85L3BjNjQvcGM2NCBiL3N5cy9z cmMvOS9wYzY0L3BjNjQKLS0tIGEvc3lzL3NyYy85L3BjNjQvcGM2NAorKysgYi9zeXMvc3JjLzkv cGM2NC9wYzY0CkBAIC00Nyw2ICs0Nyw3IEBACiAjCWRldnBjY2FyZAogIwlkZXZpODIzNjUKIAlj cHV0ZW1wCisJY3B1ZnJlcQogIwlldGhlcjIwMDAJZXRoZXI4MzkwCiAjCWV0aGVyMjExNHgJcGNp CiAjCWV0aGVyNTg5CWV0aGVyZWxuazMK --000000000000fd3bb2059be3dc78 Content-Type: text/x-patch; charset="US-ASCII"; name="7517.patch" Content-Disposition: attachment; filename="7517.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: file3 IyBIRyBjaGFuZ2VzZXQgcGF0Y2gKIyBVc2VyIFJvYmVydCBSYW5zb20gPHJyYW5zb20uODc3NEBn bWFpbC5jb20+CiMgRGF0ZSAxNTc4NTUxNjEyIDE4MDAwCiMgTm9kZSBJRCA2NGY5MmNkYzAwM2I1 MzJhMzRlOTBmZGEwODdjN2E1OTk3NzA1OGIyCiMgUGFyZW50ICA3ZDQ4N2NkNjFlOTI2OGJkN2Zk MGQ4OGUyMGY4NDc5ZDY5MzllOTYwClJlZHVjZSBDUFUgcG93ZXIgYW5kIGhlYXQgZWFybHkgaW4g Ym9vdHJjIGlmIHBvc3NpYmxlCgpkaWZmIC1yIDdkNDg3Y2Q2MWU5MiAtciA2NGY5MmNkYzAwM2Ig c3lzL3NyYy85L2Jvb3QvYm9vdHJjCi0tLSBhL3N5cy9zcmMvOS9ib290L2Jvb3RyYwlUaHUgSmFu IDA5IDAxOjI4OjAyIDIwMjAgLTA1MDAKKysrIGIvc3lzL3NyYy85L2Jvb3QvYm9vdHJjCVRodSBK YW4gMDkgMDE6MzM6MzIgMjAyMCAtMDUwMApAQCAtMTcsNiArMTcsMTAgQEAKIGZvcihpIGluIEkg bF4oMCAxIDIgMykpCiAJYmluZCAtcWEgJyMnJGkgL25ldAogCisjIGN1dCBDUFUgZnJlcXVlbmN5 IGJhY2sgZnJvbSBtYXhpbXVtIGlmIHBvc3NpYmxlL25lY2Vzc2FyeQoraWYodGVzdCAtZSAvZGV2 L2NwdWZyZXFjdGwpCisJZWNobyAncG93ZXJzYXZlJyA+Pi9kZXYvY3B1ZnJlcWN0bAorCiAjIHVz dWFsbHkgYmV0dGVyIHRoYW4gMTk3MAogY2F0ICcjci9ydGMnID4vZGV2L3RpbWUgPlsyXS9kZXYv bnVsbAogCg== --000000000000fd3bb2059be3dc78 Content-Type: text/x-patch; charset="US-ASCII"; name="7518.patch" Content-Disposition: attachment; filename="7518.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: file4 IyBIRyBjaGFuZ2VzZXQgcGF0Y2gKIyBVc2VyIFJvYmVydCBSYW5zb20gPHJyYW5zb20uODc3NEBn bWFpbC5jb20+CiMgRGF0ZSAxNTc4NzMxMDA5IDE4MDAwCiMgTm9kZSBJRCA2ZmQxZGM4ODE4NGVm MGRiM2I5NTI3OGZjOWU2ZmUwYTk4N2QyMmYzCiMgUGFyZW50ICA2NGY5MmNkYzAwM2I1MzJhMzRl OTBmZGEwODdjN2E1OTk3NzA1OGIyCkFkZCBzdXBwb3J0IGZvciBzZXR0aW5nIGFueSBDUFUgZnJl cXVlbmN5IGxldmVsIHRvIGFtZHBzdGF0ZSBkcml2ZXIKCk5vdCBmaW5pc2hlZCwgYnV0IG5vdyB0 aGUgJ3Bvd2Vyc2F2ZScgY29tbWFuZCBjYW4gYmUgdW5kb25lLiAgTmVlZHMKdG8gYmUgZXh0ZW5k ZWQgdG8gcHJpbnQgb3V0IHRoZSBmcmVxdWVuY3kgYW5kIG90aGVyIHZhbHVlcyBvZiB0aGUKYXZh aWxhYmxlIFAtc3RhdGVzLCBhbmQgdG8gY2hlY2sgYW5kIHByaW50IHZhcmlvdXMgb3RoZXIgdmFs dWVzIGluCnRoZSBwcm9jZXNzb3IncyBQQ0kgY29uZmlndXJhdGlvbiBzcGFjZXMuCgpSZWFkaW5n IHRoZSBlZmZlY3RpdmUgQ1BVIGZyZXF1ZW5jeSB3aWxsIHRha2UgbW9yZSB3b3JrLCBpbmNsdWRp bmcKdHdvIGFkZGl0aW9uYWwgYXNzZW1ibHkgcm91dGluZXMuCgpkaWZmIC1yIDY0ZjkyY2RjMDAz YiAtciA2ZmQxZGM4ODE4NGUgc3lzL3NyYy85L3BjL2NwdWZyZXEuYwotLS0gYS9zeXMvc3JjLzkv cGMvY3B1ZnJlcS5jCVRodSBKYW4gMDkgMDE6MzM6MzIgMjAyMCAtMDUwMAorKysgYi9zeXMvc3Jj LzkvcGMvY3B1ZnJlcS5jCVNhdCBKYW4gMTEgMDM6MjM6MjkgMjAyMCAtMDUwMApAQCAtNiwxMiAr Niw0MSBAQAogI2luY2x1ZGUgImlvLmgiCiAjaW5jbHVkZSAiLi4vcG9ydC9lcnJvci5oIgogCisv KiBSZWxldmFudCBoYXJkd2FyZSBkb2N1bWVudGF0aW9uIGZvciBBTUQgImhhcmR3YXJlIFAtc3Rh dGUgY29udHJvbCI6CisKKyAgIEFNRCBkb2N1bWVudCAyNTQ4MSAtIENQVUlEIFNwZWNpZmljYXRp b24KKyAgICAgRm4wMDAwXzAwMDYgLSBFZmZGcmVxIGJpdCAocmVhZCBlZmZlY3RpdmUgZnJlcXVl bmN5KSAtIFRPRE8gICAKKyAgICAgRm44MDAwXzAwMDcgLSBId1BzdGF0ZSwgVklELCBhbmQgRklE IGJpdHMKKworICAgQU1EIGRvY3VtZW50IDMxMTE2IC0gQU1EIEZhbWlseSAxMGggQktERworICAg ICBzZWN0aW9uIDIuNC4yLjEuMyBDb3JlIFAtc3RhdGUgQ29udHJvbCAocC4gNTQpCisgICAgIE1T UiByZWZlcmVuY2UgTVNSQzAwMV8wMDYxIHRvIF8wMDYzIChwLiA0MjcsNDI4KQorICAgICBOb3Rl IHRoYXQgTVNSQzAwMV8wMDcwIGFuZCBfMDA3MSAoc29mdHdhcmUgbG93LWxldmVsIENPRi9WSUQg Y29udHJvbCkKKyAgICAgICB1c2VkIG9uIGZhbWlseSAwRmggYXJlIHN0aWxsIHByZXNlbnQ7IGhv d2V2ZXIsIHRoZSBwcm9jZXNzb3IncworICAgICAgICJjb3JlIHBlcmZvcm1hbmNlIGJvb3N0IiBm ZWF0dXJlIHdpbGwgY2xhc2ggd2l0aCB0aGUgb2xkZXIKKyAgICAgICBtZWNoYW5pc20gdW5sZXNz IENQQiBpcyBkaXNhYmxlZCBmaXJzdC4KKworICAgQU1EIGRvY3VtZW50IDU2MjU1IC0gQU1EIEZh bWlseSAxN2ggT1NSUiAoY3V0LWRvd24gdmVyc2lvbiBvZiBCS0RHKQorICAgICBjb25maXJtcyB0 aGF0IHRoaXMgUC1zdGF0ZSBtZWNoYW5pc20gaXMgc3RpbGwgaW4gdXNlOworICAgICBzcGVjaWZp ZXMgUC1zdGF0ZSBiaXRmaWVsZHMgYXMgMyBiaXRzIHdpZGU7CisgICAgIE1TUkMwMDFfMDA3MCBh bmQgXzAwNzEgYXJlIG5vIGxvbmdlciBkb2N1bWVudGVkIGFzIENPRi9WSUQgY29udHJvbCwKKyAg ICAgICBidXQgbm90IHlldCB1c2VkIGZvciBQLXN0YXRlcy4KKworICAgQU1EIGRvY3VtZW50IDI0 NTkzIFJldi4gMy4zMiBPY3RvYmVyIDIwMTkgLSBhcmNoLiBtYW51YWwgdm9sIDIgU3lzdGVtIFBy b2dyYW1taW5nCisgICAgIHNwZWNpZmllcyBQLXN0YXRlIGJpdGZpZWxkcyBhcyA0IGJpdHMgd2lk ZTsgCisgICAgIE1TUkMwMDFfMDA3MCBhbmQgXzAwNzEgd291bGQgZmFsbCB3aXRoaW4gdGhlIHJh bmdlIHVzZWQgYnkgZmlybXdhcmUKKyAgICAgICB0byBwcm92aWRlIHN1cHBvcnRlZCBQLXN0YXRl IHZhbHVlcyB0byB0aGUgcHJvY2Vzc29yLgorCisqLworCiBlbnVtIHsKIAlDTXBvd2Vyc2F2ZSwK KwlDTXBzdGF0ZSwKIH07CiAKIHN0YXRpYyBDbWR0YWIgYW1kcHN0YXRlY3RsbXNnW10gPSB7CiAJ Q01wb3dlcnNhdmUsCSJwb3dlcnNhdmUiLAkxLAorCUNNcHN0YXRlLAkicHN0YXRlIiwJMiwKIH07 CiAKIHN0YXRpYyBpbnQKQEAgLTI2LDQ0ICs1NSw2NCBAQAogCXJldHVybiAwOwogfQogCi1zdGF0 aWMgdm9pZAorc3RhdGljIGludAogYW1kcHN0YXRlc2V0KHVsb25nIHBzdCkKIHsKIAl2bG9uZyBj bWRtc3I7CiAJbG9uZyBpOwogCU1hY2ggKnc7CisJaW50IGZhaWxlZCA9IDA7CiAKIAl3ID0gdXAt PndpcmVkOwogCWNtZG1zciA9IHBzdCAmIDE1OwogCWZvcihpID0gMDsgaSA8IGNvbmYubm1hY2g7 ICsraSl7CiAJCXByb2N3aXJlZCh1cCwgaSk7CiAJCXNjaGVkKCk7Ci0JCWlmKHdybXNyKDB4QzAw MTAwNjIsIGNtZG1zcikgPCAwKQorCQlpZih3cm1zcigweEMwMDEwMDYyLCBjbWRtc3IpIDwgMCl7 CiAJCQlwcmludCgiZXJyb3Igc2V0dGluZyBQLXN0YXRlICV1bGQgb24gbWFjaCAlbGRcbiIsIHBz dCwgaSk7CisJCQlmYWlsZWQgPSAtMTsKKwkJfQogCX0KIAl1cC0+d2lyZWQgPSB3OwogCXNjaGVk KCk7CisKKwlyZXR1cm4gZmFpbGVkOwogfQogCiBzdGF0aWMgdm9pZAogYW1kcHN0YXRlY3RsKENt ZGJ1ZiAqY2IpCiB7CiAJQ21kdGFiICpjdDsKKwljaGFyICpwOwogCXZsb25nIGxpbW1zcjsKLQl1 bG9uZyBQc3RhdGVNYXhWYWw7CisJdWxvbmcgcHN0OwogCiAJY3QgPSBsb29rdXBjbWQoY2IsIGFt ZHBzdGF0ZWN0bG1zZywgbmVsZW0oYW1kcHN0YXRlY3RsbXNnKSk7CiAJc3dpdGNoKGN0LT5pbmRl eCl7CiAJY2FzZSBDTXBvd2Vyc2F2ZToKIAkJaWYocmRtc3IoMHhDMDAxMDA2MSwgJmxpbW1zcikg PCAwKXsKLQkJCWNtZGVycm9yKGNiLCAiTVNSQzAwMV8wMDYxIHVuc3VwcG9ydGVkPyEiKTsKKwkJ CWNtZGVycm9yKGNiLCAiTVNSQzAwMV8wMDYxIChQU3RhdGUgbGltaXRzKSB1bnJlYWRhYmxlIik7 CiAJCQlyZXR1cm47CiAJCX0KLQkJUHN0YXRlTWF4VmFsID0gKGxpbW1zciA+PiA0KSAmIDE1Owot CQlwcmludCgiUFN0YXRlTWF4VmFsOiAldWxkXG4iLCBQc3RhdGVNYXhWYWwpOworCQlwc3QgPSAo bGltbXNyID4+IDQpICYgMTU7CisJCXByaW50KCJQU3RhdGVNYXhWYWw6ICV1bGRcbiIsIHBzdCk7 CiAKLQkJYW1kcHN0YXRlc2V0KFBzdGF0ZU1heFZhbCk7CisJCWlmKGFtZHBzdGF0ZXNldChwc3Qp IDwgMCkKKwkJCWNtZGVycm9yKGNiLCAiZXJyb3Igc2V0dGluZyBtaW4tcG93ZXIgUC1zdGF0ZSIp OworCQlyZXR1cm47CisJY2FzZSBDTXBzdGF0ZToKKwkJcCA9IGNiLT5mWzFdOworCQlpZigoKnAg PT0gJ1AnKSB8fCAoKnAgPT0gJ3AnKSkKKwkJCSsrcDsKIAorCQlwc3QgPSBzdHJ0b3VsKHAsICZw LCAxMCk7CisJCWlmKCpwKXsKKwkJCWNtZGVycm9yKGNiLCAiaW52YWxpZCBQLXN0YXRlIGZvcm1h dCIpOworCQkJcmV0dXJuOworCQl9CisKKwkJaWYoYW1kcHN0YXRlc2V0KHBzdCkgPCAwKQorCQkJ Y21kZXJyb3IoY2IsICJlcnJvciBzZXR0aW5nIHNwZWNpZmllZCBQLXN0YXRlIik7CiAJCXJldHVy bjsKIAl9CiAKQEAgLTcxLDcgKzEyMCw2NSBAQAogfQogCiBzdGF0aWMgbG9uZwotYW1kcHN0YXRl Y3Rsd3JpdGUoQ2hhbiAqYywgdm9pZCAqYSwgbG9uZyBuLCB2bG9uZyBvZmYpCithbWRwc3RhdGVj dGxyZWFkKENoYW4gKiwgdm9pZCAqYSwgbG9uZyBuLCB2bG9uZyBvZmYpCit7CisJY2hhciAqcCwg KnMsICplOworCXVsb25nIG9mZnNldCA9IG9mZjsKKwlpbnQgaHdjcnZhbGlkLCBsaW1tc3J2YWxp ZDsKKwl1bG9uZyBjcHVpZHJlZ3NbNF07CisJdmxvbmcgaHdjciwgbGltbXNyOworCWludCBjcHVp ZENQQjsKKwlpbnQgQ3BiRGlzLCBQc3RhdGVNYXhWYWwsIEN1clBzdGF0ZUxpbWl0OworCisJY3B1 aWQoMHg4MDAwMDAwNywgY3B1aWRyZWdzKTsKKwlod2NydmFsaWQgICA9IChyZG1zcigweEMwMDEw MDE1LCAmaHdjcikgICA+PSAwKTsKKwlsaW1tc3J2YWxpZCA9IChyZG1zcigweEMwMDEwMDYxLCAm bGltbXNyKSA+PSAwKTsKKworCWNwdWlkQ1BCID0gKChjcHVpZHJlZ3NbM10gJiAoMSA8PCA5KSkg IT0gMCk7CisKKwlzID0gc21hbGxvYyhSRUFEU1RSKTsKKwlpZih3YXNlcnJvcigpKXsKKwkJZnJl ZShzKTsKKwkJbmV4dGVycm9yKCk7CisJfQorCXAgPSBzOyBlID0gcytSRUFEU1RSOworCXAgPSBz ZXByaW50KHAsIGUsICJ0eXBlICVzXG4iLCAiYW1kcHN0YXRlIik7CisJcCA9IHNlcHJpbnQocCwg ZSwgImJvb3N0YXZhaWwgJXNcbiIsCisJCShjcHVpZENQQikgPyAieWVzIiA6ICJubyIpOworCS8q IEZJWE1FIGNoZWNrIGJpdHMgaW4gUENJIGNvbmZpZyBzcGFjZSB0b287IHJlcXVpcmVzIEVDQU0g Ki8gICAKKworCWlmKGh3Y3J2YWxpZCl7CisJCUNwYkRpcyA9ICgodWxvbmcpaHdjciAmICgxIDw8 IDI1KSk7CisJCXAgPSBzZXByaW50KHAsIGUsICJib29zdCAlc1xuIiwKKwkJCUNwYkRpcyA/ICJk aXNhYmxlZCIgOiAiZW5hYmxlZCIpOworCX1lbHNleworCQlwID0gc2VwcmludChwLCBlLCAiRVJS T1IgTVNSQzAwMV8wMDE1IChIV0NSKSB1bnJlYWRhYmxlXG4iKTsKKwl9CisKKwlpZihsaW1tc3J2 YWxpZCl7CisJCVBzdGF0ZU1heFZhbCA9IChsaW1tc3IgPj4gNCkgJiAxNTsKKwkJQ3VyUHN0YXRl TGltaXQgPSBsaW1tc3IgJiAxNTsKKwkJcCA9IHNlcHJpbnQocCwgZSwgInBzdGF0ZXJhbmdlICVk ICVkXG4iLCBQc3RhdGVNYXhWYWwsIEN1clBzdGF0ZUxpbWl0KTsKKwl9ZWxzZXsKKwkJUHN0YXRl TWF4VmFsID0gLTE7CisJCUN1clBzdGF0ZUxpbWl0ID0gMDsKKwkJcCA9IHNlcHJpbnQocCwgZSwg IkVSUk9SIE1TUkMwMDFfMDA2MSAoUFN0YXRlIGxpbWl0cykgdW5yZWFkYWJsZVxuIik7CisJfQor CisJLyogVE9ETyBkdW1wIG1vcmUgZGF0YSAqLyAgIAorCVVTRUQoUHN0YXRlTWF4VmFsKTsKKwlV U0VEKEN1clBzdGF0ZUxpbWl0KTsKKworCVVTRUQocCk7CisJbiA9IHJlYWRzdHIob2Zmc2V0LCBh LCBuLCBzKTsKKwlwb3BlcnJvcigpOworCWZyZWUocyk7CisKKwlyZXR1cm4gbjsKK30KKworc3Rh dGljIGxvbmcKK2FtZHBzdGF0ZWN0bHdyaXRlKENoYW4gKiwgdm9pZCAqYSwgbG9uZyBuLCB2bG9u ZyBvZmYpCiB7CiAJQ21kYnVmICpjYjsKIApAQCAtOTMsNSArMjAwLDUgQEAKIGNwdWZyZXFsaW5r KHZvaWQpCiB7CiAJaWYoYW1kcHN0YXRlY3B1ZnJlcW9rKCkpCi0JCWFkZGFyY2hmaWxlKCJjcHVm cmVxY3RsIiwgMDY2NCwgbmlsLCBhbWRwc3RhdGVjdGx3cml0ZSk7CisJCWFkZGFyY2hmaWxlKCJj cHVmcmVxY3RsIiwgMDY2NCwgYW1kcHN0YXRlY3RscmVhZCwgYW1kcHN0YXRlY3Rsd3JpdGUpOwog fQo= --000000000000fd3bb2059be3dc78--