From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joe Perches Subject: [PATCH 4/4] drivers/net: Use octal not symbolic permissions Date: Fri, 23 Mar 2018 15:54:39 -0700 Message-ID: <8f24a711e6b8ec7b41356c378140fb54d510205c.1521845248.git.joe__40053.7830814303$1521845687$gmane$org@perches.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1ezVbI-0005Kq-LB for xen-devel@lists.xenproject.org; Fri, 23 Mar 2018 22:55:56 +0000 In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Jay Vosburgh , Veaceslav Falico , Andy Gospodarek , Dmitry Tarnyagin , Wolfgang Grandegger , Marc Kleine-Budde , Nicolas Ferre , Alexandre Belloni , Jean-Paul Roubelat , "K. Y. Srinivasan" , Haiyang Zhang , Stephen Hemminger , Alexander Aring , Stefan Schmidt , Andrew Lunn , Florian Fainelli , Paul Mackerras , Michal Ostrowski , Oliver Neukum , Wei Liu , Paul Durrant , Boris Ostrovsky Cc: xen-devel@lists.xenproject.org, netdev@vger.kernel.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, linux-can@vger.kernel.org, linux-hams@vger.kernel.org, devel@linuxdriverproject.org, linux-wpan@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-ppp@vger.kernel.org List-Id: xen-devel@lists.xenproject.org UHJlZmVyIHRoZSBkaXJlY3QgdXNlIG9mIG9jdGFsIGZvciBwZXJtaXNzaW9ucy4KCkRvbmUgd2l0 aCBjaGVja3BhdGNoIC1mIC0tdHlwZXM9U1lNQk9MSUNfUEVSTVMgLS1maXgtaW5wbGFjZQphbmQg c29tZSB0eXBpbmcuCgpNaXNjZWxsYW5lYToKCm8gV2hpdGVzcGFjZSBuZWF0ZW5pbmcgYXJvdW5k IHRoZXNlIGNvbnZlcnNpb25zLgoKU2lnbmVkLW9mZi1ieTogSm9lIFBlcmNoZXMgPGpvZUBwZXJj aGVzLmNvbT4KLS0tCiBkcml2ZXJzL25ldC9ib25kaW5nL2JvbmRfcHJvY2ZzLmMgICAgICB8ICAy ICstCiBkcml2ZXJzL25ldC9ib25kaW5nL2JvbmRfc3lzZnMuYyAgICAgICB8IDczICsrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvbmV0L2JvbmRpbmcvYm9uZF9zeXNm c19zbGF2ZS5jIHwgIDQgKy0KIGRyaXZlcnMvbmV0L2NhaWYvY2FpZl9zZXJpYWwuYyAgICAgICAg IHwgMzIgKysrKysrKy0tLS0tLS0tCiBkcml2ZXJzL25ldC9jYWlmL2NhaWZfc3BpLmMgICAgICAg ICAgICB8IDE2ICsrKystLS0tCiBkcml2ZXJzL25ldC9jYWlmL2NhaWZfdmlydGlvLmMgICAgICAg ICB8IDE2ICsrKystLS0tCiBkcml2ZXJzL25ldC9jYW4vYXQ5MV9jYW4uYyAgICAgICAgICAgICB8 ICAzICstCiBkcml2ZXJzL25ldC9jYW4vY2M3NzAvY2M3NzAuYyAgICAgICAgICB8ICA0ICstCiBk cml2ZXJzL25ldC9jYW4vY2M3NzAvY2M3NzBfaXNhLmMgICAgICB8IDE2ICsrKystLS0tCiBkcml2 ZXJzL25ldC9jYW4vZ3JjYW4uYyAgICAgICAgICAgICAgICB8ICA0ICstCiBkcml2ZXJzL25ldC9j YW4vamFuei1pY2FuMy5jICAgICAgICAgICB8ICA2ICstLQogZHJpdmVycy9uZXQvY2FuL3NqYTEw MDAvc2phMTAwMF9pc2EuYyAgfCAxNCArKystLS0tCiBkcml2ZXJzL25ldC9jYW4vc29mdGluZy9z b2Z0aW5nX21haW4uYyB8ICA0ICstCiBkcml2ZXJzL25ldC9jYW4vc3BpL21jcDI1MXguYyAgICAg ICAgICB8ICAyICstCiBkcml2ZXJzL25ldC9jYW4vdXNiL2VzZF91c2IyLmMgICAgICAgICB8ICA2 ICstLQogZHJpdmVycy9uZXQvY2FuL3ZjYW4uYyAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJp dmVycy9uZXQvaGFtcmFkaW8vYnBxZXRoZXIuYyAgICAgICAgfCAgMyArLQogZHJpdmVycy9uZXQv aGFtcmFkaW8veWFtLmMgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9uZXQvaHlwZXJ2L25l dHZzY19kcnYuYyAgICAgICAgfCAgNCArLQogZHJpdmVycy9uZXQvaWVlZTgwMjE1NC9hdDg2cmYy MzAuYyAgICAgfCAgMiArLQogZHJpdmVycy9uZXQvcGh5L3NwaV9rczg5OTUuYyAgICAgICAgICAg fCAgMiArLQogZHJpdmVycy9uZXQvcHBwL3BwcF9nZW5lcmljLmMgICAgICAgICAgfCAgMiArLQog ZHJpdmVycy9uZXQvcHBwL3BwcG9lLmMgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9u ZXQvdXNiL2NkY19uY20uYyAgICAgICAgICAgICAgfCAxMiArKystLS0KIGRyaXZlcnMvbmV0L3Vz Yi9oc28uYyAgICAgICAgICAgICAgICAgIHwgIDggKystLQogZHJpdmVycy9uZXQveGVuLW5ldGJh Y2sveGVuYnVzLmMgICAgICAgfCAgNCArLQogZHJpdmVycy9uZXQveGVuLW5ldGZyb250LmMgICAg ICAgICAgICAgfCAgNiArLS0KIDI3IGZpbGVzIGNoYW5nZWQsIDEyNCBpbnNlcnRpb25zKCspLCAx MjcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvYm9uZGluZy9ib25kX3By b2Nmcy5jIGIvZHJpdmVycy9uZXQvYm9uZGluZy9ib25kX3Byb2Nmcy5jCmluZGV4IGY3Nzk5MzIx ZGZmYi4uMDEwNTlmMWE3YmNhIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9ib25kaW5nL2JvbmRf cHJvY2ZzLmMKKysrIGIvZHJpdmVycy9uZXQvYm9uZGluZy9ib25kX3Byb2Nmcy5jCkBAIC0yODcs NyArMjg3LDcgQEAgdm9pZCBib25kX2NyZWF0ZV9wcm9jX2VudHJ5KHN0cnVjdCBib25kaW5nICpi b25kKQogCiAJaWYgKGJuLT5wcm9jX2RpcikgewogCQlib25kLT5wcm9jX2VudHJ5ID0gcHJvY19j cmVhdGVfZGF0YShib25kX2Rldi0+bmFtZSwKLQkJCQkJCSAgICBTX0lSVUdPLCBibi0+cHJvY19k aXIsCisJCQkJCQkgICAgMDQ0NCwgYm4tPnByb2NfZGlyLAogCQkJCQkJICAgICZib25kX2luZm9f Zm9wcywgYm9uZCk7CiAJCWlmIChib25kLT5wcm9jX2VudHJ5ID09IE5VTEwpCiAJCQluZXRkZXZf d2Fybihib25kX2RldiwgIkNhbm5vdCBjcmVhdGUgL3Byb2MvbmV0LyVzLyVzXG4iLApkaWZmIC0t Z2l0IGEvZHJpdmVycy9uZXQvYm9uZGluZy9ib25kX3N5c2ZzLmMgYi9kcml2ZXJzL25ldC9ib25k aW5nL2JvbmRfc3lzZnMuYwppbmRleCAwNDBiNDkzZjYwYWUuLjYwOTY0NDBlOTZlYSAxMDA2NDQK LS0tIGEvZHJpdmVycy9uZXQvYm9uZGluZy9ib25kX3N5c2ZzLmMKKysrIGIvZHJpdmVycy9uZXQv Ym9uZGluZy9ib25kX3N5c2ZzLmMKQEAgLTE0Nyw3ICsxNDcsNyBAQCBzdGF0aWMgc3NpemVfdCBi b25kaW5nX3N0b3JlX2JvbmRzKHN0cnVjdCBjbGFzcyAqY2xzLAogc3RhdGljIGNvbnN0IHN0cnVj dCBjbGFzc19hdHRyaWJ1dGUgY2xhc3NfYXR0cl9ib25kaW5nX21hc3RlcnMgPSB7CiAJLmF0dHIg PSB7CiAJCS5uYW1lID0gImJvbmRpbmdfbWFzdGVycyIsCi0JCS5tb2RlID0gU19JV1VTUiB8IFNf SVJVR08sCisJCS5tb2RlID0gMDY0NCwKIAl9LAogCS5zaG93ID0gYm9uZGluZ19zaG93X2JvbmRz LAogCS5zdG9yZSA9IGJvbmRpbmdfc3RvcmVfYm9uZHMsCkBAIC0yMDIsNyArMjAyLDcgQEAgc3Rh dGljIHNzaXplX3QgYm9uZGluZ19zaG93X3NsYXZlcyhzdHJ1Y3QgZGV2aWNlICpkLAogCiAJcmV0 dXJuIHJlczsKIH0KLXN0YXRpYyBERVZJQ0VfQVRUUihzbGF2ZXMsIFNfSVJVR08gfCBTX0lXVVNS LCBib25kaW5nX3Nob3dfc2xhdmVzLAorc3RhdGljIERFVklDRV9BVFRSKHNsYXZlcywgMDY0NCwg Ym9uZGluZ19zaG93X3NsYXZlcywKIAkJICAgYm9uZGluZ19zeXNmc19zdG9yZV9vcHRpb24pOwog CiAvKiBTaG93IHRoZSBib25kaW5nIG1vZGUuICovCkBAIC0yMTYsOCArMjE2LDcgQEAgc3RhdGlj IHNzaXplX3QgYm9uZGluZ19zaG93X21vZGUoc3RydWN0IGRldmljZSAqZCwKIAogCXJldHVybiBz cHJpbnRmKGJ1ZiwgIiVzICVkXG4iLCB2YWwtPnN0cmluZywgQk9ORF9NT0RFKGJvbmQpKTsKIH0K LXN0YXRpYyBERVZJQ0VfQVRUUihtb2RlLCBTX0lSVUdPIHwgU19JV1VTUiwKLQkJICAgYm9uZGlu Z19zaG93X21vZGUsIGJvbmRpbmdfc3lzZnNfc3RvcmVfb3B0aW9uKTsKK3N0YXRpYyBERVZJQ0Vf QVRUUihtb2RlLCAwNjQ0LCBib25kaW5nX3Nob3dfbW9kZSwgYm9uZGluZ19zeXNmc19zdG9yZV9v cHRpb24pOwogCiAvKiBTaG93IHRoZSBib25kaW5nIHRyYW5zbWl0IGhhc2ggbWV0aG9kLiAqLwog c3RhdGljIHNzaXplX3QgYm9uZGluZ19zaG93X3htaXRfaGFzaChzdHJ1Y3QgZGV2aWNlICpkLApA QCAtMjMxLDcgKzIzMCw3IEBAIHN0YXRpYyBzc2l6ZV90IGJvbmRpbmdfc2hvd194bWl0X2hhc2go c3RydWN0IGRldmljZSAqZCwKIAogCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVzICVkXG4iLCB2YWwt PnN0cmluZywgYm9uZC0+cGFyYW1zLnhtaXRfcG9saWN5KTsKIH0KLXN0YXRpYyBERVZJQ0VfQVRU Uih4bWl0X2hhc2hfcG9saWN5LCBTX0lSVUdPIHwgU19JV1VTUiwKK3N0YXRpYyBERVZJQ0VfQVRU Uih4bWl0X2hhc2hfcG9saWN5LCAwNjQ0LAogCQkgICBib25kaW5nX3Nob3dfeG1pdF9oYXNoLCBi b25kaW5nX3N5c2ZzX3N0b3JlX29wdGlvbik7CiAKIC8qIFNob3cgYXJwX3ZhbGlkYXRlLiAqLwpA QCAtMjQ3LDcgKzI0Niw3IEBAIHN0YXRpYyBzc2l6ZV90IGJvbmRpbmdfc2hvd19hcnBfdmFsaWRh dGUoc3RydWN0IGRldmljZSAqZCwKIAogCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVzICVkXG4iLCB2 YWwtPnN0cmluZywgYm9uZC0+cGFyYW1zLmFycF92YWxpZGF0ZSk7CiB9Ci1zdGF0aWMgREVWSUNF X0FUVFIoYXJwX3ZhbGlkYXRlLCBTX0lSVUdPIHwgU19JV1VTUiwgYm9uZGluZ19zaG93X2FycF92 YWxpZGF0ZSwKK3N0YXRpYyBERVZJQ0VfQVRUUihhcnBfdmFsaWRhdGUsIDA2NDQsIGJvbmRpbmdf c2hvd19hcnBfdmFsaWRhdGUsCiAJCSAgIGJvbmRpbmdfc3lzZnNfc3RvcmVfb3B0aW9uKTsKIAog LyogU2hvdyBhcnBfYWxsX3RhcmdldHMuICovCkBAIC0yNjMsNyArMjYyLDcgQEAgc3RhdGljIHNz aXplX3QgYm9uZGluZ19zaG93X2FycF9hbGxfdGFyZ2V0cyhzdHJ1Y3QgZGV2aWNlICpkLAogCXJl dHVybiBzcHJpbnRmKGJ1ZiwgIiVzICVkXG4iLAogCQkgICAgICAgdmFsLT5zdHJpbmcsIGJvbmQt PnBhcmFtcy5hcnBfYWxsX3RhcmdldHMpOwogfQotc3RhdGljIERFVklDRV9BVFRSKGFycF9hbGxf dGFyZ2V0cywgU19JUlVHTyB8IFNfSVdVU1IsCitzdGF0aWMgREVWSUNFX0FUVFIoYXJwX2FsbF90 YXJnZXRzLCAwNjQ0LAogCQkgICBib25kaW5nX3Nob3dfYXJwX2FsbF90YXJnZXRzLCBib25kaW5n X3N5c2ZzX3N0b3JlX29wdGlvbik7CiAKIC8qIFNob3cgZmFpbF9vdmVyX21hYy4gKi8KQEAgLTI3 OSw3ICsyNzgsNyBAQCBzdGF0aWMgc3NpemVfdCBib25kaW5nX3Nob3dfZmFpbF9vdmVyX21hYyhz dHJ1Y3QgZGV2aWNlICpkLAogCiAJcmV0dXJuIHNwcmludGYoYnVmLCAiJXMgJWRcbiIsIHZhbC0+ c3RyaW5nLCBib25kLT5wYXJhbXMuZmFpbF9vdmVyX21hYyk7CiB9Ci1zdGF0aWMgREVWSUNFX0FU VFIoZmFpbF9vdmVyX21hYywgU19JUlVHTyB8IFNfSVdVU1IsCitzdGF0aWMgREVWSUNFX0FUVFIo ZmFpbF9vdmVyX21hYywgMDY0NCwKIAkJICAgYm9uZGluZ19zaG93X2ZhaWxfb3Zlcl9tYWMsIGJv bmRpbmdfc3lzZnNfc3RvcmVfb3B0aW9uKTsKIAogLyogU2hvdyB0aGUgYXJwIHRpbWVyIGludGVy dmFsLiAqLwpAQCAtMjkxLDcgKzI5MCw3IEBAIHN0YXRpYyBzc2l6ZV90IGJvbmRpbmdfc2hvd19h cnBfaW50ZXJ2YWwoc3RydWN0IGRldmljZSAqZCwKIAogCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVk XG4iLCBib25kLT5wYXJhbXMuYXJwX2ludGVydmFsKTsKIH0KLXN0YXRpYyBERVZJQ0VfQVRUUihh cnBfaW50ZXJ2YWwsIFNfSVJVR08gfCBTX0lXVVNSLAorc3RhdGljIERFVklDRV9BVFRSKGFycF9p bnRlcnZhbCwgMDY0NCwKIAkJICAgYm9uZGluZ19zaG93X2FycF9pbnRlcnZhbCwgYm9uZGluZ19z eXNmc19zdG9yZV9vcHRpb24pOwogCiAvKiBTaG93IHRoZSBhcnAgdGFyZ2V0cy4gKi8KQEAgLTMx Miw3ICszMTEsNyBAQCBzdGF0aWMgc3NpemVfdCBib25kaW5nX3Nob3dfYXJwX3RhcmdldHMoc3Ry dWN0IGRldmljZSAqZCwKIAogCXJldHVybiByZXM7CiB9Ci1zdGF0aWMgREVWSUNFX0FUVFIoYXJw X2lwX3RhcmdldCwgU19JUlVHTyB8IFNfSVdVU1IsCitzdGF0aWMgREVWSUNFX0FUVFIoYXJwX2lw X3RhcmdldCwgMDY0NCwKIAkJICAgYm9uZGluZ19zaG93X2FycF90YXJnZXRzLCBib25kaW5nX3N5 c2ZzX3N0b3JlX29wdGlvbik7CiAKIC8qIFNob3cgdGhlIHVwIGFuZCBkb3duIGRlbGF5cy4gKi8K QEAgLTMyNCw3ICszMjMsNyBAQCBzdGF0aWMgc3NpemVfdCBib25kaW5nX3Nob3dfZG93bmRlbGF5 KHN0cnVjdCBkZXZpY2UgKmQsCiAKIAlyZXR1cm4gc3ByaW50ZihidWYsICIlZFxuIiwgYm9uZC0+ cGFyYW1zLmRvd25kZWxheSAqIGJvbmQtPnBhcmFtcy5taWltb24pOwogfQotc3RhdGljIERFVklD RV9BVFRSKGRvd25kZWxheSwgU19JUlVHTyB8IFNfSVdVU1IsCitzdGF0aWMgREVWSUNFX0FUVFIo ZG93bmRlbGF5LCAwNjQ0LAogCQkgICBib25kaW5nX3Nob3dfZG93bmRlbGF5LCBib25kaW5nX3N5 c2ZzX3N0b3JlX29wdGlvbik7CiAKIHN0YXRpYyBzc2l6ZV90IGJvbmRpbmdfc2hvd191cGRlbGF5 KHN0cnVjdCBkZXZpY2UgKmQsCkBAIC0zMzYsNyArMzM1LDcgQEAgc3RhdGljIHNzaXplX3QgYm9u ZGluZ19zaG93X3VwZGVsYXkoc3RydWN0IGRldmljZSAqZCwKIAlyZXR1cm4gc3ByaW50ZihidWYs ICIlZFxuIiwgYm9uZC0+cGFyYW1zLnVwZGVsYXkgKiBib25kLT5wYXJhbXMubWlpbW9uKTsKIAog fQotc3RhdGljIERFVklDRV9BVFRSKHVwZGVsYXksIFNfSVJVR08gfCBTX0lXVVNSLAorc3RhdGlj IERFVklDRV9BVFRSKHVwZGVsYXksIDA2NDQsCiAJCSAgIGJvbmRpbmdfc2hvd191cGRlbGF5LCBi b25kaW5nX3N5c2ZzX3N0b3JlX29wdGlvbik7CiAKIC8qIFNob3cgdGhlIExBQ1AgaW50ZXJ2YWwu ICovCkBAIC0zNTEsNyArMzUwLDcgQEAgc3RhdGljIHNzaXplX3QgYm9uZGluZ19zaG93X2xhY3Ao c3RydWN0IGRldmljZSAqZCwKIAogCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVzICVkXG4iLCB2YWwt PnN0cmluZywgYm9uZC0+cGFyYW1zLmxhY3BfZmFzdCk7CiB9Ci1zdGF0aWMgREVWSUNFX0FUVFIo bGFjcF9yYXRlLCBTX0lSVUdPIHwgU19JV1VTUiwKK3N0YXRpYyBERVZJQ0VfQVRUUihsYWNwX3Jh dGUsIDA2NDQsCiAJCSAgIGJvbmRpbmdfc2hvd19sYWNwLCBib25kaW5nX3N5c2ZzX3N0b3JlX29w dGlvbik7CiAKIHN0YXRpYyBzc2l6ZV90IGJvbmRpbmdfc2hvd19taW5fbGlua3Moc3RydWN0IGRl dmljZSAqZCwKQEAgLTM2Miw3ICszNjEsNyBAQCBzdGF0aWMgc3NpemVfdCBib25kaW5nX3Nob3df bWluX2xpbmtzKHN0cnVjdCBkZXZpY2UgKmQsCiAKIAlyZXR1cm4gc3ByaW50ZihidWYsICIldVxu IiwgYm9uZC0+cGFyYW1zLm1pbl9saW5rcyk7CiB9Ci1zdGF0aWMgREVWSUNFX0FUVFIobWluX2xp bmtzLCBTX0lSVUdPIHwgU19JV1VTUiwKK3N0YXRpYyBERVZJQ0VfQVRUUihtaW5fbGlua3MsIDA2 NDQsCiAJCSAgIGJvbmRpbmdfc2hvd19taW5fbGlua3MsIGJvbmRpbmdfc3lzZnNfc3RvcmVfb3B0 aW9uKTsKIAogc3RhdGljIHNzaXplX3QgYm9uZGluZ19zaG93X2FkX3NlbGVjdChzdHJ1Y3QgZGV2 aWNlICpkLApAQCAtMzc2LDcgKzM3NSw3IEBAIHN0YXRpYyBzc2l6ZV90IGJvbmRpbmdfc2hvd19h ZF9zZWxlY3Qoc3RydWN0IGRldmljZSAqZCwKIAogCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVzICVk XG4iLCB2YWwtPnN0cmluZywgYm9uZC0+cGFyYW1zLmFkX3NlbGVjdCk7CiB9Ci1zdGF0aWMgREVW SUNFX0FUVFIoYWRfc2VsZWN0LCBTX0lSVUdPIHwgU19JV1VTUiwKK3N0YXRpYyBERVZJQ0VfQVRU UihhZF9zZWxlY3QsIDA2NDQsCiAJCSAgIGJvbmRpbmdfc2hvd19hZF9zZWxlY3QsIGJvbmRpbmdf c3lzZnNfc3RvcmVfb3B0aW9uKTsKIAogLyogU2hvdyB0aGUgbnVtYmVyIG9mIHBlZXIgbm90aWZp Y2F0aW9ucyB0byBzZW5kIGFmdGVyIGEgZmFpbG92ZXIgZXZlbnQuICovCkBAIC0zODcsOSArMzg2 LDkgQEAgc3RhdGljIHNzaXplX3QgYm9uZGluZ19zaG93X251bV9wZWVyX25vdGlmKHN0cnVjdCBk ZXZpY2UgKmQsCiAJc3RydWN0IGJvbmRpbmcgKmJvbmQgPSB0b19ib25kKGQpOwogCXJldHVybiBz cHJpbnRmKGJ1ZiwgIiVkXG4iLCBib25kLT5wYXJhbXMubnVtX3BlZXJfbm90aWYpOwogfQotc3Rh dGljIERFVklDRV9BVFRSKG51bV9ncmF0X2FycCwgU19JUlVHTyB8IFNfSVdVU1IsCitzdGF0aWMg REVWSUNFX0FUVFIobnVtX2dyYXRfYXJwLCAwNjQ0LAogCQkgICBib25kaW5nX3Nob3dfbnVtX3Bl ZXJfbm90aWYsIGJvbmRpbmdfc3lzZnNfc3RvcmVfb3B0aW9uKTsKLXN0YXRpYyBERVZJQ0VfQVRU UihudW1fdW5zb2xfbmEsIFNfSVJVR08gfCBTX0lXVVNSLAorc3RhdGljIERFVklDRV9BVFRSKG51 bV91bnNvbF9uYSwgMDY0NCwKIAkJICAgYm9uZGluZ19zaG93X251bV9wZWVyX25vdGlmLCBib25k aW5nX3N5c2ZzX3N0b3JlX29wdGlvbik7CiAKIC8qIFNob3cgdGhlIE1JSSBtb25pdG9yIGludGVy dmFsLiAqLwpAQCAtNDAxLDcgKzQwMCw3IEBAIHN0YXRpYyBzc2l6ZV90IGJvbmRpbmdfc2hvd19t aWltb24oc3RydWN0IGRldmljZSAqZCwKIAogCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVkXG4iLCBi b25kLT5wYXJhbXMubWlpbW9uKTsKIH0KLXN0YXRpYyBERVZJQ0VfQVRUUihtaWltb24sIFNfSVJV R08gfCBTX0lXVVNSLAorc3RhdGljIERFVklDRV9BVFRSKG1paW1vbiwgMDY0NCwKIAkJICAgYm9u ZGluZ19zaG93X21paW1vbiwgYm9uZGluZ19zeXNmc19zdG9yZV9vcHRpb24pOwogCiAvKiBTaG93 IHRoZSBwcmltYXJ5IHNsYXZlLiAqLwpAQCAtNDIxLDcgKzQyMCw3IEBAIHN0YXRpYyBzc2l6ZV90 IGJvbmRpbmdfc2hvd19wcmltYXJ5KHN0cnVjdCBkZXZpY2UgKmQsCiAKIAlyZXR1cm4gY291bnQ7 CiB9Ci1zdGF0aWMgREVWSUNFX0FUVFIocHJpbWFyeSwgU19JUlVHTyB8IFNfSVdVU1IsCitzdGF0 aWMgREVWSUNFX0FUVFIocHJpbWFyeSwgMDY0NCwKIAkJICAgYm9uZGluZ19zaG93X3ByaW1hcnks IGJvbmRpbmdfc3lzZnNfc3RvcmVfb3B0aW9uKTsKIAogLyogU2hvdyB0aGUgcHJpbWFyeV9yZXNl bGVjdCBmbGFnLiAqLwpAQCAtNDM4LDcgKzQzNyw3IEBAIHN0YXRpYyBzc2l6ZV90IGJvbmRpbmdf c2hvd19wcmltYXJ5X3Jlc2VsZWN0KHN0cnVjdCBkZXZpY2UgKmQsCiAJcmV0dXJuIHNwcmludGYo YnVmLCAiJXMgJWRcbiIsCiAJCSAgICAgICB2YWwtPnN0cmluZywgYm9uZC0+cGFyYW1zLnByaW1h cnlfcmVzZWxlY3QpOwogfQotc3RhdGljIERFVklDRV9BVFRSKHByaW1hcnlfcmVzZWxlY3QsIFNf SVJVR08gfCBTX0lXVVNSLAorc3RhdGljIERFVklDRV9BVFRSKHByaW1hcnlfcmVzZWxlY3QsIDA2 NDQsCiAJCSAgIGJvbmRpbmdfc2hvd19wcmltYXJ5X3Jlc2VsZWN0LCBib25kaW5nX3N5c2ZzX3N0 b3JlX29wdGlvbik7CiAKIC8qIFNob3cgdGhlIHVzZV9jYXJyaWVyIGZsYWcuICovCkBAIC00NTAs NyArNDQ5LDcgQEAgc3RhdGljIHNzaXplX3QgYm9uZGluZ19zaG93X2NhcnJpZXIoc3RydWN0IGRl dmljZSAqZCwKIAogCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVkXG4iLCBib25kLT5wYXJhbXMudXNl X2NhcnJpZXIpOwogfQotc3RhdGljIERFVklDRV9BVFRSKHVzZV9jYXJyaWVyLCBTX0lSVUdPIHwg U19JV1VTUiwKK3N0YXRpYyBERVZJQ0VfQVRUUih1c2VfY2FycmllciwgMDY0NCwKIAkJICAgYm9u ZGluZ19zaG93X2NhcnJpZXIsIGJvbmRpbmdfc3lzZnNfc3RvcmVfb3B0aW9uKTsKIAogCkBAIC00 NzEsNyArNDcwLDcgQEAgc3RhdGljIHNzaXplX3QgYm9uZGluZ19zaG93X2FjdGl2ZV9zbGF2ZShz dHJ1Y3QgZGV2aWNlICpkLAogCiAJcmV0dXJuIGNvdW50OwogfQotc3RhdGljIERFVklDRV9BVFRS KGFjdGl2ZV9zbGF2ZSwgU19JUlVHTyB8IFNfSVdVU1IsCitzdGF0aWMgREVWSUNFX0FUVFIoYWN0 aXZlX3NsYXZlLCAwNjQ0LAogCQkgICBib25kaW5nX3Nob3dfYWN0aXZlX3NsYXZlLCBib25kaW5n X3N5c2ZzX3N0b3JlX29wdGlvbik7CiAKIC8qIFNob3cgbGluayBzdGF0dXMgb2YgdGhlIGJvbmQg aW50ZXJmYWNlLiAqLwpAQCAtNDg0LDcgKzQ4Myw3IEBAIHN0YXRpYyBzc2l6ZV90IGJvbmRpbmdf c2hvd19taWlfc3RhdHVzKHN0cnVjdCBkZXZpY2UgKmQsCiAKIAlyZXR1cm4gc3ByaW50ZihidWYs ICIlc1xuIiwgYWN0aXZlID8gInVwIiA6ICJkb3duIik7CiB9Ci1zdGF0aWMgREVWSUNFX0FUVFIo bWlpX3N0YXR1cywgU19JUlVHTywgYm9uZGluZ19zaG93X21paV9zdGF0dXMsIE5VTEwpOworc3Rh dGljIERFVklDRV9BVFRSKG1paV9zdGF0dXMsIDA0NDQsIGJvbmRpbmdfc2hvd19taWlfc3RhdHVz LCBOVUxMKTsKIAogLyogU2hvdyBjdXJyZW50IDgwMi4zYWQgYWdncmVnYXRvciBJRC4gKi8KIHN0 YXRpYyBzc2l6ZV90IGJvbmRpbmdfc2hvd19hZF9hZ2dyZWdhdG9yKHN0cnVjdCBkZXZpY2UgKmQs CkBAIC01MDMsNyArNTAyLDcgQEAgc3RhdGljIHNzaXplX3QgYm9uZGluZ19zaG93X2FkX2FnZ3Jl Z2F0b3Ioc3RydWN0IGRldmljZSAqZCwKIAogCXJldHVybiBjb3VudDsKIH0KLXN0YXRpYyBERVZJ Q0VfQVRUUihhZF9hZ2dyZWdhdG9yLCBTX0lSVUdPLCBib25kaW5nX3Nob3dfYWRfYWdncmVnYXRv ciwgTlVMTCk7CitzdGF0aWMgREVWSUNFX0FUVFIoYWRfYWdncmVnYXRvciwgMDQ0NCwgYm9uZGlu Z19zaG93X2FkX2FnZ3JlZ2F0b3IsIE5VTEwpOwogCiAKIC8qIFNob3cgbnVtYmVyIG9mIGFjdGl2 ZSA4MDIuM2FkIHBvcnRzLiAqLwpAQCAtNTIzLDcgKzUyMiw3IEBAIHN0YXRpYyBzc2l6ZV90IGJv bmRpbmdfc2hvd19hZF9udW1fcG9ydHMoc3RydWN0IGRldmljZSAqZCwKIAogCXJldHVybiBjb3Vu dDsKIH0KLXN0YXRpYyBERVZJQ0VfQVRUUihhZF9udW1fcG9ydHMsIFNfSVJVR08sIGJvbmRpbmdf c2hvd19hZF9udW1fcG9ydHMsIE5VTEwpOworc3RhdGljIERFVklDRV9BVFRSKGFkX251bV9wb3J0 cywgMDQ0NCwgYm9uZGluZ19zaG93X2FkX251bV9wb3J0cywgTlVMTCk7CiAKIAogLyogU2hvdyBj dXJyZW50IDgwMi4zYWQgYWN0b3Iga2V5LiAqLwpAQCAtNTQzLDcgKzU0Miw3IEBAIHN0YXRpYyBz c2l6ZV90IGJvbmRpbmdfc2hvd19hZF9hY3Rvcl9rZXkoc3RydWN0IGRldmljZSAqZCwKIAogCXJl dHVybiBjb3VudDsKIH0KLXN0YXRpYyBERVZJQ0VfQVRUUihhZF9hY3Rvcl9rZXksIFNfSVJVR08s IGJvbmRpbmdfc2hvd19hZF9hY3Rvcl9rZXksIE5VTEwpOworc3RhdGljIERFVklDRV9BVFRSKGFk X2FjdG9yX2tleSwgMDQ0NCwgYm9uZGluZ19zaG93X2FkX2FjdG9yX2tleSwgTlVMTCk7CiAKIAog LyogU2hvdyBjdXJyZW50IDgwMi4zYWQgcGFydG5lciBrZXkuICovCkBAIC01NjMsNyArNTYyLDcg QEAgc3RhdGljIHNzaXplX3QgYm9uZGluZ19zaG93X2FkX3BhcnRuZXJfa2V5KHN0cnVjdCBkZXZp Y2UgKmQsCiAKIAlyZXR1cm4gY291bnQ7CiB9Ci1zdGF0aWMgREVWSUNFX0FUVFIoYWRfcGFydG5l cl9rZXksIFNfSVJVR08sIGJvbmRpbmdfc2hvd19hZF9wYXJ0bmVyX2tleSwgTlVMTCk7CitzdGF0 aWMgREVWSUNFX0FUVFIoYWRfcGFydG5lcl9rZXksIDA0NDQsIGJvbmRpbmdfc2hvd19hZF9wYXJ0 bmVyX2tleSwgTlVMTCk7CiAKIAogLyogU2hvdyBjdXJyZW50IDgwMi4zYWQgcGFydG5lciBtYWMu ICovCkBAIC01ODIsNyArNTgxLDcgQEAgc3RhdGljIHNzaXplX3QgYm9uZGluZ19zaG93X2FkX3Bh cnRuZXJfbWFjKHN0cnVjdCBkZXZpY2UgKmQsCiAKIAlyZXR1cm4gY291bnQ7CiB9Ci1zdGF0aWMg REVWSUNFX0FUVFIoYWRfcGFydG5lcl9tYWMsIFNfSVJVR08sIGJvbmRpbmdfc2hvd19hZF9wYXJ0 bmVyX21hYywgTlVMTCk7CitzdGF0aWMgREVWSUNFX0FUVFIoYWRfcGFydG5lcl9tYWMsIDA0NDQs IGJvbmRpbmdfc2hvd19hZF9wYXJ0bmVyX21hYywgTlVMTCk7CiAKIC8qIFNob3cgdGhlIHF1ZXVl X2lkcyBvZiB0aGUgc2xhdmVzIGluIHRoZSBjdXJyZW50IGJvbmQuICovCiBzdGF0aWMgc3NpemVf dCBib25kaW5nX3Nob3dfcXVldWVfaWQoc3RydWN0IGRldmljZSAqZCwKQEAgLTYxNSw3ICs2MTQs NyBAQCBzdGF0aWMgc3NpemVfdCBib25kaW5nX3Nob3dfcXVldWVfaWQoc3RydWN0IGRldmljZSAq ZCwKIAogCXJldHVybiByZXM7CiB9Ci1zdGF0aWMgREVWSUNFX0FUVFIocXVldWVfaWQsIFNfSVJV R08gfCBTX0lXVVNSLCBib25kaW5nX3Nob3dfcXVldWVfaWQsCitzdGF0aWMgREVWSUNFX0FUVFIo cXVldWVfaWQsIDA2NDQsIGJvbmRpbmdfc2hvd19xdWV1ZV9pZCwKIAkJICAgYm9uZGluZ19zeXNm c19zdG9yZV9vcHRpb24pOwogCiAKQEAgLTYyOCw3ICs2MjcsNyBAQCBzdGF0aWMgc3NpemVfdCBi b25kaW5nX3Nob3dfc2xhdmVzX2FjdGl2ZShzdHJ1Y3QgZGV2aWNlICpkLAogCiAJcmV0dXJuIHNw cmludGYoYnVmLCAiJWRcbiIsIGJvbmQtPnBhcmFtcy5hbGxfc2xhdmVzX2FjdGl2ZSk7CiB9Ci1z dGF0aWMgREVWSUNFX0FUVFIoYWxsX3NsYXZlc19hY3RpdmUsIFNfSVJVR08gfCBTX0lXVVNSLAor c3RhdGljIERFVklDRV9BVFRSKGFsbF9zbGF2ZXNfYWN0aXZlLCAwNjQ0LAogCQkgICBib25kaW5n X3Nob3dfc2xhdmVzX2FjdGl2ZSwgYm9uZGluZ19zeXNmc19zdG9yZV9vcHRpb24pOwogCiAvKiBT aG93IHRoZSBudW1iZXIgb2YgSUdNUCBtZW1iZXJzaGlwIHJlcG9ydHMgdG8gc2VuZCBvbiBsaW5r IGZhaWx1cmUgKi8KQEAgLTY0MCw3ICs2MzksNyBAQCBzdGF0aWMgc3NpemVfdCBib25kaW5nX3No b3dfcmVzZW5kX2lnbXAoc3RydWN0IGRldmljZSAqZCwKIAogCXJldHVybiBzcHJpbnRmKGJ1Ziwg IiVkXG4iLCBib25kLT5wYXJhbXMucmVzZW5kX2lnbXApOwogfQotc3RhdGljIERFVklDRV9BVFRS KHJlc2VuZF9pZ21wLCBTX0lSVUdPIHwgU19JV1VTUiwKK3N0YXRpYyBERVZJQ0VfQVRUUihyZXNl bmRfaWdtcCwgMDY0NCwKIAkJICAgYm9uZGluZ19zaG93X3Jlc2VuZF9pZ21wLCBib25kaW5nX3N5 c2ZzX3N0b3JlX29wdGlvbik7CiAKIApAQCAtNjUyLDcgKzY1MSw3IEBAIHN0YXRpYyBzc2l6ZV90 IGJvbmRpbmdfc2hvd19scF9pbnRlcnZhbChzdHJ1Y3QgZGV2aWNlICpkLAogCiAJcmV0dXJuIHNw cmludGYoYnVmLCAiJWRcbiIsIGJvbmQtPnBhcmFtcy5scF9pbnRlcnZhbCk7CiB9Ci1zdGF0aWMg REVWSUNFX0FUVFIobHBfaW50ZXJ2YWwsIFNfSVJVR08gfCBTX0lXVVNSLAorc3RhdGljIERFVklD RV9BVFRSKGxwX2ludGVydmFsLCAwNjQ0LAogCQkgICBib25kaW5nX3Nob3dfbHBfaW50ZXJ2YWws IGJvbmRpbmdfc3lzZnNfc3RvcmVfb3B0aW9uKTsKIAogc3RhdGljIHNzaXplX3QgYm9uZGluZ19z aG93X3RsYl9keW5hbWljX2xiKHN0cnVjdCBkZXZpY2UgKmQsCkBAIC02NjIsNyArNjYxLDcgQEAg c3RhdGljIHNzaXplX3QgYm9uZGluZ19zaG93X3RsYl9keW5hbWljX2xiKHN0cnVjdCBkZXZpY2Ug KmQsCiAJc3RydWN0IGJvbmRpbmcgKmJvbmQgPSB0b19ib25kKGQpOwogCXJldHVybiBzcHJpbnRm KGJ1ZiwgIiVkXG4iLCBib25kLT5wYXJhbXMudGxiX2R5bmFtaWNfbGIpOwogfQotc3RhdGljIERF VklDRV9BVFRSKHRsYl9keW5hbWljX2xiLCBTX0lSVUdPIHwgU19JV1VTUiwKK3N0YXRpYyBERVZJ Q0VfQVRUUih0bGJfZHluYW1pY19sYiwgMDY0NCwKIAkJICAgYm9uZGluZ19zaG93X3RsYl9keW5h bWljX2xiLCBib25kaW5nX3N5c2ZzX3N0b3JlX29wdGlvbik7CiAKIHN0YXRpYyBzc2l6ZV90IGJv bmRpbmdfc2hvd19wYWNrZXRzX3Blcl9zbGF2ZShzdHJ1Y3QgZGV2aWNlICpkLApAQCAtNjc0LDcg KzY3Myw3IEBAIHN0YXRpYyBzc2l6ZV90IGJvbmRpbmdfc2hvd19wYWNrZXRzX3Blcl9zbGF2ZShz dHJ1Y3QgZGV2aWNlICpkLAogCiAJcmV0dXJuIHNwcmludGYoYnVmLCAiJXVcbiIsIHBhY2tldHNf cGVyX3NsYXZlKTsKIH0KLXN0YXRpYyBERVZJQ0VfQVRUUihwYWNrZXRzX3Blcl9zbGF2ZSwgU19J UlVHTyB8IFNfSVdVU1IsCitzdGF0aWMgREVWSUNFX0FUVFIocGFja2V0c19wZXJfc2xhdmUsIDA2 NDQsCiAJCSAgIGJvbmRpbmdfc2hvd19wYWNrZXRzX3Blcl9zbGF2ZSwgYm9uZGluZ19zeXNmc19z dG9yZV9vcHRpb24pOwogCiBzdGF0aWMgc3NpemVfdCBib25kaW5nX3Nob3dfYWRfYWN0b3Jfc3lz X3ByaW8oc3RydWN0IGRldmljZSAqZCwKQEAgLTY4OCw3ICs2ODcsNyBAQCBzdGF0aWMgc3NpemVf dCBib25kaW5nX3Nob3dfYWRfYWN0b3Jfc3lzX3ByaW8oc3RydWN0IGRldmljZSAqZCwKIAogCXJl dHVybiAwOwogfQotc3RhdGljIERFVklDRV9BVFRSKGFkX2FjdG9yX3N5c19wcmlvLCBTX0lSVUdP IHwgU19JV1VTUiwKK3N0YXRpYyBERVZJQ0VfQVRUUihhZF9hY3Rvcl9zeXNfcHJpbywgMDY0NCwK IAkJICAgYm9uZGluZ19zaG93X2FkX2FjdG9yX3N5c19wcmlvLCBib25kaW5nX3N5c2ZzX3N0b3Jl X29wdGlvbik7CiAKIHN0YXRpYyBzc2l6ZV90IGJvbmRpbmdfc2hvd19hZF9hY3Rvcl9zeXN0ZW0o c3RydWN0IGRldmljZSAqZCwKQEAgLTcwMyw3ICs3MDIsNyBAQCBzdGF0aWMgc3NpemVfdCBib25k aW5nX3Nob3dfYWRfYWN0b3Jfc3lzdGVtKHN0cnVjdCBkZXZpY2UgKmQsCiAJcmV0dXJuIDA7CiB9 CiAKLXN0YXRpYyBERVZJQ0VfQVRUUihhZF9hY3Rvcl9zeXN0ZW0sIFNfSVJVR08gfCBTX0lXVVNS LAorc3RhdGljIERFVklDRV9BVFRSKGFkX2FjdG9yX3N5c3RlbSwgMDY0NCwKIAkJICAgYm9uZGlu Z19zaG93X2FkX2FjdG9yX3N5c3RlbSwgYm9uZGluZ19zeXNmc19zdG9yZV9vcHRpb24pOwogCiBz dGF0aWMgc3NpemVfdCBib25kaW5nX3Nob3dfYWRfdXNlcl9wb3J0X2tleShzdHJ1Y3QgZGV2aWNl ICpkLApAQCAtNzE3LDcgKzcxNiw3IEBAIHN0YXRpYyBzc2l6ZV90IGJvbmRpbmdfc2hvd19hZF91 c2VyX3BvcnRfa2V5KHN0cnVjdCBkZXZpY2UgKmQsCiAKIAlyZXR1cm4gMDsKIH0KLXN0YXRpYyBE RVZJQ0VfQVRUUihhZF91c2VyX3BvcnRfa2V5LCBTX0lSVUdPIHwgU19JV1VTUiwKK3N0YXRpYyBE RVZJQ0VfQVRUUihhZF91c2VyX3BvcnRfa2V5LCAwNjQ0LAogCQkgICBib25kaW5nX3Nob3dfYWRf dXNlcl9wb3J0X2tleSwgYm9uZGluZ19zeXNmc19zdG9yZV9vcHRpb24pOwogCiBzdGF0aWMgc3Ry dWN0IGF0dHJpYnV0ZSAqcGVyX2JvbmRfYXR0cnNbXSA9IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv bmV0L2JvbmRpbmcvYm9uZF9zeXNmc19zbGF2ZS5jIGIvZHJpdmVycy9uZXQvYm9uZGluZy9ib25k X3N5c2ZzX3NsYXZlLmMKaW5kZXggN2QxNmM1MWU2OTEzLi4yZjEyMGIyZmZlZjAgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvbmV0L2JvbmRpbmcvYm9uZF9zeXNmc19zbGF2ZS5jCisrKyBiL2RyaXZlcnMv bmV0L2JvbmRpbmcvYm9uZF9zeXNmc19zbGF2ZS5jCkBAIC0yNSw4ICsyNSw4IEBAIGNvbnN0IHN0 cnVjdCBzbGF2ZV9hdHRyaWJ1dGUgc2xhdmVfYXR0cl8jI19uYW1lID0gewkJXAogCQkgLm1vZGUg PSBfbW9kZSB9LAkJCQlcCiAJLnNob3cJPSBfc2hvdywJCQkJCVwKIH07Ci0jZGVmaW5lIFNMQVZF X0FUVFJfUk8oX25hbWUpIFwKLQlTTEFWRV9BVFRSKF9uYW1lLCBTX0lSVUdPLCBfbmFtZSMjX3No b3cpCisjZGVmaW5lIFNMQVZFX0FUVFJfUk8oX25hbWUpCQkJCQlcCisJU0xBVkVfQVRUUihfbmFt ZSwgMDQ0NCwgX25hbWUjI19zaG93KQogCiBzdGF0aWMgc3NpemVfdCBzdGF0ZV9zaG93KHN0cnVj dCBzbGF2ZSAqc2xhdmUsIGNoYXIgKmJ1ZikKIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2Nh aWYvY2FpZl9zZXJpYWwuYyBiL2RyaXZlcnMvbmV0L2NhaWYvY2FpZl9zZXJpYWwuYwppbmRleCA3 MDk4MzhlNGMwNjIuLmEwZjk1NGYzNmMwOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvY2FpZi9j YWlmX3NlcmlhbC5jCisrKyBiL2RyaXZlcnMvbmV0L2NhaWYvY2FpZl9zZXJpYWwuYwpAQCAtNDAs MjAgKzQwLDIwIEBAIHN0YXRpYyBMSVNUX0hFQUQoc2VyX2xpc3QpOwogc3RhdGljIExJU1RfSEVB RChzZXJfcmVsZWFzZV9saXN0KTsKIAogc3RhdGljIGJvb2wgc2VyX2xvb3A7Ci1tb2R1bGVfcGFy YW0oc2VyX2xvb3AsIGJvb2wsIFNfSVJVR08pOworbW9kdWxlX3BhcmFtKHNlcl9sb29wLCBib29s LCAwNDQ0KTsKIE1PRFVMRV9QQVJNX0RFU0Moc2VyX2xvb3AsICJSdW4gaW4gc2ltdWxhdGVkIGxv b3BiYWNrIG1vZGUuIik7CiAKIHN0YXRpYyBib29sIHNlcl91c2Vfc3R4ID0gdHJ1ZTsKLW1vZHVs ZV9wYXJhbShzZXJfdXNlX3N0eCwgYm9vbCwgU19JUlVHTyk7Cittb2R1bGVfcGFyYW0oc2VyX3Vz ZV9zdHgsIGJvb2wsIDA0NDQpOwogTU9EVUxFX1BBUk1fREVTQyhzZXJfdXNlX3N0eCwgIlNUWCBl bmFibGVkIG9yIG5vdC4iKTsKIAogc3RhdGljIGJvb2wgc2VyX3VzZV9mY3MgPSB0cnVlOwogCi1t b2R1bGVfcGFyYW0oc2VyX3VzZV9mY3MsIGJvb2wsIFNfSVJVR08pOworbW9kdWxlX3BhcmFtKHNl cl91c2VfZmNzLCBib29sLCAwNDQ0KTsKIE1PRFVMRV9QQVJNX0RFU0Moc2VyX3VzZV9mY3MsICJG Q1MgZW5hYmxlZCBvciBub3QuIik7CiAKIHN0YXRpYyBpbnQgc2VyX3dyaXRlX2NodW5rID0gTUFY X1dSSVRFX0NIVU5LOwotbW9kdWxlX3BhcmFtKHNlcl93cml0ZV9jaHVuaywgaW50LCBTX0lSVUdP KTsKK21vZHVsZV9wYXJhbShzZXJfd3JpdGVfY2h1bmssIGludCwgMDQ0NCk7CiAKIE1PRFVMRV9Q QVJNX0RFU0Moc2VyX3dyaXRlX2NodW5rLCAiTWF4aW11bSBzaXplIG9mIGRhdGEgd3JpdHRlbiB0 byBVQVJULiIpOwogCkBAIC05NywyMSArOTcsMjEgQEAgc3RhdGljIGlubGluZSB2b2lkIGRlYnVn ZnNfaW5pdChzdHJ1Y3Qgc2VyX2RldmljZSAqc2VyLCBzdHJ1Y3QgdHR5X3N0cnVjdCAqdHR5KQog CXNlci0+ZGVidWdmc190dHlfZGlyID0KIAkJCWRlYnVnZnNfY3JlYXRlX2Rpcih0dHktPm5hbWUs IGRlYnVnZnNkaXIpOwogCWlmICghSVNfRVJSKHNlci0+ZGVidWdmc190dHlfZGlyKSkgewotCQlk ZWJ1Z2ZzX2NyZWF0ZV9ibG9iKCJsYXN0X3R4X21zZyIsIFNfSVJVU1IsCi0JCQkJc2VyLT5kZWJ1 Z2ZzX3R0eV9kaXIsCi0JCQkJJnNlci0+dHhfYmxvYik7CisJCWRlYnVnZnNfY3JlYXRlX2Jsb2Io Imxhc3RfdHhfbXNnIiwgMDQwMCwKKwkJCQkgICAgc2VyLT5kZWJ1Z2ZzX3R0eV9kaXIsCisJCQkJ ICAgICZzZXItPnR4X2Jsb2IpOwogCi0JCWRlYnVnZnNfY3JlYXRlX2Jsb2IoImxhc3RfcnhfbXNn IiwgU19JUlVTUiwKLQkJCQlzZXItPmRlYnVnZnNfdHR5X2RpciwKLQkJCQkmc2VyLT5yeF9ibG9i KTsKKwkJZGVidWdmc19jcmVhdGVfYmxvYigibGFzdF9yeF9tc2ciLCAwNDAwLAorCQkJCSAgICBz ZXItPmRlYnVnZnNfdHR5X2RpciwKKwkJCQkgICAgJnNlci0+cnhfYmxvYik7CiAKLQkJZGVidWdm c19jcmVhdGVfeDMyKCJzZXJfc3RhdGUiLCBTX0lSVVNSLAotCQkJCXNlci0+ZGVidWdmc190dHlf ZGlyLAotCQkJCSh1MzIgKikmc2VyLT5zdGF0ZSk7CisJCWRlYnVnZnNfY3JlYXRlX3gzMigic2Vy X3N0YXRlIiwgMDQwMCwKKwkJCQkgICBzZXItPmRlYnVnZnNfdHR5X2RpciwKKwkJCQkgICAodTMy ICopJnNlci0+c3RhdGUpOwogCi0JCWRlYnVnZnNfY3JlYXRlX3g4KCJ0dHlfc3RhdHVzIiwgU19J UlVTUiwKLQkJCQlzZXItPmRlYnVnZnNfdHR5X2RpciwKLQkJCQkmc2VyLT50dHlfc3RhdHVzKTsK KwkJZGVidWdmc19jcmVhdGVfeDgoInR0eV9zdGF0dXMiLCAwNDAwLAorCQkJCSAgc2VyLT5kZWJ1 Z2ZzX3R0eV9kaXIsCisJCQkJICAmc2VyLT50dHlfc3RhdHVzKTsKIAogCX0KIAlzZXItPnR4X2Js b2IuZGF0YSA9IHNlci0+dHhfZGF0YTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2NhaWYvY2Fp Zl9zcGkuYyBiL2RyaXZlcnMvbmV0L2NhaWYvY2FpZl9zcGkuYwppbmRleCA5ODBlYWNlNTNkNDQu LmQyOGExMzk4YzA5MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvY2FpZi9jYWlmX3NwaS5jCisr KyBiL2RyaXZlcnMvbmV0L2NhaWYvY2FpZl9zcGkuYwpAQCAtMzUsMjcgKzM1LDI3IEBAIE1PRFVM RV9ERVNDUklQVElPTigiQ0FJRiBTUEkgZHJpdmVyIik7CiAjZGVmaW5lIFBBRF9QT1cyKHgsIHBv dykgKCgoKHgpJigocG93KS0xKSk9PTApID8gMCA6ICgoKHBvdyktKCh4KSYoKHBvdyktMSkpKSkp CiAKIHN0YXRpYyBib29sIHNwaV9sb29wOwotbW9kdWxlX3BhcmFtKHNwaV9sb29wLCBib29sLCBT X0lSVUdPKTsKK21vZHVsZV9wYXJhbShzcGlfbG9vcCwgYm9vbCwgMDQ0NCk7CiBNT0RVTEVfUEFS TV9ERVNDKHNwaV9sb29wLCAiU1BJIHJ1bm5pbmcgaW4gbG9vcGJhY2sgbW9kZS4iKTsKIAogLyog U1BJIGZyYW1lIGFsaWdubWVudC4gKi8KLW1vZHVsZV9wYXJhbShzcGlfZnJtX2FsaWduLCBpbnQs IFNfSVJVR08pOworbW9kdWxlX3BhcmFtKHNwaV9mcm1fYWxpZ24sIGludCwgMDQ0NCk7CiBNT0RV TEVfUEFSTV9ERVNDKHNwaV9mcm1fYWxpZ24sICJTUEkgZnJhbWUgYWxpZ25tZW50LiIpOwogCiAv KgogICogU1BJIHBhZGRpbmcgb3B0aW9ucy4KICAqIFdhcm5pbmc6IG11c3QgYmUgYSBiYXNlIG9m IDIgKCYgb3BlcmF0aW9uIHVzZWQpIGFuZCBjYW4gbm90IGJlIHplcm8gIQogICovCi1tb2R1bGVf cGFyYW0oc3BpX3VwX2hlYWRfYWxpZ24sIGludCwgU19JUlVHTyk7Cittb2R1bGVfcGFyYW0oc3Bp X3VwX2hlYWRfYWxpZ24sIGludCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKHNwaV91cF9oZWFk X2FsaWduLCAiU1BJIHVwbGluayBoZWFkIGFsaWdubWVudC4iKTsKIAotbW9kdWxlX3BhcmFtKHNw aV91cF90YWlsX2FsaWduLCBpbnQsIFNfSVJVR08pOworbW9kdWxlX3BhcmFtKHNwaV91cF90YWls X2FsaWduLCBpbnQsIDA0NDQpOwogTU9EVUxFX1BBUk1fREVTQyhzcGlfdXBfdGFpbF9hbGlnbiwg IlNQSSB1cGxpbmsgdGFpbCBhbGlnbm1lbnQuIik7CiAKLW1vZHVsZV9wYXJhbShzcGlfZG93bl9o ZWFkX2FsaWduLCBpbnQsIFNfSVJVR08pOworbW9kdWxlX3BhcmFtKHNwaV9kb3duX2hlYWRfYWxp Z24sIGludCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKHNwaV9kb3duX2hlYWRfYWxpZ24sICJT UEkgZG93bmxpbmsgaGVhZCBhbGlnbm1lbnQuIik7CiAKLW1vZHVsZV9wYXJhbShzcGlfZG93bl90 YWlsX2FsaWduLCBpbnQsIFNfSVJVR08pOworbW9kdWxlX3BhcmFtKHNwaV9kb3duX3RhaWxfYWxp Z24sIGludCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKHNwaV9kb3duX3RhaWxfYWxpZ24sICJT UEkgZG93bmxpbmsgdGFpbCBhbGlnbm1lbnQuIik7CiAKICNpZmRlZiBDT05GSUdfQVJNCkBAIC0y NTAsMTAgKzI1MCwxMCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBkYmdm c19mcmFtZV9mb3BzID0gewogc3RhdGljIGlubGluZSB2b2lkIGRldl9kZWJ1Z2ZzX2FkZChzdHJ1 Y3QgY2ZzcGkgKmNmc3BpKQogewogCWNmc3BpLT5kYmdmc19kaXIgPSBkZWJ1Z2ZzX2NyZWF0ZV9k aXIoY2ZzcGktPnBkZXYtPm5hbWUsIGRiZ2ZzX3Jvb3QpOwotCWNmc3BpLT5kYmdmc19zdGF0ZSA9 IGRlYnVnZnNfY3JlYXRlX2ZpbGUoInN0YXRlIiwgU19JUlVHTywKKwljZnNwaS0+ZGJnZnNfc3Rh dGUgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJzdGF0ZSIsIDA0NDQsCiAJCQkJCQkgY2ZzcGktPmRi Z2ZzX2RpciwgY2ZzcGksCiAJCQkJCQkgJmRiZ2ZzX3N0YXRlX2ZvcHMpOwotCWNmc3BpLT5kYmdm c19mcmFtZSA9IGRlYnVnZnNfY3JlYXRlX2ZpbGUoImZyYW1lIiwgU19JUlVHTywKKwljZnNwaS0+ ZGJnZnNfZnJhbWUgPSBkZWJ1Z2ZzX2NyZWF0ZV9maWxlKCJmcmFtZSIsIDA0NDQsCiAJCQkJCQkg Y2ZzcGktPmRiZ2ZzX2RpciwgY2ZzcGksCiAJCQkJCQkgJmRiZ2ZzX2ZyYW1lX2ZvcHMpOwogfQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvY2FpZi9jYWlmX3ZpcnRpby5jIGIvZHJpdmVycy9uZXQv Y2FpZi9jYWlmX3ZpcnRpby5jCmluZGV4IGMzZDEwNGZlZWUxMy4uMjgxNGUwZGVlNGJiIDEwMDY0 NAotLS0gYS9kcml2ZXJzL25ldC9jYWlmL2NhaWZfdmlydGlvLmMKKysrIGIvZHJpdmVycy9uZXQv Y2FpZi9jYWlmX3ZpcnRpby5jCkBAIC02MjksMjEgKzYyOSwyMSBAQCBzdGF0aWMgaW5saW5lIHZv aWQgZGVidWdmc19pbml0KHN0cnVjdCBjZnZfaW5mbyAqY2Z2KQogCWlmIChJU19FUlIoY2Z2LT5k ZWJ1Z2ZzKSkKIAkJcmV0dXJuOwogCi0JZGVidWdmc19jcmVhdGVfdTMyKCJyeC1uYXBpLWNvbXBs ZXRlIiwgU19JUlVTUiwgY2Z2LT5kZWJ1Z2ZzLAorCWRlYnVnZnNfY3JlYXRlX3UzMigicngtbmFw aS1jb21wbGV0ZSIsIDA0MDAsIGNmdi0+ZGVidWdmcywKIAkJCSAgICZjZnYtPnN0YXRzLnJ4X25h cGlfY29tcGxldGUpOwotCWRlYnVnZnNfY3JlYXRlX3UzMigicngtbmFwaS1yZXNjaGVkIiwgU19J UlVTUiwgY2Z2LT5kZWJ1Z2ZzLAorCWRlYnVnZnNfY3JlYXRlX3UzMigicngtbmFwaS1yZXNjaGVk IiwgMDQwMCwgY2Z2LT5kZWJ1Z2ZzLAogCQkJICAgJmNmdi0+c3RhdHMucnhfbmFwaV9yZXNjaGVk KTsKLQlkZWJ1Z2ZzX2NyZWF0ZV91MzIoInJ4LW5vbWVtIiwgU19JUlVTUiwgY2Z2LT5kZWJ1Z2Zz LAorCWRlYnVnZnNfY3JlYXRlX3UzMigicngtbm9tZW0iLCAwNDAwLCBjZnYtPmRlYnVnZnMsCiAJ CQkgICAmY2Z2LT5zdGF0cy5yeF9ub21lbSk7Ci0JZGVidWdmc19jcmVhdGVfdTMyKCJyeC1raWNr cyIsIFNfSVJVU1IsIGNmdi0+ZGVidWdmcywKKwlkZWJ1Z2ZzX2NyZWF0ZV91MzIoInJ4LWtpY2tz IiwgMDQwMCwgY2Z2LT5kZWJ1Z2ZzLAogCQkJICAgJmNmdi0+c3RhdHMucnhfa2lja3MpOwotCWRl YnVnZnNfY3JlYXRlX3UzMigidHgtZnVsbC1yaW5nIiwgU19JUlVTUiwgY2Z2LT5kZWJ1Z2ZzLAor CWRlYnVnZnNfY3JlYXRlX3UzMigidHgtZnVsbC1yaW5nIiwgMDQwMCwgY2Z2LT5kZWJ1Z2ZzLAog CQkJICAgJmNmdi0+c3RhdHMudHhfZnVsbF9yaW5nKTsKLQlkZWJ1Z2ZzX2NyZWF0ZV91MzIoInR4 LW5vLW1lbSIsIFNfSVJVU1IsIGNmdi0+ZGVidWdmcywKKwlkZWJ1Z2ZzX2NyZWF0ZV91MzIoInR4 LW5vLW1lbSIsIDA0MDAsIGNmdi0+ZGVidWdmcywKIAkJCSAgICZjZnYtPnN0YXRzLnR4X25vX21l bSk7Ci0JZGVidWdmc19jcmVhdGVfdTMyKCJ0eC1raWNrcyIsIFNfSVJVU1IsIGNmdi0+ZGVidWdm cywKKwlkZWJ1Z2ZzX2NyZWF0ZV91MzIoInR4LWtpY2tzIiwgMDQwMCwgY2Z2LT5kZWJ1Z2ZzLAog CQkJICAgJmNmdi0+c3RhdHMudHhfa2lja3MpOwotCWRlYnVnZnNfY3JlYXRlX3UzMigidHgtZmxv dy1vbiIsIFNfSVJVU1IsIGNmdi0+ZGVidWdmcywKKwlkZWJ1Z2ZzX2NyZWF0ZV91MzIoInR4LWZs b3ctb24iLCAwNDAwLCBjZnYtPmRlYnVnZnMsCiAJCQkgICAmY2Z2LT5zdGF0cy50eF9mbG93X29u KTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvY2FuL2F0OTFfY2FuLmMgYi9kcml2ZXJz L25ldC9jYW4vYXQ5MV9jYW4uYwppbmRleCBmMzdjZTBlMWI2MDMuLmQ5OGM2OTA0NWIxNyAxMDA2 NDQKLS0tIGEvZHJpdmVycy9uZXQvY2FuL2F0OTFfY2FuLmMKKysrIGIvZHJpdmVycy9uZXQvY2Fu L2F0OTFfY2FuLmMKQEAgLTEyMjQsOCArMTIyNCw3IEBAIHN0YXRpYyBzc2l6ZV90IGF0OTFfc3lz ZnNfc2V0X21iMF9pZChzdHJ1Y3QgZGV2aWNlICpkZXYsCiAJcmV0dXJuIHJldDsKIH0KIAotc3Rh dGljIERFVklDRV9BVFRSKG1iMF9pZCwgU19JV1VTUiB8IFNfSVJVR08sCi0JYXQ5MV9zeXNmc19z aG93X21iMF9pZCwgYXQ5MV9zeXNmc19zZXRfbWIwX2lkKTsKK3N0YXRpYyBERVZJQ0VfQVRUUiht YjBfaWQsIDA2NDQsIGF0OTFfc3lzZnNfc2hvd19tYjBfaWQsIGF0OTFfc3lzZnNfc2V0X21iMF9p ZCk7CiAKIHN0YXRpYyBzdHJ1Y3QgYXR0cmlidXRlICphdDkxX3N5c2ZzX2F0dHJzW10gPSB7CiAJ JmRldl9hdHRyX21iMF9pZC5hdHRyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvY2FuL2NjNzcw L2NjNzcwLmMgYi9kcml2ZXJzL25ldC9jYW4vY2M3NzAvY2M3NzAuYwppbmRleCA2ZGE2OWFmMTAz ZTYuLmQ0ZGQ0ZGEyMzk5NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvY2FuL2NjNzcwL2NjNzcw LmMKKysrIGIvZHJpdmVycy9uZXQvY2FuL2NjNzcwL2NjNzcwLmMKQEAgLTY3LDEyICs2NywxMiBA QCBNT0RVTEVfREVTQ1JJUFRJT04oS0JVSUxEX01PRE5BTUUgIkNBTiBuZXRkZXZpY2UgZHJpdmVy Iik7CiAgKiBvdGhlcndpc2UgMTEgYml0IFNGRiBtZXNzYWdlcy4KICAqLwogc3RhdGljIGludCBt c2dvYmoxNV9lZmY7Ci1tb2R1bGVfcGFyYW0obXNnb2JqMTVfZWZmLCBpbnQsIFNfSVJVR08pOwor bW9kdWxlX3BhcmFtKG1zZ29iajE1X2VmZiwgaW50LCAwNDQ0KTsKIE1PRFVMRV9QQVJNX0RFU0Mo bXNnb2JqMTVfZWZmLCAiRXh0ZW5kZWQgMjktYml0IGZyYW1lcyBmb3IgbWVzc2FnZSBvYmplY3Qg MTUgIgogCQkgIihkZWZhdWx0OiAxMS1iaXQgc3RhbmRhcmQgZnJhbWVzKSIpOwogCiBzdGF0aWMg aW50IGk4MjUyN19jb21wYXQ7Ci1tb2R1bGVfcGFyYW0oaTgyNTI3X2NvbXBhdCwgaW50LCBTX0lS VUdPKTsKK21vZHVsZV9wYXJhbShpODI1MjdfY29tcGF0LCBpbnQsIDA0NDQpOwogTU9EVUxFX1BB Uk1fREVTQyhpODI1MjdfY29tcGF0LCAiU3RyaWN0IEludGVsIDgyNTI3IGNvbXB0aWJpbGl0eSBt b2RlICIKIAkJICJ3aXRob3V0IHVzaW5nIGFkZGl0aW9uYWwgZnVuY3Rpb25zIik7CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmV0L2Nhbi9jYzc3MC9jYzc3MF9pc2EuYyBiL2RyaXZlcnMvbmV0L2Nh bi9jYzc3MC9jYzc3MF9pc2EuYwppbmRleCAzYTMwZmQzYjQ0OTguLmZjZDM0Njk4MDc0ZiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9uZXQvY2FuL2NjNzcwL2NjNzcwX2lzYS5jCisrKyBiL2RyaXZlcnMv bmV0L2Nhbi9jYzc3MC9jYzc3MF9pc2EuYwpAQCAtODIsMjkgKzgyLDI5IEBAIHN0YXRpYyB1OCBj b3JbTUFYREVWXSA9IHtbMCAuLi4gKE1BWERFViAtIDEpXSA9IDB4ZmZ9Owogc3RhdGljIHU4IGJj cltNQVhERVZdID0ge1swIC4uLiAoTUFYREVWIC0gMSldID0gMHhmZn07CiBzdGF0aWMgaW50IGlu ZGlyZWN0W01BWERFVl0gPSB7WzAgLi4uIChNQVhERVYgLSAxKV0gPSAtMX07CiAKLW1vZHVsZV9w YXJhbV9od19hcnJheShwb3J0LCB1bG9uZywgaW9wb3J0LCBOVUxMLCBTX0lSVUdPKTsKK21vZHVs ZV9wYXJhbV9od19hcnJheShwb3J0LCB1bG9uZywgaW9wb3J0LCBOVUxMLCAwNDQ0KTsKIE1PRFVM RV9QQVJNX0RFU0MocG9ydCwgIkkvTyBwb3J0IG51bWJlciIpOwogCi1tb2R1bGVfcGFyYW1faHdf YXJyYXkobWVtLCB1bG9uZywgaW9tZW0sIE5VTEwsIFNfSVJVR08pOworbW9kdWxlX3BhcmFtX2h3 X2FycmF5KG1lbSwgdWxvbmcsIGlvbWVtLCBOVUxMLCAwNDQ0KTsKIE1PRFVMRV9QQVJNX0RFU0Mo bWVtLCAiSS9PIG1lbW9yeSBhZGRyZXNzIik7CiAKLW1vZHVsZV9wYXJhbV9od19hcnJheShpbmRp cmVjdCwgaW50LCBpb3BvcnQsIE5VTEwsIFNfSVJVR08pOworbW9kdWxlX3BhcmFtX2h3X2FycmF5 KGluZGlyZWN0LCBpbnQsIGlvcG9ydCwgTlVMTCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKGlu ZGlyZWN0LCAiSW5kaXJlY3QgYWNjZXNzIHZpYSBhZGRyZXNzIGFuZCBkYXRhIHBvcnQiKTsKIAot bW9kdWxlX3BhcmFtX2h3X2FycmF5KGlycSwgaW50LCBpcnEsIE5VTEwsIFNfSVJVR08pOworbW9k dWxlX3BhcmFtX2h3X2FycmF5KGlycSwgaW50LCBpcnEsIE5VTEwsIDA0NDQpOwogTU9EVUxFX1BB Uk1fREVTQyhpcnEsICJJUlEgbnVtYmVyIik7CiAKLW1vZHVsZV9wYXJhbV9hcnJheShjbGssIGlu dCwgTlVMTCwgU19JUlVHTyk7Cittb2R1bGVfcGFyYW1fYXJyYXkoY2xrLCBpbnQsIE5VTEwsIDA0 NDQpOwogTU9EVUxFX1BBUk1fREVTQyhjbGssICJFeHRlcm5hbCBvc2NpbGxhdG9yIGNsb2NrIGZy ZXF1ZW5jeSAiCiAJCSAiKGRlZmF1bHQ9MTYwMDAwMDAgWzE2IE1Iel0pIik7CiAKLW1vZHVsZV9w YXJhbV9hcnJheShjaXIsIGJ5dGUsIE5VTEwsIFNfSVJVR08pOworbW9kdWxlX3BhcmFtX2FycmF5 KGNpciwgYnl0ZSwgTlVMTCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKGNpciwgIkNQVSBpbnRl cmZhY2UgcmVnaXN0ZXIgKGRlZmF1bHQ9MHg0MCBbRFNDXSkiKTsKIAotbW9kdWxlX3BhcmFtX2Fy cmF5KGNvciwgYnl0ZSwgTlVMTCwgU19JUlVHTyk7Cittb2R1bGVfcGFyYW1fYXJyYXkoY29yLCBi eXRlLCBOVUxMLCAwNDQ0KTsKIE1PRFVMRV9QQVJNX0RFU0MoY29yLCAiQ2xvY2tvdXQgcmVnaXN0 ZXIgKGRlZmF1bHQ9MHgwMCkiKTsKIAotbW9kdWxlX3BhcmFtX2FycmF5KGJjciwgYnl0ZSwgTlVM TCwgU19JUlVHTyk7Cittb2R1bGVfcGFyYW1fYXJyYXkoYmNyLCBieXRlLCBOVUxMLCAwNDQ0KTsK IE1PRFVMRV9QQVJNX0RFU0MoYmNyLCAiQnVzIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgKGRlZmF1 bHQ9MHg0MCBbQ0JZXSkiKTsKIAogI2RlZmluZSBDQzc3MF9JT1NJWkUgICAgICAgICAgMHgyMApk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvY2FuL2dyY2FuLmMgYi9kcml2ZXJzL25ldC9jYW4vZ3Jj YW4uYwppbmRleCA4OTdjNmIxMTNkM2YuLjJkMzA0NmFmYTgwZCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9uZXQvY2FuL2dyY2FuLmMKKysrIGIvZHJpdmVycy9uZXQvY2FuL2dyY2FuLmMKQEAgLTE0ODQs NyArMTQ4NCw3IEBAIHN0YXRpYyBuZXRkZXZfdHhfdCBncmNhbl9zdGFydF94bWl0KHN0cnVjdCBz a19idWZmICpza2IsCiAJCX0JCQkJCQkJXAogCX0JCQkJCQkJCVwKIAltb2R1bGVfcGFyYW1fbmFt ZWQobmFtZSwgZ3JjYW5fbW9kdWxlX2NvbmZpZy5uYW1lLAkJXAotCQkJICAgbXR5cGUsIFNfSVJV R08pOwkJCQlcCisJCQkgICBtdHlwZSwgMDQ0NCk7CQkJCVwKIAlNT0RVTEVfUEFSTV9ERVNDKG5h bWUsIGRlc2MpCiAKICNkZWZpbmUgR1JDQU5fQ09ORklHX0FUVFIobmFtZSwgZGVzYykJCQkJCVwK QEAgLTE1MTMsNyArMTUxMyw3IEBAIHN0YXRpYyBuZXRkZXZfdHhfdCBncmNhbl9zdGFydF94bWl0 KHN0cnVjdCBza19idWZmICpza2IsCiAJCXN0cnVjdCBncmNhbl9wcml2ICpwcml2ID0gbmV0ZGV2 X3ByaXYoZGV2KTsJCVwKIAkJcmV0dXJuIHNwcmludGYoYnVmLCAiJWRcbiIsIHByaXYtPmNvbmZp Zy5uYW1lKTsJCVwKIAl9CQkJCQkJCQlcCi0Jc3RhdGljIERFVklDRV9BVFRSKG5hbWUsIFNfSVJV R08gfCBTX0lXVVNSLAkJCVwKKwlzdGF0aWMgREVWSUNFX0FUVFIobmFtZSwgMDY0NCwJCQkJCVwK IAkJCSAgIGdyY2FuX3Nob3dfIyNuYW1lLAkJCQlcCiAJCQkgICBncmNhbl9zdG9yZV8jI25hbWUp OwkJCQlcCiAJR1JDQU5fTU9EVUxFX1BBUkFNKG5hbWUsIHVzaG9ydCwgR1JDQU5fTk9UX0JPT0ws IGRlc2MpCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9jYW4vamFuei1pY2FuMy5jIGIvZHJpdmVy cy9uZXQvY2FuL2phbnotaWNhbjMuYwppbmRleCAxMmE1M2M4ZThlMWQuLmFkZmRiNjZhNDg2ZSAx MDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvY2FuL2phbnotaWNhbjMuYworKysgYi9kcml2ZXJzL25l dC9jYW4vamFuei1pY2FuMy5jCkBAIC0xODY1LDkgKzE4NjUsOSBAQCBzdGF0aWMgc3NpemVfdCBp Y2FuM19zeXNmc19zaG93X2Z3aW5mbyhzdHJ1Y3QgZGV2aWNlICpkZXYsCiAJcmV0dXJuIHNjbnBy aW50ZihidWYsIFBBR0VfU0laRSwgIiVzXG4iLCBtb2QtPmZ3aW5mbyk7CiB9CiAKLXN0YXRpYyBE RVZJQ0VfQVRUUih0ZXJtaW5hdGlvbiwgU19JV1VTUiB8IFNfSVJVR08sIGljYW4zX3N5c2ZzX3No b3dfdGVybSwKLQkJCQkJCSAgIGljYW4zX3N5c2ZzX3NldF90ZXJtKTsKLXN0YXRpYyBERVZJQ0Vf QVRUUihmd2luZm8sIFNfSVJVU1IgfCBTX0lSVUdPLCBpY2FuM19zeXNmc19zaG93X2Z3aW5mbywg TlVMTCk7CitzdGF0aWMgREVWSUNFX0FUVFIodGVybWluYXRpb24sIDA2NDQsIGljYW4zX3N5c2Zz X3Nob3dfdGVybSwKKwkJICAgaWNhbjNfc3lzZnNfc2V0X3Rlcm0pOworc3RhdGljIERFVklDRV9B VFRSKGZ3aW5mbywgMDQ0NCwgaWNhbjNfc3lzZnNfc2hvd19md2luZm8sIE5VTEwpOwogCiBzdGF0 aWMgc3RydWN0IGF0dHJpYnV0ZSAqaWNhbjNfc3lzZnNfYXR0cnNbXSA9IHsKIAkmZGV2X2F0dHJf dGVybWluYXRpb24uYXR0ciwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2Nhbi9zamExMDAwL3Nq YTEwMDBfaXNhLmMgYi9kcml2ZXJzL25ldC9jYW4vc2phMTAwMC9zamExMDAwX2lzYS5jCmluZGV4 IGE4OWMxZTkyNTU0ZC4uMWEyYWU2Y2U4ZDg3IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9jYW4v c2phMTAwMC9zamExMDAwX2lzYS5jCisrKyBiL2RyaXZlcnMvbmV0L2Nhbi9zamExMDAwL3NqYTEw MDBfaXNhLmMKQEAgLTQ4LDI3ICs0OCwyNyBAQCBzdGF0aWMgdW5zaWduZWQgY2hhciBvY3JbTUFY REVWXSA9IHtbMCAuLi4gKE1BWERFViAtIDEpXSA9IDB4ZmZ9Owogc3RhdGljIGludCBpbmRpcmVj dFtNQVhERVZdID0ge1swIC4uLiAoTUFYREVWIC0gMSldID0gLTF9Owogc3RhdGljIHNwaW5sb2Nr X3QgaW5kaXJlY3RfbG9ja1tNQVhERVZdOyAgLyogbG9jayBmb3IgaW5kaXJlY3QgYWNjZXNzIG1v ZGUgKi8KIAotbW9kdWxlX3BhcmFtX2h3X2FycmF5KHBvcnQsIHVsb25nLCBpb3BvcnQsIE5VTEws IFNfSVJVR08pOworbW9kdWxlX3BhcmFtX2h3X2FycmF5KHBvcnQsIHVsb25nLCBpb3BvcnQsIE5V TEwsIDA0NDQpOwogTU9EVUxFX1BBUk1fREVTQyhwb3J0LCAiSS9PIHBvcnQgbnVtYmVyIik7CiAK LW1vZHVsZV9wYXJhbV9od19hcnJheShtZW0sIHVsb25nLCBpb21lbSwgTlVMTCwgU19JUlVHTyk7 Cittb2R1bGVfcGFyYW1faHdfYXJyYXkobWVtLCB1bG9uZywgaW9tZW0sIE5VTEwsIDA0NDQpOwog TU9EVUxFX1BBUk1fREVTQyhtZW0sICJJL08gbWVtb3J5IGFkZHJlc3MiKTsKIAotbW9kdWxlX3Bh cmFtX2h3X2FycmF5KGluZGlyZWN0LCBpbnQsIGlvcG9ydCwgTlVMTCwgU19JUlVHTyk7Cittb2R1 bGVfcGFyYW1faHdfYXJyYXkoaW5kaXJlY3QsIGludCwgaW9wb3J0LCBOVUxMLCAwNDQ0KTsKIE1P RFVMRV9QQVJNX0RFU0MoaW5kaXJlY3QsICJJbmRpcmVjdCBhY2Nlc3MgdmlhIGFkZHJlc3MgYW5k IGRhdGEgcG9ydCIpOwogCi1tb2R1bGVfcGFyYW1faHdfYXJyYXkoaXJxLCBpbnQsIGlycSwgTlVM TCwgU19JUlVHTyk7Cittb2R1bGVfcGFyYW1faHdfYXJyYXkoaXJxLCBpbnQsIGlycSwgTlVMTCwg MDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKGlycSwgIklSUSBudW1iZXIiKTsKIAotbW9kdWxlX3Bh cmFtX2FycmF5KGNsaywgaW50LCBOVUxMLCBTX0lSVUdPKTsKK21vZHVsZV9wYXJhbV9hcnJheShj bGssIGludCwgTlVMTCwgMDQ0NCk7CiBNT0RVTEVfUEFSTV9ERVNDKGNsaywgIkV4dGVybmFsIG9z Y2lsbGF0b3IgY2xvY2sgZnJlcXVlbmN5ICIKIAkJICIoZGVmYXVsdD0xNjAwMDAwMCBbMTYgTUh6 XSkiKTsKIAotbW9kdWxlX3BhcmFtX2FycmF5KGNkciwgYnl0ZSwgTlVMTCwgU19JUlVHTyk7Citt b2R1bGVfcGFyYW1fYXJyYXkoY2RyLCBieXRlLCBOVUxMLCAwNDQ0KTsKIE1PRFVMRV9QQVJNX0RF U0MoY2RyLCAiQ2xvY2sgZGl2aWRlciByZWdpc3RlciAiCiAJCSAiKGRlZmF1bHQ9MHg0OCBbQ0RS X0NCUCB8IENEUl9DTEtfT0ZGXSkiKTsKIAotbW9kdWxlX3BhcmFtX2FycmF5KG9jciwgYnl0ZSwg TlVMTCwgU19JUlVHTyk7Cittb2R1bGVfcGFyYW1fYXJyYXkob2NyLCBieXRlLCBOVUxMLCAwNDQ0 KTsKIE1PRFVMRV9QQVJNX0RFU0Mob2NyLCAiT3V0cHV0IGNvbnRyb2wgcmVnaXN0ZXIgIgogCQkg IihkZWZhdWx0PTB4MTggW09DUl9UWDBfUFVTSFBVTExdKSIpOwogCmRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC9jYW4vc29mdGluZy9zb2Z0aW5nX21haW4uYyBiL2RyaXZlcnMvbmV0L2Nhbi9zb2Z0 aW5nL3NvZnRpbmdfbWFpbi5jCmluZGV4IDVmNjRkZWVjOWY2Yy4uZTIyNjk2MTkwNTgzIDEwMDY0 NAotLS0gYS9kcml2ZXJzL25ldC9jYW4vc29mdGluZy9zb2Z0aW5nX21haW4uYworKysgYi9kcml2 ZXJzL25ldC9jYW4vc29mdGluZy9zb2Z0aW5nX21haW4uYwpAQCAtNjAxLDggKzYwMSw4IEBAIHN0 YXRpYyBzc2l6ZV90IHN0b3JlX291dHB1dChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZp Y2VfYXR0cmlidXRlICphdHRyLAogCXJldHVybiBjb3VudDsKIH0KIAotc3RhdGljIGNvbnN0IERF VklDRV9BVFRSKGNoaXAsIFNfSVJVR08sIHNob3dfY2hpcCwgTlVMTCk7Ci1zdGF0aWMgY29uc3Qg REVWSUNFX0FUVFIob3V0cHV0LCBTX0lSVUdPIHwgU19JV1VTUiwgc2hvd19vdXRwdXQsIHN0b3Jl X291dHB1dCk7CitzdGF0aWMgY29uc3QgREVWSUNFX0FUVFIoY2hpcCwgMDQ0NCwgc2hvd19jaGlw LCBOVUxMKTsKK3N0YXRpYyBjb25zdCBERVZJQ0VfQVRUUihvdXRwdXQsIDA2NDQsIHNob3dfb3V0 cHV0LCBzdG9yZV9vdXRwdXQpOwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGF0dHJpYnV0ZSAqY29u c3QgbmV0ZGV2X3N5c2ZzX2F0dHJzW10gPSB7CiAJJmRldl9hdHRyX2NoaXAuYXR0ciwKZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmV0L2Nhbi9zcGkvbWNwMjUxeC5jIGIvZHJpdmVycy9uZXQvY2FuL3Nw aS9tY3AyNTF4LmMKaW5kZXggOThkMTE4YjNhYWY0Li5lOTA4MTc2MDg2NDUgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvbmV0L2Nhbi9zcGkvbWNwMjUxeC5jCisrKyBiL2RyaXZlcnMvbmV0L2Nhbi9zcGkv bWNwMjUxeC5jCkBAIC0yMjAsNyArMjIwLDcgQEAKICNkZWZpbmUgREVWSUNFX05BTUUgIm1jcDI1 MXgiCiAKIHN0YXRpYyBpbnQgbWNwMjUxeF9lbmFibGVfZG1hOyAvKiBFbmFibGUgU1BJIERNQS4g RGVmYXVsdDogMCAoT2ZmKSAqLwotbW9kdWxlX3BhcmFtKG1jcDI1MXhfZW5hYmxlX2RtYSwgaW50 LCBTX0lSVUdPKTsKK21vZHVsZV9wYXJhbShtY3AyNTF4X2VuYWJsZV9kbWEsIGludCwgMDQ0NCk7 CiBNT0RVTEVfUEFSTV9ERVNDKG1jcDI1MXhfZW5hYmxlX2RtYSwgIkVuYWJsZSBTUEkgRE1BLiBE ZWZhdWx0OiAwIChPZmYpIik7CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY2FuX2JpdHRpbWluZ19j b25zdCBtY3AyNTF4X2JpdHRpbWluZ19jb25zdCA9IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0 L2Nhbi91c2IvZXNkX3VzYjIuYyBiL2RyaXZlcnMvbmV0L2Nhbi91c2IvZXNkX3VzYjIuYwppbmRl eCBjNmRjZjkzNjc1YzAuLjU4MjBmZDViNjliNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvY2Fu L3VzYi9lc2RfdXNiMi5jCisrKyBiL2RyaXZlcnMvbmV0L2Nhbi91c2IvZXNkX3VzYjIuYwpAQCAt NDk2LDcgKzQ5Niw3IEBAIHN0YXRpYyBzc2l6ZV90IHNob3dfZmlybXdhcmUoc3RydWN0IGRldmlj ZSAqZCwKIAkJICAgICAgIChkZXYtPnZlcnNpb24gPj4gOCkgJiAweGYsCiAJCSAgICAgICBkZXYt PnZlcnNpb24gJiAweGZmKTsKIH0KLXN0YXRpYyBERVZJQ0VfQVRUUihmaXJtd2FyZSwgU19JUlVH Tywgc2hvd19maXJtd2FyZSwgTlVMTCk7CitzdGF0aWMgREVWSUNFX0FUVFIoZmlybXdhcmUsIDA0 NDQsIHNob3dfZmlybXdhcmUsIE5VTEwpOwogCiBzdGF0aWMgc3NpemVfdCBzaG93X2hhcmR3YXJl KHN0cnVjdCBkZXZpY2UgKmQsCiAJCQkgICAgIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRy LCBjaGFyICpidWYpCkBAIC01MDksNyArNTA5LDcgQEAgc3RhdGljIHNzaXplX3Qgc2hvd19oYXJk d2FyZShzdHJ1Y3QgZGV2aWNlICpkLAogCQkgICAgICAgKGRldi0+dmVyc2lvbiA+PiAyNCkgJiAw eGYsCiAJCSAgICAgICAoZGV2LT52ZXJzaW9uID4+IDE2KSAmIDB4ZmYpOwogfQotc3RhdGljIERF VklDRV9BVFRSKGhhcmR3YXJlLCBTX0lSVUdPLCBzaG93X2hhcmR3YXJlLCBOVUxMKTsKK3N0YXRp YyBERVZJQ0VfQVRUUihoYXJkd2FyZSwgMDQ0NCwgc2hvd19oYXJkd2FyZSwgTlVMTCk7CiAKIHN0 YXRpYyBzc2l6ZV90IHNob3dfbmV0cyhzdHJ1Y3QgZGV2aWNlICpkLAogCQkJIHN0cnVjdCBkZXZp Y2VfYXR0cmlidXRlICphdHRyLCBjaGFyICpidWYpCkBAIC01MTksNyArNTE5LDcgQEAgc3RhdGlj IHNzaXplX3Qgc2hvd19uZXRzKHN0cnVjdCBkZXZpY2UgKmQsCiAKIAlyZXR1cm4gc3ByaW50Zihi dWYsICIlZCIsIGRldi0+bmV0X2NvdW50KTsKIH0KLXN0YXRpYyBERVZJQ0VfQVRUUihuZXRzLCBT X0lSVUdPLCBzaG93X25ldHMsIE5VTEwpOworc3RhdGljIERFVklDRV9BVFRSKG5ldHMsIDA0NDQs IHNob3dfbmV0cywgTlVMTCk7CiAKIHN0YXRpYyBpbnQgZXNkX3VzYjJfc2VuZF9tc2coc3RydWN0 IGVzZF91c2IyICpkZXYsIHN0cnVjdCBlc2RfdXNiMl9tc2cgKm1zZykKIHsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvbmV0L2Nhbi92Y2FuLmMgYi9kcml2ZXJzL25ldC9jYW4vdmNhbi5jCmluZGV4IGMy YjA0ZjUwNWUxNi4uZDIwMGE1YjA2NTFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9jYW4vdmNh bi5jCisrKyBiL2RyaXZlcnMvbmV0L2Nhbi92Y2FuLmMKQEAgLTY1LDcgKzY1LDcgQEAgTU9EVUxF X0FMSUFTX1JUTkxfTElOSyhEUlZfTkFNRSk7CiAgKi8KIAogc3RhdGljIGJvb2wgZWNobzsgLyog ZWNobyB0ZXN0aW5nLiBEZWZhdWx0OiAwIChPZmYpICovCi1tb2R1bGVfcGFyYW0oZWNobywgYm9v bCwgU19JUlVHTyk7Cittb2R1bGVfcGFyYW0oZWNobywgYm9vbCwgMDQ0NCk7CiBNT0RVTEVfUEFS TV9ERVNDKGVjaG8sICJFY2hvIHNlbnQgZnJhbWVzIChmb3IgdGVzdGluZykuIERlZmF1bHQ6IDAg KE9mZikiKTsKIAogCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9oYW1yYWRpby9icHFldGhlci5j IGIvZHJpdmVycy9uZXQvaGFtcmFkaW8vYnBxZXRoZXIuYwppbmRleCA3OGE2NDE0YzVmZDkuLmRm YWJiYWU3MmVmZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQvaGFtcmFkaW8vYnBxZXRoZXIuYwor KysgYi9kcml2ZXJzL25ldC9oYW1yYWRpby9icHFldGhlci5jCkBAIC01OTAsOCArNTkwLDcgQEAg c3RhdGljIGludCBicHFfZGV2aWNlX2V2ZW50KHN0cnVjdCBub3RpZmllcl9ibG9jayAqdGhpcywK IHN0YXRpYyBpbnQgX19pbml0IGJwcV9pbml0X2RyaXZlcih2b2lkKQogewogI2lmZGVmIENPTkZJ R19QUk9DX0ZTCi0JaWYgKCFwcm9jX2NyZWF0ZSgiYnBxZXRoZXIiLCBTX0lSVUdPLCBpbml0X25l dC5wcm9jX25ldCwKLQkJCSAmYnBxX2luZm9fZm9wcykpIHsKKwlpZiAoIXByb2NfY3JlYXRlKCJi cHFldGhlciIsIDA0NDQsIGluaXRfbmV0LnByb2NfbmV0LCAmYnBxX2luZm9fZm9wcykpIHsKIAkJ cHJpbnRrKEtFUk5fRVJSCiAJCQkiYnBxOiBjYW5ub3QgY3JlYXRlIC9wcm9jL25ldC9icHFldGhl ciBlbnRyeS5cbiIpOwogCQlyZXR1cm4gLUVOT0VOVDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0 L2hhbXJhZGlvL3lhbS5jIGIvZHJpdmVycy9uZXQvaGFtcmFkaW8veWFtLmMKaW5kZXggMTRjMzYz MmI4Y2RlLi44MzAzNGViN2VkNGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L2hhbXJhZGlvL3lh bS5jCisrKyBiL2RyaXZlcnMvbmV0L2hhbXJhZGlvL3lhbS5jCkBAIC0xMTY4LDcgKzExNjgsNyBA QCBzdGF0aWMgaW50IF9faW5pdCB5YW1faW5pdF9kcml2ZXIodm9pZCkKIAl5YW1fdGltZXIuZXhw aXJlcyA9IGppZmZpZXMgKyBIWiAvIDEwMDsKIAlhZGRfdGltZXIoJnlhbV90aW1lcik7CiAKLQlw cm9jX2NyZWF0ZSgieWFtIiwgU19JUlVHTywgaW5pdF9uZXQucHJvY19uZXQsICZ5YW1faW5mb19m b3BzKTsKKwlwcm9jX2NyZWF0ZSgieWFtIiwgMDQ0NCwgaW5pdF9uZXQucHJvY19uZXQsICZ5YW1f aW5mb19mb3BzKTsKIAlyZXR1cm4gMDsKICBlcnJvcjoKIAl3aGlsZSAoLS1pID49IDApIHsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2h5cGVydi9uZXR2c2NfZHJ2LmMgYi9kcml2ZXJzL25ldC9o eXBlcnYvbmV0dnNjX2Rydi5jCmluZGV4IGYyOGM4NWQyMTJjZS4uOWY0M2EyMGVlN2RlIDEwMDY0 NAotLS0gYS9kcml2ZXJzL25ldC9oeXBlcnYvbmV0dnNjX2Rydi5jCisrKyBiL2RyaXZlcnMvbmV0 L2h5cGVydi9uZXR2c2NfZHJ2LmMKQEAgLTU1LDcgKzU1LDcgQEAKICNkZWZpbmUgVkZfVEFLRU9W RVJfSU5UIChIWiAvIDEwKQogCiBzdGF0aWMgdW5zaWduZWQgaW50IHJpbmdfc2l6ZSBfX3JvX2Fm dGVyX2luaXQgPSAxMjg7Ci1tb2R1bGVfcGFyYW0ocmluZ19zaXplLCB1aW50LCBTX0lSVUdPKTsK K21vZHVsZV9wYXJhbShyaW5nX3NpemUsIHVpbnQsIDA0NDQpOwogTU9EVUxFX1BBUk1fREVTQyhy aW5nX3NpemUsICJSaW5nIGJ1ZmZlciBzaXplICgjIG9mIHBhZ2VzKSIpOwogdW5zaWduZWQgaW50 IG5ldHZzY19yaW5nX2J5dGVzIF9fcm9fYWZ0ZXJfaW5pdDsKIHN0cnVjdCByZWNpcHJvY2FsX3Zh bHVlIG5ldHZzY19yaW5nX3JlY2lwcm9jYWwgX19yb19hZnRlcl9pbml0OwpAQCAtNjYsNyArNjYs NyBAQCBzdGF0aWMgY29uc3QgdTMyIGRlZmF1bHRfbXNnID0gTkVUSUZfTVNHX0RSViB8IE5FVElG X01TR19QUk9CRSB8CiAJCQkJTkVUSUZfTVNHX1RYX0VSUjsKIAogc3RhdGljIGludCBkZWJ1ZyA9 IC0xOwotbW9kdWxlX3BhcmFtKGRlYnVnLCBpbnQsIFNfSVJVR08pOworbW9kdWxlX3BhcmFtKGRl YnVnLCBpbnQsIDA0NDQpOwogTU9EVUxFX1BBUk1fREVTQyhkZWJ1ZywgIkRlYnVnIGxldmVsICgw PW5vbmUsLi4uLDE2PWFsbCkiKTsKIAogc3RhdGljIHZvaWQgbmV0dnNjX2NoYW5nZV9yeF9mbGFn cyhzdHJ1Y3QgbmV0X2RldmljZSAqbmV0LCBpbnQgY2hhbmdlKQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvaWVlZTgwMjE1NC9hdDg2cmYyMzAuYyBiL2RyaXZlcnMvbmV0L2llZWU4MDIxNTQvYXQ4 NnJmMjMwLmMKaW5kZXggNTQ4ZDlkMDI2YTg1Li43N2FiZWRmMGI1MjQgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvbmV0L2llZWU4MDIxNTQvYXQ4NnJmMjMwLmMKKysrIGIvZHJpdmVycy9uZXQvaWVlZTgw MjE1NC9hdDg2cmYyMzAuYwpAQCAtMTY2MSw3ICsxNjYxLDcgQEAgc3RhdGljIGludCBhdDg2cmYy MzBfZGVidWdmc19pbml0KHN0cnVjdCBhdDg2cmYyMzBfbG9jYWwgKmxwKQogCWlmICghYXQ4NnJm MjMwX2RlYnVnZnNfcm9vdCkKIAkJcmV0dXJuIC1FTk9NRU07CiAKLQlzdGF0cyA9IGRlYnVnZnNf Y3JlYXRlX2ZpbGUoInRyYWNfc3RhdHMiLCBTX0lSVUdPLAorCXN0YXRzID0gZGVidWdmc19jcmVh dGVfZmlsZSgidHJhY19zdGF0cyIsIDA0NDQsCiAJCQkJICAgIGF0ODZyZjIzMF9kZWJ1Z2ZzX3Jv b3QsIGxwLAogCQkJCSAgICAmYXQ4NnJmMjMwX3N0YXRzX2ZvcHMpOwogCWlmICghc3RhdHMpCmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9waHkvc3BpX2tzODk5NS5jIGIvZHJpdmVycy9uZXQvcGh5 L3NwaV9rczg5OTUuYwppbmRleCAxZTJkNGYxMTc5ZGEuLmYxN2IzNDQxNzc5YiAxMDA2NDQKLS0t IGEvZHJpdmVycy9uZXQvcGh5L3NwaV9rczg5OTUuYworKysgYi9kcml2ZXJzL25ldC9waHkvc3Bp X2tzODk5NS5jCkBAIC00MTcsNyArNDE3LDcgQEAgc3RhdGljIHZvaWQga3M4OTk1X3BhcnNlX2R0 KHN0cnVjdCBrczg5OTVfc3dpdGNoICprcykKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgYmluX2F0dHJp YnV0ZSBrczg5OTVfcmVnaXN0ZXJzX2F0dHIgPSB7CiAJLmF0dHIgPSB7CiAJCS5uYW1lICAgPSAi cmVnaXN0ZXJzIiwKLQkJLm1vZGUgICA9IFNfSVJVU1IgfCBTX0lXVVNSLAorCQkubW9kZSAgID0g MDYwMCwKIAl9LAogCS5zaXplICAgPSBLUzg5OTVfUkVHU19TSVpFLAogCS5yZWFkICAgPSBrczg5 OTVfcmVnaXN0ZXJzX3JlYWQsCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9wcHAvcHBwX2dlbmVy aWMuYyBiL2RyaXZlcnMvbmV0L3BwcC9wcHBfZ2VuZXJpYy5jCmluZGV4IDkyNmMyYzMyMmQ0My4u MjJmY2ZmM2M3YTlhIDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC9wcHAvcHBwX2dlbmVyaWMuYwor KysgYi9kcml2ZXJzL25ldC9wcHAvcHBwX2dlbmVyaWMuYwpAQCAtMTY4Nyw3ICsxNjg3LDcgQEAg cHBwX3B1c2goc3RydWN0IHBwcCAqcHBwKQogCiAjaWZkZWYgQ09ORklHX1BQUF9NVUxUSUxJTksK IHN0YXRpYyBib29sIG1wX3Byb3RvY29sX2NvbXByZXNzIF9fcmVhZF9tb3N0bHkgPSB0cnVlOwot bW9kdWxlX3BhcmFtKG1wX3Byb3RvY29sX2NvbXByZXNzLCBib29sLCBTX0lSVUdPIHwgU19JV1VT Uik7Cittb2R1bGVfcGFyYW0obXBfcHJvdG9jb2xfY29tcHJlc3MsIGJvb2wsIDA2NDQpOwogTU9E VUxFX1BBUk1fREVTQyhtcF9wcm90b2NvbF9jb21wcmVzcywKIAkJICJjb21wcmVzcyBwcm90b2Nv bCBpZCBpbiBtdWx0aWxpbmsgZnJhZ21lbnRzIik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0 L3BwcC9wcHBvZS5jIGIvZHJpdmVycy9uZXQvcHBwL3BwcG9lLmMKaW5kZXggYzEwZTYxODFhMmYw Li5mOTU1MmE0MDAyNzEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3BwcC9wcHBvZS5jCisrKyBi L2RyaXZlcnMvbmV0L3BwcC9wcHBvZS5jCkBAIC0xMTQyLDcgKzExNDIsNyBAQCBzdGF0aWMgX19u ZXRfaW5pdCBpbnQgcHBwb2VfaW5pdF9uZXQoc3RydWN0IG5ldCAqbmV0KQogCiAJcndsb2NrX2lu aXQoJnBuLT5oYXNoX2xvY2spOwogCi0JcGRlID0gcHJvY19jcmVhdGUoInBwcG9lIiwgU19JUlVH TywgbmV0LT5wcm9jX25ldCwgJnBwcG9lX3NlcV9mb3BzKTsKKwlwZGUgPSBwcm9jX2NyZWF0ZSgi cHBwb2UiLCAwNDQ0LCBuZXQtPnByb2NfbmV0LCAmcHBwb2Vfc2VxX2ZvcHMpOwogI2lmZGVmIENP TkZJR19QUk9DX0ZTCiAJaWYgKCFwZGUpCiAJCXJldHVybiAtRU5PTUVNOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9uZXQvdXNiL2NkY19uY20uYyBiL2RyaXZlcnMvbmV0L3VzYi9jZGNfbmNtLmMKaW5k ZXggOWUxYjc0NTkwNjgyLi45MGQwN2VkMjI0ZDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3Vz Yi9jZGNfbmNtLmMKKysrIGIvZHJpdmVycy9uZXQvdXNiL2NkY19uY20uYwpAQCAtNTgsNyArNTgs NyBAQCBzdGF0aWMgYm9vbCBwcmVmZXJfbWJpbSA9IHRydWU7CiAjZWxzZQogc3RhdGljIGJvb2wg cHJlZmVyX21iaW07CiAjZW5kaWYKLW1vZHVsZV9wYXJhbShwcmVmZXJfbWJpbSwgYm9vbCwgU19J UlVHTyB8IFNfSVdVU1IpOworbW9kdWxlX3BhcmFtKHByZWZlcl9tYmltLCBib29sLCAwNjQ0KTsK IE1PRFVMRV9QQVJNX0RFU0MocHJlZmVyX21iaW0sICJQcmVmZXIgTUJJTSBzZXR0aW5nIG9uIGR1 YWwgTkNNL01CSU0gZnVuY3Rpb25zIik7CiAKIHN0YXRpYyB2b2lkIGNkY19uY21fdHhwYXRoX2Jo KHVuc2lnbmVkIGxvbmcgcGFyYW0pOwpAQCAtMjgxLDEwICsyODEsMTAgQEAgc3RhdGljIHNzaXpl X3QgY2RjX25jbV9zdG9yZV90eF90aW1lcl91c2VjcyhzdHJ1Y3QgZGV2aWNlICpkLCAgc3RydWN0 IGRldmljZV9hdHQKIAlyZXR1cm4gbGVuOwogfQogCi1zdGF0aWMgREVWSUNFX0FUVFIobWluX3R4 X3BrdCwgU19JUlVHTyB8IFNfSVdVU1IsIGNkY19uY21fc2hvd19taW5fdHhfcGt0LCBjZGNfbmNt X3N0b3JlX21pbl90eF9wa3QpOwotc3RhdGljIERFVklDRV9BVFRSKHJ4X21heCwgU19JUlVHTyB8 IFNfSVdVU1IsIGNkY19uY21fc2hvd19yeF9tYXgsIGNkY19uY21fc3RvcmVfcnhfbWF4KTsKLXN0 YXRpYyBERVZJQ0VfQVRUUih0eF9tYXgsIFNfSVJVR08gfCBTX0lXVVNSLCBjZGNfbmNtX3Nob3df dHhfbWF4LCBjZGNfbmNtX3N0b3JlX3R4X21heCk7Ci1zdGF0aWMgREVWSUNFX0FUVFIodHhfdGlt ZXJfdXNlY3MsIFNfSVJVR08gfCBTX0lXVVNSLCBjZGNfbmNtX3Nob3dfdHhfdGltZXJfdXNlY3Ms IGNkY19uY21fc3RvcmVfdHhfdGltZXJfdXNlY3MpOworc3RhdGljIERFVklDRV9BVFRSKG1pbl90 eF9wa3QsIDA2NDQsIGNkY19uY21fc2hvd19taW5fdHhfcGt0LCBjZGNfbmNtX3N0b3JlX21pbl90 eF9wa3QpOworc3RhdGljIERFVklDRV9BVFRSKHJ4X21heCwgMDY0NCwgY2RjX25jbV9zaG93X3J4 X21heCwgY2RjX25jbV9zdG9yZV9yeF9tYXgpOworc3RhdGljIERFVklDRV9BVFRSKHR4X21heCwg MDY0NCwgY2RjX25jbV9zaG93X3R4X21heCwgY2RjX25jbV9zdG9yZV90eF9tYXgpOworc3RhdGlj IERFVklDRV9BVFRSKHR4X3RpbWVyX3VzZWNzLCAwNjQ0LCBjZGNfbmNtX3Nob3dfdHhfdGltZXJf dXNlY3MsIGNkY19uY21fc3RvcmVfdHhfdGltZXJfdXNlY3MpOwogCiBzdGF0aWMgc3NpemVfdCBu ZHBfdG9fZW5kX3Nob3coc3RydWN0IGRldmljZSAqZCwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUg KmF0dHIsIGNoYXIgKmJ1ZikKIHsKQEAgLTMzNSw3ICszMzUsNyBAQCBzdGF0aWMgc3NpemVfdCBj ZGNfbmNtX3Nob3dfIyNuYW1lKHN0cnVjdCBkZXZpY2UgKmQsIHN0cnVjdCBkZXZpY2VfYXR0cmli dXRlICphdAogCXN0cnVjdCBjZGNfbmNtX2N0eCAqY3R4ID0gKHN0cnVjdCBjZGNfbmNtX2N0eCAq KWRldi0+ZGF0YVswXTsgXAogCXJldHVybiBzcHJpbnRmKGJ1ZiwgZm9ybWF0ICJcbiIsIHRvY3B1 KGN0eC0+bmNtX3Bhcm0ubmFtZSkpOwlcCiB9IFwKLXN0YXRpYyBERVZJQ0VfQVRUUihuYW1lLCBT X0lSVUdPLCBjZGNfbmNtX3Nob3dfIyNuYW1lLCBOVUxMKQorc3RhdGljIERFVklDRV9BVFRSKG5h bWUsIDA0NDQsIGNkY19uY21fc2hvd18jI25hbWUsIE5VTEwpCiAKIE5DTV9QQVJNX0FUVFIoYm1O dGJGb3JtYXRzU3VwcG9ydGVkLCAiMHglMDR4IiwgbGUxNl90b19jcHUpOwogTkNNX1BBUk1fQVRU Uihkd050YkluTWF4U2l6ZSwgIiV1IiwgbGUzMl90b19jcHUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9uZXQvdXNiL2hzby5jIGIvZHJpdmVycy9uZXQvdXNiL2hzby5jCmluZGV4IDk4MWM5MzFhN2Ex Zi4uZTUzODgzYWQ2MTA3IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC91c2IvaHNvLmMKKysrIGIv ZHJpdmVycy9uZXQvdXNiL2hzby5jCkBAIC01MTksNyArNTE5LDcgQEAgc3RhdGljIHNzaXplX3Qg aHNvX3N5c2ZzX3Nob3dfcG9ydHR5cGUoc3RydWN0IGRldmljZSAqZGV2LAogCiAJcmV0dXJuIHNw cmludGYoYnVmLCAiJXNcbiIsIHBvcnRfbmFtZSk7CiB9Ci1zdGF0aWMgREVWSUNFX0FUVFIoaHNv dHlwZSwgU19JUlVHTywgaHNvX3N5c2ZzX3Nob3dfcG9ydHR5cGUsIE5VTEwpOworc3RhdGljIERF VklDRV9BVFRSKGhzb3R5cGUsIDA0NDQsIGhzb19zeXNmc19zaG93X3BvcnR0eXBlLCBOVUxMKTsK IAogc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGUgKmhzb19zZXJpYWxfZGV2X2F0dHJzW10gPSB7CiAJ JmRldl9hdHRyX2hzb3R5cGUuYXR0ciwKQEAgLTMyODksMTIgKzMyODksMTIgQEAgTU9EVUxFX0xJ Q0VOU0UoIkdQTCIpOwogCiAvKiBjaGFuZ2UgdGhlIGRlYnVnIGxldmVsIChlZzogaW5zbW9kIGhz by5rbyBkZWJ1Zz0weDA0KSAqLwogTU9EVUxFX1BBUk1fREVTQyhkZWJ1ZywgImRlYnVnIGxldmVs IG1hc2sgWzB4MDEgfCAweDAyIHwgMHgwNCB8IDB4MDggfCAweDEwXSIpOwotbW9kdWxlX3BhcmFt KGRlYnVnLCBpbnQsIFNfSVJVR08gfCBTX0lXVVNSKTsKK21vZHVsZV9wYXJhbShkZWJ1ZywgaW50 LCAwNjQ0KTsKIAogLyogc2V0IHRoZSBtYWpvciB0dHkgbnVtYmVyIChlZzogaW5zbW9kIGhzby5r byB0dHlfbWFqb3I9MjQ1KSAqLwogTU9EVUxFX1BBUk1fREVTQyh0dHlfbWFqb3IsICJTZXQgdGhl IG1ham9yIHR0eSBudW1iZXIiKTsKLW1vZHVsZV9wYXJhbSh0dHlfbWFqb3IsIGludCwgU19JUlVH TyB8IFNfSVdVU1IpOworbW9kdWxlX3BhcmFtKHR0eV9tYWpvciwgaW50LCAwNjQ0KTsKIAogLyog ZGlzYWJsZSBuZXR3b3JrIGludGVyZmFjZSAoZWc6IGluc21vZCBoc28ua28gZGlzYWJsZV9uZXQ9 MSkgKi8KIE1PRFVMRV9QQVJNX0RFU0MoZGlzYWJsZV9uZXQsICJEaXNhYmxlIHRoZSBuZXR3b3Jr IGludGVyZmFjZSIpOwotbW9kdWxlX3BhcmFtKGRpc2FibGVfbmV0LCBpbnQsIFNfSVJVR08gfCBT X0lXVVNSKTsKK21vZHVsZV9wYXJhbShkaXNhYmxlX25ldCwgaW50LCAwNjQ0KTsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmV0L3hlbi1uZXRiYWNrL3hlbmJ1cy5jIGIvZHJpdmVycy9uZXQveGVuLW5l dGJhY2sveGVuYnVzLmMKaW5kZXggYTU2ZDNlYWIzNWRkLi5lMWFlZjI1MzYwMWUgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvbmV0L3hlbi1uZXRiYWNrL3hlbmJ1cy5jCisrKyBiL2RyaXZlcnMvbmV0L3hl bi1uZXRiYWNrL3hlbmJ1cy5jCkBAIC0yMjQsNyArMjI0LDcgQEAgc3RhdGljIHZvaWQgeGVudmlm X2RlYnVnZnNfYWRkaWYoc3RydWN0IHhlbnZpZiAqdmlmKQogCiAJCQlzbnByaW50ZihmaWxlbmFt ZSwgc2l6ZW9mKGZpbGVuYW1lKSwgImlvX3JpbmdfcSVkIiwgaSk7CiAJCQlwZmlsZSA9IGRlYnVn ZnNfY3JlYXRlX2ZpbGUoZmlsZW5hbWUsCi0JCQkJCQkgICAgU19JUlVTUiB8IFNfSVdVU1IsCisJ CQkJCQkgICAgMDYwMCwKIAkJCQkJCSAgICB2aWYtPnhlbnZpZl9kYmdfcm9vdCwKIAkJCQkJCSAg ICAmdmlmLT5xdWV1ZXNbaV0sCiAJCQkJCQkgICAgJnhlbnZpZl9kYmdfaW9fcmluZ19vcHNfZm9w cyk7CkBAIC0yMzUsNyArMjM1LDcgQEAgc3RhdGljIHZvaWQgeGVudmlmX2RlYnVnZnNfYWRkaWYo c3RydWN0IHhlbnZpZiAqdmlmKQogCiAJCWlmICh2aWYtPmN0cmxfaXJxKSB7CiAJCQlwZmlsZSA9 IGRlYnVnZnNfY3JlYXRlX2ZpbGUoImN0cmwiLAotCQkJCQkJICAgIFNfSVJVU1IsCisJCQkJCQkg ICAgMDQwMCwKIAkJCQkJCSAgICB2aWYtPnhlbnZpZl9kYmdfcm9vdCwKIAkJCQkJCSAgICB2aWYs CiAJCQkJCQkgICAgJnhlbnZpZl9kYmdfY3RybF9vcHNfZm9wcyk7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC94ZW4tbmV0ZnJvbnQuYyBiL2RyaXZlcnMvbmV0L3hlbi1uZXRmcm9udC5jCmluZGV4 IDMxMjdiYzg2MzNjYS4uNGRkMDY2ODAwM2U3IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC94ZW4t bmV0ZnJvbnQuYworKysgYi9kcml2ZXJzL25ldC94ZW4tbmV0ZnJvbnQuYwpAQCAtMjExMyw5ICsy MTEzLDkgQEAgc3RhdGljIHNzaXplX3Qgc3RvcmVfcnhidWYoc3RydWN0IGRldmljZSAqZGV2LAog CXJldHVybiBsZW47CiB9CiAKLXN0YXRpYyBERVZJQ0VfQVRUUihyeGJ1Zl9taW4sIFNfSVJVR098 U19JV1VTUiwgc2hvd19yeGJ1Ziwgc3RvcmVfcnhidWYpOwotc3RhdGljIERFVklDRV9BVFRSKHJ4 YnVmX21heCwgU19JUlVHT3xTX0lXVVNSLCBzaG93X3J4YnVmLCBzdG9yZV9yeGJ1Zik7Ci1zdGF0 aWMgREVWSUNFX0FUVFIocnhidWZfY3VyLCBTX0lSVUdPLCBzaG93X3J4YnVmLCBOVUxMKTsKK3N0 YXRpYyBERVZJQ0VfQVRUUihyeGJ1Zl9taW4sIDA2NDQsIHNob3dfcnhidWYsIHN0b3JlX3J4YnVm KTsKK3N0YXRpYyBERVZJQ0VfQVRUUihyeGJ1Zl9tYXgsIDA2NDQsIHNob3dfcnhidWYsIHN0b3Jl X3J4YnVmKTsKK3N0YXRpYyBERVZJQ0VfQVRUUihyeGJ1Zl9jdXIsIDA0NDQsIHNob3dfcnhidWYs IE5VTEwpOwogCiBzdGF0aWMgc3RydWN0IGF0dHJpYnV0ZSAqeGVubmV0X2Rldl9hdHRyc1tdID0g ewogCSZkZXZfYXR0cl9yeGJ1Zl9taW4uYXR0ciwKLS0gCjIuMTUuMAoKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QK WGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5v cmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=