From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shards.monkeyblade.net ([23.128.96.9]:35206 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728065AbeIRVsT (ORCPT ); Tue, 18 Sep 2018 17:48:19 -0400 Received: from localhost (96-89-128-221-static.hfc.comcastbusiness.net [96.89.128.221]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id F382C146F8B68 for ; Tue, 18 Sep 2018 09:15:01 -0700 (PDT) Date: Tue, 18 Sep 2018 09:14:58 -0700 (PDT) Message-Id: <20180918.091458.1078691009980082170.davem@davemloft.net> To: stable@vger.kernel.org Subject: [PATCHES] Networking From: David Miller Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Tue_Sep_18_09_14_58_2018_348)--" Content-Transfer-Encoding: 7bit Sender: stable-owner@vger.kernel.org List-ID: ----Next_Part(Tue_Sep_18_09_14_58_2018_348)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Please queue up the following networking bug fixes for v4.14.x and v4.18.x -stable, respectively. Thank you! ----Next_Part(Tue_Sep_18_09_14_58_2018_348)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_414.mbox" RnJvbSBiODNhNWM5MTQ5NDNmZWFhYjBlNjYxNzdiZDJmYzg4NDQ0MDBlNDMxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRyIE9yb3MgPHBvcm9zQHJlZGhhdC5jb20+CkRhdGU6IFdl ZCwgNSBTZXAgMjAxOCAxNDozNzo0NSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMTFdIGJlMm5l dDogRml4IG1lbW9yeSBsZWFrIGluIGJlX2NtZF9nZXRfcHJvZmlsZV9jb25maWcoKQoKWyBVcHN0 cmVhbSBjb21taXQgOWQ3ZjE5ZGM0NjczZmJhZmViZmNiZjMwZWI5MGUwOWZhN2QxYzAzNyBdCgpE TUEgYWxsb2NhdGVkIG1lbW9yeSBpcyBsb3N0IGluIGJlX2NtZF9nZXRfcHJvZmlsZV9jb25maWco KSB3aGVuIHdlCmNhbGwgaXQgd2l0aCBub24tTlVMTCBwb3J0X3JlcyBwYXJhbWV0ZXIuCgpTaWdu ZWQtb2ZmLWJ5OiBQZXRyIE9yb3MgPHBvcm9zQHJlZGhhdC5jb20+ClJldmlld2VkLWJ5OiBJdmFu IFZlY2VyYSA8aXZlY2VyYUByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxs ZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvZW11bGV4 L2JlbmV0L2JlX2NtZHMuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwg MSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2VtdWxleC9i ZW5ldC9iZV9jbWRzLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9lbXVsZXgvYmVuZXQvYmVfY21k cy5jCmluZGV4IDAyZGQ1MjQ2ZGZhZS4uMTU4OWE1NjhiZmUwIDEwMDY0NAotLS0gYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9lbXVsZXgvYmVuZXQvYmVfY21kcy5jCisrKyBiL2RyaXZlcnMvbmV0L2V0 aGVybmV0L2VtdWxleC9iZW5ldC9iZV9jbWRzLmMKQEAgLTQ1MDAsNyArNDUwMCw3IEBAIGludCBi ZV9jbWRfZ2V0X3Byb2ZpbGVfY29uZmlnKHN0cnVjdCBiZV9hZGFwdGVyICphZGFwdGVyLAogCQkJ CXBvcnRfcmVzLT5tYXhfdmZzICs9IGxlMTZfdG9fY3B1KHBjaWUtPm51bV92ZnMpOwogCQkJfQog CQl9Ci0JCXJldHVybiBzdGF0dXM7CisJCWdvdG8gZXJyOwogCX0KIAogCXBjaWUgPSBiZV9nZXRf cGNpZV9kZXNjKHJlc3AtPmZ1bmNfcGFyYW0sIGRlc2NfY291bnQsCi0tIAoyLjE3LjEKCgpGcm9t IGY3OTYxYTI2NWMwNjZlZTNkYzBjMjFiZTE4NzllYWEzNzRhNDkzMmIgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IEphY2sgTW9yZ2Vuc3RlaW4gPGphY2ttQGRldi5tZWxsYW5veC5jby5p bD4KRGF0ZTogU3VuLCA1IEF1ZyAyMDE4IDA5OjE5OjMzICswMzAwClN1YmplY3Q6IFtQQVRDSCAw Mi8xMV0gbmV0L21seDU6IEZpeCB1c2UtYWZ0ZXItZnJlZSBpbiBzZWxmLWhlYWxpbmcgZmxvdwoK WyBVcHN0cmVhbSBjb21taXQgNzZkNTU4MWM4NzA0NTRiZTVmMWYxYTEwNmM1Nzk4NTkwMmU3ZWEy MCBdCgpXaGVuIHRoZSBtbHg1IGhlYWx0aCBtZWNoYW5pc20gZGV0ZWN0cyBhIHByb2JsZW0gd2hp bGUgdGhlIGRyaXZlcgppcyBpbiB0aGUgbWlkZGxlIG9mIGluaXRfb25lIG9yIHJlbW92ZV9vbmUs IHRoZSBkcml2ZXIgbmVlZHMgdG8gcHJldmVudAp0aGUgaGVhbHRoIG1lY2hhbmlzbSBmcm9tIHNj aGVkdWxpbmcgZnV0dXJlIHdvcms7IGlmIGZ1dHVyZSB3b3JrCmlzIHNjaGVkdWxlZCwgdGhlcmUg aXMgYSBwcm9ibGVtIHdpdGggdXNlLWFmdGVyLWZyZWU6IHRoZSBzeXN0ZW0gV1EKdHJpZXMgdG8g cnVuIHRoZSB3b3JrIGl0ZW0gKHdoaWNoIGhhcyBiZWVuIGZyZWVkKSBhdCB0aGUgc2NoZWR1bGVk CmZ1dHVyZSB0aW1lLgoKUHJldmVudCB0aGlzIGJ5IGRpc2FibGluZyB3b3JrIGl0ZW0gc2NoZWR1 bGluZyBpbiB0aGUgaGVhbHRoIG1lY2hhbmlzbQp3aGVuIHRoZSBkcml2ZXIgaXMgaW4gdGhlIG1p ZGRsZSBvZiBpbml0X29uZSgpIG9yIHJlbW92ZV9vbmUoKS4KCkZpeGVzOiBlMTI2YmE5N2RiYTkg KCJtbHg1OiBBZGQgZHJpdmVyIGZvciBNZWxsYW5veCBDb25uZWN0LUlCIGFkYXB0ZXJzIikKU2ln bmVkLW9mZi1ieTogSmFjayBNb3JnZW5zdGVpbiA8amFja21AZGV2Lm1lbGxhbm94LmNvLmlsPgpS ZXZpZXdlZC1ieTogRmVyYXMgRGFvdWQgPGZlcmFzZGFAbWVsbGFub3guY29tPgpTaWduZWQtb2Zm LWJ5OiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KLS0tCiBkcml2ZXJzL25l dC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvaGVhbHRoLmMgfCAxMCArKysrKysrKystCiBk cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvbWFpbi5jICAgfCAgNiArKyst LS0KIGluY2x1ZGUvbGludXgvbWx4NS9kcml2ZXIuaCAgICAgICAgICAgICAgICAgICAgICB8ICAy ICstCiAzIGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2hlYWx0 aC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2hlYWx0aC5jCmlu ZGV4IGRiODZlMTUwNmM4Yi4uNjFmMjg0OTY2YThjIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvaGVhbHRoLmMKKysrIGIvZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2hlYWx0aC5jCkBAIC0zMzMsOSArMzMzLDE3IEBAIHZv aWQgbWx4NV9zdGFydF9oZWFsdGhfcG9sbChzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2KQogCWFk ZF90aW1lcigmaGVhbHRoLT50aW1lcik7CiB9CiAKLXZvaWQgbWx4NV9zdG9wX2hlYWx0aF9wb2xs KHN0cnVjdCBtbHg1X2NvcmVfZGV2ICpkZXYpCit2b2lkIG1seDVfc3RvcF9oZWFsdGhfcG9sbChz dHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2LCBib29sIGRpc2FibGVfaGVhbHRoKQogewogCXN0cnVj dCBtbHg1X2NvcmVfaGVhbHRoICpoZWFsdGggPSAmZGV2LT5wcml2LmhlYWx0aDsKKwl1bnNpZ25l ZCBsb25nIGZsYWdzOworCisJaWYgKGRpc2FibGVfaGVhbHRoKSB7CisJCXNwaW5fbG9ja19pcnFz YXZlKCZoZWFsdGgtPndxX2xvY2ssIGZsYWdzKTsKKwkJc2V0X2JpdChNTFg1X0RST1BfTkVXX0hF QUxUSF9XT1JLLCAmaGVhbHRoLT5mbGFncyk7CisJCXNldF9iaXQoTUxYNV9EUk9QX05FV19SRUNP VkVSWV9XT1JLLCAmaGVhbHRoLT5mbGFncyk7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmhl YWx0aC0+d3FfbG9jaywgZmxhZ3MpOworCX0KIAogCWRlbF90aW1lcl9zeW5jKCZoZWFsdGgtPnRp bWVyKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUv Y29yZS9tYWluLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvbWFp bi5jCmluZGV4IDRkZGQ2MzJkMTBmOS4uNjhlNDhiMTg4NDU4IDEwMDY0NAotLS0gYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvbWFpbi5jCisrKyBiL2RyaXZlcnMvbmV0 L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9tYWluLmMKQEAgLTEyMjcsNyArMTIyNyw3IEBA IHN0YXRpYyBpbnQgbWx4NV9sb2FkX29uZShzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2LCBzdHJ1 Y3QgbWx4NV9wcml2ICpwcml2LAogCQltbHg1X2NsZWFudXBfb25jZShkZXYpOwogCiBlcnJfc3Rv cF9wb2xsOgotCW1seDVfc3RvcF9oZWFsdGhfcG9sbChkZXYpOworCW1seDVfc3RvcF9oZWFsdGhf cG9sbChkZXYsIGJvb3QpOwogCWlmIChtbHg1X2NtZF90ZWFyZG93bl9oY2EoZGV2KSkgewogCQlk ZXZfZXJyKCZkZXYtPnBkZXYtPmRldiwgInRlYXJfZG93bl9oY2EgZmFpbGVkLCBza2lwIGNsZWFu dXBcbiIpOwogCQlnb3RvIG91dF9lcnI7CkBAIC0xMjg2LDcgKzEyODYsNyBAQCBzdGF0aWMgaW50 IG1seDVfdW5sb2FkX29uZShzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2LCBzdHJ1Y3QgbWx4NV9w cml2ICpwcml2LAogCW1seDVfZnJlZV9pcnFfdmVjdG9ycyhkZXYpOwogCWlmIChjbGVhbnVwKQog CQltbHg1X2NsZWFudXBfb25jZShkZXYpOwotCW1seDVfc3RvcF9oZWFsdGhfcG9sbChkZXYpOwor CW1seDVfc3RvcF9oZWFsdGhfcG9sbChkZXYsIGNsZWFudXApOwogCWVyciA9IG1seDVfY21kX3Rl YXJkb3duX2hjYShkZXYpOwogCWlmIChlcnIpIHsKIAkJZGV2X2VycigmZGV2LT5wZGV2LT5kZXYs ICJ0ZWFyX2Rvd25faGNhIGZhaWxlZCwgc2tpcCBjbGVhbnVwXG4iKTsKQEAgLTE1NDgsNyArMTU0 OCw3IEBAIHN0YXRpYyBpbnQgbWx4NV90cnlfZmFzdF91bmxvYWQoc3RydWN0IG1seDVfY29yZV9k ZXYgKmRldikKIAkgKiB3aXRoIHRoZSBIQ0EsIHNvIHRoZSBoZWFsdGggcG9sbGwgaXMgbm8gbG9u Z2VyIG5lZWRlZC4KIAkgKi8KIAltbHg1X2RyYWluX2hlYWx0aF93cShkZXYpOwotCW1seDVfc3Rv cF9oZWFsdGhfcG9sbChkZXYpOworCW1seDVfc3RvcF9oZWFsdGhfcG9sbChkZXYsIGZhbHNlKTsK IAogCXJldCA9IG1seDVfY21kX2ZvcmNlX3RlYXJkb3duX2hjYShkZXYpOwogCWlmIChyZXQpIHsK ZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbWx4NS9kcml2ZXIuaCBiL2luY2x1ZGUvbGludXgv bWx4NS9kcml2ZXIuaAppbmRleCBmMmY5ZTk1N2JmMWIuLmM0ZDE5ZTc3ZmVhOCAxMDA2NDQKLS0t IGEvaW5jbHVkZS9saW51eC9tbHg1L2RyaXZlci5oCisrKyBiL2luY2x1ZGUvbGludXgvbWx4NS9k cml2ZXIuaApAQCAtOTUwLDcgKzk1MCw3IEBAIGludCBtbHg1X2NtZF9mcmVlX3VhcihzdHJ1Y3Qg bWx4NV9jb3JlX2RldiAqZGV2LCB1MzIgdWFybik7CiB2b2lkIG1seDVfaGVhbHRoX2NsZWFudXAo c3RydWN0IG1seDVfY29yZV9kZXYgKmRldik7CiBpbnQgbWx4NV9oZWFsdGhfaW5pdChzdHJ1Y3Qg bWx4NV9jb3JlX2RldiAqZGV2KTsKIHZvaWQgbWx4NV9zdGFydF9oZWFsdGhfcG9sbChzdHJ1Y3Qg bWx4NV9jb3JlX2RldiAqZGV2KTsKLXZvaWQgbWx4NV9zdG9wX2hlYWx0aF9wb2xsKHN0cnVjdCBt bHg1X2NvcmVfZGV2ICpkZXYpOwordm9pZCBtbHg1X3N0b3BfaGVhbHRoX3BvbGwoc3RydWN0IG1s eDVfY29yZV9kZXYgKmRldiwgYm9vbCBkaXNhYmxlX2hlYWx0aCk7CiB2b2lkIG1seDVfZHJhaW5f aGVhbHRoX3dxKHN0cnVjdCBtbHg1X2NvcmVfZGV2ICpkZXYpOwogdm9pZCBtbHg1X3RyaWdnZXJf aGVhbHRoX3dvcmsoc3RydWN0IG1seDVfY29yZV9kZXYgKmRldik7CiB2b2lkIG1seDVfZHJhaW5f aGVhbHRoX3JlY292ZXJ5KHN0cnVjdCBtbHg1X2NvcmVfZGV2ICpkZXYpOwotLSAKMi4xNy4xCgoK RnJvbSA2YzE3NjkzMmY2NGNmMGVjNjA3NDllMzgyYTcxMjQ1NzZmNDAyMzNmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVmYW4gV2FocmVuIDxzdGVmYW4ud2FocmVuQGkyc2UuY29t PgpEYXRlOiBXZWQsIDUgU2VwIDIwMTggMTU6MjM6MTggKzAyMDAKU3ViamVjdDogW1BBVENIIDAz LzExXSBuZXQ6IHFjYV9zcGk6IEZpeCByYWNlIGNvbmRpdGlvbiBpbiBzcGkgdHJhbnNmZXJzCgpb IFVwc3RyZWFtIGNvbW1pdCBlNjVhOWU0ODBlOTFkZGY5ZTE1MTU1NDU0ZDM3MGNlYWQ2NDY4OWM4 IF0KCldpdGggcGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uIHRoZSBzcGkgdHJhbnNmZXIgYW5kIG1l c3NhZ2VzIG9mIGJhc2ljCnJlZ2lzdGVyIG9wZXJhdGlvbnMgbGlrZSBxY2FzcGlfcmVhZF9yZWdp c3RlciBtb3ZlZCBpbnRvIHRoZSBwcml2YXRlCmRyaXZlciBzdHJ1Y3R1cmUuIEJ1dCB0aGV5IHdl cmVuJ3QgcHJvdGVjdGVkIGFnYWluc3QgbXV0dWFsIGFjY2VzcwooZS5nLiBiZXR3ZWVuIGRyaXZl ciBrdGhyZWFkIGFuZCBldGh0b29sKS4gU28gZHVtcGluZyB0aGUgUUNBNzAwMApyZWdpc3RlcnMg dmlhIGV0aHRvb2wgZHVyaW5nIG5ldHdvcmsgdHJhZmZpYyBjb3VsZCBtYWtlIHNwaV9zeW5jCmhh bmcgZm9yZXZlciwgYmVjYXVzZSB0aGUgY29tcGxldGlvbiBpbiBzcGlfbWVzc2FnZSBpcyBvdmVy d3JpdHRlbi4KClNvIHJldmVydCB0aGUgb3B0aW1pemF0aW9uIGNvbXBsZXRlbHkuCgpGaXhlczog MjkxYWIwNmVjZjY3NiAoIm5ldDogcXVhbGNvbW06IG5ldyBFdGhlcm5ldCBvdmVyIFNQSSBkcml2 ZXIgZm9yIFFDQTcwMCIpClNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBXYWhyZW4gPHN0ZWZhbi53YWhy ZW5AaTJzZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1s b2Z0Lm5ldD4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9xdWFsY29tbS9xY2FfN2suYyAgfCAg NzYgKysrKysrKystLS0tLS0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvcXVhbGNvbW0vcWNhX3Nw aS5jIHwgMTEwICsrKysrKysrKysrKy0tLS0tLS0tLS0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQv cXVhbGNvbW0vcWNhX3NwaS5oIHwgICA1IC0tCiAzIGZpbGVzIGNoYW5nZWQsIDkzIGluc2VydGlv bnMoKyksIDk4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0 L3F1YWxjb21tL3FjYV83ay5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvcXVhbGNvbW0vcWNhXzdr LmMKaW5kZXggZmZlN2ExNmJkZmM4Li42Yzg1NDNmYjkwYzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv bmV0L2V0aGVybmV0L3F1YWxjb21tL3FjYV83ay5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0 L3F1YWxjb21tL3FjYV83ay5jCkBAIC00NSwzNCArNDUsMzMgQEAgcWNhc3BpX3JlYWRfcmVnaXN0 ZXIoc3RydWN0IHFjYXNwaSAqcWNhLCB1MTYgcmVnLCB1MTYgKnJlc3VsdCkKIHsKIAlfX2JlMTYg cnhfZGF0YTsKIAlfX2JlMTYgdHhfZGF0YTsKLQlzdHJ1Y3Qgc3BpX3RyYW5zZmVyICp0cmFuc2Zl cjsKLQlzdHJ1Y3Qgc3BpX21lc3NhZ2UgKm1zZzsKKwlzdHJ1Y3Qgc3BpX3RyYW5zZmVyIHRyYW5z ZmVyWzJdOworCXN0cnVjdCBzcGlfbWVzc2FnZSBtc2c7CiAJaW50IHJldDsKIAorCW1lbXNldCh0 cmFuc2ZlciwgMCwgc2l6ZW9mKHRyYW5zZmVyKSk7CisKKwlzcGlfbWVzc2FnZV9pbml0KCZtc2cp OworCiAJdHhfZGF0YSA9IGNwdV90b19iZTE2KFFDQTdLX1NQSV9SRUFEIHwgUUNBN0tfU1BJX0lO VEVSTkFMIHwgcmVnKTsKKwkqcmVzdWx0ID0gMDsKKworCXRyYW5zZmVyWzBdLnR4X2J1ZiA9ICZ0 eF9kYXRhOworCXRyYW5zZmVyWzBdLmxlbiA9IFFDQVNQSV9DTURfTEVOOworCXRyYW5zZmVyWzFd LnJ4X2J1ZiA9ICZyeF9kYXRhOworCXRyYW5zZmVyWzFdLmxlbiA9IFFDQVNQSV9DTURfTEVOOwor CisJc3BpX21lc3NhZ2VfYWRkX3RhaWwoJnRyYW5zZmVyWzBdLCAmbXNnKTsKIAogCWlmIChxY2Et PmxlZ2FjeV9tb2RlKSB7Ci0JCW1zZyA9ICZxY2EtPnNwaV9tc2cxOwotCQl0cmFuc2ZlciA9ICZx Y2EtPnNwaV94ZmVyMTsKLQkJdHJhbnNmZXItPnR4X2J1ZiA9ICZ0eF9kYXRhOwotCQl0cmFuc2Zl ci0+cnhfYnVmID0gTlVMTDsKLQkJdHJhbnNmZXItPmxlbiA9IFFDQVNQSV9DTURfTEVOOwotCQlz cGlfc3luYyhxY2EtPnNwaV9kZXYsIG1zZyk7Ci0JfSBlbHNlIHsKLQkJbXNnID0gJnFjYS0+c3Bp X21zZzI7Ci0JCXRyYW5zZmVyID0gJnFjYS0+c3BpX3hmZXIyWzBdOwotCQl0cmFuc2Zlci0+dHhf YnVmID0gJnR4X2RhdGE7Ci0JCXRyYW5zZmVyLT5yeF9idWYgPSBOVUxMOwotCQl0cmFuc2Zlci0+ bGVuID0gUUNBU1BJX0NNRF9MRU47Ci0JCXRyYW5zZmVyID0gJnFjYS0+c3BpX3hmZXIyWzFdOwor CQlzcGlfc3luYyhxY2EtPnNwaV9kZXYsICZtc2cpOworCQlzcGlfbWVzc2FnZV9pbml0KCZtc2cp OwogCX0KLQl0cmFuc2Zlci0+dHhfYnVmID0gTlVMTDsKLQl0cmFuc2Zlci0+cnhfYnVmID0gJnJ4 X2RhdGE7Ci0JdHJhbnNmZXItPmxlbiA9IFFDQVNQSV9DTURfTEVOOwotCXJldCA9IHNwaV9zeW5j KHFjYS0+c3BpX2RldiwgbXNnKTsKKwlzcGlfbWVzc2FnZV9hZGRfdGFpbCgmdHJhbnNmZXJbMV0s ICZtc2cpOworCXJldCA9IHNwaV9zeW5jKHFjYS0+c3BpX2RldiwgJm1zZyk7CiAKIAlpZiAoIXJl dCkKLQkJcmV0ID0gbXNnLT5zdGF0dXM7CisJCXJldCA9IG1zZy5zdGF0dXM7CiAKIAlpZiAocmV0 KQogCQlxY2FzcGlfc3BpX2Vycm9yKHFjYSk7CkBAIC04NiwzNSArODUsMzIgQEAgaW50CiBxY2Fz cGlfd3JpdGVfcmVnaXN0ZXIoc3RydWN0IHFjYXNwaSAqcWNhLCB1MTYgcmVnLCB1MTYgdmFsdWUp CiB7CiAJX19iZTE2IHR4X2RhdGFbMl07Ci0Jc3RydWN0IHNwaV90cmFuc2ZlciAqdHJhbnNmZXI7 Ci0Jc3RydWN0IHNwaV9tZXNzYWdlICptc2c7CisJc3RydWN0IHNwaV90cmFuc2ZlciB0cmFuc2Zl clsyXTsKKwlzdHJ1Y3Qgc3BpX21lc3NhZ2UgbXNnOwogCWludCByZXQ7CiAKKwltZW1zZXQoJnRy YW5zZmVyLCAwLCBzaXplb2YodHJhbnNmZXIpKTsKKworCXNwaV9tZXNzYWdlX2luaXQoJm1zZyk7 CisKIAl0eF9kYXRhWzBdID0gY3B1X3RvX2JlMTYoUUNBN0tfU1BJX1dSSVRFIHwgUUNBN0tfU1BJ X0lOVEVSTkFMIHwgcmVnKTsKIAl0eF9kYXRhWzFdID0gY3B1X3RvX2JlMTYodmFsdWUpOwogCisJ dHJhbnNmZXJbMF0udHhfYnVmID0gJnR4X2RhdGFbMF07CisJdHJhbnNmZXJbMF0ubGVuID0gUUNB U1BJX0NNRF9MRU47CisJdHJhbnNmZXJbMV0udHhfYnVmID0gJnR4X2RhdGFbMV07CisJdHJhbnNm ZXJbMV0ubGVuID0gUUNBU1BJX0NNRF9MRU47CisKKwlzcGlfbWVzc2FnZV9hZGRfdGFpbCgmdHJh bnNmZXJbMF0sICZtc2cpOwogCWlmIChxY2EtPmxlZ2FjeV9tb2RlKSB7Ci0JCW1zZyA9ICZxY2Et PnNwaV9tc2cxOwotCQl0cmFuc2ZlciA9ICZxY2EtPnNwaV94ZmVyMTsKLQkJdHJhbnNmZXItPnR4 X2J1ZiA9ICZ0eF9kYXRhWzBdOwotCQl0cmFuc2Zlci0+cnhfYnVmID0gTlVMTDsKLQkJdHJhbnNm ZXItPmxlbiA9IFFDQVNQSV9DTURfTEVOOwotCQlzcGlfc3luYyhxY2EtPnNwaV9kZXYsIG1zZyk7 Ci0JfSBlbHNlIHsKLQkJbXNnID0gJnFjYS0+c3BpX21zZzI7Ci0JCXRyYW5zZmVyID0gJnFjYS0+ c3BpX3hmZXIyWzBdOwotCQl0cmFuc2Zlci0+dHhfYnVmID0gJnR4X2RhdGFbMF07Ci0JCXRyYW5z ZmVyLT5yeF9idWYgPSBOVUxMOwotCQl0cmFuc2Zlci0+bGVuID0gUUNBU1BJX0NNRF9MRU47Ci0J CXRyYW5zZmVyID0gJnFjYS0+c3BpX3hmZXIyWzFdOworCQlzcGlfc3luYyhxY2EtPnNwaV9kZXYs ICZtc2cpOworCQlzcGlfbWVzc2FnZV9pbml0KCZtc2cpOwogCX0KLQl0cmFuc2Zlci0+dHhfYnVm ID0gJnR4X2RhdGFbMV07Ci0JdHJhbnNmZXItPnJ4X2J1ZiA9IE5VTEw7Ci0JdHJhbnNmZXItPmxl biA9IFFDQVNQSV9DTURfTEVOOwotCXJldCA9IHNwaV9zeW5jKHFjYS0+c3BpX2RldiwgbXNnKTsK KwlzcGlfbWVzc2FnZV9hZGRfdGFpbCgmdHJhbnNmZXJbMV0sICZtc2cpOworCXJldCA9IHNwaV9z eW5jKHFjYS0+c3BpX2RldiwgJm1zZyk7CiAKIAlpZiAoIXJldCkKLQkJcmV0ID0gbXNnLT5zdGF0 dXM7CisJCXJldCA9IG1zZy5zdGF0dXM7CiAKIAlpZiAocmV0KQogCQlxY2FzcGlfc3BpX2Vycm9y KHFjYSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9xdWFsY29tbS9xY2Ffc3Bp LmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9xdWFsY29tbS9xY2Ffc3BpLmMKaW5kZXggYjFmNWYw YjhlNTQ2Li4yNzVmYzZmMTU0YTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3F1 YWxjb21tL3FjYV9zcGkuYworKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9xdWFsY29tbS9xY2Ff c3BpLmMKQEAgLTk5LDIyICs5OSwyNCBAQCBzdGF0aWMgdTMyCiBxY2FzcGlfd3JpdGVfYnVyc3Qo c3RydWN0IHFjYXNwaSAqcWNhLCB1OCAqc3JjLCB1MzIgbGVuKQogewogCV9fYmUxNiBjbWQ7Ci0J c3RydWN0IHNwaV9tZXNzYWdlICptc2cgPSAmcWNhLT5zcGlfbXNnMjsKLQlzdHJ1Y3Qgc3BpX3Ry YW5zZmVyICp0cmFuc2ZlciA9ICZxY2EtPnNwaV94ZmVyMlswXTsKKwlzdHJ1Y3Qgc3BpX21lc3Nh Z2UgbXNnOworCXN0cnVjdCBzcGlfdHJhbnNmZXIgdHJhbnNmZXJbMl07CiAJaW50IHJldDsKIAor CW1lbXNldCgmdHJhbnNmZXIsIDAsIHNpemVvZih0cmFuc2ZlcikpOworCXNwaV9tZXNzYWdlX2lu aXQoJm1zZyk7CisKIAljbWQgPSBjcHVfdG9fYmUxNihRQ0E3S19TUElfV1JJVEUgfCBRQ0E3S19T UElfRVhURVJOQUwpOwotCXRyYW5zZmVyLT50eF9idWYgPSAmY21kOwotCXRyYW5zZmVyLT5yeF9i dWYgPSBOVUxMOwotCXRyYW5zZmVyLT5sZW4gPSBRQ0FTUElfQ01EX0xFTjsKLQl0cmFuc2ZlciA9 ICZxY2EtPnNwaV94ZmVyMlsxXTsKLQl0cmFuc2Zlci0+dHhfYnVmID0gc3JjOwotCXRyYW5zZmVy LT5yeF9idWYgPSBOVUxMOwotCXRyYW5zZmVyLT5sZW4gPSBsZW47CisJdHJhbnNmZXJbMF0udHhf YnVmID0gJmNtZDsKKwl0cmFuc2ZlclswXS5sZW4gPSBRQ0FTUElfQ01EX0xFTjsKKwl0cmFuc2Zl clsxXS50eF9idWYgPSBzcmM7CisJdHJhbnNmZXJbMV0ubGVuID0gbGVuOwogCi0JcmV0ID0gc3Bp X3N5bmMocWNhLT5zcGlfZGV2LCBtc2cpOworCXNwaV9tZXNzYWdlX2FkZF90YWlsKCZ0cmFuc2Zl clswXSwgJm1zZyk7CisJc3BpX21lc3NhZ2VfYWRkX3RhaWwoJnRyYW5zZmVyWzFdLCAmbXNnKTsK KwlyZXQgPSBzcGlfc3luYyhxY2EtPnNwaV9kZXYsICZtc2cpOwogCi0JaWYgKHJldCB8fCAobXNn LT5hY3R1YWxfbGVuZ3RoICE9IFFDQVNQSV9DTURfTEVOICsgbGVuKSkgeworCWlmIChyZXQgfHwg KG1zZy5hY3R1YWxfbGVuZ3RoICE9IFFDQVNQSV9DTURfTEVOICsgbGVuKSkgewogCQlxY2FzcGlf c3BpX2Vycm9yKHFjYSk7CiAJCXJldHVybiAwOwogCX0KQEAgLTEyNSwxNyArMTI3LDIwIEBAIHFj YXNwaV93cml0ZV9idXJzdChzdHJ1Y3QgcWNhc3BpICpxY2EsIHU4ICpzcmMsIHUzMiBsZW4pCiBz dGF0aWMgdTMyCiBxY2FzcGlfd3JpdGVfbGVnYWN5KHN0cnVjdCBxY2FzcGkgKnFjYSwgdTggKnNy YywgdTMyIGxlbikKIHsKLQlzdHJ1Y3Qgc3BpX21lc3NhZ2UgKm1zZyA9ICZxY2EtPnNwaV9tc2cx OwotCXN0cnVjdCBzcGlfdHJhbnNmZXIgKnRyYW5zZmVyID0gJnFjYS0+c3BpX3hmZXIxOworCXN0 cnVjdCBzcGlfbWVzc2FnZSBtc2c7CisJc3RydWN0IHNwaV90cmFuc2ZlciB0cmFuc2ZlcjsKIAlp bnQgcmV0OwogCi0JdHJhbnNmZXItPnR4X2J1ZiA9IHNyYzsKLQl0cmFuc2Zlci0+cnhfYnVmID0g TlVMTDsKLQl0cmFuc2Zlci0+bGVuID0gbGVuOworCW1lbXNldCgmdHJhbnNmZXIsIDAsIHNpemVv Zih0cmFuc2ZlcikpOworCXNwaV9tZXNzYWdlX2luaXQoJm1zZyk7CisKKwl0cmFuc2Zlci50eF9i dWYgPSBzcmM7CisJdHJhbnNmZXIubGVuID0gbGVuOwogCi0JcmV0ID0gc3BpX3N5bmMocWNhLT5z cGlfZGV2LCBtc2cpOworCXNwaV9tZXNzYWdlX2FkZF90YWlsKCZ0cmFuc2ZlciwgJm1zZyk7CisJ cmV0ID0gc3BpX3N5bmMocWNhLT5zcGlfZGV2LCAmbXNnKTsKIAotCWlmIChyZXQgfHwgKG1zZy0+ YWN0dWFsX2xlbmd0aCAhPSBsZW4pKSB7CisJaWYgKHJldCB8fCAobXNnLmFjdHVhbF9sZW5ndGgg IT0gbGVuKSkgewogCQlxY2FzcGlfc3BpX2Vycm9yKHFjYSk7CiAJCXJldHVybiAwOwogCX0KQEAg LTE0NiwyMyArMTUxLDI1IEBAIHFjYXNwaV93cml0ZV9sZWdhY3koc3RydWN0IHFjYXNwaSAqcWNh LCB1OCAqc3JjLCB1MzIgbGVuKQogc3RhdGljIHUzMgogcWNhc3BpX3JlYWRfYnVyc3Qoc3RydWN0 IHFjYXNwaSAqcWNhLCB1OCAqZHN0LCB1MzIgbGVuKQogewotCXN0cnVjdCBzcGlfbWVzc2FnZSAq bXNnID0gJnFjYS0+c3BpX21zZzI7CisJc3RydWN0IHNwaV9tZXNzYWdlIG1zZzsKIAlfX2JlMTYg Y21kOwotCXN0cnVjdCBzcGlfdHJhbnNmZXIgKnRyYW5zZmVyID0gJnFjYS0+c3BpX3hmZXIyWzBd OworCXN0cnVjdCBzcGlfdHJhbnNmZXIgdHJhbnNmZXJbMl07CiAJaW50IHJldDsKIAorCW1lbXNl dCgmdHJhbnNmZXIsIDAsIHNpemVvZih0cmFuc2ZlcikpOworCXNwaV9tZXNzYWdlX2luaXQoJm1z Zyk7CisKIAljbWQgPSBjcHVfdG9fYmUxNihRQ0E3S19TUElfUkVBRCB8IFFDQTdLX1NQSV9FWFRF Uk5BTCk7Ci0JdHJhbnNmZXItPnR4X2J1ZiA9ICZjbWQ7Ci0JdHJhbnNmZXItPnJ4X2J1ZiA9IE5V TEw7Ci0JdHJhbnNmZXItPmxlbiA9IFFDQVNQSV9DTURfTEVOOwotCXRyYW5zZmVyID0gJnFjYS0+ c3BpX3hmZXIyWzFdOwotCXRyYW5zZmVyLT50eF9idWYgPSBOVUxMOwotCXRyYW5zZmVyLT5yeF9i dWYgPSBkc3Q7Ci0JdHJhbnNmZXItPmxlbiA9IGxlbjsKKwl0cmFuc2ZlclswXS50eF9idWYgPSAm Y21kOworCXRyYW5zZmVyWzBdLmxlbiA9IFFDQVNQSV9DTURfTEVOOworCXRyYW5zZmVyWzFdLnJ4 X2J1ZiA9IGRzdDsKKwl0cmFuc2ZlclsxXS5sZW4gPSBsZW47CiAKLQlyZXQgPSBzcGlfc3luYyhx Y2EtPnNwaV9kZXYsIG1zZyk7CisJc3BpX21lc3NhZ2VfYWRkX3RhaWwoJnRyYW5zZmVyWzBdLCAm bXNnKTsKKwlzcGlfbWVzc2FnZV9hZGRfdGFpbCgmdHJhbnNmZXJbMV0sICZtc2cpOworCXJldCA9 IHNwaV9zeW5jKHFjYS0+c3BpX2RldiwgJm1zZyk7CiAKLQlpZiAocmV0IHx8IChtc2ctPmFjdHVh bF9sZW5ndGggIT0gUUNBU1BJX0NNRF9MRU4gKyBsZW4pKSB7CisJaWYgKHJldCB8fCAobXNnLmFj dHVhbF9sZW5ndGggIT0gUUNBU1BJX0NNRF9MRU4gKyBsZW4pKSB7CiAJCXFjYXNwaV9zcGlfZXJy b3IocWNhKTsKIAkJcmV0dXJuIDA7CiAJfQpAQCAtMTczLDE3ICsxODAsMjAgQEAgcWNhc3BpX3Jl YWRfYnVyc3Qoc3RydWN0IHFjYXNwaSAqcWNhLCB1OCAqZHN0LCB1MzIgbGVuKQogc3RhdGljIHUz MgogcWNhc3BpX3JlYWRfbGVnYWN5KHN0cnVjdCBxY2FzcGkgKnFjYSwgdTggKmRzdCwgdTMyIGxl bikKIHsKLQlzdHJ1Y3Qgc3BpX21lc3NhZ2UgKm1zZyA9ICZxY2EtPnNwaV9tc2cxOwotCXN0cnVj dCBzcGlfdHJhbnNmZXIgKnRyYW5zZmVyID0gJnFjYS0+c3BpX3hmZXIxOworCXN0cnVjdCBzcGlf bWVzc2FnZSBtc2c7CisJc3RydWN0IHNwaV90cmFuc2ZlciB0cmFuc2ZlcjsKIAlpbnQgcmV0Owog Ci0JdHJhbnNmZXItPnR4X2J1ZiA9IE5VTEw7Ci0JdHJhbnNmZXItPnJ4X2J1ZiA9IGRzdDsKLQl0 cmFuc2Zlci0+bGVuID0gbGVuOworCW1lbXNldCgmdHJhbnNmZXIsIDAsIHNpemVvZih0cmFuc2Zl cikpOworCXNwaV9tZXNzYWdlX2luaXQoJm1zZyk7CiAKLQlyZXQgPSBzcGlfc3luYyhxY2EtPnNw aV9kZXYsIG1zZyk7CisJdHJhbnNmZXIucnhfYnVmID0gZHN0OworCXRyYW5zZmVyLmxlbiA9IGxl bjsKIAotCWlmIChyZXQgfHwgKG1zZy0+YWN0dWFsX2xlbmd0aCAhPSBsZW4pKSB7CisJc3BpX21l c3NhZ2VfYWRkX3RhaWwoJnRyYW5zZmVyLCAmbXNnKTsKKwlyZXQgPSBzcGlfc3luYyhxY2EtPnNw aV9kZXYsICZtc2cpOworCisJaWYgKHJldCB8fCAobXNnLmFjdHVhbF9sZW5ndGggIT0gbGVuKSkg ewogCQlxY2FzcGlfc3BpX2Vycm9yKHFjYSk7CiAJCXJldHVybiAwOwogCX0KQEAgLTE5NSwxOSAr MjA1LDIzIEBAIHN0YXRpYyBpbnQKIHFjYXNwaV90eF9jbWQoc3RydWN0IHFjYXNwaSAqcWNhLCB1 MTYgY21kKQogewogCV9fYmUxNiB0eF9kYXRhOwotCXN0cnVjdCBzcGlfbWVzc2FnZSAqbXNnID0g JnFjYS0+c3BpX21zZzE7Ci0Jc3RydWN0IHNwaV90cmFuc2ZlciAqdHJhbnNmZXIgPSAmcWNhLT5z cGlfeGZlcjE7CisJc3RydWN0IHNwaV9tZXNzYWdlIG1zZzsKKwlzdHJ1Y3Qgc3BpX3RyYW5zZmVy IHRyYW5zZmVyOwogCWludCByZXQ7CiAKKwltZW1zZXQoJnRyYW5zZmVyLCAwLCBzaXplb2YodHJh bnNmZXIpKTsKKworCXNwaV9tZXNzYWdlX2luaXQoJm1zZyk7CisKIAl0eF9kYXRhID0gY3B1X3Rv X2JlMTYoY21kKTsKLQl0cmFuc2Zlci0+bGVuID0gc2l6ZW9mKHR4X2RhdGEpOwotCXRyYW5zZmVy LT50eF9idWYgPSAmdHhfZGF0YTsKLQl0cmFuc2Zlci0+cnhfYnVmID0gTlVMTDsKKwl0cmFuc2Zl ci5sZW4gPSBzaXplb2YoY21kKTsKKwl0cmFuc2Zlci50eF9idWYgPSAmdHhfZGF0YTsKKwlzcGlf bWVzc2FnZV9hZGRfdGFpbCgmdHJhbnNmZXIsICZtc2cpOwogCi0JcmV0ID0gc3BpX3N5bmMocWNh LT5zcGlfZGV2LCBtc2cpOworCXJldCA9IHNwaV9zeW5jKHFjYS0+c3BpX2RldiwgJm1zZyk7CiAK IAlpZiAoIXJldCkKLQkJcmV0ID0gbXNnLT5zdGF0dXM7CisJCXJldCA9IG1zZy5zdGF0dXM7CiAK IAlpZiAocmV0KQogCQlxY2FzcGlfc3BpX2Vycm9yKHFjYSk7CkBAIC04MzYsMTYgKzg1MCw2IEBA IHFjYXNwaV9uZXRkZXZfc2V0dXAoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKIAlxY2EgPSBuZXRk ZXZfcHJpdihkZXYpOwogCW1lbXNldChxY2EsIDAsIHNpemVvZihzdHJ1Y3QgcWNhc3BpKSk7CiAK LQltZW1zZXQoJnFjYS0+c3BpX3hmZXIxLCAwLCBzaXplb2Yoc3RydWN0IHNwaV90cmFuc2Zlcikp OwotCW1lbXNldCgmcWNhLT5zcGlfeGZlcjIsIDAsIHNpemVvZihzdHJ1Y3Qgc3BpX3RyYW5zZmVy KSAqIDIpOwotCi0Jc3BpX21lc3NhZ2VfaW5pdCgmcWNhLT5zcGlfbXNnMSk7Ci0Jc3BpX21lc3Nh Z2VfYWRkX3RhaWwoJnFjYS0+c3BpX3hmZXIxLCAmcWNhLT5zcGlfbXNnMSk7Ci0KLQlzcGlfbWVz c2FnZV9pbml0KCZxY2EtPnNwaV9tc2cyKTsKLQlzcGlfbWVzc2FnZV9hZGRfdGFpbCgmcWNhLT5z cGlfeGZlcjJbMF0sICZxY2EtPnNwaV9tc2cyKTsKLQlzcGlfbWVzc2FnZV9hZGRfdGFpbCgmcWNh LT5zcGlfeGZlcjJbMV0sICZxY2EtPnNwaV9tc2cyKTsKLQogCW1lbXNldCgmcWNhLT50eHIsIDAs IHNpemVvZihxY2EtPnR4cikpOwogCXFjYS0+dHhyLmNvdW50ID0gVFhfUklOR19NQVhfTEVOOwog fQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvcXVhbGNvbW0vcWNhX3NwaS5oIGIv ZHJpdmVycy9uZXQvZXRoZXJuZXQvcXVhbGNvbW0vcWNhX3NwaS5oCmluZGV4IGZjNGJlYjFiMzJk MS4uZmMwZTk4NzI2YjM2IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9xdWFsY29t bS9xY2Ffc3BpLmgKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvcXVhbGNvbW0vcWNhX3NwaS5o CkBAIC04MywxMSArODMsNiBAQCBzdHJ1Y3QgcWNhc3BpIHsKIAlzdHJ1Y3QgdHhfcmluZyB0eHI7 CiAJc3RydWN0IHFjYXNwaV9zdGF0cyBzdGF0czsKIAotCXN0cnVjdCBzcGlfbWVzc2FnZSBzcGlf bXNnMTsKLQlzdHJ1Y3Qgc3BpX21lc3NhZ2Ugc3BpX21zZzI7Ci0Jc3RydWN0IHNwaV90cmFuc2Zl ciBzcGlfeGZlcjE7Ci0Jc3RydWN0IHNwaV90cmFuc2ZlciBzcGlfeGZlcjJbMl07Ci0KIAl1OCAq cnhfYnVmZmVyOwogCXUzMiBidWZmZXJfc2l6ZTsKIAl1OCBzeW5jOwotLSAKMi4xNy4xCgoKRnJv bSBlODU0ZTE3MWVkN2M2NWMwY2M3NmVhMjcxMGE4NDBhODM4ZjQ0OWE4IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBDb25nIFdhbmcgPHhpeW91Lndhbmdjb25nQGdtYWlsLmNvbT4KRGF0 ZTogTW9uLCAxMCBTZXAgMjAxOCAxODoyNzoyNiAtMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDQvMTFd IHJkczogZml4IHR3byBSQ1UgcmVsYXRlZCBwcm9ibGVtcwoKWyBVcHN0cmVhbSBjb21taXQgY2M0 ZGZiN2Y3MGEzNDRmMjRjMWM3MWUyOThkZWVhMDc3MWRhZGNiMiBdCgpXaGVuIGEgcmRzIHNvY2sg aXMgYm91bmQsIGl0IGlzIGluc2VydGVkIGludG8gdGhlIGJpbmRfaGFzaF90YWJsZQp3aGljaCBp cyBwcm90ZWN0ZWQgYnkgUkNVLiBCdXQgd2hlbiByZWxlYXNpbmcgcmRzIHNvY2ssIGFmdGVyIGl0 CmlzIHJlbW92ZWQgZnJvbSB0aGlzIGhhc2ggdGFibGUsIGl0IGlzIGZyZWVkIGltbWVkaWF0ZWx5 IHdpdGhvdXQKcmVzcGVjdGluZyBSQ1UgZ3JhY2UgcGVyaW9kLiBUaGlzIGNvdWxkIGNhdXNlIHNv bWUgdXNlLWFmdGVyLWZyZWUKYXMgcmVwb3J0ZWQgYnkgc3l6Ym90LgoKTWFyayB0aGUgcmRzIHNv Y2sgd2l0aCBTT0NLX1JDVV9GUkVFIGJlZm9yZSBpbnNlcnRpbmcgaXQgaW50byB0aGUKYmluZF9o YXNoX3RhYmxlLCBzbyB0aGF0IGl0IHdvdWxkIGJlIGFsd2F5cyBmcmVlZCBhZnRlciBhIFJDVSBn cmFjZQpwZXJpb2QuCgpUaGUgb3RoZXIgcHJvYmxlbSBpcyBpbiByZHNfZmluZF9ib3VuZCgpLCB0 aGUgcmRzIHNvY2sgY291bGQgYmUKZnJlZWQgaW4gYmV0d2VlbiByaGFzaHRhYmxlX2xvb2t1cF9m YXN0KCkgYW5kIHJkc19zb2NrX2FkZHJlZigpLApzbyB3ZSBuZWVkIHRvIGV4dGVuZCBSQ1UgcmVh ZCBsb2NrIHByb3RlY3Rpb24gaW4gcmRzX2ZpbmRfYm91bmQoKQp0byBjbG9zZSB0aGlzIHJhY2Ug Y29uZGl0aW9uLgoKUmVwb3J0ZWQtYW5kLXRlc3RlZC1ieTogc3l6Ym90Kzg5NjcwODRiY2FjNTYz Nzk1ZGM2QHN5emthbGxlci5hcHBzcG90bWFpbC5jb20KUmVwb3J0ZWQtYnk6IHN5emJvdCs5M2E1 ODM5ZGViMzU1NTM3NDQwZkBzeXprYWxsZXIuYXBwc3BvdG1haWwuY29tCkNjOiBTb3dtaW5pIFZh cmFkaGFuIDxzb3dtaW5pLnZhcmFkaGFuQG9yYWNsZS5jb20+CkNjOiBTYW50b3NoIFNoaWxpbWth ciA8c2FudG9zaC5zaGlsaW1rYXJAb3JhY2xlLmNvbT4KQ2M6IHJkcy1kZXZlbEBvc3Mub3JhY2xl LmNvbQpTaWduZWQtb2ZmLWJ5OiBDb25nIFdhbmcgPHhpeW91Lndhbmdjb25nQGdtYWlsLmNvbT4K QWNrZWQtYnk6IFNhbnRvc2ggU2hpbGlta2FyIDxzYW50b3NoLnNoaWxpbWthckBvYXJjbGUuY29t PgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0t LQogbmV0L3Jkcy9iaW5kLmMgfCA1ICsrKystCiAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvbmV0L3Jkcy9iaW5kLmMgYi9uZXQvcmRz L2JpbmQuYwppbmRleCA1YWEzYTY0YWE0ZjAuLjQ4MjU3ZDNhNDIwMSAxMDA2NDQKLS0tIGEvbmV0 L3Jkcy9iaW5kLmMKKysrIGIvbmV0L3Jkcy9iaW5kLmMKQEAgLTYwLDExICs2MCwxMyBAQCBzdHJ1 Y3QgcmRzX3NvY2sgKnJkc19maW5kX2JvdW5kKF9fYmUzMiBhZGRyLCBfX2JlMTYgcG9ydCkKIAl1 NjQga2V5ID0gKCh1NjQpYWRkciA8PCAzMikgfCBwb3J0OwogCXN0cnVjdCByZHNfc29jayAqcnM7 CiAKLQlycyA9IHJoYXNodGFibGVfbG9va3VwX2Zhc3QoJmJpbmRfaGFzaF90YWJsZSwgJmtleSwg aHRfcGFybXMpOworCXJjdV9yZWFkX2xvY2soKTsKKwlycyA9IHJoYXNodGFibGVfbG9va3VwKCZi aW5kX2hhc2hfdGFibGUsICZrZXksIGh0X3Bhcm1zKTsKIAlpZiAocnMgJiYgIXNvY2tfZmxhZyhy ZHNfcnNfdG9fc2socnMpLCBTT0NLX0RFQUQpKQogCQlyZHNfc29ja19hZGRyZWYocnMpOwogCWVs c2UKIAkJcnMgPSBOVUxMOworCXJjdV9yZWFkX3VubG9jaygpOwogCiAJcmRzZGVidWcoInJldHVy bmluZyBycyAlcCBmb3IgJXBJNDoldVxuIiwgcnMsICZhZGRyLAogCQludG9ocyhwb3J0KSk7CkBA IC0xNTcsNiArMTU5LDcgQEAgaW50IHJkc19iaW5kKHN0cnVjdCBzb2NrZXQgKnNvY2ssIHN0cnVj dCBzb2NrYWRkciAqdWFkZHIsIGludCBhZGRyX2xlbikKIAkJZ290byBvdXQ7CiAJfQogCisJc29j a19zZXRfZmxhZyhzaywgU09DS19SQ1VfRlJFRSk7CiAJcmV0ID0gcmRzX2FkZF9ib3VuZChycywg c2luLT5zaW5fYWRkci5zX2FkZHIsICZzaW4tPnNpbl9wb3J0KTsKIAlpZiAocmV0KQogCQlnb3Rv IG91dDsKLS0gCjIuMTcuMQoKCkZyb20gN2ZhMmIxMzA2NDY3NzY3MGJmZTg4NjRlYTBjZWYwZTQ1 OTg2YTI1YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSHV5IE5ndXllbiA8aHV5bkBt ZWxsYW5veC5jb20+CkRhdGU6IFdlZCwgMTUgQXVnIDIwMTggMTE6MDg6NDggLTA1MDAKU3ViamVj dDogW1BBVENIIDA1LzExXSBuZXQvbWx4NTogQ2hlY2sgZm9yIGVycm9yIGluIG1seDVfYXR0YWNo X2ludGVyZmFjZQoKWyBVcHN0cmVhbSBjb21taXQgNDdiYzk0YjgyMjkxZTAwN2RhNjFlZTFiM2Qx OGM3Nzg3MWYzZTE1OCBdCgpDdXJyZW50bHksIG1seDVfYXR0YWNoX2ludGVyZmFjZSBkb2VzIG5v dCBjaGVjayBmb3IgZXJyb3IKYWZ0ZXIgY2FsbGluZyBpbnRmLT5hdHRhY2ggb3IgaW50Zi0+YWRk LiBXaGVuIHRoZXNlIHR3byBjYWxscwpmYWlscywgdGhlIGNsaWVudCBpcyBub3QgaW5pdGlhbGl6 ZWQgYW5kIHdpbGwgY2F1c2UgaXNzdWVzIHN1Y2ggYXMKa2VybmVsIHBhbmljIG9uIGludmFsaWQg YWRkcmVzcyBpbiB0aGUgdGVhcmRvd24gcGF0aCAobWx4NV9kZXRhY2hfaW50ZXJmYWNlKQoKRml4 ZXM6IDczN2EyMzRiYjYzOCAoIm5ldC9tbHg1OiBJbnRyb2R1Y2UgYXR0YWNoL2RldGFjaCB0byBp bnRlcmZhY2UgQVBJIikKU2lnbmVkLW9mZi1ieTogSHV5IE5ndXllbiA8aHV5bkBtZWxsYW5veC5j b20+ClNpZ25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPgot LS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9kZXYuYyB8IDE1ICsr KysrKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDUgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9j b3JlL2Rldi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Rldi5j CmluZGV4IDE3YjcyMzIxOGIwYy4uOWY5YzlmZjEwNzM1IDEwMDY0NAotLS0gYS9kcml2ZXJzL25l dC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZGV2LmMKKysrIGIvZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Rldi5jCkBAIC0xMzIsMTEgKzEzMiwxMSBAQCB2b2lk IG1seDVfYWRkX2RldmljZShzdHJ1Y3QgbWx4NV9pbnRlcmZhY2UgKmludGYsIHN0cnVjdCBtbHg1 X3ByaXYgKnByaXYpCiAJZGVsYXllZF9ldmVudF9zdGFydChwcml2KTsKIAogCWRldl9jdHgtPmNv bnRleHQgPSBpbnRmLT5hZGQoZGV2KTsKLQlzZXRfYml0KE1MWDVfSU5URVJGQUNFX0FEREVELCAm ZGV2X2N0eC0+c3RhdGUpOwotCWlmIChpbnRmLT5hdHRhY2gpCi0JCXNldF9iaXQoTUxYNV9JTlRF UkZBQ0VfQVRUQUNIRUQsICZkZXZfY3R4LT5zdGF0ZSk7Ci0KIAlpZiAoZGV2X2N0eC0+Y29udGV4 dCkgeworCQlzZXRfYml0KE1MWDVfSU5URVJGQUNFX0FEREVELCAmZGV2X2N0eC0+c3RhdGUpOwor CQlpZiAoaW50Zi0+YXR0YWNoKQorCQkJc2V0X2JpdChNTFg1X0lOVEVSRkFDRV9BVFRBQ0hFRCwg JmRldl9jdHgtPnN0YXRlKTsKKwogCQlzcGluX2xvY2tfaXJxKCZwcml2LT5jdHhfbG9jayk7CiAJ CWxpc3RfYWRkX3RhaWwoJmRldl9jdHgtPmxpc3QsICZwcml2LT5jdHhfbGlzdCk7CiAKQEAgLTIx MSwxMiArMjExLDE3IEBAIHN0YXRpYyB2b2lkIG1seDVfYXR0YWNoX2ludGVyZmFjZShzdHJ1Y3Qg bWx4NV9pbnRlcmZhY2UgKmludGYsIHN0cnVjdCBtbHg1X3ByaXYKIAlpZiAoaW50Zi0+YXR0YWNo KSB7CiAJCWlmICh0ZXN0X2JpdChNTFg1X0lOVEVSRkFDRV9BVFRBQ0hFRCwgJmRldl9jdHgtPnN0 YXRlKSkKIAkJCWdvdG8gb3V0OwotCQlpbnRmLT5hdHRhY2goZGV2LCBkZXZfY3R4LT5jb250ZXh0 KTsKKwkJaWYgKGludGYtPmF0dGFjaChkZXYsIGRldl9jdHgtPmNvbnRleHQpKQorCQkJZ290byBv dXQ7CisKIAkJc2V0X2JpdChNTFg1X0lOVEVSRkFDRV9BVFRBQ0hFRCwgJmRldl9jdHgtPnN0YXRl KTsKIAl9IGVsc2UgewogCQlpZiAodGVzdF9iaXQoTUxYNV9JTlRFUkZBQ0VfQURERUQsICZkZXZf Y3R4LT5zdGF0ZSkpCiAJCQlnb3RvIG91dDsKIAkJZGV2X2N0eC0+Y29udGV4dCA9IGludGYtPmFk ZChkZXYpOworCQlpZiAoIWRldl9jdHgtPmNvbnRleHQpCisJCQlnb3RvIG91dDsKKwogCQlzZXRf Yml0KE1MWDVfSU5URVJGQUNFX0FEREVELCAmZGV2X2N0eC0+c3RhdGUpOwogCX0KIAotLSAKMi4x Ny4xCgoKRnJvbSAyMTdkMmZjMzJiNDg1MGRmMzE5NGY5OWIzZTA0NGMwMzBiY2U0YmVjIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNrIE1vcmdlbnN0ZWluIDxqYWNrbUBkZXYubWVs bGFub3guY28uaWw+CkRhdGU6IFR1ZSwgNyBBdWcgMjAxOCAwOTo1OTowMyArMDMwMApTdWJqZWN0 OiBbUEFUQ0ggMDYvMTFdIG5ldC9tbHg1OiBGaXggZGVidWdmcyBjbGVhbnVwIGluIHRoZSBkZXZp Y2UgaW5pdC9yZW1vdmUKIGZsb3cKClsgVXBzdHJlYW0gY29tbWl0IDVkZjgxNmU3ZjQzZjEyOTdj NDAwMjFlZjE3ZWM2ZTcyMmI0NWM4MmYgXQoKV2hlbiBpbml0aWFsaXppbmcgdGhlIGRldmljZSAo cHJvY2VkdXJlIGluaXRfb25lKSwgdGhlIGRyaXZlcgpjYWxscyBtbHg1X3BjaV9pbml0IHRvIHBl cmZvcm0gcGNpIGluaXRpYWxpemF0aW9uLiBBcyBwYXJ0IG9mIHRoaXMKaW5pdGlhbGl6YXRpb24s IG1seDVfcGNpX2luaXQgY3JlYXRlcyBhIGRlYnVnZnMgZGlyZWN0b3J5LgpJZiB0aGlzIGNyZWF0 aW9uIGZhaWxzLCBpbml0X29uZSBhYm9ydHMsIHJldHVybmluZyBmYWlsdXJlIHRvCnRoZSBjYWxs ZXIgKHdoaWNoIGlzIHRoZSBwcm9iZSBtZXRob2QgY2FsbGVyKS4KClRoZSBtYWluIHJlYXNvbiBm b3Igc3VjaCBhIGZhaWx1cmUgdG8gb2NjdXIgaXMgaWYgdGhlIGRlYnVnZnMKZGlyZWN0b3J5IGFs cmVhZHkgZXhpc3RzLiBUaGlzIGNhbiBoYXBwZW4gaWYgdGhlIGxhc3QgdGltZQptbHg1X3BjaV9j bG9zZSB3YXMgY2FsbGVkLCBkZWJ1Z2ZzX3JlbW92ZSAoc2lsZW50bHkpIGZhaWxlZCBkdWUKdG8g dGhlIGRlYnVnZnMgZGlyZWN0b3J5IG5vdCBiZWluZyBlbXB0eS4KCkd1YXJhbnRlZSB0aGF0IHN1 Y2ggYSBkZWJ1Z2ZzX3JlbW92ZSBmYWlsdXJlIHdpbGwgbm90IG9jY3VyIGJ5Cmluc3RlYWQgY2Fs bGluZyBkZWJ1Z2ZzX3JlbW92ZV9yZWN1cnNpdmUgaW4gcHJvY2VkdXJlIG1seDVfcGNpX2Nsb3Nl LgoKRml4ZXM6IDU5MjExYmQzYjYzMiAoIm5ldC9tbHg1OiBTcGxpdCB0aGUgbG9hZC91bmxvYWQg ZmxvdyBpbnRvIGhhcmR3YXJlIGFuZCBzb2Z0d2FyZSBmbG93cyIpClNpZ25lZC1vZmYtYnk6IEph Y2sgTW9yZ2Vuc3RlaW4gPGphY2ttQGRldi5tZWxsYW5veC5jby5pbD4KUmV2aWV3ZWQtYnk6IERh bmllbCBKdXJnZW5zIDxkYW5pZWxqQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogU2FlZWQg TWFoYW1lZWQgPHNhZWVkbUBtZWxsYW5veC5jb20+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4NS9jb3JlL21haW4uYyB8IDYgKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgNCBp bnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seDUvY29yZS9tYWluLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9t ZWxsYW5veC9tbHg1L2NvcmUvbWFpbi5jCmluZGV4IDY4ZTQ4YjE4ODQ1OC4uZTk5ZjEzODJhNGYw IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvbWFp bi5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9tYWluLmMK QEAgLTg1Nyw4ICs4NTcsMTAgQEAgc3RhdGljIGludCBtbHg1X3BjaV9pbml0KHN0cnVjdCBtbHg1 X2NvcmVfZGV2ICpkZXYsIHN0cnVjdCBtbHg1X3ByaXYgKnByaXYpCiAJcHJpdi0+bnVtYV9ub2Rl ID0gZGV2X3RvX25vZGUoJmRldi0+cGRldi0+ZGV2KTsKIAogCXByaXYtPmRiZ19yb290ID0gZGVi dWdmc19jcmVhdGVfZGlyKGRldl9uYW1lKCZwZGV2LT5kZXYpLCBtbHg1X2RlYnVnZnNfcm9vdCk7 Ci0JaWYgKCFwcml2LT5kYmdfcm9vdCkKKwlpZiAoIXByaXYtPmRiZ19yb290KSB7CisJCWRldl9l cnIoJnBkZXYtPmRldiwgIkNhbm5vdCBjcmVhdGUgZGVidWdmcyBkaXIsIGFib3J0aW5nXG4iKTsK IAkJcmV0dXJuIC1FTk9NRU07CisJfQogCiAJZXJyID0gbWx4NV9wY2lfZW5hYmxlX2RldmljZShk ZXYpOwogCWlmIChlcnIpIHsKQEAgLTkwNyw3ICs5MDksNyBAQCBzdGF0aWMgdm9pZCBtbHg1X3Bj aV9jbG9zZShzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2LCBzdHJ1Y3QgbWx4NV9wcml2ICpwcml2 KQogCXBjaV9jbGVhcl9tYXN0ZXIoZGV2LT5wZGV2KTsKIAlyZWxlYXNlX2JhcihkZXYtPnBkZXYp OwogCW1seDVfcGNpX2Rpc2FibGVfZGV2aWNlKGRldik7Ci0JZGVidWdmc19yZW1vdmUocHJpdi0+ ZGJnX3Jvb3QpOworCWRlYnVnZnNfcmVtb3ZlX3JlY3Vyc2l2ZShwcml2LT5kYmdfcm9vdCk7CiB9 CiAKIHN0YXRpYyBpbnQgbWx4NV9pbml0X29uY2Uoc3RydWN0IG1seDVfY29yZV9kZXYgKmRldiwg c3RydWN0IG1seDVfcHJpdiAqcHJpdikKLS0gCjIuMTcuMQoKCkZyb20gZDVmMmExYmQxYzlhZjUy NTg1YTRjMjMyMDczZWRjZTY0YWQxZWMxYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog UmFlZCBTYWxlbSA8cmFlZHNAbWVsbGFub3guY29tPgpEYXRlOiBUdWUsIDIxIEF1ZyAyMDE4IDE1 OjIyOjQyICswMzAwClN1YmplY3Q6IFtQQVRDSCAwNy8xMV0gbmV0L21seDU6IEUtU3dpdGNoLCBG aXggbWVtb3J5IGxlYWsgd2hlbiBjcmVhdGluZwogc3dpdGNoZGV2IG1vZGUgRkRCIHRhYmxlcwoK WyBVcHN0cmVhbSBjb21taXQgYzg4YTAyNmUwMTIxOTQ4OGU3NDVmNGYwMjY3ZmQ3NmMyYmI2ODQy MSBdCgpUaGUgbWVtb3J5IGFsbG9jYXRlZCBmb3IgdGhlIHNsb3cgcGF0aCB0YWJsZSBmbG93IGdy b3VwIGlucHV0IHN0cnVjdHVyZQp3YXMgbm90IGZyZWVkIHVwb24gc3VjY2Vzc2Z1bCByZXR1cm4s IGZpeCB0aGF0LgoKRml4ZXM6IDE5NjdjZTZlYTVjOCAoIm5ldC9tbHg1OiBFLVN3aXRjaCwgUmVm YWN0b3IgZmFzdCBwYXRoIEZEQiB0YWJsZSBjcmVhdGlvbiBpbiBzd2l0Y2hkZXYgbW9kZSIpClNp Z25lZC1vZmYtYnk6IFJhZWQgU2FsZW0gPHJhZWRzQG1lbGxhbm94LmNvbT4KUmV2aWV3ZWQtYnk6 IE9yIEdlcmxpdHogPG9nZXJsaXR6QG1lbGxhbm94LmNvbT4KU2lnbmVkLW9mZi1ieTogU2FlZWQg TWFoYW1lZWQgPHNhZWVkbUBtZWxsYW5veC5jb20+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2hfb2ZmbG9hZHMuYyB8IDEgKwogMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVs bGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2hfb2ZmbG9hZHMuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0 L21lbGxhbm94L21seDUvY29yZS9lc3dpdGNoX29mZmxvYWRzLmMKaW5kZXggYzY5OTA1NWMwZmZk Li40YjUyYjcyMjEzNWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94 L21seDUvY29yZS9lc3dpdGNoX29mZmxvYWRzLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2hfb2ZmbG9hZHMuYwpAQCAtNTU3LDYgKzU1Nyw3IEBA IHN0YXRpYyBpbnQgZXN3X2NyZWF0ZV9vZmZsb2Fkc19mZGJfdGFibGVzKHN0cnVjdCBtbHg1X2Vz d2l0Y2ggKmVzdywgaW50IG52cG9ydHMpCiAJaWYgKGVycikKIAkJZ290byBtaXNzX3J1bGVfZXJy OwogCisJa3ZmcmVlKGZsb3dfZ3JvdXBfaW4pOwogCXJldHVybiAwOwogCiBtaXNzX3J1bGVfZXJy OgotLSAKMi4xNy4xCgoKRnJvbSBhZWEyNmJkM2RmYjUzYTA0YzU1NDcwZDI1NTE4M2Y2YzMzMGY0 ZDVjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBWYWt1bCBHYXJnIDx2YWt1bC5nYXJn QG54cC5jb20+CkRhdGU6IFRodSwgNiBTZXAgMjAxOCAyMTo0MTo0MCArMDUzMApTdWJqZWN0OiBb UEFUQ0ggMDgvMTFdIG5ldC90bHM6IFNldCBjb3VudCBvZiBTRyBlbnRyaWVzIGlmIHNrX2FsbG9j X3NnIHJldHVybnMKIC1FTk9TUEMKClsgVXBzdHJlYW0gY29tbWl0IDUyZWE5OTJjZmFjMzU3Yjcz MTgwZDVjMDUxZGNhNDNiYzhkMjBjMmEgXQoKdGxzX3N3X3NlbmRtc2coKSBhbGxvY2F0ZXMgcGxh aW50ZXh0IGFuZCBlbmNyeXB0ZWQgU0cgZW50cmllcyB1c2luZwpmdW5jdGlvbiBza19hbGxvY19z ZygpLiBJbiBjYXNlIHRoZSBudW1iZXIgb2YgU0cgZW50cmllcyBoaXQKTUFYX1NLQl9GUkFHUywg c2tfYWxsb2Nfc2coKSByZXR1cm5zIC1FTk9TUEMgYW5kIHNldHMgdGhlIHZhcmlhYmxlIGZvcgpj dXJyZW50IFNHIGluZGV4IHRvICcwJy4gVGhpcyBsZWFkcyB0byBjYWxsaW5nIG9mIGZ1bmN0aW9u CnRsc19wdXNoX3JlY29yZCgpIHdpdGggJ3NnX2VuY3J5cHRlZF9udW1fZWxlbSA9IDAnIGFuZCBs YXRlciBjYXVzZXMKa2VybmVsIGNyYXNoLiBUbyBmaXggdGhpcywgc2V0IHRoZSBudW1iZXIgb2Yg U0cgZWxlbWVudHMgdG8gdGhlIG51bWJlcgpvZiBlbGVtZW50cyBpbiBwbGFpbnRleHQvZW5jcnlw dGVkIFNHIGFycmF5cyBpbiBjYXNlIHNrX2FsbG9jX3NnKCkKcmV0dXJucyAtRU5PU1BDLgoKRml4 ZXM6IDNjNGQ3NTU5MTU5YiAoInRsczoga2VybmVsIFRMUyBzdXBwb3J0IikKU2lnbmVkLW9mZi1i eTogVmFrdWwgR2FyZyA8dmFrdWwuZ2FyZ0BueHAuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBT LiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0L3Rscy90bHNfc3cuYyB8IDYg KysrKysrCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbmV0 L3Rscy90bHNfc3cuYyBiL25ldC90bHMvdGxzX3N3LmMKaW5kZXggZmI3OWNhZjU2ZDBlLi5iODFh YTZkN2RjNDUgMTAwNjQ0Ci0tLSBhL25ldC90bHMvdGxzX3N3LmMKKysrIGIvbmV0L3Rscy90bHNf c3cuYwpAQCAtMTcwLDYgKzE3MCw5IEBAIHN0YXRpYyBpbnQgYWxsb2NfZW5jcnlwdGVkX3NnKHN0 cnVjdCBzb2NrICpzaywgaW50IGxlbikKIAlyYyA9IGFsbG9jX3NnKHNrLCBsZW4sIGN0eC0+c2df ZW5jcnlwdGVkX2RhdGEsCiAJCSAgICAgICZjdHgtPnNnX2VuY3J5cHRlZF9udW1fZWxlbSwgJmN0 eC0+c2dfZW5jcnlwdGVkX3NpemUsIDApOwogCisJaWYgKHJjID09IC1FTk9TUEMpCisJCWN0eC0+ c2dfZW5jcnlwdGVkX251bV9lbGVtID0gQVJSQVlfU0laRShjdHgtPnNnX2VuY3J5cHRlZF9kYXRh KTsKKwogCXJldHVybiByYzsKIH0KIApAQCAtMTgzLDYgKzE4Niw5IEBAIHN0YXRpYyBpbnQgYWxs b2NfcGxhaW50ZXh0X3NnKHN0cnVjdCBzb2NrICpzaywgaW50IGxlbikKIAkJICAgICAgJmN0eC0+ c2dfcGxhaW50ZXh0X251bV9lbGVtLCAmY3R4LT5zZ19wbGFpbnRleHRfc2l6ZSwKIAkJICAgICAg dGxzX2N0eC0+cGVuZGluZ19vcGVuX3JlY29yZF9mcmFncyk7CiAKKwlpZiAocmMgPT0gLUVOT1NQ QykKKwkJY3R4LT5zZ19wbGFpbnRleHRfbnVtX2VsZW0gPSBBUlJBWV9TSVpFKGN0eC0+c2dfcGxh aW50ZXh0X2RhdGEpOworCiAJcmV0dXJuIHJjOwogfQogCi0tIAoyLjE3LjEKCgpGcm9tIDc4Nzhh MzIwMDBjOWE4MmIwNDhiMjJhZmU5Yzk1ZjhmMzM0YjM2NGUgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCkZyb206IEhhaXNodWFuZyBZYW4gPHlhbmhhaXNodWFuZ0BjbXNzLmNoaW5hbW9iaWxlLmNv bT4KRGF0ZTogTW9uLCAxMCBTZXAgMjAxOCAyMjoxOTo0OCArMDgwMApTdWJqZWN0OiBbUEFUQ0gg MDkvMTFdIGVyc3BhbjogZml4IGVycm9yIGhhbmRsaW5nIGZvciBlcnNwYW4gdHVubmVsCgpbIFVw c3RyZWFtIGNvbW1pdCA1MWRjNjNlMzkxMWZiYjFmMGE3YTMyZGEyZmU1NjI1M2UyMDQwZWE0IF0K CldoZW4gcHJvY2Vzc2luZyBpY21wIHVucmVhY2hhYmxlIG1lc3NhZ2UgZm9yIGVyc3BhbiB0dW5u ZWwsIHR1bm5lbCBpZApzaG91bGQgYmUgZXJzcGFuX25ldF9pZCBpbnN0ZWFkIG9mIGlwZ3JlX25l dF9pZC4KCkZpeGVzOiA4NGU1NGZlMGE1ZWEgKCJncmU6IGludHJvZHVjZSBuYXRpdmUgdHVubmVs IHN1cHBvcnQgZm9yIEVSU1BBTiIpCkNjOiBXaWxsaWFtIFR1IDx1OTAxMjA2M0BnbWFpbC5jb20+ ClNpZ25lZC1vZmYtYnk6IEhhaXNodWFuZyBZYW4gPHlhbmhhaXNodWFuZ0BjbXNzLmNoaW5hbW9i aWxlLmNvbT4KQWNrZWQtYnk6IFdpbGxpYW0gVHUgPHU5MDEyMDYzQGdtYWlsLmNvbT4KU2lnbmVk LW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5ldC9p cHY0L2lwX2dyZS5jIHwgMyArKysKIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKCmRp ZmYgLS1naXQgYS9uZXQvaXB2NC9pcF9ncmUuYyBiL25ldC9pcHY0L2lwX2dyZS5jCmluZGV4IDI0 NTllOWNjMjJhNi4uZmNiODA3ZDRmNzY2IDEwMDY0NAotLS0gYS9uZXQvaXB2NC9pcF9ncmUuYwor KysgYi9uZXQvaXB2NC9pcF9ncmUuYwpAQCAtMTc3LDYgKzE3Nyw5IEBAIHN0YXRpYyB2b2lkIGlw Z3JlX2VycihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCB1MzIgaW5mbywKIAogCWlmICh0cGktPnByb3Rv ID09IGh0b25zKEVUSF9QX1RFQikpCiAJCWl0biA9IG5ldF9nZW5lcmljKG5ldCwgZ3JlX3RhcF9u ZXRfaWQpOworCWVsc2UgaWYgKHRwaS0+cHJvdG8gPT0gaHRvbnMoRVRIX1BfRVJTUEFOKSB8fAor CQkgdHBpLT5wcm90byA9PSBodG9ucyhFVEhfUF9FUlNQQU4yKSkKKwkJaXRuID0gbmV0X2dlbmVy aWMobmV0LCBlcnNwYW5fbmV0X2lkKTsKIAllbHNlCiAJCWl0biA9IG5ldF9nZW5lcmljKG5ldCwg aXBncmVfbmV0X2lkKTsKIAotLSAKMi4xNy4xCgoKRnJvbSA4NDUyYTU4MTY0NjA0NzMzYWE2NDky ZGQxYTUyZWE4MDYwOTRlZjZmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBIYWlzaHVh bmcgWWFuIDx5YW5oYWlzaHVhbmdAY21zcy5jaGluYW1vYmlsZS5jb20+CkRhdGU6IE1vbiwgMTAg U2VwIDIwMTggMjI6MTk6NDcgKzA4MDAKU3ViamVjdDogW1BBVENIIDEwLzExXSBlcnNwYW46IHJl dHVybiBQQUNLRVRfUkVKRUNUIHdoZW4gdGhlIGFwcHJvcHJpYXRlCiB0dW5uZWwgaXMgbm90IGZv dW5kCgpbIFVwc3RyZWFtIGNvbW1pdCA1YTY0NTA2YjVjMmMzY2RiMjlkODE3NzIzMjA1MzMwMzc4 MDc1NDQ4IF0KCklmIGVyc3BhbiB0dW5uZWwgaGFzbid0IGJlZW4gZXN0YWJsaXNoZWQsIHdlJ2Qg YmV0dGVyIHNlbmQgaWNtcCBwb3J0CnVucmVhY2hhYmxlIG1lc3NhZ2UgYWZ0ZXIgcmVjZWl2ZSBl cnNwYW4gcGFja2V0cy4KCkZpeGVzOiA4NGU1NGZlMGE1ZWEgKCJncmU6IGludHJvZHVjZSBuYXRp dmUgdHVubmVsIHN1cHBvcnQgZm9yIEVSU1BBTiIpCkNjOiBXaWxsaWFtIFR1IDx1OTAxMjA2M0Bn bWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IEhhaXNodWFuZyBZYW4gPHlhbmhhaXNodWFuZ0BjbXNz LmNoaW5hbW9iaWxlLmNvbT4KQWNrZWQtYnk6IFdpbGxpYW0gVHUgPHU5MDEyMDYzQGdtYWlsLmNv bT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0Pgot LS0KIG5ldC9pcHY0L2lwX2dyZS5jIHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9u cygrKQoKZGlmZiAtLWdpdCBhL25ldC9pcHY0L2lwX2dyZS5jIGIvbmV0L2lwdjQvaXBfZ3JlLmMK aW5kZXggZmNiODA3ZDRmNzY2Li44M2JlNTZmMmFjNzEgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L2lw X2dyZS5jCisrKyBiL25ldC9pcHY0L2lwX2dyZS5jCkBAIC0zMjMsNiArMzIzLDggQEAgc3RhdGlj IGludCBlcnNwYW5fcmN2KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCB0bmxfcHRrX2luZm8g KnRwaSwKIAkJaXBfdHVubmVsX3Jjdih0dW5uZWwsIHNrYiwgdHBpLCB0dW5fZHN0LCBsb2dfZWNu X2Vycm9yKTsKIAkJcmV0dXJuIFBBQ0tFVF9SQ1ZEOwogCX0KKwlyZXR1cm4gUEFDS0VUX1JFSkVD VDsKKwogZHJvcDoKIAlrZnJlZV9za2Ioc2tiKTsKIAlyZXR1cm4gUEFDS0VUX1JDVkQ7Ci0tIAoy LjE3LjEKCgpGcm9tIDdmYWIzZDU0NWFiMWNlYmU3MjMwOTk2ODYyMDU1OWJmNTQxMTM3NDAgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFZpbmNlbnQgV2hpdGNodXJjaCA8dmluY2VudC53 aGl0Y2h1cmNoQGF4aXMuY29tPgpEYXRlOiBUaHUsIDYgU2VwIDIwMTggMTU6NTQ6NTkgKzAyMDAK U3ViamVjdDogW1BBVENIIDExLzExXSB0Y3A6IHJlYWxseSBpZ25vcmUgTVNHX1pFUk9DT1BZIGlm IG5vIFNPX1pFUk9DT1BZCgpbIFVwc3RyZWFtIGNvbW1pdCA1Y2Y0YTg1MzJjOTkyYmIyMmE5ZWNk NWY2ZDkzZjg3M2Y0ZWFjY2MyIF0KCkFjY29yZGluZyB0byB0aGUgZG9jdW1lbnRhdGlvbiBpbiBt c2dfemVyb2NvcHkucnN0LCB0aGUgU09fWkVST0NPUFkKZmxhZyB3YXMgaW50cm9kdWNlZCBiZWNh dXNlIHNlbmQoMikgaWdub3JlcyB1bmtub3duIG1lc3NhZ2UgZmxhZ3MgYW5kCmFueSBsZWdhY3kg YXBwbGljYXRpb24gd2hpY2ggd2FzIGFjY2lkZW50YWxseSBwYXNzaW5nIHRoZSBlcXVpdmFsZW50 IG9mCk1TR19aRVJPQ09QWSBlYXJsaWVyIHNob3VsZCBub3Qgc2VlIGFueSBuZXcgYmVoYXZpb3Vy LgoKQmVmb3JlIGNvbW1pdCBmMjE0ZjkxNWU3ZGIgKCJ0Y3A6IGVuYWJsZSBNU0dfWkVST0NPUFki KSwgYSBzZW5kKDIpIGNhbGwKd2hpY2ggcGFzc2VkIHRoZSBlcXVpdmFsZW50IG9mIE1TR19aRVJP Q09QWSB3aXRob3V0IHNldHRpbmcgU09fWkVST0NPUFkKd291bGQgc3VjY2VlZC4gIEhvd2V2ZXIs IGFmdGVyIHRoYXQgY29tbWl0LCBpdCBmYWlscyB3aXRoIC1FTk9CVUZTLiAgU28KaXQgYXBwZWFy cyB0aGF0IHRoZSBTT19aRVJPQ09QWSBmbGFnIGZhaWxzIHRvIGZ1bGZpbGwgaXRzIGludGVuZGVk CnB1cnBvc2UuICBGaXggaXQuCgpGaXhlczogZjIxNGY5MTVlN2RiICgidGNwOiBlbmFibGUgTVNH X1pFUk9DT1BZIikKU2lnbmVkLW9mZi1ieTogVmluY2VudCBXaGl0Y2h1cmNoIDx2aW5jZW50Lndo aXRjaHVyY2hAYXhpcy5jb20+CkFja2VkLWJ5OiBXaWxsZW0gZGUgQnJ1aWpuIDx3aWxsZW1iQGdv b2dsZS5jb20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0 Lm5ldD4KLS0tCiBuZXQvY29yZS9za2J1ZmYuYyB8IDMgLS0tCiBuZXQvaXB2NC90Y3AuYyAgICB8 IDIgKy0KIDIgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDQgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvbmV0L2NvcmUvc2tidWZmLmMgYi9uZXQvY29yZS9za2J1ZmYuYwppbmRleCAy ZTVlZWJhOTdkZTkuLjgwZGQyYWE2YjNhZCAxMDA2NDQKLS0tIGEvbmV0L2NvcmUvc2tidWZmLmMK KysrIGIvbmV0L2NvcmUvc2tidWZmLmMKQEAgLTkzNyw5ICs5MzcsNiBAQCBzdHJ1Y3QgdWJ1Zl9p bmZvICpzb2NrX3plcm9jb3B5X2FsbG9jKHN0cnVjdCBzb2NrICpzaywgc2l6ZV90IHNpemUpCiAK IAlXQVJOX09OX09OQ0UoIWluX3Rhc2soKSk7CiAKLQlpZiAoIXNvY2tfZmxhZyhzaywgU09DS19a RVJPQ09QWSkpCi0JCXJldHVybiBOVUxMOwotCiAJc2tiID0gc29ja19vbWFsbG9jKHNrLCAwLCBH RlBfS0VSTkVMKTsKIAlpZiAoIXNrYikKIAkJcmV0dXJuIE5VTEw7CmRpZmYgLS1naXQgYS9uZXQv aXB2NC90Y3AuYyBiL25ldC9pcHY0L3RjcC5jCmluZGV4IDc0NjJlYzc1ODdjZS4uZjljOTg1NDYw ZmFhIDEwMDY0NAotLS0gYS9uZXQvaXB2NC90Y3AuYworKysgYi9uZXQvaXB2NC90Y3AuYwpAQCAt MTE3Nyw3ICsxMTc3LDcgQEAgaW50IHRjcF9zZW5kbXNnX2xvY2tlZChzdHJ1Y3Qgc29jayAqc2ss IHN0cnVjdCBtc2doZHIgKm1zZywgc2l6ZV90IHNpemUpCiAKIAlmbGFncyA9IG1zZy0+bXNnX2Zs YWdzOwogCi0JaWYgKGZsYWdzICYgTVNHX1pFUk9DT1BZICYmIHNpemUpIHsKKwlpZiAoZmxhZ3Mg JiBNU0dfWkVST0NPUFkgJiYgc2l6ZSAmJiBzb2NrX2ZsYWcoc2ssIFNPQ0tfWkVST0NPUFkpKSB7 CiAJCWlmIChzay0+c2tfc3RhdGUgIT0gVENQX0VTVEFCTElTSEVEKSB7CiAJCQllcnIgPSAtRUlO VkFMOwogCQkJZ290byBvdXRfZXJyOwotLSAKMi4xNy4xCgo= ----Next_Part(Tue_Sep_18_09_14_58_2018_348)-- Content-Type: Application/Octet-Stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="net_418.mbox" RnJvbSBkMmU1MGIxNmI1NjA3ZDkzNDExODE5YzAzN2NhZWE2MjJlNGQwMWNiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRyIE9yb3MgPHBvcm9zQHJlZGhhdC5jb20+CkRhdGU6IFdl ZCwgNSBTZXAgMjAxOCAxNDozNzo0NSArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMTVdIGJlMm5l dDogRml4IG1lbW9yeSBsZWFrIGluIGJlX2NtZF9nZXRfcHJvZmlsZV9jb25maWcoKQoKWyBVcHN0 cmVhbSBjb21taXQgOWQ3ZjE5ZGM0NjczZmJhZmViZmNiZjMwZWI5MGUwOWZhN2QxYzAzNyBdCgpE TUEgYWxsb2NhdGVkIG1lbW9yeSBpcyBsb3N0IGluIGJlX2NtZF9nZXRfcHJvZmlsZV9jb25maWco KSB3aGVuIHdlCmNhbGwgaXQgd2l0aCBub24tTlVMTCBwb3J0X3JlcyBwYXJhbWV0ZXIuCgpTaWdu ZWQtb2ZmLWJ5OiBQZXRyIE9yb3MgPHBvcm9zQHJlZGhhdC5jb20+ClJldmlld2VkLWJ5OiBJdmFu IFZlY2VyYSA8aXZlY2VyYUByZWRoYXQuY29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxs ZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvZW11bGV4 L2JlbmV0L2JlX2NtZHMuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwg MSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2VtdWxleC9i ZW5ldC9iZV9jbWRzLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9lbXVsZXgvYmVuZXQvYmVfY21k cy5jCmluZGV4IGZmOTJhYjFkYWViOC4uMWU5ZDg4MmMwNGVmIDEwMDY0NAotLS0gYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9lbXVsZXgvYmVuZXQvYmVfY21kcy5jCisrKyBiL2RyaXZlcnMvbmV0L2V0 aGVybmV0L2VtdWxleC9iZW5ldC9iZV9jbWRzLmMKQEAgLTQ1MDAsNyArNDUwMCw3IEBAIGludCBi ZV9jbWRfZ2V0X3Byb2ZpbGVfY29uZmlnKHN0cnVjdCBiZV9hZGFwdGVyICphZGFwdGVyLAogCQkJ CXBvcnRfcmVzLT5tYXhfdmZzICs9IGxlMTZfdG9fY3B1KHBjaWUtPm51bV92ZnMpOwogCQkJfQog CQl9Ci0JCXJldHVybiBzdGF0dXM7CisJCWdvdG8gZXJyOwogCX0KIAogCXBjaWUgPSBiZV9nZXRf cGNpZV9kZXNjKHJlc3AtPmZ1bmNfcGFyYW0sIGRlc2NfY291bnQsCi0tIAoyLjE3LjEKCgpGcm9t IDU3NDIwZTMxNGY5MzUzNzdiM2U5YTQwODcyZWRmOTEyYWVhOWRjMjQgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206IEphY2sgTW9yZ2Vuc3RlaW4gPGphY2ttQGRldi5tZWxsYW5veC5jby5p bD4KRGF0ZTogU3VuLCA1IEF1ZyAyMDE4IDA5OjE5OjMzICswMzAwClN1YmplY3Q6IFtQQVRDSCAw Mi8xNV0gbmV0L21seDU6IEZpeCB1c2UtYWZ0ZXItZnJlZSBpbiBzZWxmLWhlYWxpbmcgZmxvdwoK WyBVcHN0cmVhbSBjb21taXQgNzZkNTU4MWM4NzA0NTRiZTVmMWYxYTEwNmM1Nzk4NTkwMmU3ZWEy MCBdCgpXaGVuIHRoZSBtbHg1IGhlYWx0aCBtZWNoYW5pc20gZGV0ZWN0cyBhIHByb2JsZW0gd2hp bGUgdGhlIGRyaXZlcgppcyBpbiB0aGUgbWlkZGxlIG9mIGluaXRfb25lIG9yIHJlbW92ZV9vbmUs IHRoZSBkcml2ZXIgbmVlZHMgdG8gcHJldmVudAp0aGUgaGVhbHRoIG1lY2hhbmlzbSBmcm9tIHNj aGVkdWxpbmcgZnV0dXJlIHdvcms7IGlmIGZ1dHVyZSB3b3JrCmlzIHNjaGVkdWxlZCwgdGhlcmUg aXMgYSBwcm9ibGVtIHdpdGggdXNlLWFmdGVyLWZyZWU6IHRoZSBzeXN0ZW0gV1EKdHJpZXMgdG8g cnVuIHRoZSB3b3JrIGl0ZW0gKHdoaWNoIGhhcyBiZWVuIGZyZWVkKSBhdCB0aGUgc2NoZWR1bGVk CmZ1dHVyZSB0aW1lLgoKUHJldmVudCB0aGlzIGJ5IGRpc2FibGluZyB3b3JrIGl0ZW0gc2NoZWR1 bGluZyBpbiB0aGUgaGVhbHRoIG1lY2hhbmlzbQp3aGVuIHRoZSBkcml2ZXIgaXMgaW4gdGhlIG1p ZGRsZSBvZiBpbml0X29uZSgpIG9yIHJlbW92ZV9vbmUoKS4KCkZpeGVzOiBlMTI2YmE5N2RiYTkg KCJtbHg1OiBBZGQgZHJpdmVyIGZvciBNZWxsYW5veCBDb25uZWN0LUlCIGFkYXB0ZXJzIikKU2ln bmVkLW9mZi1ieTogSmFjayBNb3JnZW5zdGVpbiA8amFja21AZGV2Lm1lbGxhbm94LmNvLmlsPgpS ZXZpZXdlZC1ieTogRmVyYXMgRGFvdWQgPGZlcmFzZGFAbWVsbGFub3guY29tPgpTaWduZWQtb2Zm LWJ5OiBTYWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KLS0tCiBkcml2ZXJzL25l dC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvaGVhbHRoLmMgfCAxMCArKysrKysrKystCiBk cml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvbWFpbi5jICAgfCAgNiArKyst LS0KIGluY2x1ZGUvbGludXgvbWx4NS9kcml2ZXIuaCAgICAgICAgICAgICAgICAgICAgICB8ICAy ICstCiAzIGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2hlYWx0 aC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2hlYWx0aC5jCmlu ZGV4IGQzOWIwYjcwMTFiMi4uOWYzOWFlY2E4NjNmIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9l dGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvaGVhbHRoLmMKKysrIGIvZHJpdmVycy9uZXQvZXRo ZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2hlYWx0aC5jCkBAIC0zMzEsOSArMzMxLDE3IEBAIHZv aWQgbWx4NV9zdGFydF9oZWFsdGhfcG9sbChzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2KQogCWFk ZF90aW1lcigmaGVhbHRoLT50aW1lcik7CiB9CiAKLXZvaWQgbWx4NV9zdG9wX2hlYWx0aF9wb2xs KHN0cnVjdCBtbHg1X2NvcmVfZGV2ICpkZXYpCit2b2lkIG1seDVfc3RvcF9oZWFsdGhfcG9sbChz dHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2LCBib29sIGRpc2FibGVfaGVhbHRoKQogewogCXN0cnVj dCBtbHg1X2NvcmVfaGVhbHRoICpoZWFsdGggPSAmZGV2LT5wcml2LmhlYWx0aDsKKwl1bnNpZ25l ZCBsb25nIGZsYWdzOworCisJaWYgKGRpc2FibGVfaGVhbHRoKSB7CisJCXNwaW5fbG9ja19pcnFz YXZlKCZoZWFsdGgtPndxX2xvY2ssIGZsYWdzKTsKKwkJc2V0X2JpdChNTFg1X0RST1BfTkVXX0hF QUxUSF9XT1JLLCAmaGVhbHRoLT5mbGFncyk7CisJCXNldF9iaXQoTUxYNV9EUk9QX05FV19SRUNP VkVSWV9XT1JLLCAmaGVhbHRoLT5mbGFncyk7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmhl YWx0aC0+d3FfbG9jaywgZmxhZ3MpOworCX0KIAogCWRlbF90aW1lcl9zeW5jKCZoZWFsdGgtPnRp bWVyKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUv Y29yZS9tYWluLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvbWFp bi5jCmluZGV4IDYxNTAwNWU2MzgxOS4uMjYwZWZhMDdlZTlkIDEwMDY0NAotLS0gYS9kcml2ZXJz L25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvbWFpbi5jCisrKyBiL2RyaXZlcnMvbmV0 L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9tYWluLmMKQEAgLTEyNjYsNyArMTI2Niw3IEBA IHN0YXRpYyBpbnQgbWx4NV9sb2FkX29uZShzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2LCBzdHJ1 Y3QgbWx4NV9wcml2ICpwcml2LAogCQltbHg1X2NsZWFudXBfb25jZShkZXYpOwogCiBlcnJfc3Rv cF9wb2xsOgotCW1seDVfc3RvcF9oZWFsdGhfcG9sbChkZXYpOworCW1seDVfc3RvcF9oZWFsdGhf cG9sbChkZXYsIGJvb3QpOwogCWlmIChtbHg1X2NtZF90ZWFyZG93bl9oY2EoZGV2KSkgewogCQlk ZXZfZXJyKCZkZXYtPnBkZXYtPmRldiwgInRlYXJfZG93bl9oY2EgZmFpbGVkLCBza2lwIGNsZWFu dXBcbiIpOwogCQlnb3RvIG91dF9lcnI7CkBAIC0xMzI1LDcgKzEzMjUsNyBAQCBzdGF0aWMgaW50 IG1seDVfdW5sb2FkX29uZShzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2LCBzdHJ1Y3QgbWx4NV9w cml2ICpwcml2LAogCW1seDVfZnJlZV9pcnFfdmVjdG9ycyhkZXYpOwogCWlmIChjbGVhbnVwKQog CQltbHg1X2NsZWFudXBfb25jZShkZXYpOwotCW1seDVfc3RvcF9oZWFsdGhfcG9sbChkZXYpOwor CW1seDVfc3RvcF9oZWFsdGhfcG9sbChkZXYsIGNsZWFudXApOwogCWVyciA9IG1seDVfY21kX3Rl YXJkb3duX2hjYShkZXYpOwogCWlmIChlcnIpIHsKIAkJZGV2X2VycigmZGV2LT5wZGV2LT5kZXYs ICJ0ZWFyX2Rvd25faGNhIGZhaWxlZCwgc2tpcCBjbGVhbnVwXG4iKTsKQEAgLTE1ODcsNyArMTU4 Nyw3IEBAIHN0YXRpYyBpbnQgbWx4NV90cnlfZmFzdF91bmxvYWQoc3RydWN0IG1seDVfY29yZV9k ZXYgKmRldikKIAkgKiB3aXRoIHRoZSBIQ0EsIHNvIHRoZSBoZWFsdGggcG9sbGwgaXMgbm8gbG9u Z2VyIG5lZWRlZC4KIAkgKi8KIAltbHg1X2RyYWluX2hlYWx0aF93cShkZXYpOwotCW1seDVfc3Rv cF9oZWFsdGhfcG9sbChkZXYpOworCW1seDVfc3RvcF9oZWFsdGhfcG9sbChkZXYsIGZhbHNlKTsK IAogCXJldCA9IG1seDVfY21kX2ZvcmNlX3RlYXJkb3duX2hjYShkZXYpOwogCWlmIChyZXQpIHsK ZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbWx4NS9kcml2ZXIuaCBiL2luY2x1ZGUvbGludXgv bWx4NS9kcml2ZXIuaAppbmRleCA4Mzk1NzkyMDY1M2EuLjAxYTFhOGJhZWI5ZCAxMDA2NDQKLS0t IGEvaW5jbHVkZS9saW51eC9tbHg1L2RyaXZlci5oCisrKyBiL2luY2x1ZGUvbGludXgvbWx4NS9k cml2ZXIuaApAQCAtMTA0Miw3ICsxMDQyLDcgQEAgaW50IG1seDVfY21kX2ZyZWVfdWFyKHN0cnVj dCBtbHg1X2NvcmVfZGV2ICpkZXYsIHUzMiB1YXJuKTsKIHZvaWQgbWx4NV9oZWFsdGhfY2xlYW51 cChzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2KTsKIGludCBtbHg1X2hlYWx0aF9pbml0KHN0cnVj dCBtbHg1X2NvcmVfZGV2ICpkZXYpOwogdm9pZCBtbHg1X3N0YXJ0X2hlYWx0aF9wb2xsKHN0cnVj dCBtbHg1X2NvcmVfZGV2ICpkZXYpOwotdm9pZCBtbHg1X3N0b3BfaGVhbHRoX3BvbGwoc3RydWN0 IG1seDVfY29yZV9kZXYgKmRldik7Cit2b2lkIG1seDVfc3RvcF9oZWFsdGhfcG9sbChzdHJ1Y3Qg bWx4NV9jb3JlX2RldiAqZGV2LCBib29sIGRpc2FibGVfaGVhbHRoKTsKIHZvaWQgbWx4NV9kcmFp bl9oZWFsdGhfd3Eoc3RydWN0IG1seDVfY29yZV9kZXYgKmRldik7CiB2b2lkIG1seDVfdHJpZ2dl cl9oZWFsdGhfd29yayhzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2KTsKIHZvaWQgbWx4NV9kcmFp bl9oZWFsdGhfcmVjb3Zlcnkoc3RydWN0IG1seDVfY29yZV9kZXYgKmRldik7Ci0tIAoyLjE3LjEK CgpGcm9tIDdmNTdmMzU5ZjRiMTU0NjU2YThhMWU2OTEyZjk5MDFiZDFkN2Q0ZDggTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IFN0ZWZhbiBXYWhyZW4gPHN0ZWZhbi53YWhyZW5AaTJzZS5j b20+CkRhdGU6IFdlZCwgNSBTZXAgMjAxOCAxNToyMzoxOCArMDIwMApTdWJqZWN0OiBbUEFUQ0gg MDMvMTVdIG5ldDogcWNhX3NwaTogRml4IHJhY2UgY29uZGl0aW9uIGluIHNwaSB0cmFuc2ZlcnMK ClsgVXBzdHJlYW0gY29tbWl0IGU2NWE5ZTQ4MGU5MWRkZjllMTUxNTU0NTRkMzcwY2VhZDY0Njg5 YzggXQoKV2l0aCBwZXJmb3JtYW5jZSBvcHRpbWl6YXRpb24gdGhlIHNwaSB0cmFuc2ZlciBhbmQg bWVzc2FnZXMgb2YgYmFzaWMKcmVnaXN0ZXIgb3BlcmF0aW9ucyBsaWtlIHFjYXNwaV9yZWFkX3Jl Z2lzdGVyIG1vdmVkIGludG8gdGhlIHByaXZhdGUKZHJpdmVyIHN0cnVjdHVyZS4gQnV0IHRoZXkg d2VyZW4ndCBwcm90ZWN0ZWQgYWdhaW5zdCBtdXR1YWwgYWNjZXNzCihlLmcuIGJldHdlZW4gZHJp dmVyIGt0aHJlYWQgYW5kIGV0aHRvb2wpLiBTbyBkdW1waW5nIHRoZSBRQ0E3MDAwCnJlZ2lzdGVy cyB2aWEgZXRodG9vbCBkdXJpbmcgbmV0d29yayB0cmFmZmljIGNvdWxkIG1ha2Ugc3BpX3N5bmMK aGFuZyBmb3JldmVyLCBiZWNhdXNlIHRoZSBjb21wbGV0aW9uIGluIHNwaV9tZXNzYWdlIGlzIG92 ZXJ3cml0dGVuLgoKU28gcmV2ZXJ0IHRoZSBvcHRpbWl6YXRpb24gY29tcGxldGVseS4KCkZpeGVz OiAyOTFhYjA2ZWNmNjc2ICgibmV0OiBxdWFsY29tbTogbmV3IEV0aGVybmV0IG92ZXIgU1BJIGRy aXZlciBmb3IgUUNBNzAwIikKU2lnbmVkLW9mZi1ieTogU3RlZmFuIFdhaHJlbiA8c3RlZmFuLndh aHJlbkBpMnNlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZl bWxvZnQubmV0PgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L3F1YWxjb21tL3FjYV83ay5jICB8 ICA3NiArKysrKysrKy0tLS0tLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9xdWFsY29tbS9xY2Ff c3BpLmMgfCAxMTAgKysrKysrKysrKysrLS0tLS0tLS0tLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5l dC9xdWFsY29tbS9xY2Ffc3BpLmggfCAgIDUgLS0KIDMgZmlsZXMgY2hhbmdlZCwgOTMgaW5zZXJ0 aW9ucygrKSwgOTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJu ZXQvcXVhbGNvbW0vcWNhXzdrLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9xdWFsY29tbS9xY2Ff N2suYwppbmRleCBmZmU3YTE2YmRmYzguLjZjODU0M2ZiOTBjMCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9uZXQvZXRoZXJuZXQvcXVhbGNvbW0vcWNhXzdrLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJu ZXQvcXVhbGNvbW0vcWNhXzdrLmMKQEAgLTQ1LDM0ICs0NSwzMyBAQCBxY2FzcGlfcmVhZF9yZWdp c3RlcihzdHJ1Y3QgcWNhc3BpICpxY2EsIHUxNiByZWcsIHUxNiAqcmVzdWx0KQogewogCV9fYmUx NiByeF9kYXRhOwogCV9fYmUxNiB0eF9kYXRhOwotCXN0cnVjdCBzcGlfdHJhbnNmZXIgKnRyYW5z ZmVyOwotCXN0cnVjdCBzcGlfbWVzc2FnZSAqbXNnOworCXN0cnVjdCBzcGlfdHJhbnNmZXIgdHJh bnNmZXJbMl07CisJc3RydWN0IHNwaV9tZXNzYWdlIG1zZzsKIAlpbnQgcmV0OwogCisJbWVtc2V0 KHRyYW5zZmVyLCAwLCBzaXplb2YodHJhbnNmZXIpKTsKKworCXNwaV9tZXNzYWdlX2luaXQoJm1z Zyk7CisKIAl0eF9kYXRhID0gY3B1X3RvX2JlMTYoUUNBN0tfU1BJX1JFQUQgfCBRQ0E3S19TUElf SU5URVJOQUwgfCByZWcpOworCSpyZXN1bHQgPSAwOworCisJdHJhbnNmZXJbMF0udHhfYnVmID0g JnR4X2RhdGE7CisJdHJhbnNmZXJbMF0ubGVuID0gUUNBU1BJX0NNRF9MRU47CisJdHJhbnNmZXJb MV0ucnhfYnVmID0gJnJ4X2RhdGE7CisJdHJhbnNmZXJbMV0ubGVuID0gUUNBU1BJX0NNRF9MRU47 CisKKwlzcGlfbWVzc2FnZV9hZGRfdGFpbCgmdHJhbnNmZXJbMF0sICZtc2cpOwogCiAJaWYgKHFj YS0+bGVnYWN5X21vZGUpIHsKLQkJbXNnID0gJnFjYS0+c3BpX21zZzE7Ci0JCXRyYW5zZmVyID0g JnFjYS0+c3BpX3hmZXIxOwotCQl0cmFuc2Zlci0+dHhfYnVmID0gJnR4X2RhdGE7Ci0JCXRyYW5z ZmVyLT5yeF9idWYgPSBOVUxMOwotCQl0cmFuc2Zlci0+bGVuID0gUUNBU1BJX0NNRF9MRU47Ci0J CXNwaV9zeW5jKHFjYS0+c3BpX2RldiwgbXNnKTsKLQl9IGVsc2UgewotCQltc2cgPSAmcWNhLT5z cGlfbXNnMjsKLQkJdHJhbnNmZXIgPSAmcWNhLT5zcGlfeGZlcjJbMF07Ci0JCXRyYW5zZmVyLT50 eF9idWYgPSAmdHhfZGF0YTsKLQkJdHJhbnNmZXItPnJ4X2J1ZiA9IE5VTEw7Ci0JCXRyYW5zZmVy LT5sZW4gPSBRQ0FTUElfQ01EX0xFTjsKLQkJdHJhbnNmZXIgPSAmcWNhLT5zcGlfeGZlcjJbMV07 CisJCXNwaV9zeW5jKHFjYS0+c3BpX2RldiwgJm1zZyk7CisJCXNwaV9tZXNzYWdlX2luaXQoJm1z Zyk7CiAJfQotCXRyYW5zZmVyLT50eF9idWYgPSBOVUxMOwotCXRyYW5zZmVyLT5yeF9idWYgPSAm cnhfZGF0YTsKLQl0cmFuc2Zlci0+bGVuID0gUUNBU1BJX0NNRF9MRU47Ci0JcmV0ID0gc3BpX3N5 bmMocWNhLT5zcGlfZGV2LCBtc2cpOworCXNwaV9tZXNzYWdlX2FkZF90YWlsKCZ0cmFuc2Zlclsx XSwgJm1zZyk7CisJcmV0ID0gc3BpX3N5bmMocWNhLT5zcGlfZGV2LCAmbXNnKTsKIAogCWlmICgh cmV0KQotCQlyZXQgPSBtc2ctPnN0YXR1czsKKwkJcmV0ID0gbXNnLnN0YXR1czsKIAogCWlmIChy ZXQpCiAJCXFjYXNwaV9zcGlfZXJyb3IocWNhKTsKQEAgLTg2LDM1ICs4NSwzMiBAQCBpbnQKIHFj YXNwaV93cml0ZV9yZWdpc3RlcihzdHJ1Y3QgcWNhc3BpICpxY2EsIHUxNiByZWcsIHUxNiB2YWx1 ZSkKIHsKIAlfX2JlMTYgdHhfZGF0YVsyXTsKLQlzdHJ1Y3Qgc3BpX3RyYW5zZmVyICp0cmFuc2Zl cjsKLQlzdHJ1Y3Qgc3BpX21lc3NhZ2UgKm1zZzsKKwlzdHJ1Y3Qgc3BpX3RyYW5zZmVyIHRyYW5z ZmVyWzJdOworCXN0cnVjdCBzcGlfbWVzc2FnZSBtc2c7CiAJaW50IHJldDsKIAorCW1lbXNldCgm dHJhbnNmZXIsIDAsIHNpemVvZih0cmFuc2ZlcikpOworCisJc3BpX21lc3NhZ2VfaW5pdCgmbXNn KTsKKwogCXR4X2RhdGFbMF0gPSBjcHVfdG9fYmUxNihRQ0E3S19TUElfV1JJVEUgfCBRQ0E3S19T UElfSU5URVJOQUwgfCByZWcpOwogCXR4X2RhdGFbMV0gPSBjcHVfdG9fYmUxNih2YWx1ZSk7CiAK Kwl0cmFuc2ZlclswXS50eF9idWYgPSAmdHhfZGF0YVswXTsKKwl0cmFuc2ZlclswXS5sZW4gPSBR Q0FTUElfQ01EX0xFTjsKKwl0cmFuc2ZlclsxXS50eF9idWYgPSAmdHhfZGF0YVsxXTsKKwl0cmFu c2ZlclsxXS5sZW4gPSBRQ0FTUElfQ01EX0xFTjsKKworCXNwaV9tZXNzYWdlX2FkZF90YWlsKCZ0 cmFuc2ZlclswXSwgJm1zZyk7CiAJaWYgKHFjYS0+bGVnYWN5X21vZGUpIHsKLQkJbXNnID0gJnFj YS0+c3BpX21zZzE7Ci0JCXRyYW5zZmVyID0gJnFjYS0+c3BpX3hmZXIxOwotCQl0cmFuc2Zlci0+ dHhfYnVmID0gJnR4X2RhdGFbMF07Ci0JCXRyYW5zZmVyLT5yeF9idWYgPSBOVUxMOwotCQl0cmFu c2Zlci0+bGVuID0gUUNBU1BJX0NNRF9MRU47Ci0JCXNwaV9zeW5jKHFjYS0+c3BpX2RldiwgbXNn KTsKLQl9IGVsc2UgewotCQltc2cgPSAmcWNhLT5zcGlfbXNnMjsKLQkJdHJhbnNmZXIgPSAmcWNh LT5zcGlfeGZlcjJbMF07Ci0JCXRyYW5zZmVyLT50eF9idWYgPSAmdHhfZGF0YVswXTsKLQkJdHJh bnNmZXItPnJ4X2J1ZiA9IE5VTEw7Ci0JCXRyYW5zZmVyLT5sZW4gPSBRQ0FTUElfQ01EX0xFTjsK LQkJdHJhbnNmZXIgPSAmcWNhLT5zcGlfeGZlcjJbMV07CisJCXNwaV9zeW5jKHFjYS0+c3BpX2Rl diwgJm1zZyk7CisJCXNwaV9tZXNzYWdlX2luaXQoJm1zZyk7CiAJfQotCXRyYW5zZmVyLT50eF9i dWYgPSAmdHhfZGF0YVsxXTsKLQl0cmFuc2Zlci0+cnhfYnVmID0gTlVMTDsKLQl0cmFuc2Zlci0+ bGVuID0gUUNBU1BJX0NNRF9MRU47Ci0JcmV0ID0gc3BpX3N5bmMocWNhLT5zcGlfZGV2LCBtc2cp OworCXNwaV9tZXNzYWdlX2FkZF90YWlsKCZ0cmFuc2ZlclsxXSwgJm1zZyk7CisJcmV0ID0gc3Bp X3N5bmMocWNhLT5zcGlfZGV2LCAmbXNnKTsKIAogCWlmICghcmV0KQotCQlyZXQgPSBtc2ctPnN0 YXR1czsKKwkJcmV0ID0gbXNnLnN0YXR1czsKIAogCWlmIChyZXQpCiAJCXFjYXNwaV9zcGlfZXJy b3IocWNhKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3F1YWxjb21tL3FjYV9z cGkuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3F1YWxjb21tL3FjYV9zcGkuYwppbmRleCAyMDZm MDI2NjQ2M2UuLjY2Yjc3NWQ0NjJmZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQv cXVhbGNvbW0vcWNhX3NwaS5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3F1YWxjb21tL3Fj YV9zcGkuYwpAQCAtOTksMjIgKzk5LDI0IEBAIHN0YXRpYyB1MzIKIHFjYXNwaV93cml0ZV9idXJz dChzdHJ1Y3QgcWNhc3BpICpxY2EsIHU4ICpzcmMsIHUzMiBsZW4pCiB7CiAJX19iZTE2IGNtZDsK LQlzdHJ1Y3Qgc3BpX21lc3NhZ2UgKm1zZyA9ICZxY2EtPnNwaV9tc2cyOwotCXN0cnVjdCBzcGlf dHJhbnNmZXIgKnRyYW5zZmVyID0gJnFjYS0+c3BpX3hmZXIyWzBdOworCXN0cnVjdCBzcGlfbWVz c2FnZSBtc2c7CisJc3RydWN0IHNwaV90cmFuc2ZlciB0cmFuc2ZlclsyXTsKIAlpbnQgcmV0Owog CisJbWVtc2V0KCZ0cmFuc2ZlciwgMCwgc2l6ZW9mKHRyYW5zZmVyKSk7CisJc3BpX21lc3NhZ2Vf aW5pdCgmbXNnKTsKKwogCWNtZCA9IGNwdV90b19iZTE2KFFDQTdLX1NQSV9XUklURSB8IFFDQTdL X1NQSV9FWFRFUk5BTCk7Ci0JdHJhbnNmZXItPnR4X2J1ZiA9ICZjbWQ7Ci0JdHJhbnNmZXItPnJ4 X2J1ZiA9IE5VTEw7Ci0JdHJhbnNmZXItPmxlbiA9IFFDQVNQSV9DTURfTEVOOwotCXRyYW5zZmVy ID0gJnFjYS0+c3BpX3hmZXIyWzFdOwotCXRyYW5zZmVyLT50eF9idWYgPSBzcmM7Ci0JdHJhbnNm ZXItPnJ4X2J1ZiA9IE5VTEw7Ci0JdHJhbnNmZXItPmxlbiA9IGxlbjsKKwl0cmFuc2ZlclswXS50 eF9idWYgPSAmY21kOworCXRyYW5zZmVyWzBdLmxlbiA9IFFDQVNQSV9DTURfTEVOOworCXRyYW5z ZmVyWzFdLnR4X2J1ZiA9IHNyYzsKKwl0cmFuc2ZlclsxXS5sZW4gPSBsZW47CiAKLQlyZXQgPSBz cGlfc3luYyhxY2EtPnNwaV9kZXYsIG1zZyk7CisJc3BpX21lc3NhZ2VfYWRkX3RhaWwoJnRyYW5z ZmVyWzBdLCAmbXNnKTsKKwlzcGlfbWVzc2FnZV9hZGRfdGFpbCgmdHJhbnNmZXJbMV0sICZtc2cp OworCXJldCA9IHNwaV9zeW5jKHFjYS0+c3BpX2RldiwgJm1zZyk7CiAKLQlpZiAocmV0IHx8ICht c2ctPmFjdHVhbF9sZW5ndGggIT0gUUNBU1BJX0NNRF9MRU4gKyBsZW4pKSB7CisJaWYgKHJldCB8 fCAobXNnLmFjdHVhbF9sZW5ndGggIT0gUUNBU1BJX0NNRF9MRU4gKyBsZW4pKSB7CiAJCXFjYXNw aV9zcGlfZXJyb3IocWNhKTsKIAkJcmV0dXJuIDA7CiAJfQpAQCAtMTI1LDE3ICsxMjcsMjAgQEAg cWNhc3BpX3dyaXRlX2J1cnN0KHN0cnVjdCBxY2FzcGkgKnFjYSwgdTggKnNyYywgdTMyIGxlbikK IHN0YXRpYyB1MzIKIHFjYXNwaV93cml0ZV9sZWdhY3koc3RydWN0IHFjYXNwaSAqcWNhLCB1OCAq c3JjLCB1MzIgbGVuKQogewotCXN0cnVjdCBzcGlfbWVzc2FnZSAqbXNnID0gJnFjYS0+c3BpX21z ZzE7Ci0Jc3RydWN0IHNwaV90cmFuc2ZlciAqdHJhbnNmZXIgPSAmcWNhLT5zcGlfeGZlcjE7CisJ c3RydWN0IHNwaV9tZXNzYWdlIG1zZzsKKwlzdHJ1Y3Qgc3BpX3RyYW5zZmVyIHRyYW5zZmVyOwog CWludCByZXQ7CiAKLQl0cmFuc2Zlci0+dHhfYnVmID0gc3JjOwotCXRyYW5zZmVyLT5yeF9idWYg PSBOVUxMOwotCXRyYW5zZmVyLT5sZW4gPSBsZW47CisJbWVtc2V0KCZ0cmFuc2ZlciwgMCwgc2l6 ZW9mKHRyYW5zZmVyKSk7CisJc3BpX21lc3NhZ2VfaW5pdCgmbXNnKTsKKworCXRyYW5zZmVyLnR4 X2J1ZiA9IHNyYzsKKwl0cmFuc2Zlci5sZW4gPSBsZW47CiAKLQlyZXQgPSBzcGlfc3luYyhxY2Et PnNwaV9kZXYsIG1zZyk7CisJc3BpX21lc3NhZ2VfYWRkX3RhaWwoJnRyYW5zZmVyLCAmbXNnKTsK KwlyZXQgPSBzcGlfc3luYyhxY2EtPnNwaV9kZXYsICZtc2cpOwogCi0JaWYgKHJldCB8fCAobXNn LT5hY3R1YWxfbGVuZ3RoICE9IGxlbikpIHsKKwlpZiAocmV0IHx8IChtc2cuYWN0dWFsX2xlbmd0 aCAhPSBsZW4pKSB7CiAJCXFjYXNwaV9zcGlfZXJyb3IocWNhKTsKIAkJcmV0dXJuIDA7CiAJfQpA QCAtMTQ2LDIzICsxNTEsMjUgQEAgcWNhc3BpX3dyaXRlX2xlZ2FjeShzdHJ1Y3QgcWNhc3BpICpx Y2EsIHU4ICpzcmMsIHUzMiBsZW4pCiBzdGF0aWMgdTMyCiBxY2FzcGlfcmVhZF9idXJzdChzdHJ1 Y3QgcWNhc3BpICpxY2EsIHU4ICpkc3QsIHUzMiBsZW4pCiB7Ci0Jc3RydWN0IHNwaV9tZXNzYWdl ICptc2cgPSAmcWNhLT5zcGlfbXNnMjsKKwlzdHJ1Y3Qgc3BpX21lc3NhZ2UgbXNnOwogCV9fYmUx NiBjbWQ7Ci0Jc3RydWN0IHNwaV90cmFuc2ZlciAqdHJhbnNmZXIgPSAmcWNhLT5zcGlfeGZlcjJb MF07CisJc3RydWN0IHNwaV90cmFuc2ZlciB0cmFuc2ZlclsyXTsKIAlpbnQgcmV0OwogCisJbWVt c2V0KCZ0cmFuc2ZlciwgMCwgc2l6ZW9mKHRyYW5zZmVyKSk7CisJc3BpX21lc3NhZ2VfaW5pdCgm bXNnKTsKKwogCWNtZCA9IGNwdV90b19iZTE2KFFDQTdLX1NQSV9SRUFEIHwgUUNBN0tfU1BJX0VY VEVSTkFMKTsKLQl0cmFuc2Zlci0+dHhfYnVmID0gJmNtZDsKLQl0cmFuc2Zlci0+cnhfYnVmID0g TlVMTDsKLQl0cmFuc2Zlci0+bGVuID0gUUNBU1BJX0NNRF9MRU47Ci0JdHJhbnNmZXIgPSAmcWNh LT5zcGlfeGZlcjJbMV07Ci0JdHJhbnNmZXItPnR4X2J1ZiA9IE5VTEw7Ci0JdHJhbnNmZXItPnJ4 X2J1ZiA9IGRzdDsKLQl0cmFuc2Zlci0+bGVuID0gbGVuOworCXRyYW5zZmVyWzBdLnR4X2J1ZiA9 ICZjbWQ7CisJdHJhbnNmZXJbMF0ubGVuID0gUUNBU1BJX0NNRF9MRU47CisJdHJhbnNmZXJbMV0u cnhfYnVmID0gZHN0OworCXRyYW5zZmVyWzFdLmxlbiA9IGxlbjsKIAotCXJldCA9IHNwaV9zeW5j KHFjYS0+c3BpX2RldiwgbXNnKTsKKwlzcGlfbWVzc2FnZV9hZGRfdGFpbCgmdHJhbnNmZXJbMF0s ICZtc2cpOworCXNwaV9tZXNzYWdlX2FkZF90YWlsKCZ0cmFuc2ZlclsxXSwgJm1zZyk7CisJcmV0 ID0gc3BpX3N5bmMocWNhLT5zcGlfZGV2LCAmbXNnKTsKIAotCWlmIChyZXQgfHwgKG1zZy0+YWN0 dWFsX2xlbmd0aCAhPSBRQ0FTUElfQ01EX0xFTiArIGxlbikpIHsKKwlpZiAocmV0IHx8IChtc2cu YWN0dWFsX2xlbmd0aCAhPSBRQ0FTUElfQ01EX0xFTiArIGxlbikpIHsKIAkJcWNhc3BpX3NwaV9l cnJvcihxY2EpOwogCQlyZXR1cm4gMDsKIAl9CkBAIC0xNzMsMTcgKzE4MCwyMCBAQCBxY2FzcGlf cmVhZF9idXJzdChzdHJ1Y3QgcWNhc3BpICpxY2EsIHU4ICpkc3QsIHUzMiBsZW4pCiBzdGF0aWMg dTMyCiBxY2FzcGlfcmVhZF9sZWdhY3koc3RydWN0IHFjYXNwaSAqcWNhLCB1OCAqZHN0LCB1MzIg bGVuKQogewotCXN0cnVjdCBzcGlfbWVzc2FnZSAqbXNnID0gJnFjYS0+c3BpX21zZzE7Ci0Jc3Ry dWN0IHNwaV90cmFuc2ZlciAqdHJhbnNmZXIgPSAmcWNhLT5zcGlfeGZlcjE7CisJc3RydWN0IHNw aV9tZXNzYWdlIG1zZzsKKwlzdHJ1Y3Qgc3BpX3RyYW5zZmVyIHRyYW5zZmVyOwogCWludCByZXQ7 CiAKLQl0cmFuc2Zlci0+dHhfYnVmID0gTlVMTDsKLQl0cmFuc2Zlci0+cnhfYnVmID0gZHN0Owot CXRyYW5zZmVyLT5sZW4gPSBsZW47CisJbWVtc2V0KCZ0cmFuc2ZlciwgMCwgc2l6ZW9mKHRyYW5z ZmVyKSk7CisJc3BpX21lc3NhZ2VfaW5pdCgmbXNnKTsKIAotCXJldCA9IHNwaV9zeW5jKHFjYS0+ c3BpX2RldiwgbXNnKTsKKwl0cmFuc2Zlci5yeF9idWYgPSBkc3Q7CisJdHJhbnNmZXIubGVuID0g bGVuOwogCi0JaWYgKHJldCB8fCAobXNnLT5hY3R1YWxfbGVuZ3RoICE9IGxlbikpIHsKKwlzcGlf bWVzc2FnZV9hZGRfdGFpbCgmdHJhbnNmZXIsICZtc2cpOworCXJldCA9IHNwaV9zeW5jKHFjYS0+ c3BpX2RldiwgJm1zZyk7CisKKwlpZiAocmV0IHx8IChtc2cuYWN0dWFsX2xlbmd0aCAhPSBsZW4p KSB7CiAJCXFjYXNwaV9zcGlfZXJyb3IocWNhKTsKIAkJcmV0dXJuIDA7CiAJfQpAQCAtMTk1LDE5 ICsyMDUsMjMgQEAgc3RhdGljIGludAogcWNhc3BpX3R4X2NtZChzdHJ1Y3QgcWNhc3BpICpxY2Es IHUxNiBjbWQpCiB7CiAJX19iZTE2IHR4X2RhdGE7Ci0Jc3RydWN0IHNwaV9tZXNzYWdlICptc2cg PSAmcWNhLT5zcGlfbXNnMTsKLQlzdHJ1Y3Qgc3BpX3RyYW5zZmVyICp0cmFuc2ZlciA9ICZxY2Et PnNwaV94ZmVyMTsKKwlzdHJ1Y3Qgc3BpX21lc3NhZ2UgbXNnOworCXN0cnVjdCBzcGlfdHJhbnNm ZXIgdHJhbnNmZXI7CiAJaW50IHJldDsKIAorCW1lbXNldCgmdHJhbnNmZXIsIDAsIHNpemVvZih0 cmFuc2ZlcikpOworCisJc3BpX21lc3NhZ2VfaW5pdCgmbXNnKTsKKwogCXR4X2RhdGEgPSBjcHVf dG9fYmUxNihjbWQpOwotCXRyYW5zZmVyLT5sZW4gPSBzaXplb2YodHhfZGF0YSk7Ci0JdHJhbnNm ZXItPnR4X2J1ZiA9ICZ0eF9kYXRhOwotCXRyYW5zZmVyLT5yeF9idWYgPSBOVUxMOworCXRyYW5z ZmVyLmxlbiA9IHNpemVvZihjbWQpOworCXRyYW5zZmVyLnR4X2J1ZiA9ICZ0eF9kYXRhOworCXNw aV9tZXNzYWdlX2FkZF90YWlsKCZ0cmFuc2ZlciwgJm1zZyk7CiAKLQlyZXQgPSBzcGlfc3luYyhx Y2EtPnNwaV9kZXYsIG1zZyk7CisJcmV0ID0gc3BpX3N5bmMocWNhLT5zcGlfZGV2LCAmbXNnKTsK IAogCWlmICghcmV0KQotCQlyZXQgPSBtc2ctPnN0YXR1czsKKwkJcmV0ID0gbXNnLnN0YXR1czsK IAogCWlmIChyZXQpCiAJCXFjYXNwaV9zcGlfZXJyb3IocWNhKTsKQEAgLTgzNSwxNiArODQ5LDYg QEAgcWNhc3BpX25ldGRldl9zZXR1cChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQogCXFjYSA9IG5l dGRldl9wcml2KGRldik7CiAJbWVtc2V0KHFjYSwgMCwgc2l6ZW9mKHN0cnVjdCBxY2FzcGkpKTsK IAotCW1lbXNldCgmcWNhLT5zcGlfeGZlcjEsIDAsIHNpemVvZihzdHJ1Y3Qgc3BpX3RyYW5zZmVy KSk7Ci0JbWVtc2V0KCZxY2EtPnNwaV94ZmVyMiwgMCwgc2l6ZW9mKHN0cnVjdCBzcGlfdHJhbnNm ZXIpICogMik7Ci0KLQlzcGlfbWVzc2FnZV9pbml0KCZxY2EtPnNwaV9tc2cxKTsKLQlzcGlfbWVz c2FnZV9hZGRfdGFpbCgmcWNhLT5zcGlfeGZlcjEsICZxY2EtPnNwaV9tc2cxKTsKLQotCXNwaV9t ZXNzYWdlX2luaXQoJnFjYS0+c3BpX21zZzIpOwotCXNwaV9tZXNzYWdlX2FkZF90YWlsKCZxY2Et PnNwaV94ZmVyMlswXSwgJnFjYS0+c3BpX21zZzIpOwotCXNwaV9tZXNzYWdlX2FkZF90YWlsKCZx Y2EtPnNwaV94ZmVyMlsxXSwgJnFjYS0+c3BpX21zZzIpOwotCiAJbWVtc2V0KCZxY2EtPnR4ciwg MCwgc2l6ZW9mKHFjYS0+dHhyKSk7CiAJcWNhLT50eHIuY291bnQgPSBUWF9SSU5HX01BWF9MRU47 CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9xdWFsY29tbS9xY2Ffc3BpLmgg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9xdWFsY29tbS9xY2Ffc3BpLmgKaW5kZXggZmM0YmViMWIz MmQxLi5mYzBlOTg3MjZiMzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3F1YWxj b21tL3FjYV9zcGkuaAorKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9xdWFsY29tbS9xY2Ffc3Bp LmgKQEAgLTgzLDExICs4Myw2IEBAIHN0cnVjdCBxY2FzcGkgewogCXN0cnVjdCB0eF9yaW5nIHR4 cjsKIAlzdHJ1Y3QgcWNhc3BpX3N0YXRzIHN0YXRzOwogCi0Jc3RydWN0IHNwaV9tZXNzYWdlIHNw aV9tc2cxOwotCXN0cnVjdCBzcGlfbWVzc2FnZSBzcGlfbXNnMjsKLQlzdHJ1Y3Qgc3BpX3RyYW5z ZmVyIHNwaV94ZmVyMTsKLQlzdHJ1Y3Qgc3BpX3RyYW5zZmVyIHNwaV94ZmVyMlsyXTsKLQogCXU4 ICpyeF9idWZmZXI7CiAJdTMyIGJ1ZmZlcl9zaXplOwogCXU4IHN5bmM7Ci0tIAoyLjE3LjEKCgpG cm9tIGI1ZmJmNDg0MWExYTJhYTBjNDJmY2I1MWQzNWJjZTdkNDM5MDYwNjIgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IENvbmcgV2FuZyA8eGl5b3Uud2FuZ2NvbmdAZ21haWwuY29tPgpE YXRlOiBNb24sIDEwIFNlcCAyMDE4IDE4OjI3OjI2IC0wNzAwClN1YmplY3Q6IFtQQVRDSCAwNC8x NV0gcmRzOiBmaXggdHdvIFJDVSByZWxhdGVkIHByb2JsZW1zCgpbIFVwc3RyZWFtIGNvbW1pdCBj YzRkZmI3ZjcwYTM0NGYyNGMxYzcxZTI5OGRlZWEwNzcxZGFkY2IyIF0KCldoZW4gYSByZHMgc29j ayBpcyBib3VuZCwgaXQgaXMgaW5zZXJ0ZWQgaW50byB0aGUgYmluZF9oYXNoX3RhYmxlCndoaWNo IGlzIHByb3RlY3RlZCBieSBSQ1UuIEJ1dCB3aGVuIHJlbGVhc2luZyByZHMgc29jaywgYWZ0ZXIg aXQKaXMgcmVtb3ZlZCBmcm9tIHRoaXMgaGFzaCB0YWJsZSwgaXQgaXMgZnJlZWQgaW1tZWRpYXRl bHkgd2l0aG91dApyZXNwZWN0aW5nIFJDVSBncmFjZSBwZXJpb2QuIFRoaXMgY291bGQgY2F1c2Ug c29tZSB1c2UtYWZ0ZXItZnJlZQphcyByZXBvcnRlZCBieSBzeXpib3QuCgpNYXJrIHRoZSByZHMg c29jayB3aXRoIFNPQ0tfUkNVX0ZSRUUgYmVmb3JlIGluc2VydGluZyBpdCBpbnRvIHRoZQpiaW5k X2hhc2hfdGFibGUsIHNvIHRoYXQgaXQgd291bGQgYmUgYWx3YXlzIGZyZWVkIGFmdGVyIGEgUkNV IGdyYWNlCnBlcmlvZC4KClRoZSBvdGhlciBwcm9ibGVtIGlzIGluIHJkc19maW5kX2JvdW5kKCks IHRoZSByZHMgc29jayBjb3VsZCBiZQpmcmVlZCBpbiBiZXR3ZWVuIHJoYXNodGFibGVfbG9va3Vw X2Zhc3QoKSBhbmQgcmRzX3NvY2tfYWRkcmVmKCksCnNvIHdlIG5lZWQgdG8gZXh0ZW5kIFJDVSBy ZWFkIGxvY2sgcHJvdGVjdGlvbiBpbiByZHNfZmluZF9ib3VuZCgpCnRvIGNsb3NlIHRoaXMgcmFj ZSBjb25kaXRpb24uCgpSZXBvcnRlZC1hbmQtdGVzdGVkLWJ5OiBzeXpib3QrODk2NzA4NGJjYWM1 NjM3OTVkYzZAc3l6a2FsbGVyLmFwcHNwb3RtYWlsLmNvbQpSZXBvcnRlZC1ieTogc3l6Ym90Kzkz YTU4MzlkZWIzNTU1Mzc0NDBmQHN5emthbGxlci5hcHBzcG90bWFpbC5jb20KQ2M6IFNvd21pbmkg VmFyYWRoYW4gPHNvd21pbmkudmFyYWRoYW5Ab3JhY2xlLmNvbT4KQ2M6IFNhbnRvc2ggU2hpbGlt a2FyIDxzYW50b3NoLnNoaWxpbWthckBvcmFjbGUuY29tPgpDYzogcmRzLWRldmVsQG9zcy5vcmFj bGUuY29tClNpZ25lZC1vZmYtYnk6IENvbmcgV2FuZyA8eGl5b3Uud2FuZ2NvbmdAZ21haWwuY29t PgpBY2tlZC1ieTogU2FudG9zaCBTaGlsaW1rYXIgPHNhbnRvc2guc2hpbGlta2FyQG9hcmNsZS5j b20+ClNpZ25lZC1vZmYtYnk6IERhdmlkIFMuIE1pbGxlciA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD4K LS0tCiBuZXQvcmRzL2JpbmQuYyB8IDUgKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9uZXQvcmRzL2JpbmQuYyBiL25ldC9y ZHMvYmluZC5jCmluZGV4IDVhYTNhNjRhYTRmMC4uNDgyNTdkM2E0MjAxIDEwMDY0NAotLS0gYS9u ZXQvcmRzL2JpbmQuYworKysgYi9uZXQvcmRzL2JpbmQuYwpAQCAtNjAsMTEgKzYwLDEzIEBAIHN0 cnVjdCByZHNfc29jayAqcmRzX2ZpbmRfYm91bmQoX19iZTMyIGFkZHIsIF9fYmUxNiBwb3J0KQog CXU2NCBrZXkgPSAoKHU2NClhZGRyIDw8IDMyKSB8IHBvcnQ7CiAJc3RydWN0IHJkc19zb2NrICpy czsKIAotCXJzID0gcmhhc2h0YWJsZV9sb29rdXBfZmFzdCgmYmluZF9oYXNoX3RhYmxlLCAma2V5 LCBodF9wYXJtcyk7CisJcmN1X3JlYWRfbG9jaygpOworCXJzID0gcmhhc2h0YWJsZV9sb29rdXAo JmJpbmRfaGFzaF90YWJsZSwgJmtleSwgaHRfcGFybXMpOwogCWlmIChycyAmJiAhc29ja19mbGFn KHJkc19yc190b19zayhycyksIFNPQ0tfREVBRCkpCiAJCXJkc19zb2NrX2FkZHJlZihycyk7CiAJ ZWxzZQogCQlycyA9IE5VTEw7CisJcmN1X3JlYWRfdW5sb2NrKCk7CiAKIAlyZHNkZWJ1ZygicmV0 dXJuaW5nIHJzICVwIGZvciAlcEk0OiV1XG4iLCBycywgJmFkZHIsCiAJCW50b2hzKHBvcnQpKTsK QEAgLTE1Nyw2ICsxNTksNyBAQCBpbnQgcmRzX2JpbmQoc3RydWN0IHNvY2tldCAqc29jaywgc3Ry dWN0IHNvY2thZGRyICp1YWRkciwgaW50IGFkZHJfbGVuKQogCQlnb3RvIG91dDsKIAl9CiAKKwlz b2NrX3NldF9mbGFnKHNrLCBTT0NLX1JDVV9GUkVFKTsKIAlyZXQgPSByZHNfYWRkX2JvdW5kKHJz LCBzaW4tPnNpbl9hZGRyLnNfYWRkciwgJnNpbi0+c2luX3BvcnQpOwogCWlmIChyZXQpCiAJCWdv dG8gb3V0OwotLSAKMi4xNy4xCgoKRnJvbSAyNTVlMDhjOTYwYTZkNjNjYzQzYTYxMzcyMDczNzUx MWQwNzk1YzMxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDb25nIFdhbmcgPHhpeW91 Lndhbmdjb25nQGdtYWlsLmNvbT4KRGF0ZTogTW9uLCAzIFNlcCAyMDE4IDE5OjEyOjQxIC0wNzAw ClN1YmplY3Q6IFtQQVRDSCAwNS8xNV0gdGlwYzogb3JwaGFuIHNvY2sgaW4gdGlwY19yZWxlYXNl KCkKClsgVXBzdHJlYW0gY29tbWl0IDBhM2I4YjJiMjE1ZjllODRiODJhZTk3ZGY3MTI5MmNjZmQ5 MmIxZTcgXQoKQmVmb3JlIHdlIHVubG9jayB0aGUgc29jayBpbiB0aXBjX3JlbGVhc2UoKSwgd2Ug aGF2ZSB0bwpkZXRhY2ggc2stPnNrX3NvY2tldCBmcm9tIHNrLCBvdGhlcndpc2UgYSBwYXJhbGxl bAp0aXBjX3NrX2ZpbGxfc29ja19kaWFnKCkgY291bGQgc3RpbCByZWFkIGl0IGFmdGVyIHdlCmZy ZWUgdGhpcyBzb2NrZXQuCgpGaXhlczogYzMwYjcwZGViNWY0ICgidGlwYzogaW1wbGVtZW50IHNv Y2tldCBkaWFnbm9zdGljcyBmb3IgQUZfVElQQyIpClJlcG9ydGVkLWFuZC10ZXN0ZWQtYnk6IHN5 emJvdCs0ODgwNGI4N2MxNjU4OGFkNDkxZEBzeXprYWxsZXIuYXBwc3BvdG1haWwuY29tCkNjOiBK b24gTWFsb3kgPGpvbi5tYWxveUBlcmljc3Nvbi5jb20+CkNjOiBZaW5nIFh1ZSA8eWluZy54dWVA d2luZHJpdmVyLmNvbT4KU2lnbmVkLW9mZi1ieTogQ29uZyBXYW5nIDx4aXlvdS53YW5nY29uZ0Bn bWFpbC5jb20+CkFja2VkLWJ5OiBZaW5nIFh1ZSA8eWluZy54dWVAd2luZHJpdmVyLmNvbT4KU2ln bmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgotLS0KIG5l dC90aXBjL3NvY2tldC5jIHwgMSArCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKCmRp ZmYgLS1naXQgYS9uZXQvdGlwYy9zb2NrZXQuYyBiL25ldC90aXBjL3NvY2tldC5jCmluZGV4IDBh NWZhMzQ3MTM1ZS4uYWM4Y2EyMzhjNTQxIDEwMDY0NAotLS0gYS9uZXQvdGlwYy9zb2NrZXQuYwor KysgYi9uZXQvdGlwYy9zb2NrZXQuYwpAQCAtNTc4LDYgKzU3OCw3IEBAIHN0YXRpYyBpbnQgdGlw Y19yZWxlYXNlKHN0cnVjdCBzb2NrZXQgKnNvY2spCiAJc2tfc3RvcF90aW1lcihzaywgJnNrLT5z a190aW1lcik7CiAJdGlwY19za19yZW1vdmUodHNrKTsKIAorCXNvY2tfb3JwaGFuKHNrKTsKIAkv KiBSZWplY3QgYW55IG1lc3NhZ2VzIHRoYXQgYWNjdW11bGF0ZWQgaW4gYmFja2xvZyBxdWV1ZSAq LwogCXJlbGVhc2Vfc29jayhzayk7CiAJdGlwY19kZXN0X2xpc3RfcHVyZ2UoJnRzay0+Y29uZ19s aW5rcyk7Ci0tIAoyLjE3LjEKCgpGcm9tIGEwOWNmODFkYzdiN2JkNTZlMTZiYWI3YzhhNTJiNDRk YWNkYzI2ZWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFJhZWQgU2FsZW0gPHJhZWRz QG1lbGxhbm94LmNvbT4KRGF0ZTogVHVlLCAyMSBBdWcgMjAxOCAxNToyMjo0MiArMDMwMApTdWJq ZWN0OiBbUEFUQ0ggMDYvMTVdIG5ldC9tbHg1OiBFLVN3aXRjaCwgRml4IG1lbW9yeSBsZWFrIHdo ZW4gY3JlYXRpbmcKIHN3aXRjaGRldiBtb2RlIEZEQiB0YWJsZXMKClsgVXBzdHJlYW0gY29tbWl0 IGM4OGEwMjZlMDEyMTk0ODhlNzQ1ZjRmMDI2N2ZkNzZjMmJiNjg0MjEgXQoKVGhlIG1lbW9yeSBh bGxvY2F0ZWQgZm9yIHRoZSBzbG93IHBhdGggdGFibGUgZmxvdyBncm91cCBpbnB1dCBzdHJ1Y3R1 cmUKd2FzIG5vdCBmcmVlZCB1cG9uIHN1Y2Nlc3NmdWwgcmV0dXJuLCBmaXggdGhhdC4KCkZpeGVz OiAxOTY3Y2U2ZWE1YzggKCJuZXQvbWx4NTogRS1Td2l0Y2gsIFJlZmFjdG9yIGZhc3QgcGF0aCBG REIgdGFibGUgY3JlYXRpb24gaW4gc3dpdGNoZGV2IG1vZGUiKQpTaWduZWQtb2ZmLWJ5OiBSYWVk IFNhbGVtIDxyYWVkc0BtZWxsYW5veC5jb20+ClJldmlld2VkLWJ5OiBPciBHZXJsaXR6IDxvZ2Vy bGl0ekBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1A bWVsbGFub3guY29tPgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29y ZS9lc3dpdGNoX29mZmxvYWRzLmMgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigr KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9l c3dpdGNoX29mZmxvYWRzLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2Nv cmUvZXN3aXRjaF9vZmZsb2Fkcy5jCmluZGV4IDkxZjEyMDk4ODZmZi4uNGM1Mzk1N2M5MThjIDEw MDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRj aF9vZmZsb2Fkcy5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29y ZS9lc3dpdGNoX29mZmxvYWRzLmMKQEAgLTY1OCw2ICs2NTgsNyBAQCBzdGF0aWMgaW50IGVzd19j cmVhdGVfb2ZmbG9hZHNfZmRiX3RhYmxlcyhzdHJ1Y3QgbWx4NV9lc3dpdGNoICplc3csIGludCBu dnBvcnRzKQogCWlmIChlcnIpCiAJCWdvdG8gbWlzc19ydWxlX2VycjsKIAorCWt2ZnJlZShmbG93 X2dyb3VwX2luKTsKIAlyZXR1cm4gMDsKIAogbWlzc19ydWxlX2VycjoKLS0gCjIuMTcuMQoKCkZy b20gNjczYTliZjUyYmI5YmVhODcxZGI0ZjNkZTc5OWI3MDhhYzliNDUzMyBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogVmFrdWwgR2FyZyA8dmFrdWwuZ2FyZ0BueHAuY29tPgpEYXRlOiBU aHUsIDYgU2VwIDIwMTggMjE6NDE6NDAgKzA1MzAKU3ViamVjdDogW1BBVENIIDA3LzE1XSBuZXQv dGxzOiBTZXQgY291bnQgb2YgU0cgZW50cmllcyBpZiBza19hbGxvY19zZyByZXR1cm5zCiAtRU5P U1BDCgpbIFVwc3RyZWFtIGNvbW1pdCA1MmVhOTkyY2ZhYzM1N2I3MzE4MGQ1YzA1MWRjYTQzYmM4 ZDIwYzJhIF0KCnRsc19zd19zZW5kbXNnKCkgYWxsb2NhdGVzIHBsYWludGV4dCBhbmQgZW5jcnlw dGVkIFNHIGVudHJpZXMgdXNpbmcKZnVuY3Rpb24gc2tfYWxsb2Nfc2coKS4gSW4gY2FzZSB0aGUg bnVtYmVyIG9mIFNHIGVudHJpZXMgaGl0Ck1BWF9TS0JfRlJBR1MsIHNrX2FsbG9jX3NnKCkgcmV0 dXJucyAtRU5PU1BDIGFuZCBzZXRzIHRoZSB2YXJpYWJsZSBmb3IKY3VycmVudCBTRyBpbmRleCB0 byAnMCcuIFRoaXMgbGVhZHMgdG8gY2FsbGluZyBvZiBmdW5jdGlvbgp0bHNfcHVzaF9yZWNvcmQo KSB3aXRoICdzZ19lbmNyeXB0ZWRfbnVtX2VsZW0gPSAwJyBhbmQgbGF0ZXIgY2F1c2VzCmtlcm5l bCBjcmFzaC4gVG8gZml4IHRoaXMsIHNldCB0aGUgbnVtYmVyIG9mIFNHIGVsZW1lbnRzIHRvIHRo ZSBudW1iZXIKb2YgZWxlbWVudHMgaW4gcGxhaW50ZXh0L2VuY3J5cHRlZCBTRyBhcnJheXMgaW4g Y2FzZSBza19hbGxvY19zZygpCnJldHVybnMgLUVOT1NQQy4KCkZpeGVzOiAzYzRkNzU1OTE1OWIg KCJ0bHM6IGtlcm5lbCBUTFMgc3VwcG9ydCIpClNpZ25lZC1vZmYtYnk6IFZha3VsIEdhcmcgPHZh a3VsLmdhcmdAbnhwLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBk YXZlbWxvZnQubmV0PgotLS0KIG5ldC90bHMvdGxzX3N3LmMgfCA2ICsrKysrKwogMSBmaWxlIGNo YW5nZWQsIDYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL25ldC90bHMvdGxzX3N3LmMgYi9u ZXQvdGxzL3Rsc19zdy5jCmluZGV4IDFmM2Q5Nzg5YWYzMC4uZGIwNzEyYjhkZGYxIDEwMDY0NAot LS0gYS9uZXQvdGxzL3Rsc19zdy5jCisrKyBiL25ldC90bHMvdGxzX3N3LmMKQEAgLTE0OSw2ICsx NDksOSBAQCBzdGF0aWMgaW50IGFsbG9jX2VuY3J5cHRlZF9zZyhzdHJ1Y3Qgc29jayAqc2ssIGlu dCBsZW4pCiAJCQkgJmN0eC0+c2dfZW5jcnlwdGVkX251bV9lbGVtLAogCQkJICZjdHgtPnNnX2Vu Y3J5cHRlZF9zaXplLCAwKTsKIAorCWlmIChyYyA9PSAtRU5PU1BDKQorCQljdHgtPnNnX2VuY3J5 cHRlZF9udW1fZWxlbSA9IEFSUkFZX1NJWkUoY3R4LT5zZ19lbmNyeXB0ZWRfZGF0YSk7CisKIAly ZXR1cm4gcmM7CiB9CiAKQEAgLTE2Miw2ICsxNjUsOSBAQCBzdGF0aWMgaW50IGFsbG9jX3BsYWlu dGV4dF9zZyhzdHJ1Y3Qgc29jayAqc2ssIGludCBsZW4pCiAJCQkgJmN0eC0+c2dfcGxhaW50ZXh0 X251bV9lbGVtLCAmY3R4LT5zZ19wbGFpbnRleHRfc2l6ZSwKIAkJCSB0bHNfY3R4LT5wZW5kaW5n X29wZW5fcmVjb3JkX2ZyYWdzKTsKIAorCWlmIChyYyA9PSAtRU5PU1BDKQorCQljdHgtPnNnX3Bs YWludGV4dF9udW1fZWxlbSA9IEFSUkFZX1NJWkUoY3R4LT5zZ19wbGFpbnRleHRfZGF0YSk7CisK IAlyZXR1cm4gcmM7CiB9CiAKLS0gCjIuMTcuMQoKCkZyb20gZjgyNDU0YTgwNzM5YTkzMGE5ODg5 MWZkNWMyMzk1MDEwNDBlYjAzYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSHV5IE5n dXllbiA8aHV5bkBtZWxsYW5veC5jb20+CkRhdGU6IFdlZCwgMTUgQXVnIDIwMTggMTE6MDg6NDgg LTA1MDAKU3ViamVjdDogW1BBVENIIDA4LzE1XSBuZXQvbWx4NTogQ2hlY2sgZm9yIGVycm9yIGlu IG1seDVfYXR0YWNoX2ludGVyZmFjZQoKWyBVcHN0cmVhbSBjb21taXQgNDdiYzk0YjgyMjkxZTAw N2RhNjFlZTFiM2QxOGM3Nzg3MWYzZTE1OCBdCgpDdXJyZW50bHksIG1seDVfYXR0YWNoX2ludGVy ZmFjZSBkb2VzIG5vdCBjaGVjayBmb3IgZXJyb3IKYWZ0ZXIgY2FsbGluZyBpbnRmLT5hdHRhY2gg b3IgaW50Zi0+YWRkLiBXaGVuIHRoZXNlIHR3byBjYWxscwpmYWlscywgdGhlIGNsaWVudCBpcyBu b3QgaW5pdGlhbGl6ZWQgYW5kIHdpbGwgY2F1c2UgaXNzdWVzIHN1Y2ggYXMKa2VybmVsIHBhbmlj IG9uIGludmFsaWQgYWRkcmVzcyBpbiB0aGUgdGVhcmRvd24gcGF0aCAobWx4NV9kZXRhY2hfaW50 ZXJmYWNlKQoKRml4ZXM6IDczN2EyMzRiYjYzOCAoIm5ldC9tbHg1OiBJbnRyb2R1Y2UgYXR0YWNo L2RldGFjaCB0byBpbnRlcmZhY2UgQVBJIikKU2lnbmVkLW9mZi1ieTogSHV5IE5ndXllbiA8aHV5 bkBtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVs bGFub3guY29tPgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9k ZXYuYyB8IDE1ICsrKysrKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMo KyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVs bGFub3gvbWx4NS9jb3JlL2Rldi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4 NS9jb3JlL2Rldi5jCmluZGV4IGI5OTRiODBkNTcxNC4uOTIyODExZmI2NmU3IDEwMDY0NAotLS0g YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZGV2LmMKKysrIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Rldi5jCkBAIC0xMzIsMTEgKzEz MiwxMSBAQCB2b2lkIG1seDVfYWRkX2RldmljZShzdHJ1Y3QgbWx4NV9pbnRlcmZhY2UgKmludGYs IHN0cnVjdCBtbHg1X3ByaXYgKnByaXYpCiAJZGVsYXllZF9ldmVudF9zdGFydChwcml2KTsKIAog CWRldl9jdHgtPmNvbnRleHQgPSBpbnRmLT5hZGQoZGV2KTsKLQlzZXRfYml0KE1MWDVfSU5URVJG QUNFX0FEREVELCAmZGV2X2N0eC0+c3RhdGUpOwotCWlmIChpbnRmLT5hdHRhY2gpCi0JCXNldF9i aXQoTUxYNV9JTlRFUkZBQ0VfQVRUQUNIRUQsICZkZXZfY3R4LT5zdGF0ZSk7Ci0KIAlpZiAoZGV2 X2N0eC0+Y29udGV4dCkgeworCQlzZXRfYml0KE1MWDVfSU5URVJGQUNFX0FEREVELCAmZGV2X2N0 eC0+c3RhdGUpOworCQlpZiAoaW50Zi0+YXR0YWNoKQorCQkJc2V0X2JpdChNTFg1X0lOVEVSRkFD RV9BVFRBQ0hFRCwgJmRldl9jdHgtPnN0YXRlKTsKKwogCQlzcGluX2xvY2tfaXJxKCZwcml2LT5j dHhfbG9jayk7CiAJCWxpc3RfYWRkX3RhaWwoJmRldl9jdHgtPmxpc3QsICZwcml2LT5jdHhfbGlz dCk7CiAKQEAgLTIxMSwxMiArMjExLDE3IEBAIHN0YXRpYyB2b2lkIG1seDVfYXR0YWNoX2ludGVy ZmFjZShzdHJ1Y3QgbWx4NV9pbnRlcmZhY2UgKmludGYsIHN0cnVjdCBtbHg1X3ByaXYKIAlpZiAo aW50Zi0+YXR0YWNoKSB7CiAJCWlmICh0ZXN0X2JpdChNTFg1X0lOVEVSRkFDRV9BVFRBQ0hFRCwg JmRldl9jdHgtPnN0YXRlKSkKIAkJCWdvdG8gb3V0OwotCQlpbnRmLT5hdHRhY2goZGV2LCBkZXZf Y3R4LT5jb250ZXh0KTsKKwkJaWYgKGludGYtPmF0dGFjaChkZXYsIGRldl9jdHgtPmNvbnRleHQp KQorCQkJZ290byBvdXQ7CisKIAkJc2V0X2JpdChNTFg1X0lOVEVSRkFDRV9BVFRBQ0hFRCwgJmRl dl9jdHgtPnN0YXRlKTsKIAl9IGVsc2UgewogCQlpZiAodGVzdF9iaXQoTUxYNV9JTlRFUkZBQ0Vf QURERUQsICZkZXZfY3R4LT5zdGF0ZSkpCiAJCQlnb3RvIG91dDsKIAkJZGV2X2N0eC0+Y29udGV4 dCA9IGludGYtPmFkZChkZXYpOworCQlpZiAoIWRldl9jdHgtPmNvbnRleHQpCisJCQlnb3RvIG91 dDsKKwogCQlzZXRfYml0KE1MWDVfSU5URVJGQUNFX0FEREVELCAmZGV2X2N0eC0+c3RhdGUpOwog CX0KIAotLSAKMi4xNy4xCgoKRnJvbSBmZDVjMzMyNmIxOWZlYjk1ZDNjOGUyOTgyMGY5MDE5OTgx Njc1ODQyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNrIE1vcmdlbnN0ZWluIDxq YWNrbUBkZXYubWVsbGFub3guY28uaWw+CkRhdGU6IFR1ZSwgNyBBdWcgMjAxOCAwOTo1OTowMyAr MDMwMApTdWJqZWN0OiBbUEFUQ0ggMDkvMTVdIG5ldC9tbHg1OiBGaXggZGVidWdmcyBjbGVhbnVw IGluIHRoZSBkZXZpY2UgaW5pdC9yZW1vdmUKIGZsb3cKClsgVXBzdHJlYW0gY29tbWl0IDVkZjgx NmU3ZjQzZjEyOTdjNDAwMjFlZjE3ZWM2ZTcyMmI0NWM4MmYgXQoKV2hlbiBpbml0aWFsaXppbmcg dGhlIGRldmljZSAocHJvY2VkdXJlIGluaXRfb25lKSwgdGhlIGRyaXZlcgpjYWxscyBtbHg1X3Bj aV9pbml0IHRvIHBlcmZvcm0gcGNpIGluaXRpYWxpemF0aW9uLiBBcyBwYXJ0IG9mIHRoaXMKaW5p dGlhbGl6YXRpb24sIG1seDVfcGNpX2luaXQgY3JlYXRlcyBhIGRlYnVnZnMgZGlyZWN0b3J5LgpJ ZiB0aGlzIGNyZWF0aW9uIGZhaWxzLCBpbml0X29uZSBhYm9ydHMsIHJldHVybmluZyBmYWlsdXJl IHRvCnRoZSBjYWxsZXIgKHdoaWNoIGlzIHRoZSBwcm9iZSBtZXRob2QgY2FsbGVyKS4KClRoZSBt YWluIHJlYXNvbiBmb3Igc3VjaCBhIGZhaWx1cmUgdG8gb2NjdXIgaXMgaWYgdGhlIGRlYnVnZnMK ZGlyZWN0b3J5IGFscmVhZHkgZXhpc3RzLiBUaGlzIGNhbiBoYXBwZW4gaWYgdGhlIGxhc3QgdGlt ZQptbHg1X3BjaV9jbG9zZSB3YXMgY2FsbGVkLCBkZWJ1Z2ZzX3JlbW92ZSAoc2lsZW50bHkpIGZh aWxlZCBkdWUKdG8gdGhlIGRlYnVnZnMgZGlyZWN0b3J5IG5vdCBiZWluZyBlbXB0eS4KCkd1YXJh bnRlZSB0aGF0IHN1Y2ggYSBkZWJ1Z2ZzX3JlbW92ZSBmYWlsdXJlIHdpbGwgbm90IG9jY3VyIGJ5 Cmluc3RlYWQgY2FsbGluZyBkZWJ1Z2ZzX3JlbW92ZV9yZWN1cnNpdmUgaW4gcHJvY2VkdXJlIG1s eDVfcGNpX2Nsb3NlLgoKRml4ZXM6IDU5MjExYmQzYjYzMiAoIm5ldC9tbHg1OiBTcGxpdCB0aGUg bG9hZC91bmxvYWQgZmxvdyBpbnRvIGhhcmR3YXJlIGFuZCBzb2Z0d2FyZSBmbG93cyIpClNpZ25l ZC1vZmYtYnk6IEphY2sgTW9yZ2Vuc3RlaW4gPGphY2ttQGRldi5tZWxsYW5veC5jby5pbD4KUmV2 aWV3ZWQtYnk6IERhbmllbCBKdXJnZW5zIDxkYW5pZWxqQG1lbGxhbm94LmNvbT4KU2lnbmVkLW9m Zi1ieTogU2FlZWQgTWFoYW1lZWQgPHNhZWVkbUBtZWxsYW5veC5jb20+Ci0tLQogZHJpdmVycy9u ZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL21haW4uYyB8IDYgKysrKy0tCiAxIGZpbGUg Y2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9tYWluLmMgYi9kcml2ZXJzL25l dC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvbWFpbi5jCmluZGV4IDI2MGVmYTA3ZWU5ZC4u NzZlNmNhODdkYjExIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9t bHg1L2NvcmUvbWFpbi5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUv Y29yZS9tYWluLmMKQEAgLTg3NCw4ICs4NzQsMTAgQEAgc3RhdGljIGludCBtbHg1X3BjaV9pbml0 KHN0cnVjdCBtbHg1X2NvcmVfZGV2ICpkZXYsIHN0cnVjdCBtbHg1X3ByaXYgKnByaXYpCiAJcHJp di0+bnVtYV9ub2RlID0gZGV2X3RvX25vZGUoJmRldi0+cGRldi0+ZGV2KTsKIAogCXByaXYtPmRi Z19yb290ID0gZGVidWdmc19jcmVhdGVfZGlyKGRldl9uYW1lKCZwZGV2LT5kZXYpLCBtbHg1X2Rl YnVnZnNfcm9vdCk7Ci0JaWYgKCFwcml2LT5kYmdfcm9vdCkKKwlpZiAoIXByaXYtPmRiZ19yb290 KSB7CisJCWRldl9lcnIoJnBkZXYtPmRldiwgIkNhbm5vdCBjcmVhdGUgZGVidWdmcyBkaXIsIGFi b3J0aW5nXG4iKTsKIAkJcmV0dXJuIC1FTk9NRU07CisJfQogCiAJZXJyID0gbWx4NV9wY2lfZW5h YmxlX2RldmljZShkZXYpOwogCWlmIChlcnIpIHsKQEAgLTkyNCw3ICs5MjYsNyBAQCBzdGF0aWMg dm9pZCBtbHg1X3BjaV9jbG9zZShzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqZGV2LCBzdHJ1Y3QgbWx4 NV9wcml2ICpwcml2KQogCXBjaV9jbGVhcl9tYXN0ZXIoZGV2LT5wZGV2KTsKIAlyZWxlYXNlX2Jh cihkZXYtPnBkZXYpOwogCW1seDVfcGNpX2Rpc2FibGVfZGV2aWNlKGRldik7Ci0JZGVidWdmc19y ZW1vdmUocHJpdi0+ZGJnX3Jvb3QpOworCWRlYnVnZnNfcmVtb3ZlX3JlY3Vyc2l2ZShwcml2LT5k Ymdfcm9vdCk7CiB9CiAKIHN0YXRpYyBpbnQgbWx4NV9pbml0X29uY2Uoc3RydWN0IG1seDVfY29y ZV9kZXYgKmRldiwgc3RydWN0IG1seDVfcHJpdiAqcHJpdikKLS0gCjIuMTcuMQoKCkZyb20gNGRi ZDE3ZmM3ZWIwY2M4M2NkZTkwYWIyMWE2ZDkxMjRhYmRkNmNjZCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogSGFpc2h1YW5nIFlhbiA8eWFuaGFpc2h1YW5nQGNtc3MuY2hpbmFtb2JpbGUu Y29tPgpEYXRlOiBNb24sIDEwIFNlcCAyMDE4IDIyOjE5OjQ4ICswODAwClN1YmplY3Q6IFtQQVRD SCAxMC8xNV0gZXJzcGFuOiBmaXggZXJyb3IgaGFuZGxpbmcgZm9yIGVyc3BhbiB0dW5uZWwKClsg VXBzdHJlYW0gY29tbWl0IDUxZGM2M2UzOTExZmJiMWYwYTdhMzJkYTJmZTU2MjUzZTIwNDBlYTQg XQoKV2hlbiBwcm9jZXNzaW5nIGljbXAgdW5yZWFjaGFibGUgbWVzc2FnZSBmb3IgZXJzcGFuIHR1 bm5lbCwgdHVubmVsIGlkCnNob3VsZCBiZSBlcnNwYW5fbmV0X2lkIGluc3RlYWQgb2YgaXBncmVf bmV0X2lkLgoKRml4ZXM6IDg0ZTU0ZmUwYTVlYSAoImdyZTogaW50cm9kdWNlIG5hdGl2ZSB0dW5u ZWwgc3VwcG9ydCBmb3IgRVJTUEFOIikKQ2M6IFdpbGxpYW0gVHUgPHU5MDEyMDYzQGdtYWlsLmNv bT4KU2lnbmVkLW9mZi1ieTogSGFpc2h1YW5nIFlhbiA8eWFuaGFpc2h1YW5nQGNtc3MuY2hpbmFt b2JpbGUuY29tPgpBY2tlZC1ieTogV2lsbGlhbSBUdSA8dTkwMTIwNjNAZ21haWwuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+Ci0tLQogbmV0 L2lwdjQvaXBfZ3JlLmMgfCAzICsrKwogMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQoK ZGlmZiAtLWdpdCBhL25ldC9pcHY0L2lwX2dyZS5jIGIvbmV0L2lwdjQvaXBfZ3JlLmMKaW5kZXgg MDU1ZjRiYmJhODZiLi42OTA5ZDRkNzQwNzIgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L2lwX2dyZS5j CisrKyBiL25ldC9pcHY0L2lwX2dyZS5jCkBAIC0xNzgsNiArMTc4LDkgQEAgc3RhdGljIHZvaWQg aXBncmVfZXJyKHN0cnVjdCBza19idWZmICpza2IsIHUzMiBpbmZvLAogCiAJaWYgKHRwaS0+cHJv dG8gPT0gaHRvbnMoRVRIX1BfVEVCKSkKIAkJaXRuID0gbmV0X2dlbmVyaWMobmV0LCBncmVfdGFw X25ldF9pZCk7CisJZWxzZSBpZiAodHBpLT5wcm90byA9PSBodG9ucyhFVEhfUF9FUlNQQU4pIHx8 CisJCSB0cGktPnByb3RvID09IGh0b25zKEVUSF9QX0VSU1BBTjIpKQorCQlpdG4gPSBuZXRfZ2Vu ZXJpYyhuZXQsIGVyc3Bhbl9uZXRfaWQpOwogCWVsc2UKIAkJaXRuID0gbmV0X2dlbmVyaWMobmV0 LCBpcGdyZV9uZXRfaWQpOwogCi0tIAoyLjE3LjEKCgpGcm9tIGZmNmRhZjM5NWRkMGRlZmJiMmRl ZWQyYjVhMDEzZjY2NTU2M2IzZDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEhhaXNo dWFuZyBZYW4gPHlhbmhhaXNodWFuZ0BjbXNzLmNoaW5hbW9iaWxlLmNvbT4KRGF0ZTogTW9uLCAx MCBTZXAgMjAxOCAyMjoxOTo0NyArMDgwMApTdWJqZWN0OiBbUEFUQ0ggMTEvMTVdIGVyc3Bhbjog cmV0dXJuIFBBQ0tFVF9SRUpFQ1Qgd2hlbiB0aGUgYXBwcm9wcmlhdGUKIHR1bm5lbCBpcyBub3Qg Zm91bmQKClsgVXBzdHJlYW0gY29tbWl0IDVhNjQ1MDZiNWMyYzNjZGIyOWQ4MTc3MjMyMDUzMzAz NzgwNzU0NDggXQoKSWYgZXJzcGFuIHR1bm5lbCBoYXNuJ3QgYmVlbiBlc3RhYmxpc2hlZCwgd2Un ZCBiZXR0ZXIgc2VuZCBpY21wIHBvcnQKdW5yZWFjaGFibGUgbWVzc2FnZSBhZnRlciByZWNlaXZl IGVyc3BhbiBwYWNrZXRzLgoKRml4ZXM6IDg0ZTU0ZmUwYTVlYSAoImdyZTogaW50cm9kdWNlIG5h dGl2ZSB0dW5uZWwgc3VwcG9ydCBmb3IgRVJTUEFOIikKQ2M6IFdpbGxpYW0gVHUgPHU5MDEyMDYz QGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogSGFpc2h1YW5nIFlhbiA8eWFuaGFpc2h1YW5nQGNt c3MuY2hpbmFtb2JpbGUuY29tPgpBY2tlZC1ieTogV2lsbGlhbSBUdSA8dTkwMTIwNjNAZ21haWwu Y29tPgpTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTLiBNaWxsZXIgPGRhdmVtQGRhdmVtbG9mdC5uZXQ+ Ci0tLQogbmV0L2lwdjQvaXBfZ3JlLmMgfCAyICsrCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRp b25zKCspCgpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvaXBfZ3JlLmMgYi9uZXQvaXB2NC9pcF9ncmUu YwppbmRleCA2OTA5ZDRkNzQwNzIuLjQxODgzYzM0YTM4NSAxMDA2NDQKLS0tIGEvbmV0L2lwdjQv aXBfZ3JlLmMKKysrIGIvbmV0L2lwdjQvaXBfZ3JlLmMKQEAgLTMzMSw2ICszMzEsOCBAQCBzdGF0 aWMgaW50IGVyc3Bhbl9yY3Yoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IHRubF9wdGtfaW5m byAqdHBpLAogCQlpcF90dW5uZWxfcmN2KHR1bm5lbCwgc2tiLCB0cGksIHR1bl9kc3QsIGxvZ19l Y25fZXJyb3IpOwogCQlyZXR1cm4gUEFDS0VUX1JDVkQ7CiAJfQorCXJldHVybiBQQUNLRVRfUkVK RUNUOworCiBkcm9wOgogCWtmcmVlX3NrYihza2IpOwogCXJldHVybiBQQUNLRVRfUkNWRDsKLS0g CjIuMTcuMQoKCkZyb20gNWVhODYwN2NkNWVjMjkzNGZkYjE5MjliOTA2NGZhNWQzMzdhYTUzZiBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogVmluY2VudCBXaGl0Y2h1cmNoIDx2aW5jZW50 LndoaXRjaHVyY2hAYXhpcy5jb20+CkRhdGU6IFRodSwgNiBTZXAgMjAxOCAxNTo1NDo1OSArMDIw MApTdWJqZWN0OiBbUEFUQ0ggMTIvMTVdIHRjcDogcmVhbGx5IGlnbm9yZSBNU0dfWkVST0NPUFkg aWYgbm8gU09fWkVST0NPUFkKClsgVXBzdHJlYW0gY29tbWl0IDVjZjRhODUzMmM5OTJiYjIyYTll Y2Q1ZjZkOTNmODczZjRlYWNjYzIgXQoKQWNjb3JkaW5nIHRvIHRoZSBkb2N1bWVudGF0aW9uIGlu IG1zZ196ZXJvY29weS5yc3QsIHRoZSBTT19aRVJPQ09QWQpmbGFnIHdhcyBpbnRyb2R1Y2VkIGJl Y2F1c2Ugc2VuZCgyKSBpZ25vcmVzIHVua25vd24gbWVzc2FnZSBmbGFncyBhbmQKYW55IGxlZ2Fj eSBhcHBsaWNhdGlvbiB3aGljaCB3YXMgYWNjaWRlbnRhbGx5IHBhc3NpbmcgdGhlIGVxdWl2YWxl bnQgb2YKTVNHX1pFUk9DT1BZIGVhcmxpZXIgc2hvdWxkIG5vdCBzZWUgYW55IG5ldyBiZWhhdmlv dXIuCgpCZWZvcmUgY29tbWl0IGYyMTRmOTE1ZTdkYiAoInRjcDogZW5hYmxlIE1TR19aRVJPQ09Q WSIpLCBhIHNlbmQoMikgY2FsbAp3aGljaCBwYXNzZWQgdGhlIGVxdWl2YWxlbnQgb2YgTVNHX1pF Uk9DT1BZIHdpdGhvdXQgc2V0dGluZyBTT19aRVJPQ09QWQp3b3VsZCBzdWNjZWVkLiAgSG93ZXZl ciwgYWZ0ZXIgdGhhdCBjb21taXQsIGl0IGZhaWxzIHdpdGggLUVOT0JVRlMuICBTbwppdCBhcHBl YXJzIHRoYXQgdGhlIFNPX1pFUk9DT1BZIGZsYWcgZmFpbHMgdG8gZnVsZmlsbCBpdHMgaW50ZW5k ZWQKcHVycG9zZS4gIEZpeCBpdC4KCkZpeGVzOiBmMjE0ZjkxNWU3ZGIgKCJ0Y3A6IGVuYWJsZSBN U0dfWkVST0NPUFkiKQpTaWduZWQtb2ZmLWJ5OiBWaW5jZW50IFdoaXRjaHVyY2ggPHZpbmNlbnQu d2hpdGNodXJjaEBheGlzLmNvbT4KQWNrZWQtYnk6IFdpbGxlbSBkZSBCcnVpam4gPHdpbGxlbWJA Z29vZ2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBkYXZlbWxv ZnQubmV0PgotLS0KIG5ldC9jb3JlL3NrYnVmZi5jIHwgMyAtLS0KIG5ldC9pcHY0L3RjcC5jICAg IHwgMiArLQogMiBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgNCBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9uZXQvY29yZS9za2J1ZmYuYyBiL25ldC9jb3JlL3NrYnVmZi5jCmluZGV4 IGZiMzViNjJhZjI3Mi4uMzY4MDkxMmYwNTZhIDEwMDY0NAotLS0gYS9uZXQvY29yZS9za2J1ZmYu YworKysgYi9uZXQvY29yZS9za2J1ZmYuYwpAQCAtOTM5LDkgKzkzOSw2IEBAIHN0cnVjdCB1YnVm X2luZm8gKnNvY2tfemVyb2NvcHlfYWxsb2Moc3RydWN0IHNvY2sgKnNrLCBzaXplX3Qgc2l6ZSkK IAogCVdBUk5fT05fT05DRSghaW5fdGFzaygpKTsKIAotCWlmICghc29ja19mbGFnKHNrLCBTT0NL X1pFUk9DT1BZKSkKLQkJcmV0dXJuIE5VTEw7Ci0KIAlza2IgPSBzb2NrX29tYWxsb2Moc2ssIDAs IEdGUF9LRVJORUwpOwogCWlmICghc2tiKQogCQlyZXR1cm4gTlVMTDsKZGlmZiAtLWdpdCBhL25l dC9pcHY0L3RjcC5jIGIvbmV0L2lwdjQvdGNwLmMKaW5kZXggNDQ5MWZhZjgzZjRmLi4wODYyMDFk OTZkNTQgMTAwNjQ0Ci0tLSBhL25ldC9pcHY0L3RjcC5jCisrKyBiL25ldC9pcHY0L3RjcC5jCkBA IC0xMTg2LDcgKzExODYsNyBAQCBpbnQgdGNwX3NlbmRtc2dfbG9ja2VkKHN0cnVjdCBzb2NrICpz aywgc3RydWN0IG1zZ2hkciAqbXNnLCBzaXplX3Qgc2l6ZSkKIAogCWZsYWdzID0gbXNnLT5tc2df ZmxhZ3M7CiAKLQlpZiAoZmxhZ3MgJiBNU0dfWkVST0NPUFkgJiYgc2l6ZSkgeworCWlmIChmbGFn cyAmIE1TR19aRVJPQ09QWSAmJiBzaXplICYmIHNvY2tfZmxhZyhzaywgU09DS19aRVJPQ09QWSkp IHsKIAkJaWYgKHNrLT5za19zdGF0ZSAhPSBUQ1BfRVNUQUJMSVNIRUQpIHsKIAkJCWVyciA9IC1F SU5WQUw7CiAJCQlnb3RvIG91dF9lcnI7Ci0tIAoyLjE3LjEKCgpGcm9tIDdlODQxNjllZjNkYWVj Mzg5ZDA5YjU4MzliYzFjNjc0OGQzNTllMDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IFJvaSBEYXlhbiA8cm9pZEBtZWxsYW5veC5jb20+CkRhdGU6IFN1biwgMTkgQXVnIDIwMTggMDg6 NTY6MDkgKzAzMDAKU3ViamVjdDogW1BBVENIIDEzLzE1XSBuZXQvbWx4NTogRml4IG5vdCByZWxl YXNpbmcgcmVhZCBsb2NrIHdoZW4gYWRkaW5nIGZsb3cKIHJ1bGVzCgpbIFVwc3RyZWFtIGNvbW1p dCAwNzEzMDQ3NzJmYzc0N2Q1ZGYxM2M1MWYxY2Y0OGE0YjkyMmE1ZTBkIF0KCklmIGJ1aWxkaW5n IG1hdGNoIGxpc3QgZmcgZmFpbHMgYW5kIHdlIG5ldmVyIGp1bXBlZCB0bwpzZWFyY2hfYWdhaW5f bG9ja2VkIGxhYmVsIHRoZW4gdGhlIGZ1bmN0aW9uIHJldHVybmVkIHdpdGhvdXQKdW5sb2NraW5n IHRoZSByZWFkIGxvY2suCgpGaXhlczogYmQ3MWIwOGVjMmVlICgibmV0L21seDU6IFN1cHBvcnQg bXVsdGlwbGUgdXBkYXRlcyBvZiBzdGVlcmluZyBydWxlcyBpbiBwYXJhbGxlbCIpClNpZ25lZC1v ZmYtYnk6IFJvaSBEYXlhbiA8cm9pZEBtZWxsYW5veC5jb20+ClJldmlld2VkLWJ5OiBNYW9yIEdv dHRsaWViIDxtYW9yZ0BtZWxsYW5veC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVk IDxzYWVlZG1AbWVsbGFub3guY29tPgotLS0KIGRyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94 L21seDUvY29yZS9mc19jb3JlLmMgfCAyICsrCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25z KCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3Jl L2ZzX2NvcmUuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9mc19j b3JlLmMKaW5kZXggNmRkYjI1NjU4ODRkLi44ZGY5MTMyODk2ZDYgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9mc19jb3JlLmMKKysrIGIvZHJpdmVy cy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2ZzX2NvcmUuYwpAQCAtMTc5Nyw2ICsx Nzk3LDggQEAgX21seDVfYWRkX2Zsb3dfcnVsZXMoc3RydWN0IG1seDVfZmxvd190YWJsZSAqZnQs CiAJaWYgKGVycikgewogCQlpZiAodGFrZV93cml0ZSkKIAkJCXVwX3dyaXRlX3JlZl9ub2RlKCZm dC0+bm9kZSk7CisJCWVsc2UKKwkJCXVwX3JlYWRfcmVmX25vZGUoJmZ0LT5ub2RlKTsKIAkJcmV0 dXJuIEVSUl9QVFIoZXJyKTsKIAl9CiAKLS0gCjIuMTcuMQoKCkZyb20gYTJiNGVkNzY0NmZhMWE4 YTZjYzZhYTg0ZDliZWE2MGVjZGUyMjBiOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTog Um9pIERheWFuIDxyb2lkQG1lbGxhbm94LmNvbT4KRGF0ZTogTW9uLCAyMCBBdWcgMjAxOCAxMTo0 MzowMyArMDMwMApTdWJqZWN0OiBbUEFUQ0ggMTQvMTVdIG5ldC9tbHg1OiBGaXggcG9zc2libGUg ZGVhZGxvY2sgZnJvbSBsb2NrZGVwIHdoZW4KIGFkZGluZyBmdGUgdG8gZmcKClsgVXBzdHJlYW0g Y29tbWl0IGFkOTQyMWUzNmE3NzA1NmE0ZjA5NWQ0OWI5NjA1ZTgwYjRkMjE2ZWQgXQoKVGhpcyBp cyBhIGZhbHNlIHBvc2l0aXZlIHJlcG9ydCBkdWUgdG8gaW5jb3JyZWN0IG5lc3RlZCBsb2NrCmFu bm90YXRpb25zIGFzIHdlIGxvY2sgbXVsdGlwbGUgZmdzIHdpdGggdGhlIHNhbWUgc3ViY2xhc3Mu Ckluc3RlYWQgb2YgbG9ja2luZyBhbGwgZmdzIG9ubHkgbG9jayB0aGUgb25lIGJlaW5nIHVzZWQg YXMgd2FzCmRvbmUgYmVmb3JlLgoKRml4ZXM6IGJkNzFiMDhlYzJlZSAoIm5ldC9tbHg1OiBTdXBw b3J0IG11bHRpcGxlIHVwZGF0ZXMgb2Ygc3RlZXJpbmcgcnVsZXMgaW4gcGFyYWxsZWwiKQpTaWdu ZWQtb2ZmLWJ5OiBSb2kgRGF5YW4gPHJvaWRAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBT YWVlZCBNYWhhbWVlZCA8c2FlZWRtQG1lbGxhbm94LmNvbT4KLS0tCiAuLi4vbmV0L2V0aGVybmV0 L21lbGxhbm94L21seDUvY29yZS9mc19jb3JlLmMgfCA3NCArKysrKysrKystLS0tLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgMzcgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2ZzX2NvcmUuYyBi L2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9mc19jb3JlLmMKaW5kZXgg OGRmOTEzMjg5NmQ2Li4wMDMxYzUxMGFiNjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0aGVy bmV0L21lbGxhbm94L21seDUvY29yZS9mc19jb3JlLmMKKysrIGIvZHJpdmVycy9uZXQvZXRoZXJu ZXQvbWVsbGFub3gvbWx4NS9jb3JlL2ZzX2NvcmUuYwpAQCAtMTY0OSw2ICsxNjQ5LDMzIEBAIHN0 YXRpYyB1NjQgbWF0Y2hlZF9mZ3NfZ2V0X3ZlcnNpb24oc3RydWN0IGxpc3RfaGVhZCAqbWF0Y2hf aGVhZCkKIAlyZXR1cm4gdmVyc2lvbjsKIH0KIAorc3RhdGljIHN0cnVjdCBmc19mdGUgKgorbG9v a3VwX2Z0ZV9sb2NrZWQoc3RydWN0IG1seDVfZmxvd19ncm91cCAqZywKKwkJICB1MzIgKm1hdGNo X3ZhbHVlLAorCQkgIGJvb2wgdGFrZV93cml0ZSkKK3sKKwlzdHJ1Y3QgZnNfZnRlICpmdGVfdG1w OworCisJaWYgKHRha2Vfd3JpdGUpCisJCW5lc3RlZF9kb3duX3dyaXRlX3JlZl9ub2RlKCZnLT5u b2RlLCBGU19MT0NLX1BBUkVOVCk7CisJZWxzZQorCQluZXN0ZWRfZG93bl9yZWFkX3JlZl9ub2Rl KCZnLT5ub2RlLCBGU19MT0NLX1BBUkVOVCk7CisJZnRlX3RtcCA9IHJoYXNodGFibGVfbG9va3Vw X2Zhc3QoJmctPmZ0ZXNfaGFzaCwgbWF0Y2hfdmFsdWUsCisJCQkJCSByaGFzaF9mdGUpOworCWlm ICghZnRlX3RtcCB8fCAhdHJlZV9nZXRfbm9kZSgmZnRlX3RtcC0+bm9kZSkpIHsKKwkJZnRlX3Rt cCA9IE5VTEw7CisJCWdvdG8gb3V0OworCX0KKworCW5lc3RlZF9kb3duX3dyaXRlX3JlZl9ub2Rl KCZmdGVfdG1wLT5ub2RlLCBGU19MT0NLX0NISUxEKTsKK291dDoKKwlpZiAodGFrZV93cml0ZSkK KwkJdXBfd3JpdGVfcmVmX25vZGUoJmctPm5vZGUpOworCWVsc2UKKwkJdXBfcmVhZF9yZWZfbm9k ZSgmZy0+bm9kZSk7CisJcmV0dXJuIGZ0ZV90bXA7Cit9CisKIHN0YXRpYyBzdHJ1Y3QgbWx4NV9m bG93X2hhbmRsZSAqCiB0cnlfYWRkX3RvX2V4aXN0aW5nX2ZnKHN0cnVjdCBtbHg1X2Zsb3dfdGFi bGUgKmZ0LAogCQkgICAgICAgc3RydWN0IGxpc3RfaGVhZCAqbWF0Y2hfaGVhZCwKQEAgLTE2NzEs MTAgKzE2OTgsNiBAQCB0cnlfYWRkX3RvX2V4aXN0aW5nX2ZnKHN0cnVjdCBtbHg1X2Zsb3dfdGFi bGUgKmZ0LAogCWlmIChJU19FUlIoZnRlKSkKIAkJcmV0dXJuICBFUlJfUFRSKC1FTk9NRU0pOwog Ci0JbGlzdF9mb3JfZWFjaF9lbnRyeShpdGVyLCBtYXRjaF9oZWFkLCBsaXN0KSB7Ci0JCW5lc3Rl ZF9kb3duX3JlYWRfcmVmX25vZGUoJml0ZXItPmctPm5vZGUsIEZTX0xPQ0tfUEFSRU5UKTsKLQl9 Ci0KIHNlYXJjaF9hZ2Fpbl9sb2NrZWQ6CiAJdmVyc2lvbiA9IG1hdGNoZWRfZmdzX2dldF92ZXJz aW9uKG1hdGNoX2hlYWQpOwogCS8qIFRyeSB0byBmaW5kIGEgZmcgdGhhdCBhbHJlYWR5IGNvbnRh aW5zIGEgbWF0Y2hpbmcgZnRlICovCkBAIC0xNjgyLDIwICsxNzA1LDkgQEAgdHJ5X2FkZF90b19l eGlzdGluZ19mZyhzdHJ1Y3QgbWx4NV9mbG93X3RhYmxlICpmdCwKIAkJc3RydWN0IGZzX2Z0ZSAq ZnRlX3RtcDsKIAogCQlnID0gaXRlci0+ZzsKLQkJZnRlX3RtcCA9IHJoYXNodGFibGVfbG9va3Vw X2Zhc3QoJmctPmZ0ZXNfaGFzaCwgc3BlYy0+bWF0Y2hfdmFsdWUsCi0JCQkJCQkgcmhhc2hfZnRl KTsKLQkJaWYgKCFmdGVfdG1wIHx8ICF0cmVlX2dldF9ub2RlKCZmdGVfdG1wLT5ub2RlKSkKKwkJ ZnRlX3RtcCA9IGxvb2t1cF9mdGVfbG9ja2VkKGcsIHNwZWMtPm1hdGNoX3ZhbHVlLCB0YWtlX3dy aXRlKTsKKwkJaWYgKCFmdGVfdG1wKQogCQkJY29udGludWU7Ci0KLQkJbmVzdGVkX2Rvd25fd3Jp dGVfcmVmX25vZGUoJmZ0ZV90bXAtPm5vZGUsIEZTX0xPQ0tfQ0hJTEQpOwotCQlpZiAoIXRha2Vf d3JpdGUpIHsKLQkJCWxpc3RfZm9yX2VhY2hfZW50cnkoaXRlciwgbWF0Y2hfaGVhZCwgbGlzdCkK LQkJCQl1cF9yZWFkX3JlZl9ub2RlKCZpdGVyLT5nLT5ub2RlKTsKLQkJfSBlbHNlIHsKLQkJCWxp c3RfZm9yX2VhY2hfZW50cnkoaXRlciwgbWF0Y2hfaGVhZCwgbGlzdCkKLQkJCQl1cF93cml0ZV9y ZWZfbm9kZSgmaXRlci0+Zy0+bm9kZSk7Ci0JCX0KLQogCQlydWxlID0gYWRkX3J1bGVfZmcoZywg c3BlYy0+bWF0Y2hfdmFsdWUsCiAJCQkJICAgZmxvd19hY3QsIGRlc3QsIGRlc3RfbnVtLCBmdGVf dG1wKTsKIAkJdXBfd3JpdGVfcmVmX25vZGUoJmZ0ZV90bXAtPm5vZGUpOwpAQCAtMTcwNCwxOSAr MTcxNiw2IEBAIHRyeV9hZGRfdG9fZXhpc3RpbmdfZmcoc3RydWN0IG1seDVfZmxvd190YWJsZSAq ZnQsCiAJCXJldHVybiBydWxlOwogCX0KIAotCS8qIE5vIGdyb3VwIHdpdGggbWF0Y2hpbmcgZnRl IGZvdW5kLiBUcnkgdG8gYWRkIGEgbmV3IGZ0ZSB0byBhbnkKLQkgKiBtYXRjaGluZyBmZy4KLQkg Ki8KLQotCWlmICghdGFrZV93cml0ZSkgewotCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KGl0ZXIsIG1h dGNoX2hlYWQsIGxpc3QpCi0JCQl1cF9yZWFkX3JlZl9ub2RlKCZpdGVyLT5nLT5ub2RlKTsKLQkJ bGlzdF9mb3JfZWFjaF9lbnRyeShpdGVyLCBtYXRjaF9oZWFkLCBsaXN0KQotCQkJbmVzdGVkX2Rv d25fd3JpdGVfcmVmX25vZGUoJml0ZXItPmctPm5vZGUsCi0JCQkJCQkgICBGU19MT0NLX1BBUkVO VCk7Ci0JCXRha2Vfd3JpdGUgPSB0cnVlOwotCX0KLQogCS8qIENoZWNrIHRoZSBmdCB2ZXJzaW9u LCBmb3IgY2FzZSB0aGF0IG5ldyBmbG93IGdyb3VwCiAJICogd2FzIGFkZGVkIHdoaWxlIHRoZSBm Z3Mgd2VyZW4ndCBsb2NrZWQKIAkgKi8KQEAgLTE3MjgsMjcgKzE3MjcsMzAgQEAgdHJ5X2FkZF90 b19leGlzdGluZ19mZyhzdHJ1Y3QgbWx4NV9mbG93X3RhYmxlICpmdCwKIAkvKiBDaGVjayB0aGUg ZmdzIHZlcnNpb24sIGZvciBjYXNlIHRoZSBuZXcgRlRFIHdpdGggdGhlCiAJICogc2FtZSB2YWx1 ZXMgd2FzIGFkZGVkIHdoaWxlIHRoZSBmZ3Mgd2VyZW4ndCBsb2NrZWQKIAkgKi8KLQlpZiAodmVy c2lvbiAhPSBtYXRjaGVkX2Znc19nZXRfdmVyc2lvbihtYXRjaF9oZWFkKSkKKwlpZiAodmVyc2lv biAhPSBtYXRjaGVkX2Znc19nZXRfdmVyc2lvbihtYXRjaF9oZWFkKSkgeworCQl0YWtlX3dyaXRl ID0gdHJ1ZTsKIAkJZ290byBzZWFyY2hfYWdhaW5fbG9ja2VkOworCX0KIAogCWxpc3RfZm9yX2Vh Y2hfZW50cnkoaXRlciwgbWF0Y2hfaGVhZCwgbGlzdCkgewogCQlnID0gaXRlci0+ZzsKIAogCQlp ZiAoIWctPm5vZGUuYWN0aXZlKQogCQkJY29udGludWU7CisKKwkJbmVzdGVkX2Rvd25fd3JpdGVf cmVmX25vZGUoJmctPm5vZGUsIEZTX0xPQ0tfUEFSRU5UKTsKKwogCQllcnIgPSBpbnNlcnRfZnRl KGcsIGZ0ZSk7CiAJCWlmIChlcnIpIHsKKwkJCXVwX3dyaXRlX3JlZl9ub2RlKCZnLT5ub2RlKTsK IAkJCWlmIChlcnIgPT0gLUVOT1NQQykKIAkJCQljb250aW51ZTsKLQkJCWxpc3RfZm9yX2VhY2hf ZW50cnkoaXRlciwgbWF0Y2hfaGVhZCwgbGlzdCkKLQkJCQl1cF93cml0ZV9yZWZfbm9kZSgmaXRl ci0+Zy0+bm9kZSk7CiAJCQlrbWVtX2NhY2hlX2ZyZWUoc3RlZXJpbmctPmZ0ZXNfY2FjaGUsIGZ0 ZSk7CiAJCQlyZXR1cm4gRVJSX1BUUihlcnIpOwogCQl9CiAKIAkJbmVzdGVkX2Rvd25fd3JpdGVf cmVmX25vZGUoJmZ0ZS0+bm9kZSwgRlNfTE9DS19DSElMRCk7Ci0JCWxpc3RfZm9yX2VhY2hfZW50 cnkoaXRlciwgbWF0Y2hfaGVhZCwgbGlzdCkKLQkJCXVwX3dyaXRlX3JlZl9ub2RlKCZpdGVyLT5n LT5ub2RlKTsKKwkJdXBfd3JpdGVfcmVmX25vZGUoJmctPm5vZGUpOwogCQlydWxlID0gYWRkX3J1 bGVfZmcoZywgc3BlYy0+bWF0Y2hfdmFsdWUsCiAJCQkJICAgZmxvd19hY3QsIGRlc3QsIGRlc3Rf bnVtLCBmdGUpOwogCQl1cF93cml0ZV9yZWZfbm9kZSgmZnRlLT5ub2RlKTsKQEAgLTE3NTcsOCAr MTc1OSw2IEBAIHRyeV9hZGRfdG9fZXhpc3RpbmdfZmcoc3RydWN0IG1seDVfZmxvd190YWJsZSAq ZnQsCiAJfQogCXJ1bGUgPSBFUlJfUFRSKC1FTk9FTlQpOwogb3V0OgotCWxpc3RfZm9yX2VhY2hf ZW50cnkoaXRlciwgbWF0Y2hfaGVhZCwgbGlzdCkKLQkJdXBfd3JpdGVfcmVmX25vZGUoJml0ZXIt PmctPm5vZGUpOwogCWttZW1fY2FjaGVfZnJlZShzdGVlcmluZy0+ZnRlc19jYWNoZSwgZnRlKTsK IAlyZXR1cm4gcnVsZTsKIH0KLS0gCjIuMTcuMQoKCkZyb20gY2EzMDI3YzM0Y2MwZWVjYjM5YjIw ZjU5M2QwZjNmMzNjZWMwMGI0MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogVGFyaXEg VG91a2FuIDx0YXJpcXRAbWVsbGFub3guY29tPgpEYXRlOiBUdWUsIDIxIEF1ZyAyMDE4IDE2OjA0 OjQxICswMzAwClN1YmplY3Q6IFtQQVRDSCAxNS8xNV0gbmV0L21seDU6IFVzZSB1MTYgZm9yIFdv cmsgUXVldWUgYnVmZmVyIGZyYWdtZW50IHNpemUKClsgVXBzdHJlYW0gY29tbWl0IDhkNzFlODE4 NTA2NzE4ZThkNzAzMmNlODI0YjVjNzRhMTdkNGY3YTUgXQoKTWluaW1hbCBzdHJpZGUgc2l6ZSBp cyAxNi4KSGVuY2UsIHRoZSBudW1iZXIgb2Ygc3RyaWRlcyBpbiBhIGZyYWdtZW50IChvZiBQQUdF X1NJWkUpCmlzIDw9IFBBR0VfU0laRSAvIDE2IDw9IDRLLgoKdTE2IGlzIHN1ZmZpY2llbnQgdG8g cmVwcmVzZW50IHRoaXMuCgpGaXhlczogMzg4Y2E4YmUwMDM3ICgiSUIvbWx4NTogSW1wbGVtZW50 IGZyYWdtZW50ZWQgY29tcGxldGlvbiBxdWV1ZSAoQ1EpIikKU2lnbmVkLW9mZi1ieTogVGFyaXEg VG91a2FuIDx0YXJpcXRAbWVsbGFub3guY29tPgpSZXZpZXdlZC1ieTogRXJhbiBCZW4gRWxpc2hh IDxlcmFuYmVAbWVsbGFub3guY29tPgpTaWduZWQtb2ZmLWJ5OiBTYWVlZCBNYWhhbWVlZCA8c2Fl ZWRtQG1lbGxhbm94LmNvbT4KLS0tCiBkcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1 L2NvcmUvd3EuYyB8IDQgKystLQogZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9j b3JlL3dxLmggfCAyICstCiBpbmNsdWRlL2xpbnV4L21seDUvZHJpdmVyLmggICAgICAgICAgICAg ICAgICB8IDIgKy0KIDMgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29y ZS93cS5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL3dxLmMKaW5k ZXggYzhjMzE1ZWI1MTI4Li5kODM4YWY5NTM5YjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2V0 aGVybmV0L21lbGxhbm94L21seDUvY29yZS93cS5jCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0 L21lbGxhbm94L21seDUvY29yZS93cS5jCkBAIC0zOSw5ICszOSw5IEBAIHUzMiBtbHg1X3dxX2N5 Y19nZXRfc2l6ZShzdHJ1Y3QgbWx4NV93cV9jeWMgKndxKQogCXJldHVybiAodTMyKXdxLT5mYmMu c3pfbTEgKyAxOwogfQogCi11MzIgbWx4NV93cV9jeWNfZ2V0X2ZyYWdfc2l6ZShzdHJ1Y3QgbWx4 NV93cV9jeWMgKndxKQordTE2IG1seDVfd3FfY3ljX2dldF9mcmFnX3NpemUoc3RydWN0IG1seDVf d3FfY3ljICp3cSkKIHsKLQlyZXR1cm4gKHUzMil3cS0+ZmJjLmZyYWdfc3pfbTEgKyAxOworCXJl dHVybiB3cS0+ZmJjLmZyYWdfc3pfbTEgKyAxOwogfQogCiB1MzIgbWx4NV9jcXdxX2dldF9zaXpl KHN0cnVjdCBtbHg1X2Nxd3EgKndxKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQv bWVsbGFub3gvbWx4NS9jb3JlL3dxLmggYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9t bHg1L2NvcmUvd3EuaAppbmRleCAwYjQ3MTI2ODE1YjYuLjE2NDc2Y2MxYTYwMiAxMDA2NDQKLS0t IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL3dxLmgKKysrIGIvZHJp dmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL3dxLmgKQEAgLTgwLDcgKzgwLDcg QEAgaW50IG1seDVfd3FfY3ljX2NyZWF0ZShzdHJ1Y3QgbWx4NV9jb3JlX2RldiAqbWRldiwgc3Ry dWN0IG1seDVfd3FfcGFyYW0gKnBhcmFtLAogCQkgICAgICAgdm9pZCAqd3FjLCBzdHJ1Y3QgbWx4 NV93cV9jeWMgKndxLAogCQkgICAgICAgc3RydWN0IG1seDVfd3FfY3RybCAqd3FfY3RybCk7CiB1 MzIgbWx4NV93cV9jeWNfZ2V0X3NpemUoc3RydWN0IG1seDVfd3FfY3ljICp3cSk7Ci11MzIgbWx4 NV93cV9jeWNfZ2V0X2ZyYWdfc2l6ZShzdHJ1Y3QgbWx4NV93cV9jeWMgKndxKTsKK3UxNiBtbHg1 X3dxX2N5Y19nZXRfZnJhZ19zaXplKHN0cnVjdCBtbHg1X3dxX2N5YyAqd3EpOwogCiBpbnQgbWx4 NV93cV9xcF9jcmVhdGUoc3RydWN0IG1seDVfY29yZV9kZXYgKm1kZXYsIHN0cnVjdCBtbHg1X3dx X3BhcmFtICpwYXJhbSwKIAkJICAgICAgdm9pZCAqcXBjLCBzdHJ1Y3QgbWx4NV93cV9xcCAqd3Es CmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L21seDUvZHJpdmVyLmggYi9pbmNsdWRlL2xpbnV4 L21seDUvZHJpdmVyLmgKaW5kZXggMDFhMWE4YmFlYjlkLi42NGY0NTA1OTNiNTQgMTAwNjQ0Ci0t LSBhL2luY2x1ZGUvbGludXgvbWx4NS9kcml2ZXIuaAorKysgYi9pbmNsdWRlL2xpbnV4L21seDUv ZHJpdmVyLmgKQEAgLTM1Nyw3ICszNTcsNyBAQCBzdHJ1Y3QgbWx4NV9mcmFnX2J1ZiB7CiBzdHJ1 Y3QgbWx4NV9mcmFnX2J1Zl9jdHJsIHsKIAlzdHJ1Y3QgbWx4NV9mcmFnX2J1ZglmcmFnX2J1ZjsK IAl1MzIJCQlzel9tMTsKLQl1MzIJCQlmcmFnX3N6X20xOworCXUxNgkJCWZyYWdfc3pfbTE7CiAJ dTMyCQkJc3RyaWRlc19vZmZzZXQ7CiAJdTgJCQlsb2dfc3o7CiAJdTgJCQlsb2dfc3RyaWRlOwot LSAKMi4xNy4xCgo= ----Next_Part(Tue_Sep_18_09_14_58_2018_348)----