From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: [PATCH v1 07/12] tmem/libxc: Squash XEN_SYSCTL_TMEM_OP_[SET|SAVE].. Date: Wed, 28 Sep 2016 05:42:21 -0400 Message-ID: <1475055746-22401-8-git-send-email-konrad.wilk@oracle.com> References: <1475055746-22401-1-git-send-email-konrad.wilk@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bpBOX-0000eW-UA for xen-devel@lists.xenproject.org; Wed, 28 Sep 2016 09:43:18 +0000 In-Reply-To: <1475055746-22401-1-git-send-email-konrad.wilk@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org, konrad@kernel.org Cc: Wei Liu , Ian Jackson , Konrad Rzeszutek Wilk List-Id: xen-devel@lists.xenproject.org U3BlY2lmaWNhbGx5OgoKWEVOX1NZU0NUTF9UTUVNX09QX1NFVF9bV0VJR0hULENPTVBSRVNTXSBh cmUgbm93IGRvbmUgdmlhOgoKIFhFTl9TWVNDVExfVE1FTV9TRVRfQ0xJRU5UX0lORk8KCmFuZCBY RU5fU1lTQ1RMX1RNRU1fT1BfU0FWRV9HRVRfW1ZFUlNJT04sTUFYUE9PTFMsCkNMSUVOVF9XRUlH SFQsIENMSUVOVF9GTEFHU10gY2FuIG5vdyBiZSByZXRyaWV2ZWQgdmlhOgoKIFhFTl9TWVNDVExf VE1FTV9HRVRfQ0xJRU5UX0lORk8KCkFsbCB0aGlzIGluZm9ybWF0aW9uIGlzIG5vdyBpbiAnc3Ry dWN0IHRtZW1fY2xpZW50JyBhbmQKdGhhdCBpcyB3aGF0IHdlIHBhc3MgYXJvdW5kLgoKSHlwZXJ2 aXNvciB3aXNlIHdlIGhhZCB0byBkbyBhIGJpdCBvZiBjYXN0aW5nLiBUaGUKJ3N0cnVjdCB4ZW5f c3lzY3RsX3RtZW1fb3AnLT5idWYgdmFyaWFibGUgaXMgYSBwb2ludGVyIHRvCmNoYXIuIENhc3Rp bmcgdGhhdCB1c2luZyB0aGUgZ3Vlc3RfaGFuZGxlX2Nhc3QgdG8gYSBzdHJ1Y3R1cmUKKHN0cnVj dCB0bWVtX2NsaWVudCkgZG9lcyBub3Qgd29yay4gSGVuY2Ugd2UgZmlyc3QgaGF2ZSB0bwpjYXN0 IGl0IGEgdm9pZCBhbmQgdGhlbiB0byB4ZW5fc3lzY3RsX3RtZW1fY2xpZW50X3QuClRoaXMgY291 bGQgYmUgaW1wcm92ZWQgYnkgaGF2aW5nIGFuIHVuaW9uIGFuZCBpbiBmYWN0IHRoZQpwYXRjaCB0 aXRsZWQ6CiJ0bWVtOiBIYW5kbGUgJ3N0cnVjdCB0bWVtX2luZm8nIGFzIGEgc2VwZXJhdGUgZmll bGQgaW4gdGhlIgpkb2VzIHRoYXQuIEl0IGNvdWxkIGJlIHNxdWFzaGVkIGluIGhlcmUgYnV0IHRo YXQgY2FuIG1ha2UKaXQgaGFyZGVyIHRvIHJldmlldy4KCk9uIHRoZSB0b29sc3RhY2ssIHByaW9y IHRvIHRoaXMgcGF0Y2gsIHRoZSB4Y190bWVtX2NvbnRyb2wKd291bGQgdXNlIHRoZSBib3VuY2Ug YnVmZmVyIG9ubHkgd2hlbiBhcmcxIHdhcyBzZXQgYW5kIHRoZSBjbWQKd2FzIHRvIGxpc3QuIFdp dGggdGhlICdYRU5fU1lTQ1RMX1RNRU1fT1BfU0VUX1tXRUlHSFR8Q09NUFJFU1NdJwp0aGF0IG1h ZGUgc2Vuc2UgYXMgdGhlICdhcmcxJyB3b3VsZCBoYXZlIHRoZSB2YWx1ZS4gSG93ZXZlcgpmb3Ig dGhlIG90aGVyIG9uZXMgKHNheSBYRU5fU1lTQ1RMX1RNRU1fT1BfU0FWRV9HRVRfUE9PTF9VVUlE KQp0aGUgJ2FyZzEnIHdvdWxkIGJlIHRoZSBsZW5ndGggb2YgdGhlICdidWYnLiBJZiB0aGlzCmNv bmZ1c2luZyBkb24ndCBkZXNwYWlyLCBwYXRjaCBwYXRjaCB0aXRsZWQ6CnRtZW0veGNfdG1lbV9j b250cm9sOiBSZW5hbWUgJ2FyZzEnIHRvICdsZW4nIGFuZCAnYXJnMicgdG8gYXJnLgp0YWtlcyBj YXJlIG9mIHRoYXQuCgpUaGUgYWN1dGUgcmVhZGVyIG9mIHRoZSB0b29sc3RhY2sgY29kZSB3aWxs IGRpc2NvdmVyIHRoYXQKd2Ugb25seSB1c2VkIHRoZSBib3VuY2UgYnVmZmVyIGZvciBMSVNULCBu b3QgZm9yIGFueSBvdGhlcgpzdWJjb21tYW5kcyB0aGF0IHVzZWQgJ2J1ZichPyEgV2hpY2ggbWVh bnMgdGhhdCB0aGUgY29udGVudHMKb2YgJ2J1Zicgd291bGQgbmV2ZXIgYmUgY29waWVkIGJhY2sg dG8gdGhlIGNhbGxlZXIgJ2J1ZichCgpJIGFtIG5vdCBzdXJlIGhvdyB0aGlzIGNvdWxkIHBvc3Np Ymx5IHdvcmssIHBlcmhhcHMgWGVuIDQuMQood2hlbiB0aGlzIHdhcyBpbnRyb2R1Y2VkKSB3YXMg bW9yZSByZWxheGVkIGFib3V0IHRoZSBib3VuY2UgYnVmZmVyCmJlaW5nIGVuYWJsZWQuIEFueWhv dyB0aGlzIGZpeGVzIHhjX3RtZW1fY29udHJvbCB0byBkbyBpdCBmb3IKYW55IHN1YmNvbW1hbmQg dGhhdCBoYXMgJ2FyZzEnLgoKTGFzdGx5IHNvbWUgb2YgdGhlIGNoZWNrcyBpbiB4Y190bWVtX1ty ZXN0b3JlfHNhdmVdIGFyZSByZW1vdmVkCmFzIHRoZXkgY2FuJ3QgZXZlciBiZSByZWFjaGVkIChu b3QgZXZlbiBzdXJlIGhvdyB0aGV5IGNvdWxkCmhhdmUgYmVlbiByZWFjaGVkIGluIHRoZSBvcmln aW5hbCBzdWJtaXNzaW9uKS4gT25lIG9mIHRoZW0KaXMgdGhlIGNoZWNrIGZvciB0aGUgd2VpZ2h0 IGFnYWluc3QgLTEgd2hlbiBpbiBmYWN0IHRoZQpoeXBlcnZpc29yIHdvdWxkIG5ldmVyIGhhdmUg cHJvdmlkZWQgdGhhdCB2YWx1ZS4KCk5vdyB0aGUgY2hlY2tzIGFyZSBzaW1wbGUgLSBhcyB0aGUg aHlwZXJjYWxsIGFsd2F5cyByZXR1cm5zCi0+dmVyc2lvbiBhbmQgLT5tYXhwb29scyAod2hpY2gg aXMgbWlycm9yaW5nIGhvdyBpdCB3YXMgZG9uZQpwcmlvciB0byB0aGlzIHBhdGNoKS4gQnV0IGlm IG9uZSB3YW50cyB0byBjaGVjayB0aGUgaWYgYSBndWVzdApoYXMgYW55IHRtZW0gYWN0aXZpdHkg dGhlbiB0aGUgcGF0Y2ggdGl0bGVkCiJ0bWVtOiBCYXRjaCBhbmQgc3F1YXNoIFhFTl9TWVNDVExf VE1FTV9PUF9TQVZFX0dFVF9QT09MXwpbRkxBR1MsTlBBR0VTLFVVSURdIGluIG9uZSBzdWItY2Fs bDogWEVOX1NZU0NUTF9UTUVNX09QX0dFVF9QT09MUy4iCmFkZHMgYW4gLT5ucl9wb29scyB0byBj aGVjayBmb3IgdGhhdC4KClNpZ25lZC1vZmYtYnk6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29u cmFkLndpbGtAb3JhY2xlLmNvbT4KLS0tCi0tLQpDYzogSWFuIEphY2tzb24gPGlhbi5qYWNrc29u QGV1LmNpdHJpeC5jb20+CkNjOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgoKdjE6IE5l dyBzdWJtaXNzaW9uLgotLS0KIHRvb2xzL2xpYnhjL3hjX3RtZW0uYyAgICAgICAgICAgICB8IDcy ICsrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KIHRvb2xzL2xpYnhsL2xpYnhsLmMgICAgICAg ICAgICAgICB8IDI2ICsrKysrKystLS0KIHRvb2xzL3B5dGhvbi94ZW4vbG93bGV2ZWwveGMveGMu YyB8ICAyIC0KIHhlbi9jb21tb24vdG1lbV9jb250cm9sLmMgICAgICAgICB8IDk5ICsrKysrKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUvcHVibGljL3N5c2N0 bC5oICAgICAgIHwgMTggKysrKy0tLQogeGVuL2luY2x1ZGUveGVuL3RtZW1feGVuLmggICAgICAg IHwgIDIgKy0KIDYgZmlsZXMgY2hhbmdlZCwgMTE3IGluc2VydGlvbnMoKyksIDEwMiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y190bWVtLmMgYi90b29scy9saWJ4Yy94 Y190bWVtLmMKaW5kZXggMjRjOGI0My4uNzRkMmQ4NSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMv eGNfdG1lbS5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX3RtZW0uYwpAQCAtMTgsNiArMTgsNyBAQAog ICovCiAKICNpbmNsdWRlICJ4Y19wcml2YXRlLmgiCisjaW5jbHVkZSA8YXNzZXJ0Lmg+CiAjaW5j bHVkZSA8eGVuL3RtZW0uaD4KIAogc3RhdGljIGludCBkb190bWVtX29wKHhjX2ludGVyZmFjZSAq eGNoLCB0bWVtX29wX3QgKm9wKQpAQCAtNjcsNyArNjgsMTIgQEAgaW50IHhjX3RtZW1fY29udHJv bCh4Y19pbnRlcmZhY2UgKnhjaCwKICAgICBzeXNjdGwudS50bWVtX29wLm9pZC5vaWRbMV0gPSAw OwogICAgIHN5c2N0bC51LnRtZW1fb3Aub2lkLm9pZFsyXSA9IDA7CiAKLSAgICBpZiAoIGNtZCA9 PSBYRU5fU1lTQ1RMX1RNRU1fT1BfTElTVCAmJiBhcmcxICE9IDAgKQorICAgIGlmICggY21kID09 IFhFTl9TWVNDVExfVE1FTV9PUF9TRVRfQ0xJRU5UX0lORk8gKQorICAgIHsKKyAgICAgICAgSFlQ RVJDQUxMX0JPVU5DRV9TRVRfRElSKGJ1ZiwgWENfSFlQRVJDQUxMX0JVRkZFUl9CT1VOQ0VfSU4p OworICAgIH0KKworICAgIGlmICggYXJnMSApCiAgICAgewogICAgICAgICBpZiAoIGJ1ZiA9PSBO VUxMICkKICAgICAgICAgewpAQCAtODUsOCArOTEsOCBAQCBpbnQgeGNfdG1lbV9jb250cm9sKHhj X2ludGVyZmFjZSAqeGNoLAogCiAgICAgcmMgPSBkb19zeXNjdGwoeGNoLCAmc3lzY3RsKTsKIAot ICAgIGlmICggY21kID09IFhFTl9TWVNDVExfVE1FTV9PUF9MSVNUICYmIGFyZzEgIT0gMCApCi0g ICAgICAgICAgICB4Y19oeXBlcmNhbGxfYm91bmNlX3Bvc3QoeGNoLCBidWYpOworICAgIGlmICgg YXJnMSApCisgICAgICAgIHhjX2h5cGVyY2FsbF9ib3VuY2VfcG9zdCh4Y2gsIGJ1Zik7CiAKICAg ICByZXR1cm4gcmM7CiB9CkBAIC0yMTEsMzggKzIxNywyOSBAQCBpbnQgeGNfdG1lbV9zYXZlKHhj X2ludGVyZmFjZSAqeGNoLAogewogICAgIGludCBtYXJrZXIgPSBmaWVsZF9tYXJrZXI7CiAgICAg aW50IGksIGo7Ci0gICAgdWludDMyX3QgbWF4X3Bvb2xzLCB2ZXJzaW9uOwotICAgIHVpbnQzMl90 IHdlaWdodCwgZmxhZ3M7Ci0gICAgdWludDMyX3QgcG9vbF9pZDsKKyAgICB1aW50MzJfdCBmbGFn czsKICAgICB1aW50MzJfdCBtaW51c29uZSA9IC0xOworICAgIHVpbnQzMl90IHBvb2xfaWQ7CiAg ICAgc3RydWN0IHRtZW1faGFuZGxlICpoOworICAgIHhlbl9zeXNjdGxfdG1lbV9jbGllbnRfdCBp bmZvOwogCiAgICAgaWYgKCB4Y190bWVtX2NvbnRyb2woeGNoLDAsWEVOX1NZU0NUTF9UTUVNX09Q X1NBVkVfQkVHSU4sZG9tLGxpdmUsMCxOVUxMKSA8PSAwICkKICAgICAgICAgcmV0dXJuIDA7CiAK ICAgICBpZiAoIHdyaXRlX2V4YWN0KGlvX2ZkLCAmbWFya2VyLCBzaXplb2YobWFya2VyKSkgKQog ICAgICAgICByZXR1cm4gLTE7Ci0gICAgdmVyc2lvbiA9IHhjX3RtZW1fY29udHJvbCh4Y2gsMCxY RU5fU1lTQ1RMX1RNRU1fT1BfU0FWRV9HRVRfVkVSU0lPTiwwLDAsMCxOVUxMKTsKLSAgICBpZiAo IHdyaXRlX2V4YWN0KGlvX2ZkLCAmdmVyc2lvbiwgc2l6ZW9mKHZlcnNpb24pKSApCi0gICAgICAg IHJldHVybiAtMTsKLSAgICBtYXhfcG9vbHMgPSB4Y190bWVtX2NvbnRyb2woeGNoLDAsWEVOX1NZ U0NUTF9UTUVNX09QX1NBVkVfR0VUX01BWFBPT0xTLDAsMCwwLE5VTEwpOwotICAgIGlmICggd3Jp dGVfZXhhY3QoaW9fZmQsICZtYXhfcG9vbHMsIHNpemVvZihtYXhfcG9vbHMpKSApCi0gICAgICAg IHJldHVybiAtMTsKLSAgICBpZiAoIHZlcnNpb24gPT0gLTEgfHwgbWF4X3Bvb2xzID09IC0xICkK LSAgICAgICAgcmV0dXJuIC0xOwotICAgIGlmICggd3JpdGVfZXhhY3QoaW9fZmQsICZtaW51c29u ZSwgc2l6ZW9mKG1pbnVzb25lKSkgKQotICAgICAgICByZXR1cm4gLTE7Ci0gICAgZmxhZ3MgPSB4 Y190bWVtX2NvbnRyb2woeGNoLDAsWEVOX1NZU0NUTF9UTUVNX09QX1NBVkVfR0VUX0NMSUVOVF9G TEFHUyxkb20sMCwwLE5VTEwpOwotICAgIGlmICggd3JpdGVfZXhhY3QoaW9fZmQsICZmbGFncywg c2l6ZW9mKGZsYWdzKSkgKQotICAgICAgICByZXR1cm4gLTE7Ci0gICAgd2VpZ2h0ID0geGNfdG1l bV9jb250cm9sKHhjaCwwLFhFTl9TWVNDVExfVE1FTV9PUF9TQVZFX0dFVF9DTElFTlRfV0VJR0hU LGRvbSwwLDAsTlVMTCk7Ci0gICAgaWYgKCB3cml0ZV9leGFjdChpb19mZCwgJndlaWdodCwgc2l6 ZW9mKHdlaWdodCkpICkKKworICAgIGlmICggeGNfdG1lbV9jb250cm9sKHhjaCwgMCAvKiBwb29s X2lkICovLAorICAgICAgICAgICAgICAgICAgICAgICAgIFhFTl9TWVNDVExfVE1FTV9PUF9HRVRf Q0xJRU5UX0lORk8sCisgICAgICAgICAgICAgICAgICAgICAgICAgZG9tIC8qIGNsaV9pZCAqLywg c2l6ZW9mKGluZm8pIC8qIGFyZzEgKi8sIDAgLyogYXJnMiAqLywKKyAgICAgICAgICAgICAgICAg ICAgICAgICAmaW5mbykgPCAwICkKICAgICAgICAgcmV0dXJuIC0xOwotICAgIGlmICggZmxhZ3Mg PT0gLTEgfHwgd2VpZ2h0ID09IC0xICkKKworICAgIGlmICggd3JpdGVfZXhhY3QoaW9fZmQsICZp bmZvLCBzaXplb2YoaW5mbykpICkKICAgICAgICAgcmV0dXJuIC0xOwogICAgIGlmICggd3JpdGVf ZXhhY3QoaW9fZmQsICZtaW51c29uZSwgc2l6ZW9mKG1pbnVzb25lKSkgKQogICAgICAgICByZXR1 cm4gLTE7Ci0gICAgZm9yICggaSA9IDA7IGkgPCBtYXhfcG9vbHM7IGkrKyApCisgICAgZm9yICgg aSA9IDA7IGkgPCBpbmZvLm1heHBvb2xzOyBpKysgKQogICAgIHsKICAgICAgICAgdWludDY0X3Qg dXVpZFsyXTsKICAgICAgICAgdWludDMyX3Qgbl9wYWdlczsKQEAgLTM3OCwzNSArMzc1LDI0IEBA IHN0YXRpYyBpbnQgeGNfdG1lbV9yZXN0b3JlX25ld19wb29sKAogCiBpbnQgeGNfdG1lbV9yZXN0 b3JlKHhjX2ludGVyZmFjZSAqeGNoLCBpbnQgZG9tLCBpbnQgaW9fZmQpCiB7Ci0gICAgdWludDMy X3QgdGhpc19tYXhfcG9vbHMsIHRoaXNfdmVyc2lvbjsKICAgICB1aW50MzJfdCBwb29sX2lkOwog ICAgIHVpbnQzMl90IG1pbnVzb25lOwotICAgIHVpbnQzMl90IHdlaWdodCwgZmxhZ3M7CisgICAg dWludDMyX3QgZmxhZ3M7CisgICAgeGVuX3N5c2N0bF90bWVtX2NsaWVudF90IGluZm87CiAgICAg aW50IGNoZWNrc3VtID0gMDsKIAotICAgIGlmICggcmVhZF9leGFjdChpb19mZCwgJnRoaXNfdmVy c2lvbiwgc2l6ZW9mKHRoaXNfdmVyc2lvbikpICkKLSAgICAgICAgcmV0dXJuIC0xOwotICAgIGlm ICggcmVhZF9leGFjdChpb19mZCwgJnRoaXNfbWF4X3Bvb2xzLCBzaXplb2YodGhpc19tYXhfcG9v bHMpKSApCisgICAgaWYgKCByZWFkX2V4YWN0KGlvX2ZkLCAmaW5mbywgc2l6ZW9mKGluZm8pKSAp CiAgICAgICAgIHJldHVybiAtMTsKICAgICAvKiBGSVhNRSBjaGVjayBoZXJlIHRvIGVuc3VyZSBu byB2ZXJzaW9uIG1pc21hdGNoIG9yIG1heHBvb2xzIG1pc21hdGNoICovCi0gICAgaWYgKCByZWFk X2V4YWN0KGlvX2ZkLCAmbWludXNvbmUsIHNpemVvZihtaW51c29uZSkpICkKLSAgICAgICAgcmV0 dXJuIC0xOwotICAgIGlmICggbWludXNvbmUgIT0gLTEgKQotICAgICAgICByZXR1cm4gLTE7CiAg ICAgaWYgKCB4Y190bWVtX2NvbnRyb2woeGNoLDAsWEVOX1NZU0NUTF9UTUVNX09QX1JFU1RPUkVf QkVHSU4sZG9tLDAsMCxOVUxMKSA8IDAgKQogICAgICAgICByZXR1cm4gLTE7Ci0gICAgaWYgKCBy ZWFkX2V4YWN0KGlvX2ZkLCAmZmxhZ3MsIHNpemVvZihmbGFncykpICkKLSAgICAgICAgcmV0dXJu IC0xOwotICAgIGlmICggZmxhZ3MgJiBUTUVNX0NMSUVOVF9DT01QUkVTUyApCi0gICAgICAgIGlm ICggeGNfdG1lbV9jb250cm9sKHhjaCwwLFhFTl9TWVNDVExfVE1FTV9PUF9TRVRfQ09NUFJFU1Ms ZG9tLDEsMCxOVUxMKSA8IDAgKQotICAgICAgICAgICAgcmV0dXJuIC0xOwotICAgIGlmICggZmxh Z3MgJiBUTUVNX0NMSUVOVF9GUk9aRU4gKQotICAgICAgICBpZiAoIHhjX3RtZW1fY29udHJvbCh4 Y2gsMCxYRU5fU1lTQ1RMX1RNRU1fT1BfRlJFRVpFLGRvbSwwLDAsTlVMTCkgPCAwICkKLSAgICAg ICAgICAgIHJldHVybiAtMTsKLSAgICBpZiAoIHJlYWRfZXhhY3QoaW9fZmQsICZ3ZWlnaHQsIHNp emVvZih3ZWlnaHQpKSApCi0gICAgICAgIHJldHVybiAtMTsKLSAgICBpZiAoIHhjX3RtZW1fY29u dHJvbCh4Y2gsMCxYRU5fU1lTQ1RMX1RNRU1fT1BfU0VUX1dFSUdIVCxkb20sMCwwLE5VTEwpIDwg MCApCisKKyAgICBpZiAoIHhjX3RtZW1fY29udHJvbCh4Y2gsIDAgLyogcG9vbF9pZCAqLywKKyAg ICAgICAgICAgICAgICAgICAgICAgICBYRU5fU1lTQ1RMX1RNRU1fT1BfU0VUX0NMSUVOVF9JTkZP LAorICAgICAgICAgICAgICAgICAgICAgICAgIGRvbSAvKiBjbGlfaWQgKi8sIHNpemVvZihpbmZv KSAvKiBhcmcxICovLCAwIC8qIGFyZzIgKi8sCisgICAgICAgICAgICAgICAgICAgICAgICAgJmlu Zm8pIDwgMCApCiAgICAgICAgIHJldHVybiAtMTsKKwogICAgIGlmICggcmVhZF9leGFjdChpb19m ZCwgJm1pbnVzb25lLCBzaXplb2YobWludXNvbmUpKSApCiAgICAgICAgIHJldHVybiAtMTsKICAg ICB3aGlsZSAoIHJlYWRfZXhhY3QoaW9fZmQsICZwb29sX2lkLCBzaXplb2YocG9vbF9pZCkpID09 IDAgJiYgcG9vbF9pZCAhPSAtMSApCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bC5jIGIv dG9vbHMvbGlieGwvbGlieGwuYwppbmRleCBlM2VlNDljLi4yZjUwZTYxIDEwMDY0NAotLS0gYS90 b29scy9saWJ4bC9saWJ4bC5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMKQEAgLTYwNjEsMjgg KzYwNjEsNDIgQEAgb3V0OgogICAgIHJldHVybiByYzsKIH0KIAotc3RhdGljIGludDMyX3QgdG1l bV9zZXRvcF9mcm9tX3N0cmluZyhjaGFyICpzZXRfbmFtZSkKK3N0YXRpYyBpbnQzMl90IHRtZW1f c2V0b3BfZnJvbV9zdHJpbmcoY2hhciAqc2V0X25hbWUsIHVpbnQzMl90IHZhbCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHRtZW1fY2xpZW50ICppbmZvKQog ewogICAgIGlmICghc3RyY21wKHNldF9uYW1lLCAid2VpZ2h0IikpCi0gICAgICAgIHJldHVybiBY RU5fU1lTQ1RMX1RNRU1fT1BfU0VUX1dFSUdIVDsKKyAgICAgICAgaW5mby0+d2VpZ2h0ID0gdmFs OwogICAgIGVsc2UgaWYgKCFzdHJjbXAoc2V0X25hbWUsICJjb21wcmVzcyIpKQotICAgICAgICBy ZXR1cm4gWEVOX1NZU0NUTF9UTUVNX09QX1NFVF9DT01QUkVTUzsKKyAgICAgICAgaW5mby0+Zmxh Z3MudS5jb21wcmVzcyA9IHZhbDsKICAgICBlbHNlCiAgICAgICAgIHJldHVybiAtMTsKKworICAg IHJldHVybiAwOwogfQogCiBpbnQgbGlieGxfdG1lbV9zZXQobGlieGxfY3R4ICpjdHgsIHVpbnQz Ml90IGRvbWlkLCBjaGFyKiBuYW1lLCB1aW50MzJfdCBzZXQpCiB7CiAgICAgaW50IHIsIHJjOwot ICAgIGludDMyX3Qgc3Vib3AgPSB0bWVtX3NldG9wX2Zyb21fc3RyaW5nKG5hbWUpOworICAgIHN0 cnVjdCB0bWVtX2NsaWVudCBpbmZvOwogICAgIEdDX0lOSVQoY3R4KTsKIAotICAgIGlmIChzdWJv cCA9PSAtMSkgeworICAgIHIgPSB4Y190bWVtX2NvbnRyb2woY3R4LT54Y2gsIC0xIC8qIHBvb2xf aWQgKi8sCisgICAgICAgICAgICAgICAgICAgICAgICBYRU5fU1lTQ1RMX1RNRU1fT1BfR0VUX0NM SUVOVF9JTkZPLAorICAgICAgICAgICAgICAgICAgICAgICAgZG9taWQsIHNpemVvZihpbmZvKSwg MCAvKiBhcmcyICovLCAmaW5mbyk7CisgICAgaWYgKHIgPCAwKSB7CisgICAgICAgIExPR0UoRVJS T1IsICJDYW4gbm90IGdldCB0bWVtIGRhdGEhIik7CisgICAgICAgIHJjID0gRVJST1JfRkFJTDsK KyAgICAgICAgZ290byBvdXQ7CisgICAgfQorICAgIHJjID0gdG1lbV9zZXRvcF9mcm9tX3N0cmlu ZyhuYW1lLCBzZXQsICZpbmZvKTsKKyAgICBpZiAocmMgPT0gLTEpIHsKICAgICAgICAgTE9HRVYo RVJST1IsIC0xLCAiSW52YWxpZCBzZXQsIHZhbGlkIHNldHMgYXJlIDx3ZWlnaHR8Y29tcHJlc3M+ Iik7CiAgICAgICAgIHJjID0gRVJST1JfSU5WQUw7CiAgICAgICAgIGdvdG8gb3V0OwogICAgIH0K LSAgICByID0geGNfdG1lbV9jb250cm9sKGN0eC0+eGNoLCAtMSwgc3Vib3AsIGRvbWlkLCBzZXQs IDAsIE5VTEwpOworICAgIHIgPSB4Y190bWVtX2NvbnRyb2woY3R4LT54Y2gsIC0xIC8qIHBvb2xf aWQgKi8sCisgICAgICAgICAgICAgICAgICAgICAgICBYRU5fU1lTQ1RMX1RNRU1fT1BfU0VUX0NM SUVOVF9JTkZPLAorICAgICAgICAgICAgICAgICAgICAgICAgZG9taWQsIHNpemVvZihpbmZvKSwg MCAvKiBhcmcyICovLCAmaW5mbyk7CiAgICAgaWYgKHIgPCAwKSB7CiAgICAgICAgIExPR0UoRVJS T1IsICJDYW4gbm90IHNldCB0bWVtICVzIiwgbmFtZSk7CiAgICAgICAgIHJjID0gRVJST1JfRkFJ TDsKZGlmZiAtLWdpdCBhL3Rvb2xzL3B5dGhvbi94ZW4vbG93bGV2ZWwveGMveGMuYyBiL3Rvb2xz L3B5dGhvbi94ZW4vbG93bGV2ZWwveGMveGMuYwppbmRleCAyODdmNTkwLi5hMTE3NzM3IDEwMDY0 NAotLS0gYS90b29scy9weXRob24veGVuL2xvd2xldmVsL3hjL3hjLmMKKysrIGIvdG9vbHMvcHl0 aG9uL3hlbi9sb3dsZXZlbC94Yy94Yy5jCkBAIC0xNjQwLDggKzE2NDAsNiBAQCBzdGF0aWMgUHlP YmplY3QgKnB5eGNfdG1lbV9jb250cm9sKFhjT2JqZWN0ICpzZWxmLAogICAgICAgICBjYXNlIFhF Tl9TWVNDVExfVE1FTV9PUF9USEFXOgogICAgICAgICBjYXNlIFhFTl9TWVNDVExfVE1FTV9PUF9G UkVFWkU6CiAgICAgICAgIGNhc2UgWEVOX1NZU0NUTF9UTUVNX09QX0RFU1RST1k6Ci0gICAgICAg IGNhc2UgWEVOX1NZU0NUTF9UTUVNX09QX1NFVF9XRUlHSFQ6Ci0gICAgICAgIGNhc2UgWEVOX1NZ U0NUTF9UTUVNX09QX1NFVF9DT01QUkVTUzoKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAg IGJyZWFrOwogICAgIH0KZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vdG1lbV9jb250cm9sLmMgYi94 ZW4vY29tbW9uL3RtZW1fY29udHJvbC5jCmluZGV4IGJhMDAzYTguLjhiYjlkNDggMTAwNjQ0Ci0t LSBhL3hlbi9jb21tb24vdG1lbV9jb250cm9sLmMKKysrIGIveGVuL2NvbW1vbi90bWVtX2NvbnRy b2wuYwpAQCAtMjU4LDQzICsyNTgsNTggQEAgc3RhdGljIGludCB0bWVtY19saXN0KGRvbWlkX3Qg Y2xpX2lkLCB0bWVtX2NsaV92YV9wYXJhbV90IGJ1ZiwgdWludDMyX3QgbGVuLAogICAgIHJldHVy biAwOwogfQogCi1zdGF0aWMgaW50IF9fdG1lbWNfc2V0X3ZhcihzdHJ1Y3QgY2xpZW50ICpjbGll bnQsIHVpbnQzMl90IHN1Ym9wLCB1aW50MzJfdCBhcmcxKQorc3RhdGljIGludCBfX3RtZW1jX3Nl dF92YXIoc3RydWN0IGNsaWVudCAqY2xpZW50LCB1aW50MzJfdCBzdWJvcCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGVuX3N5c2N0bF90bWVtX2Ns aWVudF90KSBidWYpCiB7CiAgICAgZG9taWRfdCBjbGlfaWQgPSBjbGllbnQtPmNsaV9pZDsKICAg ICB1aW50MzJfdCBvbGRfd2VpZ2h0OworICAgIHhlbl9zeXNjdGxfdG1lbV9jbGllbnRfdCBpbmZv ID0geyB9OwogCi0gICAgc3dpdGNoIChzdWJvcCkKKyAgICBBU1NFUlQoY2xpZW50KTsKKworICAg IGlmICggc3Vib3AgIT0gWEVOX1NZU0NUTF9UTUVNX09QX1NFVF9DTElFTlRfSU5GTyApCisgICAg eworICAgICAgICB0bWVtX2NsaWVudF93YXJuKCJ0bWVtOiB1bmtub3duIHN1Ym9wICVkIGZvciB0 bWVtY19zZXRfdmFyXG4iLCBzdWJvcCk7CisgICAgICAgIHJldHVybiAtMTsKKyAgICB9CisgICAg aWYgKCBjb3B5X2Zyb21fZ3Vlc3QoJmluZm8sIGJ1ZiwgMSkgKQorICAgICAgICByZXR1cm4gLUVG QVVMVDsKKworICAgIGlmICggaW5mby53ZWlnaHQgIT0gY2xpZW50LT5pbmZvLndlaWdodCApCiAg ICAgewotICAgIGNhc2UgWEVOX1NZU0NUTF9UTUVNX09QX1NFVF9XRUlHSFQ6CiAgICAgICAgIG9s ZF93ZWlnaHQgPSBjbGllbnQtPmluZm8ud2VpZ2h0OwotICAgICAgICBjbGllbnQtPmluZm8ud2Vp Z2h0ID0gYXJnMTsKKyAgICAgICAgY2xpZW50LT5pbmZvLndlaWdodCA9IGluZm8ud2VpZ2h0Owog ICAgICAgICB0bWVtX2NsaWVudF9pbmZvKCJ0bWVtOiB3ZWlnaHQgc2V0IHRvICVkIGZvciAlcz0l ZFxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGFyZzEsIHRtZW1fY2xpX2lkX3N0ciwgY2xp X2lkKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLndlaWdodCwgdG1lbV9jbGlfaWRf c3RyLCBjbGlfaWQpOwogICAgICAgICBhdG9taWNfc3ViKG9sZF93ZWlnaHQsJnRtZW1fZ2xvYmFs LmNsaWVudF93ZWlnaHRfdG90YWwpOwogICAgICAgICBhdG9taWNfYWRkKGNsaWVudC0+aW5mby53 ZWlnaHQsJnRtZW1fZ2xvYmFsLmNsaWVudF93ZWlnaHRfdG90YWwpOwotICAgICAgICBicmVhazsK LSAgICBjYXNlIFhFTl9TWVNDVExfVE1FTV9PUF9TRVRfQ09NUFJFU1M6Ci0gICAgICAgIGNsaWVu dC0+aW5mby5mbGFncy51LmNvbXByZXNzID0gYXJnMSA/IDEgOiAwOworICAgIH0KKworCisgICAg aWYgKCBpbmZvLmZsYWdzLnUuY29tcHJlc3MgIT0gY2xpZW50LT5pbmZvLmZsYWdzLnUuY29tcHJl c3MgKQorICAgIHsKKyAgICAgICAgY2xpZW50LT5pbmZvLmZsYWdzLnUuY29tcHJlc3MgPSBpbmZv LmZsYWdzLnUuY29tcHJlc3M7CiAgICAgICAgIHRtZW1fY2xpZW50X2luZm8oInRtZW06IGNvbXBy ZXNzaW9uICVzIGZvciAlcz0lZFxuIiwKLSAgICAgICAgICAgIGFyZzEgPyAiZW5hYmxlZCIgOiAi ZGlzYWJsZWQiLHRtZW1fY2xpX2lkX3N0cixjbGlfaWQpOwotICAgICAgICBicmVhazsKLSAgICBk ZWZhdWx0OgotICAgICAgICB0bWVtX2NsaWVudF93YXJuKCJ0bWVtOiB1bmtub3duIHN1Ym9wICVk IGZvciB0bWVtY19zZXRfdmFyXG4iLCBzdWJvcCk7Ci0gICAgICAgIHJldHVybiAtMTsKKyAgICAg ICAgICAgICAgICAgICAgICAgICBpbmZvLmZsYWdzLnUuY29tcHJlc3MgPyAiZW5hYmxlZCIgOiAi ZGlzYWJsZWQiLAorICAgICAgICAgICAgICAgICAgICAgICAgIHRtZW1fY2xpX2lkX3N0cixjbGlf aWQpOwogICAgIH0KICAgICByZXR1cm4gMDsKIH0KIAotc3RhdGljIGludCB0bWVtY19zZXRfdmFy KGRvbWlkX3QgY2xpX2lkLCB1aW50MzJfdCBzdWJvcCwgdWludDMyX3QgYXJnMSkKK3N0YXRpYyBp bnQgdG1lbWNfc2V0X3Zhcihkb21pZF90IGNsaV9pZCwgdWludDMyX3Qgc3Vib3AsCisgICAgICAg ICAgICAgICAgICAgICAgICAgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBidWYpCiB7CiAg ICAgc3RydWN0IGNsaWVudCAqY2xpZW50OwotICAgIGludCByZXQgPSAtMTsKKyAgICBpbnQgcmV0 ID0gLUVOT0VOVDsKKyAgICBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlbl9zeXNjdGxfdG1lbV9j bGllbnRfdCkgaW5mbzsKKworICAgIGluZm8gPSBndWVzdF9oYW5kbGVfY2FzdChidWYsIHhlbl9z eXNjdGxfdG1lbV9jbGllbnRfdCk7CiAKICAgICBpZiAoIGNsaV9pZCA9PSBUTUVNX0NMSV9JRF9O VUxMICkKICAgICB7CiAgICAgICAgIGxpc3RfZm9yX2VhY2hfZW50cnkoY2xpZW50LCZ0bWVtX2ds b2JhbC5jbGllbnRfbGlzdCxjbGllbnRfbGlzdCkKICAgICAgICAgewotICAgICAgICAgICAgcmV0 ID0gIF9fdG1lbWNfc2V0X3ZhcihjbGllbnQsIHN1Ym9wLCBhcmcxKTsKKyAgICAgICAgICAgIHJl dCA9ICBfX3RtZW1jX3NldF92YXIoY2xpZW50LCBzdWJvcCwgaW5mbyk7CiAgICAgICAgICAgICBp ZiAocmV0KQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CkBAIC0zMDMsMzcgKzMx OCwzOCBAQCBzdGF0aWMgaW50IHRtZW1jX3NldF92YXIoZG9taWRfdCBjbGlfaWQsIHVpbnQzMl90 IHN1Ym9wLCB1aW50MzJfdCBhcmcxKQogICAgIHsKICAgICAgICAgY2xpZW50ID0gdG1lbV9jbGll bnRfZnJvbV9jbGlfaWQoY2xpX2lkKTsKICAgICAgICAgaWYgKCBjbGllbnQgKQotICAgICAgICAg ICAgcmV0ID0gX190bWVtY19zZXRfdmFyKGNsaWVudCwgc3Vib3AsIGFyZzEpOworICAgICAgICAg ICAgcmV0ID0gX190bWVtY19zZXRfdmFyKGNsaWVudCwgc3Vib3AsIGluZm8pOwogICAgIH0KICAg ICByZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgaW50IHRtZW1jX3NhdmVfc3Vib3AoaW50IGNsaV9p ZCwgdWludDMyX3QgcG9vbF9pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHN1 Ym9wLCB0bWVtX2NsaV92YV9wYXJhbV90IGJ1ZiwgdWludDMyX3QgYXJnMSkKK3N0YXRpYyBpbnQg dG1lbWNfc2F2ZV9zdWJvcChpbnQgY2xpX2lkLCB1aW50MzJfdCBwb29sX2lkLCB1aW50MzJfdCBz dWJvcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5fR1VFU1RfSEFORExFX1BBUkFN KHZvaWQpIGJ1ZiwgdWludDMyX3QgYXJnMSkKIHsKICAgICBzdHJ1Y3QgY2xpZW50ICpjbGllbnQg PSB0bWVtX2NsaWVudF9mcm9tX2NsaV9pZChjbGlfaWQpOwogICAgIHN0cnVjdCB0bWVtX3Bvb2wg KnBvb2wgPSAoY2xpZW50ID09IE5VTEwgfHwgcG9vbF9pZCA+PSBNQVhfUE9PTFNfUEVSX0RPTUFJ TikKICAgICAgICAgICAgICAgICAgICA/IE5VTEwgOiBjbGllbnQtPnBvb2xzW3Bvb2xfaWRdOwog ICAgIGludCByYyA9IC0xOworICAgIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGVuX3N5c2N0bF90 bWVtX2NsaWVudF90KSBpbmZvOwogCiAgICAgc3dpdGNoKHN1Ym9wKQogICAgIHsKLSAgICBjYXNl IFhFTl9TWVNDVExfVE1FTV9PUF9TQVZFX0dFVF9WRVJTSU9OOgotICAgICAgICByYyA9IFRNRU1f U1BFQ19WRVJTSU9OOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFhFTl9TWVNDVExfVE1FTV9P UF9TQVZFX0dFVF9NQVhQT09MUzoKLSAgICAgICAgcmMgPSBNQVhfUE9PTFNfUEVSX0RPTUFJTjsK LSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBYRU5fU1lTQ1RMX1RNRU1fT1BfU0FWRV9HRVRfQ0xJ RU5UX1dFSUdIVDoKLSAgICAgICAgaWYgKCBjbGllbnQgPT0gTlVMTCApCi0gICAgICAgICAgICBi cmVhazsKLSAgICAgICAgcmMgPSBjbGllbnQtPmluZm8ud2VpZ2h0ID09IC0xID8gLTIgOiBjbGll bnQtPmluZm8ud2VpZ2h0OwotICAgICAgICBicmVhazsKLSAgICBjYXNlIFhFTl9TWVNDVExfVE1F TV9PUF9TQVZFX0dFVF9DTElFTlRfRkxBR1M6Ci0gICAgICAgIGlmICggY2xpZW50ID09IE5VTEwg KQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIHJjID0gKGNsaWVudC0+aW5mby5mbGFncy51 LmNvbXByZXNzID8gVE1FTV9DTElFTlRfQ09NUFJFU1MgOiAwICkgfAotICAgICAgICAgICAgIChj bGllbnQtPndhc19mcm96ZW4gPyBUTUVNX0NMSUVOVF9GUk9aRU4gOiAwICk7CisgICAgY2FzZSBY RU5fU1lTQ1RMX1RNRU1fT1BfR0VUX0NMSUVOVF9JTkZPOgorICAgICAgICByYyA9IDA7CisgICAg ICAgIGluZm8gPSBndWVzdF9oYW5kbGVfY2FzdChidWYsIHhlbl9zeXNjdGxfdG1lbV9jbGllbnRf dCk7CisgICAgICAgIGlmICggY2xpZW50ICkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCBj b3B5X3RvX2d1ZXN0KGluZm8sICZjbGllbnQtPmluZm8sIDEpICkKKyAgICAgICAgICAgICAgICBy YyA9IC1FRkFVTFQ7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAg ICAgICB4ZW5fc3lzY3RsX3RtZW1fY2xpZW50X3QgZ2VuZXJpYyA9IHsgLnZlcnNpb24gPSBUTUVN X1NQRUNfVkVSU0lPTiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAubWF4cG9vbHMgPSBNQVhfUE9PTFNfUEVSX0RPTUFJTiB9OworCisgICAgICAgICAg ICBpZiAoIGNvcHlfdG9fZ3Vlc3QoaW5mbywgJmdlbmVyaWMsIDEpICkKKyAgICAgICAgICAgICAg ICByYyA9IC1FRkFVTFQ7CisgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBYRU5f U1lTQ1RMX1RNRU1fT1BfU0FWRV9HRVRfUE9PTF9GTEFHUzoKICAgICAgICAgIGlmICggcG9vbCA9 PSBOVUxMICkKQEAgLTM4NiwyMiArNDAyLDE5IEBAIGludCB0bWVtX2NvbnRyb2woc3RydWN0IHhl bl9zeXNjdGxfdG1lbV9vcCAqb3ApCiAgICAgICAgIHJldCA9IHRtZW1jX2xpc3Qob3AtPmNsaV9p ZCwKICAgICAgICAgICAgICAgICAgICAgICAgICBndWVzdF9oYW5kbGVfY2FzdChvcC0+YnVmLCBj aGFyKSwgb3AtPmFyZzEsIG9wLT5hcmcyKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBYRU5f U1lTQ1RMX1RNRU1fT1BfU0VUX1dFSUdIVDoKLSAgICBjYXNlIFhFTl9TWVNDVExfVE1FTV9PUF9T RVRfQ09NUFJFU1M6Ci0gICAgICAgIHJldCA9IHRtZW1jX3NldF92YXIob3AtPmNsaV9pZCwgY21k LCBvcC0+YXJnMSk7CisgICAgY2FzZSBYRU5fU1lTQ1RMX1RNRU1fT1BfU0VUX0NMSUVOVF9JTkZP OgorICAgICAgICByZXQgPSB0bWVtY19zZXRfdmFyKG9wLT5jbGlfaWQsIGNtZCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICBndWVzdF9oYW5kbGVfY2FzdChvcC0+YnVmLCB2b2lkKSk7CiAg ICAgICAgIGJyZWFrOwogICAgIGNhc2UgWEVOX1NZU0NUTF9UTUVNX09QX1FVRVJZX0ZSRUVBQkxF X01COgogICAgICAgICByZXQgPSB0bWVtX2ZyZWVhYmxlX3BhZ2VzKCkgPj4gKDIwIC0gUEFHRV9T SElGVCk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgWEVOX1NZU0NUTF9UTUVNX09QX1NBVkVf R0VUX1ZFUlNJT046Ci0gICAgY2FzZSBYRU5fU1lTQ1RMX1RNRU1fT1BfU0FWRV9HRVRfTUFYUE9P TFM6Ci0gICAgY2FzZSBYRU5fU1lTQ1RMX1RNRU1fT1BfU0FWRV9HRVRfQ0xJRU5UX1dFSUdIVDoK LSAgICBjYXNlIFhFTl9TWVNDVExfVE1FTV9PUF9TQVZFX0dFVF9DTElFTlRfRkxBR1M6CisgICAg Y2FzZSBYRU5fU1lTQ1RMX1RNRU1fT1BfR0VUX0NMSUVOVF9JTkZPOgogICAgIGNhc2UgWEVOX1NZ U0NUTF9UTUVNX09QX1NBVkVfR0VUX1BPT0xfRkxBR1M6CiAgICAgY2FzZSBYRU5fU1lTQ1RMX1RN RU1fT1BfU0FWRV9HRVRfUE9PTF9OUEFHRVM6CiAgICAgY2FzZSBYRU5fU1lTQ1RMX1RNRU1fT1Bf U0FWRV9HRVRfUE9PTF9VVUlEOgogICAgICAgICByZXQgPSB0bWVtY19zYXZlX3N1Ym9wKG9wLT5j bGlfaWQsIHBvb2xfaWQsIGNtZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWVz dF9oYW5kbGVfY2FzdChvcC0+YnVmLCBjaGFyKSwgb3AtPmFyZzEpOworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGd1ZXN0X2hhbmRsZV9jYXN0KG9wLT5idWYsIHZvaWQpLCBvcC0+YXJn MSk7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldCA9IGRvX3RtZW1f Y29udHJvbChvcCk7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvc3lzY3RsLmggYi94 ZW4vaW5jbHVkZS9wdWJsaWMvc3lzY3RsLmgKaW5kZXggYTI5YThmYS4uMjdlMDUxYiAxMDA2NDQK LS0tIGEveGVuL2luY2x1ZGUvcHVibGljL3N5c2N0bC5oCisrKyBiL3hlbi9pbmNsdWRlL3B1Ymxp Yy9zeXNjdGwuaApAQCAtNzU2LDE0ICs3NTYsMTAgQEAgREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUo eGVuX3N5c2N0bF9wc3JfY2F0X29wX3QpOwogI2RlZmluZSBYRU5fU1lTQ1RMX1RNRU1fT1BfRkxV U0ggICAgICAgICAgICAgICAgICAyCiAjZGVmaW5lIFhFTl9TWVNDVExfVE1FTV9PUF9ERVNUUk9Z ICAgICAgICAgICAgICAgIDMKICNkZWZpbmUgWEVOX1NZU0NUTF9UTUVNX09QX0xJU1QgICAgICAg ICAgICAgICAgICAgNAotI2RlZmluZSBYRU5fU1lTQ1RMX1RNRU1fT1BfU0VUX1dFSUdIVCAgICAg ICAgICAgICA1Ci0jZGVmaW5lIFhFTl9TWVNDVExfVE1FTV9PUF9TRVRfQ09NUFJFU1MgICAgICAg ICAgIDcKICNkZWZpbmUgWEVOX1NZU0NUTF9UTUVNX09QX1FVRVJZX0ZSRUVBQkxFX01CICAgICAg OAogI2RlZmluZSBYRU5fU1lTQ1RMX1RNRU1fT1BfU0FWRV9CRUdJTiAgICAgICAgICAgICAxMAot I2RlZmluZSBYRU5fU1lTQ1RMX1RNRU1fT1BfU0FWRV9HRVRfVkVSU0lPTiAgICAgICAxMQotI2Rl ZmluZSBYRU5fU1lTQ1RMX1RNRU1fT1BfU0FWRV9HRVRfTUFYUE9PTFMgICAgICAxMgotI2RlZmlu ZSBYRU5fU1lTQ1RMX1RNRU1fT1BfU0FWRV9HRVRfQ0xJRU5UX1dFSUdIVCAxMwotI2RlZmluZSBY RU5fU1lTQ1RMX1RNRU1fT1BfU0FWRV9HRVRfQ0xJRU5UX0ZMQUdTICAxNQorI2RlZmluZSBYRU5f U1lTQ1RMX1RNRU1fT1BfR0VUX0NMSUVOVF9JTkZPICAgICAgICAxMQorI2RlZmluZSBYRU5fU1lT Q1RMX1RNRU1fT1BfU0VUX0NMSUVOVF9JTkZPICAgICAgICAxMgogI2RlZmluZSBYRU5fU1lTQ1RM X1RNRU1fT1BfU0FWRV9HRVRfUE9PTF9GTEFHUyAgICAxNgogI2RlZmluZSBYRU5fU1lTQ1RMX1RN RU1fT1BfU0FWRV9HRVRfUE9PTF9OUEFHRVMgICAxNwogI2RlZmluZSBYRU5fU1lTQ1RMX1RNRU1f T1BfU0FWRV9HRVRfUE9PTF9VVUlEICAgICAxOApAQCAtNzg1LDYgKzc4MSwxMSBAQCBzdHJ1Y3Qg dG1lbV9oYW5kbGUgewogICAgIHhlbl90bWVtX29pZF90IG9pZDsKIH07CiAKKy8qCisgKiBYRU5f U1lTQ1RMX1RNRU1fT1BfW0dFVCxTQVZFXV9DTElFTlQgb3ZlcnJpZGVzIHRoZSAnYnVmJyBpbgor ICogeGVuX3N5c2N0bF90bWVtX29wIHdpdGggdGhpcyBzdHJ1Y3R1cmUgLSBhbmQgY29udGFpbiBk YXRhIHVzZWQKKyAqIGR1cmluZyBtaWdyYXRpb24uCisgKi8KIHN0cnVjdCB0bWVtX2NsaWVudCB7 CiAgICAgdWludDMyX3QgdmVyc2lvbjsKICAgICB1aW50MzJfdCBtYXhwb29sczsKQEAgLTc5OCw2 ICs3OTksOCBAQCBzdHJ1Y3QgdG1lbV9jbGllbnQgewogICAgIH0gZmxhZ3M7CiAgICAgdWludDMy X3Qgd2VpZ2h0OwogfTsKK3R5cGVkZWYgc3RydWN0IHRtZW1fY2xpZW50IHhlbl9zeXNjdGxfdG1l bV9jbGllbnRfdDsKK0RFRklORV9YRU5fR1VFU1RfSEFORExFKHhlbl9zeXNjdGxfdG1lbV9jbGll bnRfdCk7CiAKIHN0cnVjdCB4ZW5fc3lzY3RsX3RtZW1fb3AgewogICAgIHVpbnQzMl90IGNtZDsg ICAgICAgLyogSU46IFhFTl9TWVNDVExfVE1FTV9PUF8qIC4gKi8KQEAgLTgwOSw3ICs4MTIsOCBA QCBzdHJ1Y3QgeGVuX3N5c2N0bF90bWVtX29wIHsKICAgICB1aW50MzJfdCBhcmcyOyAgICAgIC8q IElOOiBJZiBub3QgYXBwbGljYWJsZSB0byBjb21tYW5kIHVzZSAwLiAqLwogICAgIHVpbnQzMl90 IHBhZDsgICAgICAgLyogUGFkZGluZyBzbyBzdHJ1Y3R1cmUgaXMgdGhlIHNhbWUgdW5kZXIgMzIg YW5kIDY0LiAqLwogICAgIHhlbl90bWVtX29pZF90IG9pZDsgLyogSU46IElmIG5vdCBhcHBsaWNh YmxlIHRvIGNvbW1hbmQgdXNlIDBzLiAqLwotICAgIFhFTl9HVUVTVF9IQU5ETEVfNjQoY2hhcikg YnVmOyAvKiBJTi9PVVQ6IEJ1ZmZlciB0byBzYXZlIGFuZCByZXN0b3JlIG9wcy4gKi8KKyAgICBY RU5fR1VFU1RfSEFORExFXzY0KGNoYXIpIGJ1ZjsgLyogSU4vT1VUOiBCdWZmZXIgdG8gc2F2ZS9y ZXN0b3JlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgc2V0L2dl dCBvcHMuICovCiB9OwogdHlwZWRlZiBzdHJ1Y3QgeGVuX3N5c2N0bF90bWVtX29wIHhlbl9zeXNj dGxfdG1lbV9vcF90OwogREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUoeGVuX3N5c2N0bF90bWVtX29w X3QpOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL3RtZW1feGVuLmggYi94ZW4vaW5jbHVk ZS94ZW4vdG1lbV94ZW4uaAppbmRleCBjMGU3NzZjLi5kYWY2YzkyIDEwMDY0NAotLS0gYS94ZW4v aW5jbHVkZS94ZW4vdG1lbV94ZW4uaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vdG1lbV94ZW4uaApA QCAtMjkzLDcgKzI5Myw3IEBAIHN0cnVjdCBjbGllbnQgewogICAgIHN0cnVjdCBsaXN0X2hlYWQg ZXBoZW1lcmFsX3BhZ2VfbGlzdDsKICAgICBsb25nIGVwaF9jb3VudCwgZXBoX2NvdW50X21heDsK ICAgICBkb21pZF90IGNsaV9pZDsKLSAgICBzdHJ1Y3QgdG1lbV9jbGllbnQgaW5mbzsKKyAgICB4 ZW5fc3lzY3RsX3RtZW1fY2xpZW50X3QgaW5mbzsKICAgICBib29sX3Qgc2hhcmVkX2F1dGhfcmVx dWlyZWQ7CiAgICAgLyogRm9yIHNhdmUvcmVzdG9yZS9taWdyYXRpb24uICovCiAgICAgYm9vbF90 IHdhc19mcm96ZW47Ci0tIAoyLjQuMTEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK