From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752731AbaBLIRT (ORCPT ); Wed, 12 Feb 2014 03:17:19 -0500 Received: from shadbolt.e.decadent.org.uk ([88.96.1.126]:50435 "EHLO shadbolt.e.decadent.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752693AbaBLIRJ (ORCPT ); Wed, 12 Feb 2014 03:17:09 -0500 Message-ID: <1392192999.22868.16.camel@deadeye.wl.decadent.org.uk> Subject: Re: [PATCH 3.2 00/79] 3.2.55-rc1 review From: Ben Hutchings To: linux-kernel@vger.kernel.org Cc: stable@vger.kernel.org, torvalds@linux-foundation.org, akpm@linux-foundation.org Date: Wed, 12 Feb 2014 08:16:39 +0000 In-Reply-To: References: Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-gksBvcAnmmAzJCa6rWtc" X-Mailer: Evolution 3.8.5-2+b1 Mime-Version: 1.0 X-SA-Exim-Connect-IP: 91.84.160.45 X-SA-Exim-Mail-From: ben@decadent.org.uk X-SA-Exim-Scanned: No (on shadbolt.decadent.org.uk); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --=-gksBvcAnmmAzJCa6rWtc Content-Type: multipart/mixed; boundary="=-AnQC9FehSAMKXhIHoZ6Z" --=-AnQC9FehSAMKXhIHoZ6Z Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable This is the combined patch for 3.2.55-rc1 relative to 3.2.54. Ben. --=20 Ben Hutchings If more than one person is responsible for a bug, no one is at fault. --=-AnQC9FehSAMKXhIHoZ6Z Content-Disposition: attachment; filename="linux-3.2.55-rc1.patch" Content-Type: text/x-patch; name="linux-3.2.55-rc1.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24va2VybmVsLXBhcmFtZXRlcnMudHh0IGIvRG9jdW1l bnRhdGlvbi9rZXJuZWwtcGFyYW1ldGVycy50eHQNCmluZGV4IDJiYTgyNzIuLjFiMTk2ZWEgMTAw NjQ0DQotLS0gYS9Eb2N1bWVudGF0aW9uL2tlcm5lbC1wYXJhbWV0ZXJzLnR4dA0KKysrIGIvRG9j dW1lbnRhdGlvbi9rZXJuZWwtcGFyYW1ldGVycy50eHQNCkBAIC0xMzA1LDYgKzEzMDUsOCBAQCBi eXRlcyByZXNwZWN0aXZlbHkuIFN1Y2ggbGV0dGVyIHN1ZmZpeGVzIGNhbiBhbHNvIGJlIGVudGly ZWx5IG9taXR0ZWQuDQogDQogCQkJKiBkdW1wX2lkOiBkdW1wIElERU5USUZZIGRhdGEuDQogDQor CQkJKiBkaXNhYmxlOiBEaXNhYmxlIHRoaXMgZGV2aWNlLg0KKw0KIAkJCUlmIHRoZXJlIGFyZSBt dWx0aXBsZSBtYXRjaGluZyBjb25maWd1cmF0aW9ucyBjaGFuZ2luZw0KIAkJCXRoZSBzYW1lIGF0 dHJpYnV0ZSwgdGhlIGxhc3Qgb25lIGlzIHVzZWQuDQogDQpkaWZmIC0tZ2l0IGEvTWFrZWZpbGUg Yi9NYWtlZmlsZQ0KaW5kZXggODQ4YmUyNi4uMmM4ZGUzNiAxMDA2NDQNCi0tLSBhL01ha2VmaWxl DQorKysgYi9NYWtlZmlsZQ0KQEAgLTEsNyArMSw3IEBADQogVkVSU0lPTiA9IDMNCiBQQVRDSExF VkVMID0gMg0KLVNVQkxFVkVMID0gNTQNCi1FWFRSQVZFUlNJT04gPQ0KK1NVQkxFVkVMID0gNTUN CitFWFRSQVZFUlNJT04gPSAtcmMxDQogTkFNRSA9IFNhYmVyLXRvb3RoZWQgU3F1aXJyZWwNCiAN CiAjICpET0NVTUVOVEFUSU9OKg0KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2tlcm5lbC90cmFwcy5j IGIvYXJjaC9hcm0va2VybmVsL3RyYXBzLmMNCmluZGV4IDdhYzVkZmQuLmQ0NWZkMjIgMTAwNjQ0 DQotLS0gYS9hcmNoL2FybS9rZXJuZWwvdHJhcHMuYw0KKysrIGIvYXJjaC9hcm0va2VybmVsL3Ry YXBzLmMNCkBAIC0zNyw3ICszNywxMyBAQA0KIA0KICNpbmNsdWRlICJzaWduYWwuaCINCiANCi1z dGF0aWMgY29uc3QgY2hhciAqaGFuZGxlcltdPSB7ICJwcmVmZXRjaCBhYm9ydCIsICJkYXRhIGFi b3J0IiwgImFkZHJlc3MgZXhjZXB0aW9uIiwgImludGVycnVwdCIgfTsNCitzdGF0aWMgY29uc3Qg Y2hhciAqaGFuZGxlcltdPSB7DQorCSJwcmVmZXRjaCBhYm9ydCIsDQorCSJkYXRhIGFib3J0IiwN CisJImFkZHJlc3MgZXhjZXB0aW9uIiwNCisJImludGVycnVwdCIsDQorCSJ1bmRlZmluZWQgaW5z dHJ1Y3Rpb24iLA0KK307DQogDQogdm9pZCAqdmVjdG9yc19wYWdlOw0KIA0KZGlmZiAtLWdpdCBh L2FyY2gvYXJtL21hY2gtZm9vdGJyaWRnZS9kYzIxMjg1LXRpbWVyLmMgYi9hcmNoL2FybS9tYWNo LWZvb3RicmlkZ2UvZGMyMTI4NS10aW1lci5jDQppbmRleCAxMjFhZDFkLi41NDc3MzFiIDEwMDY0 NA0KLS0tIGEvYXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL2RjMjEyODUtdGltZXIuYw0KKysrIGIv YXJjaC9hcm0vbWFjaC1mb290YnJpZGdlL2RjMjEyODUtdGltZXIuYw0KQEAgLTk1LDE3ICs5NSwx NCBAQCBzdGF0aWMgc3RydWN0IGlycWFjdGlvbiBmb290YnJpZGdlX3RpbWVyX2lycSA9IHsNCiBz dGF0aWMgdm9pZCBfX2luaXQgZm9vdGJyaWRnZV90aW1lcl9pbml0KHZvaWQpDQogew0KIAlzdHJ1 Y3QgY2xvY2tfZXZlbnRfZGV2aWNlICpjZSA9ICZja2V2dF9kYzIxMjg1Ow0KKwl1bnNpZ25lZCBy YXRlID0gRElWX1JPVU5EX0NMT1NFU1QobWVtX2ZjbGtfMjEyODUsIDE2KTsNCiANCi0JY2xvY2tz b3VyY2VfcmVnaXN0ZXJfaHooJmNrc3JjX2RjMjEyODUsIChtZW1fZmNsa18yMTI4NSArIDgpIC8g MTYpOw0KKwljbG9ja3NvdXJjZV9yZWdpc3Rlcl9oeigmY2tzcmNfZGMyMTI4NSwgcmF0ZSk7DQog DQogCXNldHVwX2lycShjZS0+aXJxLCAmZm9vdGJyaWRnZV90aW1lcl9pcnEpOw0KIA0KLQljbG9j a2V2ZW50c19jYWxjX211bHRfc2hpZnQoY2UsIG1lbV9mY2xrXzIxMjg1LCA1KTsNCi0JY2UtPm1h eF9kZWx0YV9ucyA9IGNsb2NrZXZlbnRfZGVsdGEybnMoMHhmZmZmZmYsIGNlKTsNCi0JY2UtPm1p bl9kZWx0YV9ucyA9IGNsb2NrZXZlbnRfZGVsdGEybnMoMHgwMDAwMDQsIGNlKTsNCiAJY2UtPmNw dW1hc2sgPSBjcHVtYXNrX29mKHNtcF9wcm9jZXNzb3JfaWQoKSk7DQotDQotCWNsb2NrZXZlbnRz X3JlZ2lzdGVyX2RldmljZShjZSk7DQorCWNsb2NrZXZlbnRzX2NvbmZpZ19hbmRfcmVnaXN0ZXIo Y2UsIHJhdGUsIDB4NCwgMHhmZmZmZmYpOw0KIH0NCiANCiBzdHJ1Y3Qgc3lzX3RpbWVyIGZvb3Ri cmlkZ2VfdGltZXIgPSB7DQpkaWZmIC0tZ2l0IGEvYXJjaC9pYTY0L2tlcm5lbC9tYWNoaW5lX2tl eGVjLmMgYi9hcmNoL2lhNjQva2VybmVsL21hY2hpbmVfa2V4ZWMuYw0KaW5kZXggM2QzYWVlZi4u YWJkNmJhZCAxMDA2NDQNCi0tLSBhL2FyY2gvaWE2NC9rZXJuZWwvbWFjaGluZV9rZXhlYy5jDQor KysgYi9hcmNoL2lhNjQva2VybmVsL21hY2hpbmVfa2V4ZWMuYw0KQEAgLTE1Nyw3ICsxNTcsNyBA QCB2b2lkIGFyY2hfY3Jhc2hfc2F2ZV92bWNvcmVpbmZvKHZvaWQpDQogI2VuZGlmDQogI2lmZGVm IENPTkZJR19QR1RBQkxFXzMNCiAJVk1DT1JFSU5GT19DT05GSUcoUEdUQUJMRV8zKTsNCi0jZWxp ZiAgQ09ORklHX1BHVEFCTEVfNA0KKyNlbGlmIGRlZmluZWQoQ09ORklHX1BHVEFCTEVfNCkNCiAJ Vk1DT1JFSU5GT19DT05GSUcoUEdUQUJMRV80KTsNCiAjZW5kaWYNCiB9DQpkaWZmIC0tZ2l0IGEv YXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL2V4Y2VwdGlvbi02NHMuaCBiL2FyY2gvcG93ZXJwYy9p bmNsdWRlL2FzbS9leGNlcHRpb24tNjRzLmgNCmluZGV4IDgwNTdmNGYuLmRhODVhZDQgMTAwNjQ0 DQotLS0gYS9hcmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vZXhjZXB0aW9uLTY0cy5oDQorKysgYi9h cmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vZXhjZXB0aW9uLTY0cy5oDQpAQCAtMTYzLDcgKzE2Myw3 IEBAIGRvX2t2bV8jI246CQkJCQkJCQlcDQogCXN1YmkJcjEscjEsSU5UX0ZSQU1FX1NJWkU7CS8q IGFsbG9jIGZyYW1lIG9uIGtlcm5lbCBzdGFjawkqLyBcDQogCWJlcS0JMWY7CQkJCQkJCSAgIFwN CiAJbGQJcjEsUEFDQUtTQVZFKHIxMyk7CS8qIGtlcm5lbCBzdGFjayB0byB1c2UJCSovIFwNCi0x OgljbXBkaQljcjEscjEsMDsJCS8qIGNoZWNrIGlmIHIxIGlzIGluIHVzZXJzcGFjZQkqLyBcDQor MToJY21wZGkJY3IxLHIxLC1JTlRfRlJBTUVfU0laRTsJLyogY2hlY2sgaWYgcjEgaXMgaW4gdXNl cnNwYWNlCSovIFwNCiAJYmx0KwljcjEsM2Y7CQkJLyogYWJvcnQgaWYgaXQgaXMJCSovIFwNCiAJ bGkJcjEsKG4pOwkJCS8qIHdpbGwgYmUgcmVsb2FkZWQgbGF0ZXIJKi8gXA0KIAlzdGgJcjEsUEFD QV9UUkFQX1NBVkUocjEzKTsJCQkJCSAgIFwNCmRpZmYgLS1naXQgYS9hcmNoL3NoL2xpYi9NYWtl ZmlsZSBiL2FyY2gvc2gvbGliL01ha2VmaWxlDQppbmRleCA3Yjk1ZjI5Li4zYmFmZjMxIDEwMDY0 NA0KLS0tIGEvYXJjaC9zaC9saWIvTWFrZWZpbGUNCisrKyBiL2FyY2gvc2gvbGliL01ha2VmaWxl DQpAQCAtNiw3ICs2LDcgQEAgbGliLXkgID0gZGVsYXkubyBtZW1tb3ZlLm8gbWVtY2hyLm8gXA0K IAkgY2hlY2tzdW0ubyBzdHJsZW4ubyBkaXY2NC5vIGRpdjY0LWdlbmVyaWMubw0KIA0KICMgRXh0 cmFjdGVkIGZyb20gbGliZ2NjDQotbGliLXkgKz0gbW92bWVtLm8gYXNobGRpMy5vIGFzaHJkaTMu byBsc2hyZGkzLm8gXA0KK29iai15ICs9IG1vdm1lbS5vIGFzaGxkaTMubyBhc2hyZGkzLm8gbHNo cmRpMy5vIFwNCiAJIGFzaGxzaTMubyBhc2hyc2kzLm8gYXNoaWZ0cnQubyBsc2hyc2kzLm8gXA0K IAkgdWRpdl9xcm5uZC5vDQogDQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9wZXJm X2V2ZW50X2FtZF9pYnMuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvcGVyZl9ldmVudF9hbWRfaWJz LmMNCmluZGV4IDNiOGEyZDMuLmVhMzQyNTMgMTAwNjQ0DQotLS0gYS9hcmNoL3g4Ni9rZXJuZWwv Y3B1L3BlcmZfZXZlbnRfYW1kX2licy5jDQorKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L3BlcmZf ZXZlbnRfYW1kX2licy5jDQpAQCAtOSw2ICs5LDcgQEANCiAjaW5jbHVkZSA8bGludXgvcGVyZl9l dmVudC5oPg0KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4NCiAjaW5jbHVkZSA8bGludXgvcGNp Lmg+DQorI2luY2x1ZGUgPGxpbnV4L3N5c2NvcmVfb3BzLmg+DQogDQogI2luY2x1ZGUgPGFzbS9h cGljLmg+DQogDQpAQCAtMjA5LDYgKzIxMCwxOCBAQCBvdXQ6DQogCXJldHVybiByZXQ7DQogfQ0K IA0KK3N0YXRpYyB2b2lkIGlic19laWx2dF9zZXR1cCh2b2lkKQ0KK3sNCisJLyoNCisJICogRm9y Y2UgTFZUIG9mZnNldCBhc3NpZ25tZW50IGZvciBmYW1pbHkgMTBoOiBUaGUgb2Zmc2V0cyBhcmUN CisJICogbm90IGFzc2lnbmVkIGJ5IHRoZSBCSU9TIGZvciB0aGlzIGZhbWlseSwgc28gdGhlIE9T IGlzDQorCSAqIHJlc3BvbnNpYmxlIGZvciBkb2luZyBpdC4gSWYgdGhlIE9TIGFzc2lnbm1lbnQg ZmFpbHMsIGZhbGwNCisJICogYmFjayB0byBCSU9TIHNldHRpbmdzIGFuZCB0cnkgdG8gc2V0dXAg dGhpcy4NCisJICovDQorCWlmIChib290X2NwdV9kYXRhLng4NiA9PSAweDEwKQ0KKwkJZm9yY2Vf aWJzX2VpbHZ0X3NldHVwKCk7DQorfQ0KKw0KIHN0YXRpYyBpbmxpbmUgaW50IGdldF9pYnNfbHZ0 X29mZnNldCh2b2lkKQ0KIHsNCiAJdTY0IHZhbDsNCkBAIC0yNDQsNiArMjU3LDM2IEBAIHN0YXRp YyB2b2lkIGNsZWFyX0FQSUNfaWJzKHZvaWQgKmR1bW15KQ0KIAkJc2V0dXBfQVBJQ19laWx2dChv ZmZzZXQsIDAsIEFQSUNfRUlMVlRfTVNHX0ZJWCwgMSk7DQogfQ0KIA0KKyNpZmRlZiBDT05GSUdf UE0NCisNCitzdGF0aWMgaW50IHBlcmZfaWJzX3N1c3BlbmQodm9pZCkNCit7DQorCWNsZWFyX0FQ SUNfaWJzKE5VTEwpOw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIHZvaWQgcGVyZl9pYnNf cmVzdW1lKHZvaWQpDQorew0KKwlpYnNfZWlsdnRfc2V0dXAoKTsNCisJc2V0dXBfQVBJQ19pYnMo TlVMTCk7DQorfQ0KKw0KK3N0YXRpYyBzdHJ1Y3Qgc3lzY29yZV9vcHMgcGVyZl9pYnNfc3lzY29y ZV9vcHMgPSB7DQorCS5yZXN1bWUJCT0gcGVyZl9pYnNfcmVzdW1lLA0KKwkuc3VzcGVuZAk9IHBl cmZfaWJzX3N1c3BlbmQsDQorfTsNCisNCitzdGF0aWMgdm9pZCBwZXJmX2lic19wbV9pbml0KHZv aWQpDQorew0KKwlyZWdpc3Rlcl9zeXNjb3JlX29wcygmcGVyZl9pYnNfc3lzY29yZV9vcHMpOw0K K30NCisNCisjZWxzZQ0KKw0KK3N0YXRpYyBpbmxpbmUgdm9pZCBwZXJmX2lic19wbV9pbml0KHZv aWQpIHsgfQ0KKw0KKyNlbmRpZg0KKw0KIHN0YXRpYyBpbnQgX19jcHVpbml0DQogcGVyZl9pYnNf Y3B1X25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqc2VsZiwgdW5zaWduZWQgbG9uZyBh Y3Rpb24sIHZvaWQgKmhjcHUpDQogew0KQEAgLTI3MCwxOCArMzEzLDEyIEBAIHN0YXRpYyBfX2lu aXQgaW50IGFtZF9pYnNfaW5pdCh2b2lkKQ0KIAlpZiAoIWNhcHMpDQogCQlyZXR1cm4gLUVOT0RF VjsJLyogaWJzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGNwdSAqLw0KIA0KLQkvKg0KLQkgKiBGb3Jj ZSBMVlQgb2Zmc2V0IGFzc2lnbm1lbnQgZm9yIGZhbWlseSAxMGg6IFRoZSBvZmZzZXRzIGFyZQ0K LQkgKiBub3QgYXNzaWduZWQgYnkgdGhlIEJJT1MgZm9yIHRoaXMgZmFtaWx5LCBzbyB0aGUgT1Mg aXMNCi0JICogcmVzcG9uc2libGUgZm9yIGRvaW5nIGl0LiBJZiB0aGUgT1MgYXNzaWdubWVudCBm YWlscywgZmFsbA0KLQkgKiBiYWNrIHRvIEJJT1Mgc2V0dGluZ3MgYW5kIHRyeSB0byBzZXR1cCB0 aGlzLg0KLQkgKi8NCi0JaWYgKGJvb3RfY3B1X2RhdGEueDg2ID09IDB4MTApDQotCQlmb3JjZV9p YnNfZWlsdnRfc2V0dXAoKTsNCisJaWJzX2VpbHZ0X3NldHVwKCk7DQogDQogCWlmICghaWJzX2Vp bHZ0X3ZhbGlkKCkpDQogCQlnb3RvIG91dDsNCiANCisJcGVyZl9pYnNfcG1faW5pdCgpOw0KIAln ZXRfb25saW5lX2NwdXMoKTsNCiAJaWJzX2NhcHMgPSBjYXBzOw0KIAkvKiBtYWtlIGlic19jYXBz IHZpc2libGUgdG8gb3RoZXIgY3B1czogKi8NCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwv dHJhcHMuYyBiL2FyY2gveDg2L2tlcm5lbC90cmFwcy5jDQppbmRleCBlNmZiYjk0Li4yMDA2MWI5 IDEwMDY0NA0KLS0tIGEvYXJjaC94ODYva2VybmVsL3RyYXBzLmMNCisrKyBiL2FyY2gveDg2L2tl cm5lbC90cmFwcy5jDQpAQCAtNTgyLDEyICs1ODIsMTMgQEAgdm9pZCBfX21hdGhfc3RhdGVfcmVz dG9yZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzaykNCiAJLyogQU1EIEs3L0s4IENQVXMgZG9uJ3Qg c2F2ZS9yZXN0b3JlIEZEUC9GSVAvRk9QIHVubGVzcyBhbiBleGNlcHRpb24NCiAJICAgaXMgcGVu ZGluZy4gIENsZWFyIHRoZSB4ODcgc3RhdGUgaGVyZSBieSBzZXR0aW5nIGl0IHRvIGZpeGVkDQog CSAgIHZhbHVlcy4gc2FmZV9hZGRyZXNzIGlzIGEgcmFuZG9tIHZhcmlhYmxlIHRoYXQgc2hvdWxk IGJlIGluIEwxICovDQotCWFsdGVybmF0aXZlX2lucHV0KA0KLQkJQVNNX05PUDggQVNNX05PUDIs DQotCQkiZW1tc1xuXHQiCSAgCS8qIGNsZWFyIHN0YWNrIHRhZ3MgKi8NCi0JCSJmaWxkbCAlUFth ZGRyXSIsCS8qIHNldCBGP1AgdG8gZGVmaW5lZCB2YWx1ZSAqLw0KLQkJWDg2X0ZFQVRVUkVfRlhT QVZFX0xFQUssDQotCQlbYWRkcl0gIm0iIChzYWZlX2FkZHJlc3MpKTsNCisJaWYgKHVubGlrZWx5 KHN0YXRpY19jcHVfaGFzKFg4Nl9GRUFUVVJFX0ZYU0FWRV9MRUFLKSkpIHsNCisJCWFzbSB2b2xh dGlsZSgNCisJCQkiZm5jbGV4XG5cdCINCisJCQkiZW1tc1xuXHQiDQorCQkJImZpbGRsICVQW2Fk ZHJdIgkvKiBzZXQgRj9QIHRvIGRlZmluZWQgdmFsdWUgKi8NCisJCQk6IDogW2FkZHJdICJtIiAo c2FmZV9hZGRyZXNzKSk7DQorCX0NCiANCiAJLyoNCiAJICogUGFyYW5vaWQgcmVzdG9yZS4gc2Vu ZCBhIFNJR1NFR1YgaWYgd2UgZmFpbCB0byByZXN0b3JlIHRoZSBzdGF0ZS4NCmRpZmYgLS1naXQg YS9hcmNoL3g4Ni9rdm0vbGFwaWMuYyBiL2FyY2gveDg2L2t2bS9sYXBpYy5jDQppbmRleCA0M2U3 NzUzLi43NTdjNzE2IDEwMDY0NA0KLS0tIGEvYXJjaC94ODYva3ZtL2xhcGljLmMNCisrKyBiL2Fy Y2gveDg2L2t2bS9sYXBpYy5jDQpAQCAtMTI3OCwxNCArMTI3OCwxMiBAQCB2b2lkIF9fa3ZtX21p Z3JhdGVfYXBpY190aW1lcihzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpDQogdm9pZCBrdm1fbGFwaWNf c3luY19mcm9tX3ZhcGljKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkNCiB7DQogCXUzMiBkYXRhOw0K LQl2b2lkICp2YXBpYzsNCiANCiAJaWYgKCFpcnFjaGlwX2luX2tlcm5lbCh2Y3B1LT5rdm0pIHx8 ICF2Y3B1LT5hcmNoLmFwaWMtPnZhcGljX2FkZHIpDQogCQlyZXR1cm47DQogDQotCXZhcGljID0g a21hcF9hdG9taWModmNwdS0+YXJjaC5hcGljLT52YXBpY19wYWdlLCBLTV9VU0VSMCk7DQotCWRh dGEgPSAqKHUzMiAqKSh2YXBpYyArIG9mZnNldF9pbl9wYWdlKHZjcHUtPmFyY2guYXBpYy0+dmFw aWNfYWRkcikpOw0KLQlrdW5tYXBfYXRvbWljKHZhcGljLCBLTV9VU0VSMCk7DQorCWt2bV9yZWFk X2d1ZXN0X2NhY2hlZCh2Y3B1LT5rdm0sICZ2Y3B1LT5hcmNoLmFwaWMtPnZhcGljX2NhY2hlLCAm ZGF0YSwNCisJCQkJc2l6ZW9mKHUzMikpOw0KIA0KIAlhcGljX3NldF90cHIodmNwdS0+YXJjaC5h cGljLCBkYXRhICYgMHhmZik7DQogfQ0KQEAgLTEyOTUsNyArMTI5Myw2IEBAIHZvaWQga3ZtX2xh cGljX3N5bmNfdG9fdmFwaWMoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KQ0KIAl1MzIgZGF0YSwgdHBy Ow0KIAlpbnQgbWF4X2lyciwgbWF4X2lzcjsNCiAJc3RydWN0IGt2bV9sYXBpYyAqYXBpYzsNCi0J dm9pZCAqdmFwaWM7DQogDQogCWlmICghaXJxY2hpcF9pbl9rZXJuZWwodmNwdS0+a3ZtKSB8fCAh dmNwdS0+YXJjaC5hcGljLT52YXBpY19hZGRyKQ0KIAkJcmV0dXJuOw0KQEAgLTEzMTAsMTcgKzEz MDcsMjIgQEAgdm9pZCBrdm1fbGFwaWNfc3luY190b192YXBpYyhzdHJ1Y3Qga3ZtX3ZjcHUgKnZj cHUpDQogCQltYXhfaXNyID0gMDsNCiAJZGF0YSA9ICh0cHIgJiAweGZmKSB8ICgobWF4X2lzciAm IDB4ZjApIDw8IDgpIHwgKG1heF9pcnIgPDwgMjQpOw0KIA0KLQl2YXBpYyA9IGttYXBfYXRvbWlj KHZjcHUtPmFyY2guYXBpYy0+dmFwaWNfcGFnZSwgS01fVVNFUjApOw0KLQkqKHUzMiAqKSh2YXBp YyArIG9mZnNldF9pbl9wYWdlKHZjcHUtPmFyY2guYXBpYy0+dmFwaWNfYWRkcikpID0gZGF0YTsN Ci0Ja3VubWFwX2F0b21pYyh2YXBpYywgS01fVVNFUjApOw0KKwlrdm1fd3JpdGVfZ3Vlc3RfY2Fj aGVkKHZjcHUtPmt2bSwgJnZjcHUtPmFyY2guYXBpYy0+dmFwaWNfY2FjaGUsICZkYXRhLA0KKwkJ CQlzaXplb2YodTMyKSk7DQogfQ0KIA0KLXZvaWQga3ZtX2xhcGljX3NldF92YXBpY19hZGRyKHN0 cnVjdCBrdm1fdmNwdSAqdmNwdSwgZ3BhX3QgdmFwaWNfYWRkcikNCitpbnQga3ZtX2xhcGljX3Nl dF92YXBpY19hZGRyKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSwgZ3BhX3QgdmFwaWNfYWRkcikNCiB7 DQogCWlmICghaXJxY2hpcF9pbl9rZXJuZWwodmNwdS0+a3ZtKSkNCi0JCXJldHVybjsNCisJCXJl dHVybiAwOw0KKw0KKwlpZiAodmFwaWNfYWRkciAmJiBrdm1fZ2ZuX3RvX2h2YV9jYWNoZV9pbml0 KHZjcHUtPmt2bSwNCisJCQkJCSAgJnZjcHUtPmFyY2guYXBpYy0+dmFwaWNfY2FjaGUsDQorCQkJ CQkgIHZhcGljX2FkZHIsIHNpemVvZih1MzIpKSkNCisJCXJldHVybiAtRUlOVkFMOw0KIA0KIAl2 Y3B1LT5hcmNoLmFwaWMtPnZhcGljX2FkZHIgPSB2YXBpY19hZGRyOw0KKwlyZXR1cm4gMDsNCiB9 DQogDQogaW50IGt2bV94MmFwaWNfbXNyX3dyaXRlKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSwgdTMy IG1zciwgdTY0IGRhdGEpDQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva3ZtL2xhcGljLmggYi9hcmNo L3g4Ni9rdm0vbGFwaWMuaA0KaW5kZXggMTM4ZThjYy4uNjJhZTM3NiAxMDA2NDQNCi0tLSBhL2Fy Y2gveDg2L2t2bS9sYXBpYy5oDQorKysgYi9hcmNoL3g4Ni9rdm0vbGFwaWMuaA0KQEAgLTE1LDcg KzE1LDcgQEAgc3RydWN0IGt2bV9sYXBpYyB7DQogCWJvb2wgaXJyX3BlbmRpbmc7DQogCXZvaWQg KnJlZ3M7DQogCWdwYV90IHZhcGljX2FkZHI7DQotCXN0cnVjdCBwYWdlICp2YXBpY19wYWdlOw0K KwlzdHJ1Y3QgZ2ZuX3RvX2h2YV9jYWNoZSB2YXBpY19jYWNoZTsNCiB9Ow0KIGludCBrdm1fY3Jl YXRlX2xhcGljKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSk7DQogdm9pZCBrdm1fZnJlZV9sYXBpYyhz dHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpOw0KQEAgLTQ1LDcgKzQ1LDcgQEAgaW50IGt2bV9sYXBpY19m aW5kX2hpZ2hlc3RfaXJyKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSk7DQogdTY0IGt2bV9nZXRfbGFw aWNfdHNjZGVhZGxpbmVfbXNyKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSk7DQogdm9pZCBrdm1fc2V0 X2xhcGljX3RzY2RlYWRsaW5lX21zcihzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsIHU2NCBkYXRhKTsN CiANCi12b2lkIGt2bV9sYXBpY19zZXRfdmFwaWNfYWRkcihzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUs IGdwYV90IHZhcGljX2FkZHIpOw0KK2ludCBrdm1fbGFwaWNfc2V0X3ZhcGljX2FkZHIoc3RydWN0 IGt2bV92Y3B1ICp2Y3B1LCBncGFfdCB2YXBpY19hZGRyKTsNCiB2b2lkIGt2bV9sYXBpY19zeW5j X2Zyb21fdmFwaWMoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KTsNCiB2b2lkIGt2bV9sYXBpY19zeW5j X3RvX3ZhcGljKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSk7DQogDQpkaWZmIC0tZ2l0IGEvYXJjaC94 ODYva3ZtL3g4Ni5jIGIvYXJjaC94ODYva3ZtL3g4Ni5jDQppbmRleCA1Nzg2N2U0Li43Nzc0Y2Nh IDEwMDY0NA0KLS0tIGEvYXJjaC94ODYva3ZtL3g4Ni5jDQorKysgYi9hcmNoL3g4Ni9rdm0veDg2 LmMNCkBAIC0zMTQwLDggKzMxNDAsNyBAQCBsb25nIGt2bV9hcmNoX3ZjcHVfaW9jdGwoc3RydWN0 IGZpbGUgKmZpbHAsDQogCQlyID0gLUVGQVVMVDsNCiAJCWlmIChjb3B5X2Zyb21fdXNlcigmdmEs IGFyZ3AsIHNpemVvZiB2YSkpDQogCQkJZ290byBvdXQ7DQotCQlyID0gMDsNCi0JCWt2bV9sYXBp Y19zZXRfdmFwaWNfYWRkcih2Y3B1LCB2YS52YXBpY19hZGRyKTsNCisJCXIgPSBrdm1fbGFwaWNf c2V0X3ZhcGljX2FkZHIodmNwdSwgdmEudmFwaWNfYWRkcik7DQogCQlicmVhazsNCiAJfQ0KIAlj YXNlIEtWTV9YODZfU0VUVVBfTUNFOiB7DQpAQCAtNTUzNywzMyArNTUzNiw2IEBAIHN0YXRpYyB2 b2lkIHBvc3Rfa3ZtX3J1bl9zYXZlKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkNCiAJCQkha3ZtX2V2 ZW50X25lZWRzX3JlaW5qZWN0aW9uKHZjcHUpOw0KIH0NCiANCi1zdGF0aWMgdm9pZCB2YXBpY19l bnRlcihzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpDQotew0KLQlzdHJ1Y3Qga3ZtX2xhcGljICphcGlj ID0gdmNwdS0+YXJjaC5hcGljOw0KLQlzdHJ1Y3QgcGFnZSAqcGFnZTsNCi0NCi0JaWYgKCFhcGlj IHx8ICFhcGljLT52YXBpY19hZGRyKQ0KLQkJcmV0dXJuOw0KLQ0KLQlwYWdlID0gZ2ZuX3RvX3Bh Z2UodmNwdS0+a3ZtLCBhcGljLT52YXBpY19hZGRyID4+IFBBR0VfU0hJRlQpOw0KLQ0KLQl2Y3B1 LT5hcmNoLmFwaWMtPnZhcGljX3BhZ2UgPSBwYWdlOw0KLX0NCi0NCi1zdGF0aWMgdm9pZCB2YXBp Y19leGl0KHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkNCi17DQotCXN0cnVjdCBrdm1fbGFwaWMgKmFw aWMgPSB2Y3B1LT5hcmNoLmFwaWM7DQotCWludCBpZHg7DQotDQotCWlmICghYXBpYyB8fCAhYXBp Yy0+dmFwaWNfYWRkcikNCi0JCXJldHVybjsNCi0NCi0JaWR4ID0gc3JjdV9yZWFkX2xvY2soJnZj cHUtPmt2bS0+c3JjdSk7DQotCWt2bV9yZWxlYXNlX3BhZ2VfZGlydHkoYXBpYy0+dmFwaWNfcGFn ZSk7DQotCW1hcmtfcGFnZV9kaXJ0eSh2Y3B1LT5rdm0sIGFwaWMtPnZhcGljX2FkZHIgPj4gUEFH RV9TSElGVCk7DQotCXNyY3VfcmVhZF91bmxvY2soJnZjcHUtPmt2bS0+c3JjdSwgaWR4KTsNCi19 DQotDQogc3RhdGljIHZvaWQgdXBkYXRlX2NyOF9pbnRlcmNlcHQoc3RydWN0IGt2bV92Y3B1ICp2 Y3B1KQ0KIHsNCiAJaW50IG1heF9pcnIsIHRwcjsNCkBAIC01ODM2LDcgKzU4MDgsNiBAQCBzdGF0 aWMgaW50IF9fdmNwdV9ydW4oc3RydWN0IGt2bV92Y3B1ICp2Y3B1KQ0KIAl9DQogDQogCXZjcHUt PnNyY3VfaWR4ID0gc3JjdV9yZWFkX2xvY2soJmt2bS0+c3JjdSk7DQotCXZhcGljX2VudGVyKHZj cHUpOw0KIA0KIAlyID0gMTsNCiAJd2hpbGUgKHIgPiAwKSB7DQpAQCAtNTg5Myw4ICs1ODY0LDYg QEAgc3RhdGljIGludCBfX3ZjcHVfcnVuKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkNCiANCiAJc3Jj dV9yZWFkX3VubG9jaygma3ZtLT5zcmN1LCB2Y3B1LT5zcmN1X2lkeCk7DQogDQotCXZhcGljX2V4 aXQodmNwdSk7DQotDQogCXJldHVybiByOw0KIH0NCiANCmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0 YS9haGNpLmMgYi9kcml2ZXJzL2F0YS9haGNpLmMNCmluZGV4IGQyOWY2ZDUuLmY0MDAwZWUgMTAw NjQ0DQotLS0gYS9kcml2ZXJzL2F0YS9haGNpLmMNCisrKyBiL2RyaXZlcnMvYXRhL2FoY2kuYw0K QEAgLTQyOSwxNyArNDI5LDIyIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCBh aGNpX3BjaV90YmxbXSA9IHsNCiAJLyogTWFydmVsbCAqLw0KIAl7IFBDSV9WREVWSUNFKE1BUlZF TEwsIDB4NjE0NSksIGJvYXJkX2FoY2lfbXYgfSwJLyogNjE0NSAqLw0KIAl7IFBDSV9WREVWSUNF KE1BUlZFTEwsIDB4NjEyMSksIGJvYXJkX2FoY2lfbXYgfSwJLyogNjEyMSAqLw0KLQl7IFBDSV9E RVZJQ0UoMHgxYjRiLCAweDkxMjMpLA0KKwl7IFBDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9NQVJW RUxMX0VYVCwgMHg5MTIzKSwNCiAJICAuY2xhc3MgPSBQQ0lfQ0xBU1NfU1RPUkFHRV9TQVRBX0FI Q0ksDQogCSAgLmNsYXNzX21hc2sgPSAweGZmZmZmZiwNCiAJICAuZHJpdmVyX2RhdGEgPSBib2Fy ZF9haGNpX3llc19mYnMgfSwJCQkvKiA4OHNlOTEyOCAqLw0KLQl7IFBDSV9ERVZJQ0UoMHgxYjRi LCAweDkxMjUpLA0KKwl7IFBDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9NQVJWRUxMX0VYVCwgMHg5 MTI1KSwNCiAJICAuZHJpdmVyX2RhdGEgPSBib2FyZF9haGNpX3llc19mYnMgfSwJCQkvKiA4OHNl OTEyNSAqLw0KLQl7IFBDSV9ERVZJQ0UoMHgxYjRiLCAweDkxN2EpLA0KKwl7IFBDSV9ERVZJQ0Vf U1VCKFBDSV9WRU5ET1JfSURfTUFSVkVMTF9FWFQsIDB4OTE3OCwNCisJCQkgUENJX1ZFTkRPUl9J RF9NQVJWRUxMX0VYVCwgMHg5MTcwKSwNCisJICAuZHJpdmVyX2RhdGEgPSBib2FyZF9haGNpX3ll c19mYnMgfSwJCQkvKiA4OHNlOTE3MCAqLw0KKwl7IFBDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9N QVJWRUxMX0VYVCwgMHg5MTdhKSwNCiAJICAuZHJpdmVyX2RhdGEgPSBib2FyZF9haGNpX3llc19m YnMgfSwJCQkvKiA4OHNlOTE3MiAqLw0KLQl7IFBDSV9ERVZJQ0UoMHgxYjRiLCAweDkxOTIpLA0K Kwl7IFBDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9NQVJWRUxMX0VYVCwgMHg5MTcyKSwNCisJICAu ZHJpdmVyX2RhdGEgPSBib2FyZF9haGNpX3llc19mYnMgfSwJCQkvKiA4OHNlOTE3MiAqLw0KKwl7 IFBDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9NQVJWRUxMX0VYVCwgMHg5MTkyKSwNCiAJICAuZHJp dmVyX2RhdGEgPSBib2FyZF9haGNpX3llc19mYnMgfSwJCQkvKiA4OHNlOTE3MiBvbiBzb21lIEdp Z2FieXRlICovDQotCXsgUENJX0RFVklDRSgweDFiNGIsIDB4OTFhMyksDQorCXsgUENJX0RFVklD RShQQ0lfVkVORE9SX0lEX01BUlZFTExfRVhULCAweDkxYTMpLA0KIAkgIC5kcml2ZXJfZGF0YSA9 IGJvYXJkX2FoY2lfeWVzX2ZicyB9LA0KIAl7IFBDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9NQVJW RUxMX0VYVCwgMHg5MjMwKSwNCiAJICAuZHJpdmVyX2RhdGEgPSBib2FyZF9haGNpX3llc19mYnMg fSwNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2F0YS9saWJhdGEtY29yZS5jIGIvZHJpdmVycy9hdGEv bGliYXRhLWNvcmUuYw0KaW5kZXggYTBhMzk4Ny4uNzJiYmI1ZSAxMDA2NDQNCi0tLSBhL2RyaXZl cnMvYXRhL2xpYmF0YS1jb3JlLmMNCisrKyBiL2RyaXZlcnMvYXRhL2xpYmF0YS1jb3JlLmMNCkBA IC00MDk3LDYgKzQwOTcsOSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGF0YV9ibGFja2xpc3RfZW50 cnkgYXRhX2RldmljZV9ibGFja2xpc3QgW10gPSB7DQogCXsgIlNUMzMyMFs2OF0xM0FTIiwJIlNE MVs1LTldIiwJQVRBX0hPUktBR0VfTk9OQ1EgfA0KIAkJCQkJCUFUQV9IT1JLQUdFX0ZJUk1XQVJF X1dBUk4gfSwNCiANCisJLyogU2VhZ2F0ZSBNb21lbnR1cyBTcGluUG9pbnQgTTggc2VlbSB0byBo YXZlIEZQTURBX0FBIGlzc3VlcyAqLw0KKwl7ICJTVDEwMDBMTTAyNCBITi1NMTAxTUJCIiwgIjJB UjEwMDAxIiwJQVRBX0hPUktBR0VfQlJPS0VOX0ZQRE1BX0FBIH0sDQorDQogCS8qIEJsYWNrbGlz dCBlbnRyaWVzIHRha2VuIGZyb20gU2lsaWNvbiBJbWFnZSAzMTI0LzMxMzINCiAJICAgV2luZG93 cyBkcml2ZXIgLmluZiBmaWxlIC0gYWxzbyBzZXZlcmFsIExpbnV4IHByb2JsZW0gcmVwb3J0cyAq Lw0KIAl7ICJIVFM1NDEwNjBHOVNBMDAiLCAgICAiTUIzT0M2MEQiLCAgICAgQVRBX0hPUktBR0Vf Tk9OQ1EsIH0sDQpAQCAtNjMyOCw2ICs2MzMxLDcgQEAgc3RhdGljIGludCBfX2luaXQgYXRhX3Bh cnNlX2ZvcmNlX29uZShjaGFyICoqY3VyLA0KIAkJeyAibm9ocnN0IiwJLmxmbGFncwkJPSBBVEFf TEZMQUdfTk9fSFJTVCB9LA0KIAkJeyAibm9zcnN0IiwJLmxmbGFncwkJPSBBVEFfTEZMQUdfTk9f U1JTVCB9LA0KIAkJeyAibm9yc3QiLAkubGZsYWdzCQk9IEFUQV9MRkxBR19OT19IUlNUIHwgQVRB X0xGTEFHX05PX1NSU1QgfSwNCisJCXsgImRpc2FibGUiLAkuaG9ya2FnZV9vbgk9IEFUQV9IT1JL QUdFX0RJU0FCTEUgfSwNCiAJfTsNCiAJY2hhciAqc3RhcnQgPSAqY3VyLCAqcCA9ICpjdXI7DQog CWNoYXIgKmlkLCAqdmFsLCAqZW5kcDsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS9LY29uZmln IGIvZHJpdmVycy9kbWEvS2NvbmZpZw0KaW5kZXggZGE4NWMwZC4uYTg0MjMxNyAxMDA2NDQNCi0t LSBhL2RyaXZlcnMvZG1hL0tjb25maWcNCisrKyBiL2RyaXZlcnMvZG1hL0tjb25maWcNCkBAIC0y NTQsNiArMjU0LDcgQEAgY29uZmlnIE5FVF9ETUENCiAJYm9vbCAiTmV0d29yazogVENQIHJlY2Vp dmUgY29weSBvZmZsb2FkIg0KIAlkZXBlbmRzIG9uIERNQV9FTkdJTkUgJiYgTkVUDQogCWRlZmF1 bHQgKElOVEVMX0lPQVRETUEgfHwgRlNMX0RNQSkNCisJZGVwZW5kcyBvbiBCUk9LRU4NCiAJaGVs cA0KIAkgIFRoaXMgZW5hYmxlcyB0aGUgdXNlIG9mIERNQSBlbmdpbmVzIGluIHRoZSBuZXR3b3Jr IHN0YWNrIHRvDQogCSAgb2ZmbG9hZCByZWNlaXZlIGNvcHktdG8tdXNlciBvcGVyYXRpb25zLCBm cmVlaW5nIENQVSBjeWNsZXMuDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncGlvL2dwaW8tbXNtLXYy LmMgYi9kcml2ZXJzL2dwaW8vZ3Bpby1tc20tdjIuYw0KaW5kZXggNWNiMTIyNy4uMzEwNDUwMiAx MDA2NDQNCi0tLSBhL2RyaXZlcnMvZ3Bpby9ncGlvLW1zbS12Mi5jDQorKysgYi9kcml2ZXJzL2dw aW8vZ3Bpby1tc20tdjIuYw0KQEAgLTI0OSw3ICsyNDksNyBAQCBzdGF0aWMgdm9pZCBtc21fZ3Bp b19pcnFfbWFzayhzdHJ1Y3QgaXJxX2RhdGEgKmQpDQogDQogCXNwaW5fbG9ja19pcnFzYXZlKCZ0 bG1tX2xvY2ssIGlycV9mbGFncyk7DQogCXdyaXRlbChUQVJHRVRfUFJPQ19OT05FLCBHUElPX0lO VFJfQ0ZHX1NVKGdwaW8pKTsNCi0JY2xlYXJfZ3Bpb19iaXRzKElOVFJfUkFXX1NUQVRVU19FTiB8 IElOVFJfRU5BQkxFLCBHUElPX0lOVFJfQ0ZHKGdwaW8pKTsNCisJY2xlYXJfZ3Bpb19iaXRzKEJJ VChJTlRSX1JBV19TVEFUVVNfRU4pIHwgQklUKElOVFJfRU5BQkxFKSwgR1BJT19JTlRSX0NGRyhn cGlvKSk7DQogCV9fY2xlYXJfYml0KGdwaW8sIG1zbV9ncGlvLmVuYWJsZWRfaXJxcyk7DQogCXNw aW5fdW5sb2NrX2lycXJlc3RvcmUoJnRsbW1fbG9jaywgaXJxX2ZsYWdzKTsNCiB9DQpAQCAtMjYx LDcgKzI2MSw3IEBAIHN0YXRpYyB2b2lkIG1zbV9ncGlvX2lycV91bm1hc2soc3RydWN0IGlycV9k YXRhICpkKQ0KIA0KIAlzcGluX2xvY2tfaXJxc2F2ZSgmdGxtbV9sb2NrLCBpcnFfZmxhZ3MpOw0K IAlfX3NldF9iaXQoZ3BpbywgbXNtX2dwaW8uZW5hYmxlZF9pcnFzKTsNCi0Jc2V0X2dwaW9fYml0 cyhJTlRSX1JBV19TVEFUVVNfRU4gfCBJTlRSX0VOQUJMRSwgR1BJT19JTlRSX0NGRyhncGlvKSk7 DQorCXNldF9ncGlvX2JpdHMoQklUKElOVFJfUkFXX1NUQVRVU19FTikgfCBCSVQoSU5UUl9FTkFC TEUpLCBHUElPX0lOVFJfQ0ZHKGdwaW8pKTsNCiAJd3JpdGVsKFRBUkdFVF9QUk9DX1NDT1JQSU9O LCBHUElPX0lOVFJfQ0ZHX1NVKGdwaW8pKTsNCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmdGxt bV9sb2NrLCBpcnFfZmxhZ3MpOw0KIH0NCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaA0KaW5kZXggOTdh MDUwZi4uZGRiMjJlNyAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmgNCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgNCkBAIC0zNyw2ICszNyw3 IEBADQogICovDQogI2RlZmluZSBJTlRFTF9HTUNIX0NUUkwJCTB4NTINCiAjZGVmaW5lIElOVEVM X0dNQ0hfVkdBX0RJU0FCTEUgICgxIDw8IDEpDQorI2RlZmluZSBTTkJfR01DSF9DVFJMCQkweDUw DQogDQogLyogUENJIGNvbmZpZyBzcGFjZSAqLw0KIA0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYw0KaW5kZXggNmQzNjY5NS4uNjFiNzA4YiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYw0KKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jDQpAQCAtOTE0MSwxNCArOTE0MSwxNSBAQCB2b2lkIGludGVsX2Nvbm5lY3Rv cl9hdHRhY2hfZW5jb2RlcihzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsDQogaW50 IGludGVsX21vZGVzZXRfdmdhX3NldF9zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBib29s IHN0YXRlKQ0KIHsNCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5k ZXZfcHJpdmF0ZTsNCisJdW5zaWduZWQgcmVnID0gSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gNiA/ IFNOQl9HTUNIX0NUUkwgOiBJTlRFTF9HTUNIX0NUUkw7DQogCXUxNiBnbWNoX2N0cmw7DQogDQot CXBjaV9yZWFkX2NvbmZpZ193b3JkKGRldl9wcml2LT5icmlkZ2VfZGV2LCBJTlRFTF9HTUNIX0NU UkwsICZnbWNoX2N0cmwpOw0KKwlwY2lfcmVhZF9jb25maWdfd29yZChkZXZfcHJpdi0+YnJpZGdl X2RldiwgcmVnLCAmZ21jaF9jdHJsKTsNCiAJaWYgKHN0YXRlKQ0KIAkJZ21jaF9jdHJsICY9IH5J TlRFTF9HTUNIX1ZHQV9ESVNBQkxFOw0KIAllbHNlDQogCQlnbWNoX2N0cmwgfD0gSU5URUxfR01D SF9WR0FfRElTQUJMRTsNCi0JcGNpX3dyaXRlX2NvbmZpZ193b3JkKGRldl9wcml2LT5icmlkZ2Vf ZGV2LCBJTlRFTF9HTUNIX0NUUkwsIGdtY2hfY3RybCk7DQorCXBjaV93cml0ZV9jb25maWdfd29y ZChkZXZfcHJpdi0+YnJpZGdlX2RldiwgcmVnLCBnbWNoX2N0cmwpOw0KIAlyZXR1cm4gMDsNCiB9 DQogDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yczY5MC5jIGIvZHJpdmVy cy9ncHUvZHJtL3JhZGVvbi9yczY5MC5jDQppbmRleCA5M2JjZTcyLi40MTRhNjgxIDEwMDY0NA0K LS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yczY5MC5jDQorKysgYi9kcml2ZXJzL2dwdS9k cm0vcmFkZW9uL3JzNjkwLmMNCkBAIC0xNjAsNiArMTYwLDE2IEBAIHZvaWQgcnM2OTBfbWNfaW5p dChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikNCiAJYmFzZSA9IFJSRUczMl9NQyhSXzAwMDEw MF9NQ0NGR19GQl9MT0NBVElPTik7DQogCWJhc2UgPSBHXzAwMDEwMF9NQ19GQl9TVEFSVChiYXNl KSA8PCAxNjsNCiAJcmRldi0+bWMuaWdwX3NpZGVwb3J0X2VuYWJsZWQgPSByYWRlb25fYXRvbWJp b3Nfc2lkZXBvcnRfcHJlc2VudChyZGV2KTsNCisJLyogU29tZSBib2FyZHMgc2VlbSB0byBiZSBj b25maWd1cmVkIGZvciAxMjhNQiBvZiBzaWRlcG9ydCBtZW1vcnksDQorCSAqIGJ1dCByZWFsbHkg b25seSBoYXZlIDY0TUIuICBKdXN0IHNraXAgdGhlIHNpZGVwb3J0IGFuZCB1c2UNCisJICogVU1B IG1lbW9yeS4NCisJICovDQorCWlmIChyZGV2LT5tYy5pZ3Bfc2lkZXBvcnRfZW5hYmxlZCAmJg0K KwkgICAgKHJkZXYtPm1jLnJlYWxfdnJhbV9zaXplID09ICgzODQgKiAxMDI0ICogMTAyNCkpKSB7 DQorCQliYXNlICs9IDEyOCAqIDEwMjQgKiAxMDI0Ow0KKwkJcmRldi0+bWMucmVhbF92cmFtX3Np emUgLT0gMTI4ICogMTAyNCAqIDEwMjQ7DQorCQlyZGV2LT5tYy5tY192cmFtX3NpemUgPSByZGV2 LT5tYy5yZWFsX3ZyYW1fc2l6ZTsNCisJfQ0KIAlyczY5MF9wbV9pbmZvKHJkZXYpOw0KIAlyYWRl b25fdnJhbV9sb2NhdGlvbihyZGV2LCAmcmRldi0+bWMsIGJhc2UpOw0KIAlyZGV2LT5tYy5ndHRf YmFzZV9hbGlnbiA9IHJkZXYtPm1jLmd0dF9zaXplIC0gMTsNCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vdHRtL3R0bV9ib192bS5jIGIvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm9fdm0u Yw0KaW5kZXggMjIxYjkyNC4uZTIyMzE3NSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS90 dG0vdHRtX2JvX3ZtLmMNCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvX3ZtLmMNCkBA IC0xNDQsOSArMTQ0LDkgQEAgc3RhdGljIGludCB0dG1fYm9fdm1fZmF1bHQoc3RydWN0IHZtX2Fy ZWFfc3RydWN0ICp2bWEsIHN0cnVjdCB2bV9mYXVsdCAqdm1mKQ0KIAl9DQogDQogCXBhZ2Vfb2Zm c2V0ID0gKChhZGRyZXNzIC0gdm1hLT52bV9zdGFydCkgPj4gUEFHRV9TSElGVCkgKw0KLQkgICAg Ym8tPnZtX25vZGUtPnN0YXJ0IC0gdm1hLT52bV9wZ29mZjsNCi0JcGFnZV9sYXN0ID0gKCh2bWEt PnZtX2VuZCAtIHZtYS0+dm1fc3RhcnQpID4+IFBBR0VfU0hJRlQpICsNCi0JICAgIGJvLT52bV9u b2RlLT5zdGFydCAtIHZtYS0+dm1fcGdvZmY7DQorCQl2bWEtPnZtX3Bnb2ZmIC0gYm8tPnZtX25v ZGUtPnN0YXJ0Ow0KKwlwYWdlX2xhc3QgPSB2bWFfcGFnZXModm1hKSArIHZtYS0+dm1fcGdvZmYg LQ0KKwkJYm8tPnZtX25vZGUtPnN0YXJ0Ow0KIA0KIAlpZiAodW5saWtlbHkocGFnZV9vZmZzZXQg Pj0gYm8tPm51bV9wYWdlcykpIHsNCiAJCXJldHZhbCA9IFZNX0ZBVUxUX1NJR0JVUzsNCmRpZmYg LS1naXQgYS9kcml2ZXJzL2h3bW9uL2NvcmV0ZW1wLmMgYi9kcml2ZXJzL2h3bW9uL2NvcmV0ZW1w LmMNCmluZGV4IDNkNjMwYmIuLmU2ZWM5MjAgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2h3bW9uL2Nv cmV0ZW1wLmMNCisrKyBiL2RyaXZlcnMvaHdtb24vY29yZXRlbXAuYw0KQEAgLTUyLDcgKzUyLDcg QEAgTU9EVUxFX1BBUk1fREVTQyh0am1heCwgIlRqTWF4IHZhbHVlIGluIGRlZ3JlZXMgQ2Vsc2l1 cyIpOw0KIA0KICNkZWZpbmUgQkFTRV9TWVNGU19BVFRSX05PCTIJLyogU3lzZnMgQmFzZSBhdHRy IG5vIGZvciBjb3JldGVtcCAqLw0KICNkZWZpbmUgTlVNX1JFQUxfQ09SRVMJCTMyCS8qIE51bWJl ciBvZiBSZWFsIGNvcmVzIHBlciBjcHUgKi8NCi0jZGVmaW5lIENPUkVURU1QX05BTUVfTEVOR1RI CTE3CS8qIFN0cmluZyBMZW5ndGggb2YgYXR0cnMgKi8NCisjZGVmaW5lIENPUkVURU1QX05BTUVf TEVOR1RICTE5CS8qIFN0cmluZyBMZW5ndGggb2YgYXR0cnMgKi8NCiAjZGVmaW5lIE1BWF9DT1JF X0FUVFJTCQk0CS8qIE1heGltdW0gbm8gb2YgYmFzaWMgYXR0cnMgKi8NCiAjZGVmaW5lIFRPVEFM X0FUVFJTCQkoTUFYX0NPUkVfQVRUUlMgKyAxKQ0KICNkZWZpbmUgTUFYX0NPUkVfREFUQQkJKE5V TV9SRUFMX0NPUkVTICsgQkFTRV9TWVNGU19BVFRSX05PKQ0KZGlmZiAtLWdpdCBhL2RyaXZlcnMv bWQvcmFpZDEwLmMgYi9kcml2ZXJzL21kL3JhaWQxMC5jDQppbmRleCA4YmJhNDM4Li42ZDA1ZTI2 IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9tZC9yYWlkMTAuYw0KKysrIGIvZHJpdmVycy9tZC9yYWlk MTAuYw0KQEAgLTk5Nyw3ICs5OTcsNyBAQCByZWFkX2FnYWluOg0KIAkJCS8qIENvdWxkIG5vdCBy ZWFkIGFsbCBmcm9tIHRoaXMgZGV2aWNlLCBzbyB3ZSB3aWxsDQogCQkJICogbmVlZCBhbm90aGVy IHIxMF9iaW8uDQogCQkJICovDQotCQkJc2VjdG9yc19oYW5kbGVkID0gKHIxMF9iaW8tPnNlY3Rv cnMgKyBtYXhfc2VjdG9ycw0KKwkJCXNlY3RvcnNfaGFuZGxlZCA9IChyMTBfYmlvLT5zZWN0b3Ig KyBtYXhfc2VjdG9ycw0KIAkJCQkJICAgLSBiaW8tPmJpX3NlY3Rvcik7DQogCQkJcjEwX2Jpby0+ c2VjdG9ycyA9IG1heF9zZWN0b3JzOw0KIAkJCXNwaW5fbG9ja19pcnEoJmNvbmYtPmRldmljZV9s b2NrKTsNCkBAIC0xMDA1LDcgKzEwMDUsNyBAQCByZWFkX2FnYWluOg0KIAkJCQliaW8tPmJpX3Bo eXNfc2VnbWVudHMgPSAyOw0KIAkJCWVsc2UNCiAJCQkJYmlvLT5iaV9waHlzX3NlZ21lbnRzKys7 DQotCQkJc3Bpbl91bmxvY2soJmNvbmYtPmRldmljZV9sb2NrKTsNCisJCQlzcGluX3VubG9ja19p cnEoJmNvbmYtPmRldmljZV9sb2NrKTsNCiAJCQkvKiBDYW5ub3QgY2FsbCBnZW5lcmljX21ha2Vf cmVxdWVzdCBkaXJlY3RseQ0KIAkJCSAqIGFzIHRoYXQgd2lsbCBiZSBxdWV1ZWQgaW4gX19nZW5l cmljX21ha2VfcmVxdWVzdA0KIAkJCSAqIGFuZCBzdWJzZXF1ZW50IG1lbXBvb2xfYWxsb2MgbWln aHQgYmxvY2sNCkBAIC0yNTYzLDEwICsyNTYzLDYgQEAgc3RhdGljIHNlY3Rvcl90IHN5bmNfcmVx dWVzdChzdHJ1Y3QgbWRkZXYgKm1kZGV2LCBzZWN0b3JfdCBzZWN0b3JfbnIsDQogCQkJaWYgKGog PT0gY29uZi0+Y29waWVzKSB7DQogCQkJCS8qIENhbm5vdCByZWNvdmVyLCBzbyBhYm9ydCB0aGUg cmVjb3Zlcnkgb3INCiAJCQkJICogcmVjb3JkIGEgYmFkIGJsb2NrICovDQotCQkJCXB1dF9idWYo cjEwX2Jpbyk7DQotCQkJCWlmIChyYjIpDQotCQkJCQlhdG9taWNfZGVjKCZyYjItPnJlbWFpbmlu Zyk7DQotCQkJCXIxMF9iaW8gPSByYjI7DQogCQkJCWlmIChhbnlfd29ya2luZykgew0KIAkJCQkJ LyogcHJvYmxlbSBpcyB0aGF0IHRoZXJlIGFyZSBiYWQgYmxvY2tzDQogCQkJCQkgKiBvbiBvdGhl ciBkZXZpY2UocykNCkBAIC0yNTkwLDYgKzI1ODYsMTAgQEAgc3RhdGljIHNlY3Rvcl90IHN5bmNf cmVxdWVzdChzdHJ1Y3QgbWRkZXYgKm1kZGV2LCBzZWN0b3JfdCBzZWN0b3JfbnIsDQogCQkJCQlj b25mLT5taXJyb3JzW2ldLnJlY292ZXJ5X2Rpc2FibGVkDQogCQkJCQkJPSBtZGRldi0+cmVjb3Zl cnlfZGlzYWJsZWQ7DQogCQkJCX0NCisJCQkJcHV0X2J1ZihyMTBfYmlvKTsNCisJCQkJaWYgKHJi MikNCisJCQkJCWF0b21pY19kZWMoJnJiMi0+cmVtYWluaW5nKTsNCisJCQkJcjEwX2JpbyA9IHJi MjsNCiAJCQkJYnJlYWs7DQogCQkJfQ0KIAkJfQ0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWQvcmFp ZDUuYyBiL2RyaXZlcnMvbWQvcmFpZDUuYw0KaW5kZXggMjZlZjYzYS4uZmI2NzgzMyAxMDA2NDQN Ci0tLSBhL2RyaXZlcnMvbWQvcmFpZDUuYw0KKysrIGIvZHJpdmVycy9tZC9yYWlkNS5jDQpAQCAt MzA4NCw3ICszMDg0LDcgQEAgc3RhdGljIHZvaWQgYW5hbHlzZV9zdHJpcGUoc3RydWN0IHN0cmlw ZV9oZWFkICpzaCwgc3RydWN0IHN0cmlwZV9oZWFkX3N0YXRlICpzKQ0KIAkJCSAqLw0KIAkJCXNl dF9iaXQoUjVfSW5zeW5jLCAmZGV2LT5mbGFncyk7DQogDQotCQlpZiAocmRldiAmJiB0ZXN0X2Jp dChSNV9Xcml0ZUVycm9yLCAmZGV2LT5mbGFncykpIHsNCisJCWlmICh0ZXN0X2JpdChSNV9Xcml0 ZUVycm9yLCAmZGV2LT5mbGFncykpIHsNCiAJCQljbGVhcl9iaXQoUjVfSW5zeW5jLCAmZGV2LT5m bGFncyk7DQogCQkJaWYgKCF0ZXN0X2JpdChGYXVsdHksICZyZGV2LT5mbGFncykpIHsNCiAJCQkJ cy0+aGFuZGxlX2JhZF9ibG9ja3MgPSAxOw0KQEAgLTMwOTIsNyArMzA5Miw3IEBAIHN0YXRpYyB2 b2lkIGFuYWx5c2Vfc3RyaXBlKHN0cnVjdCBzdHJpcGVfaGVhZCAqc2gsIHN0cnVjdCBzdHJpcGVf aGVhZF9zdGF0ZSAqcykNCiAJCQl9IGVsc2UNCiAJCQkJY2xlYXJfYml0KFI1X1dyaXRlRXJyb3Is ICZkZXYtPmZsYWdzKTsNCiAJCX0NCi0JCWlmIChyZGV2ICYmIHRlc3RfYml0KFI1X01hZGVHb29k LCAmZGV2LT5mbGFncykpIHsNCisJCWlmICh0ZXN0X2JpdChSNV9NYWRlR29vZCwgJmRldi0+Zmxh Z3MpKSB7DQogCQkJaWYgKCF0ZXN0X2JpdChGYXVsdHksICZyZGV2LT5mbGFncykpIHsNCiAJCQkJ cy0+aGFuZGxlX2JhZF9ibG9ja3MgPSAxOw0KIAkJCQlhdG9taWNfaW5jKCZyZGV2LT5ucl9wZW5k aW5nKTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9icm9hZGNvbS9ibngyeC9i bngyeF9jbW4uYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Nt bi5jDQppbmRleCBiYmI2NjkyLi5lMzY3YWIxIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvZXRo ZXJuZXQvYnJvYWRjb20vYm54MngvYm54MnhfY21uLmMNCisrKyBiL2RyaXZlcnMvbmV0L2V0aGVy bmV0L2Jyb2FkY29tL2JueDJ4L2JueDJ4X2Ntbi5jDQpAQCAtMTA4LDYgKzEwOCw3IEBAIHN0YXRp YyB1MTYgYm54MnhfZnJlZV90eF9wa3Qoc3RydWN0IGJueDJ4ICpicCwgc3RydWN0IGJueDJ4X2Zw X3R4ZGF0YSAqdHhkYXRhLA0KIAlzdHJ1Y3Qgc2tfYnVmZiAqc2tiID0gdHhfYnVmLT5za2I7DQog CXUxNiBiZF9pZHggPSBUWF9CRCh0eF9idWYtPmZpcnN0X2JkKSwgbmV3X2NvbnM7DQogCWludCBu YmQ7DQorCXUxNiBzcGxpdF9iZF9sZW4gPSAwOw0KIA0KIAkvKiBwcmVmZXRjaCBza2IgZW5kIHBv aW50ZXIgdG8gc3BlZWR1cCBkZXZfa2ZyZWVfc2tiKCkgKi8NCiAJcHJlZmV0Y2goJnNrYi0+ZW5k KTsNCkBAIC0xMTUsMTEgKzExNiw4IEBAIHN0YXRpYyB1MTYgYm54MnhfZnJlZV90eF9wa3Qoc3Ry dWN0IGJueDJ4ICpicCwgc3RydWN0IGJueDJ4X2ZwX3R4ZGF0YSAqdHhkYXRhLA0KIAlEUChCTlgy WF9NU0dfRlAsICJmcFslZF06IHBrdF9pZHggJWQgIGJ1ZmYgQCglcCktPnNrYiAlcFxuIiwNCiAJ ICAgdHhkYXRhLT50eHFfaW5kZXgsIGlkeCwgdHhfYnVmLCBza2IpOw0KIA0KLQkvKiB1bm1hcCBm aXJzdCBiZCAqLw0KIAlEUChCTlgyWF9NU0dfT0ZGLCAiZnJlZSBiZF9pZHggJWRcbiIsIGJkX2lk eCk7DQogCXR4X3N0YXJ0X2JkID0gJnR4ZGF0YS0+dHhfZGVzY19yaW5nW2JkX2lkeF0uc3RhcnRf YmQ7DQotCWRtYV91bm1hcF9zaW5nbGUoJmJwLT5wZGV2LT5kZXYsIEJEX1VOTUFQX0FERFIodHhf c3RhcnRfYmQpLA0KLQkJCSBCRF9VTk1BUF9MRU4odHhfc3RhcnRfYmQpLCBETUFfVE9fREVWSUNF KTsNCiANCiANCiAJbmJkID0gbGUxNl90b19jcHUodHhfc3RhcnRfYmQtPm5iZCkgLSAxOw0KQEAg LTEzOCwxMiArMTM2LDE5IEBAIHN0YXRpYyB1MTYgYm54MnhfZnJlZV90eF9wa3Qoc3RydWN0IGJu eDJ4ICpicCwgc3RydWN0IGJueDJ4X2ZwX3R4ZGF0YSAqdHhkYXRhLA0KIAktLW5iZDsNCiAJYmRf aWR4ID0gVFhfQkQoTkVYVF9UWF9JRFgoYmRfaWR4KSk7DQogDQotCS8qIC4uLmFuZCB0aGUgVFNP IHNwbGl0IGhlYWRlciBiZCBzaW5jZSB0aGV5IGhhdmUgbm8gbWFwcGluZyAqLw0KKwkvKiBUU08g aGVhZGVycytkYXRhIGJkcyBzaGFyZSBhIGNvbW1vbiBtYXBwaW5nLiBTZWUgYm54MnhfdHhfc3Bs aXQoKSAqLw0KIAlpZiAodHhfYnVmLT5mbGFncyAmIEJOWDJYX1RTT19TUExJVF9CRCkgew0KKwkJ dHhfZGF0YV9iZCA9ICZ0eGRhdGEtPnR4X2Rlc2NfcmluZ1tiZF9pZHhdLnJlZ19iZDsNCisJCXNw bGl0X2JkX2xlbiA9IEJEX1VOTUFQX0xFTih0eF9kYXRhX2JkKTsNCiAJCS0tbmJkOw0KIAkJYmRf aWR4ID0gVFhfQkQoTkVYVF9UWF9JRFgoYmRfaWR4KSk7DQogCX0NCiANCisJLyogdW5tYXAgZmly c3QgYmQgKi8NCisJZG1hX3VubWFwX3NpbmdsZSgmYnAtPnBkZXYtPmRldiwgQkRfVU5NQVBfQURE Uih0eF9zdGFydF9iZCksDQorCQkJIEJEX1VOTUFQX0xFTih0eF9zdGFydF9iZCkgKyBzcGxpdF9i ZF9sZW4sDQorCQkJIERNQV9UT19ERVZJQ0UpOw0KKw0KIAkvKiBub3cgZnJlZSBmcmFncyAqLw0K IAl3aGlsZSAobmJkID4gMCkgew0KIA0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0 L2Jyb2FkY29tL3RnMy5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vdGczLmMNCmlu ZGV4IDFiYzkyN2EuLmQ1NzkzZDMgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9i cm9hZGNvbS90ZzMuYw0KKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvYnJvYWRjb20vdGczLmMN CkBAIC0xNDUzNyw2ICsxNDUzNyw5IEBAIHN0YXRpYyBpbnQgX19kZXZpbml0IHRnM19nZXRfaW52 YXJpYW50cyhzdHJ1Y3QgdGczICp0cCkNCiAJLyogQ2xlYXIgdGhpcyBvdXQgZm9yIHNhbml0eS4g Ki8NCiAJdHczMihURzNQQ0lfTUVNX1dJTl9CQVNFX0FERFIsIDApOw0KIA0KKwkvKiBDbGVhciBU RzNQQ0lfUkVHX0JBU0VfQUREUiB0byBwcmV2ZW50IGhhbmdzLiAqLw0KKwl0dzMyKFRHM1BDSV9S RUdfQkFTRV9BRERSLCAwKTsNCisNCiAJcGNpX3JlYWRfY29uZmlnX2R3b3JkKHRwLT5wZGV2LCBU RzNQQ0lfUENJU1RBVEUsDQogCQkJICAgICAgJnBjaV9zdGF0ZV9yZWcpOw0KIAlpZiAoKHBjaV9z dGF0ZV9yZWcgJiBQQ0lTVEFURV9DT05WX1BDSV9NT0RFKSA9PSAwICYmDQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9uZXQvZXRoZXJuZXQvaWJtL2VoZWEvZWhlYV9tYWluLmMgYi9kcml2ZXJzL25ldC9l dGhlcm5ldC9pYm0vZWhlYS9laGVhX21haW4uYw0KaW5kZXggYmZlY2NiZi4uMjk3ZjBiNiAxMDA2 NDQNCi0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L2libS9laGVhL2VoZWFfbWFpbi5jDQorKysg Yi9kcml2ZXJzL25ldC9ldGhlcm5ldC9pYm0vZWhlYS9laGVhX21haW4uYw0KQEAgLTMwMTUsNyAr MzAxNSw3IEBAIHN0cnVjdCBlaGVhX3BvcnQgKmVoZWFfc2V0dXBfc2luZ2xlX3BvcnQoc3RydWN0 IGVoZWFfYWRhcHRlciAqYWRhcHRlciwNCiANCiAJZGV2LT5od19mZWF0dXJlcyA9IE5FVElGX0Zf U0cgfCBORVRJRl9GX1RTTw0KIAkJICAgICAgfCBORVRJRl9GX0lQX0NTVU0gfCBORVRJRl9GX0hX X1ZMQU5fVFggfCBORVRJRl9GX0xSTzsNCi0JZGV2LT5mZWF0dXJlcyA9IE5FVElGX0ZfU0cgfCBO RVRJRl9GX0ZSQUdMSVNUIHwgTkVUSUZfRl9UU08NCisJZGV2LT5mZWF0dXJlcyA9IE5FVElGX0Zf U0cgfCBORVRJRl9GX1RTTw0KIAkJICAgICAgfCBORVRJRl9GX0hJR0hETUEgfCBORVRJRl9GX0lQ X0NTVU0gfCBORVRJRl9GX0hXX1ZMQU5fVFgNCiAJCSAgICAgIHwgTkVUSUZfRl9IV19WTEFOX1JY IHwgTkVUSUZfRl9IV19WTEFOX0ZJTFRFUg0KIAkJICAgICAgfCBORVRJRl9GX1JYQ1NVTTsNCmRp ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC90ZWh1dGkvdGVodXRpLmMgYi9kcml2ZXJz L25ldC9ldGhlcm5ldC90ZWh1dGkvdGVodXRpLmMNCmluZGV4IDNhOTBhZjYuLmNjN2U3ZGUgMTAw NjQ0DQotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC90ZWh1dGkvdGVodXRpLmMNCisrKyBiL2Ry aXZlcnMvbmV0L2V0aGVybmV0L3RlaHV0aS90ZWh1dGkuYw0KQEAgLTE5OTUsNyArMTk5NSw2IEBA IGJkeF9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2Vf aWQgKmVudCkNCiAJCW5kZXYtPmZlYXR1cmVzID0gTkVUSUZfRl9JUF9DU1VNIHwgTkVUSUZfRl9T RyB8IE5FVElGX0ZfVFNPDQogCQkgICAgfCBORVRJRl9GX0hXX1ZMQU5fVFggfCBORVRJRl9GX0hX X1ZMQU5fUlggfA0KIAkJICAgIE5FVElGX0ZfSFdfVkxBTl9GSUxURVIgfCBORVRJRl9GX1JYQ1NV TQ0KLQkJICAgIC8qfCBORVRJRl9GX0ZSQUdMSVNUICovDQogCQkgICAgOw0KIAkJbmRldi0+aHdf ZmVhdHVyZXMgPSBORVRJRl9GX0lQX0NTVU0gfCBORVRJRl9GX1NHIHwNCiAJCQlORVRJRl9GX1RT TyB8IE5FVElGX0ZfSFdfVkxBTl9UWDsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5l dC94aWxpbngvbGxfdGVtYWNfbWFpbi5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQveGlsaW54L2xs X3RlbWFjX21haW4uYw0KaW5kZXggZTI2OTQ1ZC4uMWI3YjNiZSAxMDA2NDQNCi0tLSBhL2RyaXZl cnMvbmV0L2V0aGVybmV0L3hpbGlueC9sbF90ZW1hY19tYWluLmMNCisrKyBiL2RyaXZlcnMvbmV0 L2V0aGVybmV0L3hpbGlueC9sbF90ZW1hY19tYWluLmMNCkBAIC0xMDExLDcgKzEwMTEsNyBAQCBz dGF0aWMgaW50IF9fZGV2aW5pdCB0ZW1hY19vZl9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpvcCkNCiAJZGV2X3NldF9kcnZkYXRhKCZvcC0+ZGV2LCBuZGV2KTsNCiAJU0VUX05FVERFVl9E RVYobmRldiwgJm9wLT5kZXYpOw0KIAluZGV2LT5mbGFncyAmPSB+SUZGX01VTFRJQ0FTVDsgIC8q IGNsZWFyIG11bHRpY2FzdCAqLw0KLQluZGV2LT5mZWF0dXJlcyA9IE5FVElGX0ZfU0cgfCBORVRJ Rl9GX0ZSQUdMSVNUOw0KKwluZGV2LT5mZWF0dXJlcyA9IE5FVElGX0ZfU0c7DQogCW5kZXYtPm5l dGRldl9vcHMgPSAmdGVtYWNfbmV0ZGV2X29wczsNCiAJbmRldi0+ZXRodG9vbF9vcHMgPSAmdGVt YWNfZXRodG9vbF9vcHM7DQogI2lmIDANCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9oYW1yYWRp by9oZGxjZHJ2LmMgYi9kcml2ZXJzL25ldC9oYW1yYWRpby9oZGxjZHJ2LmMNCmluZGV4IGE0YTM1 MTYuLjNiM2E3ZTAgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL25ldC9oYW1yYWRpby9oZGxjZHJ2LmMN CisrKyBiL2RyaXZlcnMvbmV0L2hhbXJhZGlvL2hkbGNkcnYuYw0KQEAgLTU3MSw2ICs1NzEsOCBA QCBzdGF0aWMgaW50IGhkbGNkcnZfaW9jdGwoc3RydWN0IG5ldF9kZXZpY2UgKmRldiwgc3RydWN0 IGlmcmVxICppZnIsIGludCBjbWQpDQogCWNhc2UgSERMQ0RSVkNUTF9DQUxJQlJBVEU6DQogCQlp ZighY2FwYWJsZShDQVBfU1lTX1JBV0lPKSkNCiAJCQlyZXR1cm4gLUVQRVJNOw0KKwkJaWYgKGJp LmRhdGEuY2FsaWJyYXRlID4gSU5UX01BWCAvIHMtPnBhci5iaXRyYXRlKQ0KKwkJCXJldHVybiAt RUlOVkFMOw0KIAkJcy0+aGRsY3R4LmNhbGlicmF0ZSA9IGJpLmRhdGEuY2FsaWJyYXRlICogcy0+ cGFyLmJpdHJhdGUgLyAxNjsNCiAJCXJldHVybiAwOw0KIA0KZGlmZiAtLWdpdCBhL2RyaXZlcnMv bmV0L2hhbXJhZGlvL3lhbS5jIGIvZHJpdmVycy9uZXQvaGFtcmFkaW8veWFtLmMNCmluZGV4IDk2 YTk4ZDIuLmU0MjYwYWIgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL25ldC9oYW1yYWRpby95YW0uYw0K KysrIGIvZHJpdmVycy9uZXQvaGFtcmFkaW8veWFtLmMNCkBAIC0xMDYwLDYgKzEwNjAsNyBAQCBz dGF0aWMgaW50IHlhbV9pb2N0bChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCBzdHJ1Y3QgaWZyZXEg KmlmciwgaW50IGNtZCkNCiAJCWJyZWFrOw0KIA0KIAljYXNlIFNJT0NZQU1HQ0ZHOg0KKwkJbWVt c2V0KCZ5aSwgMCwgc2l6ZW9mKHlpKSk7DQogCQl5aS5jZmcubWFzayA9IDB4ZmZmZmZmZmY7DQog CQl5aS5jZmcuaW9iYXNlID0geXAtPmlvYmFzZTsNCiAJCXlpLmNmZy5pcnEgPSB5cC0+aXJxOw0K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9kbTk2MDEuYyBiL2RyaXZlcnMvbmV0L3VzYi9k bTk2MDEuYw0KaW5kZXggMTM2ZWNmMy4uZGM2MGFlYyAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0 L3VzYi9kbTk2MDEuYw0KKysrIGIvZHJpdmVycy9uZXQvdXNiL2RtOTYwMS5jDQpAQCAtNDQ1LDcg KzQ0NSwxMiBAQCBzdGF0aWMgaW50IGRtOTYwMV9iaW5kKHN0cnVjdCB1c2JuZXQgKmRldiwgc3Ry dWN0IHVzYl9pbnRlcmZhY2UgKmludGYpDQogCWRldi0+bmV0LT5ldGh0b29sX29wcyA9ICZkbTk2 MDFfZXRodG9vbF9vcHM7DQogCWRldi0+bmV0LT5oYXJkX2hlYWRlcl9sZW4gKz0gRE1fVFhfT1ZF UkhFQUQ7DQogCWRldi0+aGFyZF9tdHUgPSBkZXYtPm5ldC0+bXR1ICsgZGV2LT5uZXQtPmhhcmRf aGVhZGVyX2xlbjsNCi0JZGV2LT5yeF91cmJfc2l6ZSA9IGRldi0+bmV0LT5tdHUgKyBFVEhfSExF TiArIERNX1JYX09WRVJIRUFEOw0KKw0KKwkvKiBkbTk2MjAvMjFhIHJlcXVpcmUgcm9vbSBmb3Ig NCBieXRlIHBhZGRpbmcsIGV2ZW4gaW4gZG05NjAxDQorCSAqIG1vZGUsIHNvIHdlIG5lZWQgKzEg dG8gYmUgYWJsZSB0byByZWNlaXZlIGZ1bGwgc2l6ZQ0KKwkgKiBldGhlcm5ldCBmcmFtZXMuDQor CSAqLw0KKwlkZXYtPnJ4X3VyYl9zaXplID0gZGV2LT5uZXQtPm10dSArIEVUSF9ITEVOICsgRE1f UlhfT1ZFUkhFQUQgKyAxOw0KIA0KIAlkZXYtPm1paS5kZXYgPSBkZXYtPm5ldDsNCiAJZGV2LT5t aWkubWRpb19yZWFkID0gZG05NjAxX21kaW9fcmVhZDsNCkBAIC01MzEsNyArNTM2LDcgQEAgc3Rh dGljIGludCBkbTk2MDFfcnhfZml4dXAoc3RydWN0IHVzYm5ldCAqZGV2LCBzdHJ1Y3Qgc2tfYnVm ZiAqc2tiKQ0KIHN0YXRpYyBzdHJ1Y3Qgc2tfYnVmZiAqZG05NjAxX3R4X2ZpeHVwKHN0cnVjdCB1 c2JuZXQgKmRldiwgc3RydWN0IHNrX2J1ZmYgKnNrYiwNCiAJCQkJICAgICAgIGdmcF90IGZsYWdz KQ0KIHsNCi0JaW50IGxlbjsNCisJaW50IGxlbiwgcGFkOw0KIA0KIAkvKiBmb3JtYXQ6DQogCSAg IGIxOiBwYWNrZXQgbGVuZ3RoIGxvdw0KQEAgLTUzOSwxMiArNTQ0LDIzIEBAIHN0YXRpYyBzdHJ1 Y3Qgc2tfYnVmZiAqZG05NjAxX3R4X2ZpeHVwKHN0cnVjdCB1c2JuZXQgKmRldiwgc3RydWN0IHNr X2J1ZmYgKnNrYiwNCiAJICAgYjMuLm46IHBhY2tldCBkYXRhDQogCSovDQogDQotCWxlbiA9IHNr Yi0+bGVuOw0KKwlsZW4gPSBza2ItPmxlbiArIERNX1RYX09WRVJIRUFEOw0KIA0KLQlpZiAoc2ti X2hlYWRyb29tKHNrYikgPCBETV9UWF9PVkVSSEVBRCkgew0KKwkvKiB3b3JrYXJvdW5kIGZvciBk bTk2MnggZXJyYXRhIHdpdGggdHggZmlmbyBnZXR0aW5nIG91dCBvZg0KKwkgKiBzeW5jIGlmIGEg VVNCIGJ1bGsgdHJhbnNmZXIgcmV0cnkgaGFwcGVucyByaWdodCBhZnRlciBhDQorCSAqIHBhY2tl dCB3aXRoIG9kZCAvIG1heHBhY2tldCBsZW5ndGggYnkgYWRkaW5nIHVwIHRvIDMgYnl0ZXMNCisJ ICogcGFkZGluZy4NCisJICovDQorCXdoaWxlICgobGVuICYgMSkgfHwgIShsZW4gJSBkZXYtPm1h eHBhY2tldCkpDQorCQlsZW4rKzsNCisNCisJbGVuIC09IERNX1RYX09WRVJIRUFEOyAvKiBodyBo ZWFkZXIgZG9lc24ndCBjb3VudCBhcyBwYXJ0IG9mIGxlbmd0aCAqLw0KKwlwYWQgPSBsZW4gLSBz a2ItPmxlbjsNCisNCisJaWYgKHNrYl9oZWFkcm9vbShza2IpIDwgRE1fVFhfT1ZFUkhFQUQgfHwg c2tiX3RhaWxyb29tKHNrYikgPCBwYWQpIHsNCiAJCXN0cnVjdCBza19idWZmICpza2IyOw0KIA0K LQkJc2tiMiA9IHNrYl9jb3B5X2V4cGFuZChza2IsIERNX1RYX09WRVJIRUFELCAwLCBmbGFncyk7 DQorCQlza2IyID0gc2tiX2NvcHlfZXhwYW5kKHNrYiwgRE1fVFhfT1ZFUkhFQUQsIHBhZCwgZmxh Z3MpOw0KIAkJZGV2X2tmcmVlX3NrYl9hbnkoc2tiKTsNCiAJCXNrYiA9IHNrYjI7DQogCQlpZiAo IXNrYikNCkBAIC01NTMsMTAgKzU2OSwxMCBAQCBzdGF0aWMgc3RydWN0IHNrX2J1ZmYgKmRtOTYw MV90eF9maXh1cChzdHJ1Y3QgdXNibmV0ICpkZXYsIHN0cnVjdCBza19idWZmICpza2IsDQogDQog CV9fc2tiX3B1c2goc2tiLCBETV9UWF9PVkVSSEVBRCk7DQogDQotCS8qIHVzYm5ldCBhZGRzIHBh ZGRpbmcgaWYgbGVuZ3RoIGlzIGEgbXVsdGlwbGUgb2YgcGFja2V0IHNpemUNCi0JICAgaWYgc28s IGFkanVzdCBsZW5ndGggdmFsdWUgaW4gaGVhZGVyICovDQotCWlmICgoc2tiLT5sZW4gJSBkZXYt Pm1heHBhY2tldCkgPT0gMCkNCi0JCWxlbisrOw0KKwlpZiAocGFkKSB7DQorCQltZW1zZXQoc2ti LT5kYXRhICsgc2tiLT5sZW4sIDAsIHBhZCk7DQorCQlfX3NrYl9wdXQoc2tiLCBwYWQpOw0KKwl9 DQogDQogCXNrYi0+ZGF0YVswXSA9IGxlbjsNCiAJc2tiLT5kYXRhWzFdID0gbGVuID4+IDg7DQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRoL2F0aDlrL2FyOTAwMl9tYWMuYyBi L2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9hdGg5ay9hcjkwMDJfbWFjLmMNCmluZGV4IGI1OTIw MTYuLmY0Y2FlYjMgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoOWsv YXI5MDAyX21hYy5jDQorKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoOWsvYXI5MDAy X21hYy5jDQpAQCAtNzYsOSArNzYsMTYgQEAgc3RhdGljIGJvb2wgYXI5MDAyX2h3X2dldF9pc3Io c3RydWN0IGF0aF9odyAqYWgsIGVudW0gYXRoOWtfaW50ICptYXNrZWQpDQogCQkJCW1hc2syIHw9 IEFUSDlLX0lOVF9DU1Q7DQogCQkJaWYgKGlzcjIgJiBBUl9JU1JfUzJfVFNGT09SKQ0KIAkJCQlt YXNrMiB8PSBBVEg5S19JTlRfVFNGT09SOw0KKw0KKwkJCWlmICghKHBDYXAtPmh3X2NhcHMgJiBB VEg5S19IV19DQVBfUkFDX1NVUFBPUlRFRCkpIHsNCisJCQkJUkVHX1dSSVRFKGFoLCBBUl9JU1Jf UzIsIGlzcjIpOw0KKwkJCQlpc3IgJj0gfkFSX0lTUl9CQ05NSVNDOw0KKwkJCX0NCiAJCX0NCiAN Ci0JCWlzciA9IFJFR19SRUFEKGFoLCBBUl9JU1JfUkFDKTsNCisJCWlmIChwQ2FwLT5od19jYXBz ICYgQVRIOUtfSFdfQ0FQX1JBQ19TVVBQT1JURUQpDQorCQkJaXNyID0gUkVHX1JFQUQoYWgsIEFS X0lTUl9SQUMpOw0KKw0KIAkJaWYgKGlzciA9PSAweGZmZmZmZmZmKSB7DQogCQkJKm1hc2tlZCA9 IDA7DQogCQkJcmV0dXJuIGZhbHNlOw0KQEAgLTk3LDExICsxMDQsMjMgQEAgc3RhdGljIGJvb2wg YXI5MDAyX2h3X2dldF9pc3Ioc3RydWN0IGF0aF9odyAqYWgsIGVudW0gYXRoOWtfaW50ICptYXNr ZWQpDQogDQogCQkJKm1hc2tlZCB8PSBBVEg5S19JTlRfVFg7DQogDQotCQkJczBfcyA9IFJFR19S RUFEKGFoLCBBUl9JU1JfUzBfUyk7DQorCQkJaWYgKHBDYXAtPmh3X2NhcHMgJiBBVEg5S19IV19D QVBfUkFDX1NVUFBPUlRFRCkgew0KKwkJCQlzMF9zID0gUkVHX1JFQUQoYWgsIEFSX0lTUl9TMF9T KTsNCisJCQkJczFfcyA9IFJFR19SRUFEKGFoLCBBUl9JU1JfUzFfUyk7DQorCQkJfSBlbHNlIHsN CisJCQkJczBfcyA9IFJFR19SRUFEKGFoLCBBUl9JU1JfUzApOw0KKwkJCQlSRUdfV1JJVEUoYWgs IEFSX0lTUl9TMCwgczBfcyk7DQorCQkJCXMxX3MgPSBSRUdfUkVBRChhaCwgQVJfSVNSX1MxKTsN CisJCQkJUkVHX1dSSVRFKGFoLCBBUl9JU1JfUzEsIHMxX3MpOw0KKw0KKwkJCQlpc3IgJj0gfihB Ul9JU1JfVFhPSyB8DQorCQkJCQkgQVJfSVNSX1RYREVTQyB8DQorCQkJCQkgQVJfSVNSX1RYRVJS IHwNCisJCQkJCSBBUl9JU1JfVFhFT0wpOw0KKwkJCX0NCisNCiAJCQlhaC0+aW50cl90eHFzIHw9 IE1TKHMwX3MsIEFSX0lTUl9TMF9RQ1VfVFhPSyk7DQogCQkJYWgtPmludHJfdHhxcyB8PSBNUyhz MF9zLCBBUl9JU1JfUzBfUUNVX1RYREVTQyk7DQotDQotCQkJczFfcyA9IFJFR19SRUFEKGFoLCBB Ul9JU1JfUzFfUyk7DQogCQkJYWgtPmludHJfdHhxcyB8PSBNUyhzMV9zLCBBUl9JU1JfUzFfUUNV X1RYRVJSKTsNCiAJCQlhaC0+aW50cl90eHFzIHw9IE1TKHMxX3MsIEFSX0lTUl9TMV9RQ1VfVFhF T0wpOw0KIAkJfQ0KQEAgLTExNCwxMyArMTMzLDE1IEBAIHN0YXRpYyBib29sIGFyOTAwMl9od19n ZXRfaXNyKHN0cnVjdCBhdGhfaHcgKmFoLCBlbnVtIGF0aDlrX2ludCAqbWFza2VkKQ0KIAkJKm1h c2tlZCB8PSBtYXNrMjsNCiAJfQ0KIA0KLQlpZiAoQVJfU1JFVl85MTAwKGFoKSkNCi0JCXJldHVy biB0cnVlOw0KLQ0KLQlpZiAoaXNyICYgQVJfSVNSX0dFTlRNUikgew0KKwlpZiAoIUFSX1NSRVZf OTEwMChhaCkgJiYgKGlzciAmIEFSX0lTUl9HRU5UTVIpKSB7DQogCQl1MzIgczVfczsNCiANCi0J CXM1X3MgPSBSRUdfUkVBRChhaCwgQVJfSVNSX1M1X1MpOw0KKwkJaWYgKHBDYXAtPmh3X2NhcHMg JiBBVEg5S19IV19DQVBfUkFDX1NVUFBPUlRFRCkgew0KKwkJCXM1X3MgPSBSRUdfUkVBRChhaCwg QVJfSVNSX1M1X1MpOw0KKwkJfSBlbHNlIHsNCisJCQlzNV9zID0gUkVHX1JFQUQoYWgsIEFSX0lT Ul9TNSk7DQorCQl9DQorDQogCQlhaC0+aW50cl9nZW5fdGltZXJfdHJpZ2dlciA9DQogCQkJCU1T KHM1X3MsIEFSX0lTUl9TNV9HRU5USU1FUl9UUklHKTsNCiANCkBAIC0xMzMsOCArMTU0LDIxIEBA IHN0YXRpYyBib29sIGFyOTAwMl9od19nZXRfaXNyKHN0cnVjdCBhdGhfaHcgKmFoLCBlbnVtIGF0 aDlrX2ludCAqbWFza2VkKQ0KIAkJaWYgKChzNV9zICYgQVJfSVNSX1M1X1RJTV9USU1FUikgJiYN CiAJCSAgICAhKHBDYXAtPmh3X2NhcHMgJiBBVEg5S19IV19DQVBfQVVUT1NMRUVQKSkNCiAJCQkq bWFza2VkIHw9IEFUSDlLX0lOVF9USU1fVElNRVI7DQorDQorCQlpZiAoIShwQ2FwLT5od19jYXBz ICYgQVRIOUtfSFdfQ0FQX1JBQ19TVVBQT1JURUQpKSB7DQorCQkJUkVHX1dSSVRFKGFoLCBBUl9J U1JfUzUsIHM1X3MpOw0KKwkJCWlzciAmPSB+QVJfSVNSX0dFTlRNUjsNCisJCX0NCiAJfQ0KIA0K KwlpZiAoIShwQ2FwLT5od19jYXBzICYgQVRIOUtfSFdfQ0FQX1JBQ19TVVBQT1JURUQpKSB7DQor CQlSRUdfV1JJVEUoYWgsIEFSX0lTUiwgaXNyKTsNCisJCVJFR19SRUFEKGFoLCBBUl9JU1IpOw0K Kwl9DQorDQorCWlmIChBUl9TUkVWXzkxMDAoYWgpKQ0KKwkJcmV0dXJuIHRydWU7DQorDQogCWlm IChzeW5jX2NhdXNlKSB7DQogCQlmYXRhbF9pbnQgPQ0KIAkJCShzeW5jX2NhdXNlICYNCmRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoOWsvaHRjX2Rydl9tYWluLmMgYi9k cml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoOWsvaHRjX2Rydl9tYWluLmMNCmluZGV4IDBiOWEw ZTguLmI2Y2QzNmMgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoOWsv aHRjX2Rydl9tYWluLmMNCisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2F0aC9hdGg5ay9odGNf ZHJ2X21haW4uYw0KQEAgLTEzOSwyMSArMTM5LDI2IEBAIHN0YXRpYyB2b2lkIGF0aDlrX2h0Y19i c3NpZF9pdGVyKHZvaWQgKmRhdGEsIHU4ICptYWMsIHN0cnVjdCBpZWVlODAyMTFfdmlmICp2aWYp DQogCXN0cnVjdCBhdGg5a192aWZfaXRlcl9kYXRhICppdGVyX2RhdGEgPSBkYXRhOw0KIAlpbnQg aTsNCiANCi0JZm9yIChpID0gMDsgaSA8IEVUSF9BTEVOOyBpKyspDQotCQlpdGVyX2RhdGEtPm1h c2tbaV0gJj0gfihpdGVyX2RhdGEtPmh3X21hY2FkZHJbaV0gXiBtYWNbaV0pOw0KKwlpZiAoaXRl cl9kYXRhLT5od19tYWNhZGRyICE9IE5VTEwpIHsNCisJCWZvciAoaSA9IDA7IGkgPCBFVEhfQUxF TjsgaSsrKQ0KKwkJCWl0ZXJfZGF0YS0+bWFza1tpXSAmPSB+KGl0ZXJfZGF0YS0+aHdfbWFjYWRk cltpXSBeIG1hY1tpXSk7DQorCX0gZWxzZSB7DQorCQlpdGVyX2RhdGEtPmh3X21hY2FkZHIgPSBt YWM7DQorCX0NCiB9DQogDQotc3RhdGljIHZvaWQgYXRoOWtfaHRjX3NldF9ic3NpZF9tYXNrKHN0 cnVjdCBhdGg5a19odGNfcHJpdiAqcHJpdiwNCitzdGF0aWMgdm9pZCBhdGg5a19odGNfc2V0X21h Y19ic3NpZF9tYXNrKHN0cnVjdCBhdGg5a19odGNfcHJpdiAqcHJpdiwNCiAJCQkJICAgICBzdHJ1 Y3QgaWVlZTgwMjExX3ZpZiAqdmlmKQ0KIHsNCiAJc3RydWN0IGF0aF9jb21tb24gKmNvbW1vbiA9 IGF0aDlrX2h3X2NvbW1vbihwcml2LT5haCk7DQogCXN0cnVjdCBhdGg5a192aWZfaXRlcl9kYXRh IGl0ZXJfZGF0YTsNCiANCiAJLyoNCi0JICogVXNlIHRoZSBoYXJkd2FyZSBNQUMgYWRkcmVzcyBh cyByZWZlcmVuY2UsIHRoZSBoYXJkd2FyZSB1c2VzIGl0DQotCSAqIHRvZ2V0aGVyIHdpdGggdGhl IEJTU0lEIG1hc2sgd2hlbiBtYXRjaGluZyBhZGRyZXNzZXMuDQorCSAqIFBpY2sgdGhlIE1BQyBh ZGRyZXNzIG9mIHRoZSBmaXJzdCBpbnRlcmZhY2UgYXMgdGhlIG5ldyBoYXJkd2FyZQ0KKwkgKiBN QUMgYWRkcmVzcy4gVGhlIGhhcmR3YXJlIHdpbGwgdXNlIGl0IHRvZ2V0aGVyIHdpdGggdGhlIEJT U0lEIG1hc2sNCisJICogd2hlbiBtYXRjaGluZyBhZGRyZXNzZXMuDQogCSAqLw0KLQlpdGVyX2Rh dGEuaHdfbWFjYWRkciA9IGNvbW1vbi0+bWFjYWRkcjsNCisJaXRlcl9kYXRhLmh3X21hY2FkZHIg PSBOVUxMOw0KIAltZW1zZXQoJml0ZXJfZGF0YS5tYXNrLCAweGZmLCBFVEhfQUxFTik7DQogDQog CWlmICh2aWYpDQpAQCAtMTY0LDYgKzE2OSwxMCBAQCBzdGF0aWMgdm9pZCBhdGg5a19odGNfc2V0 X2Jzc2lkX21hc2soc3RydWN0IGF0aDlrX2h0Y19wcml2ICpwcml2LA0KIAkJCQkJCSAgICZpdGVy X2RhdGEpOw0KIA0KIAltZW1jcHkoY29tbW9uLT5ic3NpZG1hc2ssIGl0ZXJfZGF0YS5tYXNrLCBF VEhfQUxFTik7DQorDQorCWlmIChpdGVyX2RhdGEuaHdfbWFjYWRkcikNCisJCW1lbWNweShjb21t b24tPm1hY2FkZHIsIGl0ZXJfZGF0YS5od19tYWNhZGRyLCBFVEhfQUxFTik7DQorDQogCWF0aF9o d19zZXRic3NpZG1hc2soY29tbW9uKTsNCiB9DQogDQpAQCAtMTEwMCw3ICsxMTA5LDcgQEAgc3Rh dGljIGludCBhdGg5a19odGNfYWRkX2ludGVyZmFjZShzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodywN CiAJCWdvdG8gb3V0Ow0KIAl9DQogDQotCWF0aDlrX2h0Y19zZXRfYnNzaWRfbWFzayhwcml2LCB2 aWYpOw0KKwlhdGg5a19odGNfc2V0X21hY19ic3NpZF9tYXNrKHByaXYsIHZpZik7DQogDQogCXBy aXYtPnZpZl9zbG90IHw9ICgxIDw8IGF2cC0+aW5kZXgpOw0KIAlwcml2LT5udmlmcysrOw0KQEAg LTExNjMsNyArMTE3Miw3IEBAIHN0YXRpYyB2b2lkIGF0aDlrX2h0Y19yZW1vdmVfaW50ZXJmYWNl KHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LA0KIA0KIAlhdGg5a19odGNfc2V0X29wbW9kZShwcml2 KTsNCiANCi0JYXRoOWtfaHRjX3NldF9ic3NpZF9tYXNrKHByaXYsIHZpZik7DQorCWF0aDlrX2h0 Y19zZXRfbWFjX2Jzc2lkX21hc2socHJpdiwgdmlmKTsNCiANCiAJLyoNCiAJICogU3RvcCBBTkkg b25seSBpZiB0aGVyZSBhcmUgbm8gYXNzb2NpYXRlZCBzdGF0aW9uIGludGVyZmFjZXMuDQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYXRoL2F0aDlrL21haW4uYyBiL2RyaXZlcnMv bmV0L3dpcmVsZXNzL2F0aC9hdGg5ay9tYWluLmMNCmluZGV4IGE1OTI2N2EuLmFkMzMxMjYgMTAw NjQ0DQotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoOWsvbWFpbi5jDQorKysgYi9k cml2ZXJzL25ldC93aXJlbGVzcy9hdGgvYXRoOWsvbWFpbi5jDQpAQCAtMTM1Nyw4ICsxMzU3LDkg QEAgdm9pZCBhdGg5a19jYWxjdWxhdGVfaXRlcl9kYXRhKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3 LA0KIAlzdHJ1Y3QgYXRoX2NvbW1vbiAqY29tbW9uID0gYXRoOWtfaHdfY29tbW9uKGFoKTsNCiAN CiAJLyoNCi0JICogVXNlIHRoZSBoYXJkd2FyZSBNQUMgYWRkcmVzcyBhcyByZWZlcmVuY2UsIHRo ZSBoYXJkd2FyZSB1c2VzIGl0DQotCSAqIHRvZ2V0aGVyIHdpdGggdGhlIEJTU0lEIG1hc2sgd2hl biBtYXRjaGluZyBhZGRyZXNzZXMuDQorCSAqIFBpY2sgdGhlIE1BQyBhZGRyZXNzIG9mIHRoZSBm aXJzdCBpbnRlcmZhY2UgYXMgdGhlIG5ldyBoYXJkd2FyZQ0KKwkgKiBNQUMgYWRkcmVzcy4gVGhl IGhhcmR3YXJlIHdpbGwgdXNlIGl0IHRvZ2V0aGVyIHdpdGggdGhlIEJTU0lEIG1hc2sNCisJICog d2hlbiBtYXRjaGluZyBhZGRyZXNzZXMuDQogCSAqLw0KIAltZW1zZXQoaXRlcl9kYXRhLCAwLCBz aXplb2YoKml0ZXJfZGF0YSkpOw0KIAlpdGVyX2RhdGEtPmh3X21hY2FkZHIgPSBjb21tb24tPm1h Y2FkZHI7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcnRsd2lmaS9wY2kuYyBi L2RyaXZlcnMvbmV0L3dpcmVsZXNzL3J0bHdpZmkvcGNpLmMNCmluZGV4IDQ3YmEwZjcuLjM4Yjc5 M2IgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9ydGx3aWZpL3BjaS5jDQorKysg Yi9kcml2ZXJzL25ldC93aXJlbGVzcy9ydGx3aWZpL3BjaS5jDQpAQCAtNjg1LDYgKzY4NSw4IEBA IHN0YXRpYyB2b2lkIF9ydGxfcGNpX3J4X2ludGVycnVwdChzdHJ1Y3QgaWVlZTgwMjExX2h3ICpo dykNCiAJfTsNCiAJaW50IGluZGV4ID0gcnRscGNpLT5yeF9yaW5nW3J4X3F1ZXVlX2lkeF0uaWR4 Ow0KIA0KKwlpZiAocnRscGNpLT5kcml2ZXJfaXNfZ29pbmd0b191bmxvYWQpDQorCQlyZXR1cm47 DQogCS8qUlggTk9STUFMIFBLVCAqLw0KIAl3aGlsZSAoY291bnQtLSkgew0KIAkJLypyeCBkZXNj cmlwdG9yICovDQpAQCAtMTU2Myw2ICsxNTY1LDcgQEAgc3RhdGljIHZvaWQgcnRsX3BjaV9zdG9w KHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3KQ0KIAkgKi8NCiAJc2V0X2hhbF9zdG9wKHJ0bGhhbCk7 DQogDQorCXJ0bHBjaS0+ZHJpdmVyX2lzX2dvaW5ndG9fdW5sb2FkID0gdHJ1ZTsNCiAJcnRscHJp di0+Y2ZnLT5vcHMtPmRpc2FibGVfaW50ZXJydXB0KGh3KTsNCiAJdGFza2xldF9raWxsKCZydGxw cml2LT53b3Jrcy5pcHNfbGVhdmVfdGFza2xldCk7DQogDQpAQCAtMTU4MCw3ICsxNTgzLDYgQEAg c3RhdGljIHZvaWQgcnRsX3BjaV9zdG9wKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3KQ0KIAlwcHNj LT5yZmNoYW5nZV9pbnByb2dyZXNzID0gdHJ1ZTsNCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgm cnRscHJpdi0+bG9ja3MucmZfcHNfbG9jaywgZmxhZ3MpOw0KIA0KLQlydGxwY2ktPmRyaXZlcl9p c19nb2luZ3RvX3VubG9hZCA9IHRydWU7DQogCXJ0bHByaXYtPmNmZy0+b3BzLT5od19kaXNhYmxl KGh3KTsNCiAJcnRscHJpdi0+Y2ZnLT5vcHMtPmxlZF9jb250cm9sKGh3LCBMRURfQ1RMX1BPV0VS X09GRik7DQogDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvcGNpLmMgYi9kcml2ZXJzL3BjaS9w Y2kuYw0KaW5kZXggMzYzYTVjNi4uOWYxZmVjMSAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvcGNpL3Bj aS5jDQorKysgYi9kcml2ZXJzL3BjaS9wY2kuYw0KQEAgLTE5MTUsMTAgKzE5MTUsNiBAQCB2b2lk IHBjaV9lbmFibGVfYXJpKHN0cnVjdCBwY2lfZGV2ICpkZXYpDQogCWlmICghcGNpX2lzX3BjaWUo ZGV2KSB8fCBkZXYtPmRldmZuKQ0KIAkJcmV0dXJuOw0KIA0KLQlwb3MgPSBwY2lfZmluZF9leHRf Y2FwYWJpbGl0eShkZXYsIFBDSV9FWFRfQ0FQX0lEX0FSSSk7DQotCWlmICghcG9zKQ0KLQkJcmV0 dXJuOw0KLQ0KIAlicmlkZ2UgPSBkZXYtPmJ1cy0+c2VsZjsNCiAJaWYgKCFicmlkZ2UgfHwgIXBj aV9pc19wY2llKGJyaWRnZSkpDQogCQlyZXR1cm47DQpAQCAtMTkzNywxMCArMTkzMywxNCBAQCB2 b2lkIHBjaV9lbmFibGVfYXJpKHN0cnVjdCBwY2lfZGV2ICpkZXYpDQogCQlyZXR1cm47DQogDQog CXBjaV9yZWFkX2NvbmZpZ193b3JkKGJyaWRnZSwgcG9zICsgUENJX0VYUF9ERVZDVEwyLCAmY3Ry bCk7DQotCWN0cmwgfD0gUENJX0VYUF9ERVZDVEwyX0FSSTsNCisJaWYgKHBjaV9maW5kX2V4dF9j YXBhYmlsaXR5KGRldiwgUENJX0VYVF9DQVBfSURfQVJJKSkgew0KKwkJY3RybCB8PSBQQ0lfRVhQ X0RFVkNUTDJfQVJJOw0KKwkJYnJpZGdlLT5hcmlfZW5hYmxlZCA9IDE7DQorCX0gZWxzZSB7DQor CQljdHJsICY9IH5QQ0lfRVhQX0RFVkNUTDJfQVJJOw0KKwkJYnJpZGdlLT5hcmlfZW5hYmxlZCA9 IDA7DQorCX0NCiAJcGNpX3dyaXRlX2NvbmZpZ193b3JkKGJyaWRnZSwgcG9zICsgUENJX0VYUF9E RVZDVEwyLCBjdHJsKTsNCi0NCi0JYnJpZGdlLT5hcmlfZW5hYmxlZCA9IDE7DQogfQ0KIA0KIC8q Kg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9jb21lZGkvZHJpdmVycy9jYl9wY2lkaW8u YyBiL2RyaXZlcnMvc3RhZ2luZy9jb21lZGkvZHJpdmVycy9jYl9wY2lkaW8uYw0KaW5kZXggNzk0 NzdhNS4uYjNjOWM4ZiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvc3RhZ2luZy9jb21lZGkvZHJpdmVy cy9jYl9wY2lkaW8uYw0KKysrIGIvZHJpdmVycy9zdGFnaW5nL2NvbWVkaS9kcml2ZXJzL2NiX3Bj aWRpby5jDQpAQCAtNTYsMTAgKzU2LDYgQEAgc3RydWN0IHBjaWRpb19ib2FyZCB7DQogCWNvbnN0 IGNoYXIgKm5hbWU7CS8qICBuYW1lIG9mIHRoZSBib2FyZCAqLw0KIAlpbnQgZGV2X2lkOw0KIAlp bnQgbl84MjU1OwkJLyogIG51bWJlciBvZiA4MjU1IGNoaXBzIG9uIGJvYXJkICovDQotDQotCS8q ICBpbmRpY2VzIG9mIGJhc2UgYWRkcmVzcyByZWdpb25zICovDQotCWludCBwY2ljb250cm9sZXJf YmFkcmluZGV4Ow0KLQlpbnQgZGlvcmVnc19iYWRyaW5kZXg7DQogfTsNCiANCiBzdGF0aWMgY29u c3Qgc3RydWN0IHBjaWRpb19ib2FyZCBwY2lkaW9fYm9hcmRzW10gPSB7DQpAQCAtNjcsMjIgKzYz LDE2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGNpZGlvX2JvYXJkIHBjaWRpb19ib2FyZHNbXSA9 IHsNCiAJIC5uYW1lID0gInBjaS1kaW8yNCIsDQogCSAuZGV2X2lkID0gMHgwMDI4LA0KIAkgLm5f ODI1NSA9IDEsDQotCSAucGNpY29udHJvbGVyX2JhZHJpbmRleCA9IDEsDQotCSAuZGlvcmVnc19i YWRyaW5kZXggPSAyLA0KIAkgfSwNCiAJew0KIAkgLm5hbWUgPSAicGNpLWRpbzI0aCIsDQogCSAu ZGV2X2lkID0gMHgwMDE0LA0KIAkgLm5fODI1NSA9IDEsDQotCSAucGNpY29udHJvbGVyX2JhZHJp bmRleCA9IDEsDQotCSAuZGlvcmVnc19iYWRyaW5kZXggPSAyLA0KIAkgfSwNCiAJew0KIAkgLm5h bWUgPSAicGNpLWRpbzQ4aCIsDQogCSAuZGV2X2lkID0gMHgwMDBiLA0KIAkgLm5fODI1NSA9IDIs DQotCSAucGNpY29udHJvbGVyX2JhZHJpbmRleCA9IDAsDQotCSAuZGlvcmVnc19iYWRyaW5kZXgg PSAxLA0KIAkgfSwNCiB9Ow0KIA0KQEAgLTI0NCwxMCArMjM0LDE1IEBAIGZvdW5kOg0KIAkJICAg ICgiY2JfcGNpZGlvOiBmYWlsZWQgdG8gZW5hYmxlIFBDSSBkZXZpY2UgYW5kIHJlcXVlc3QgcmVn aW9uc1xuIik7DQogCQlyZXR1cm4gLUVJTzsNCiAJfQ0KLQlkZXZwcml2LT5kaW9fcmVnX2Jhc2UN Ci0JICAgID0NCisJLyoNCisJICogVXNlIFBDSSBCQVIgMiByZWdpb24gaWYgbm9uLXplcm8gbGVu Z3RoLCBlbHNlIHVzZSBQQ0kgQkFSIDEgcmVnaW9uLg0KKwkgKiBQQ0kgQkFSIDEgaXMgb25seSB1 c2VkIGZvciBvbGRlciBQQ0ktRElPNDhIIGJvYXJkcy4gIEF0IHNvbWUgcG9pbnQNCisJICogdGhl IFBDSS1ESU80OEggd2FzIHJlZGVzaWduZWQgdG8gdXNlIHRoZSBzYW1lIFBDSSBpbnRlcmZhY2Ug Y2hpcA0KKwkgKiAoYW5kIHNhbWUgUENJIEJBUiByZWdpb24pIGFzIHRoZSBvdGhlciBib2FyZHMu DQorCSAqLw0KKwlkZXZwcml2LT5kaW9fcmVnX2Jhc2UgPQ0KIAkgICAgcGNpX3Jlc291cmNlX3N0 YXJ0KGRldnByaXYtPnBjaV9kZXYsDQotCQkJICAgICAgIHBjaWRpb19ib2FyZHNbaW5kZXhdLmRp b3JlZ3NfYmFkcmluZGV4KTsNCisJCQkgICAgICAgKHBjaV9yZXNvdXJjZV9sZW4ocGNpZGV2LCAy KSA/IDIgOiAxKSk7DQogDQogLyoNCiAgKiBBbGxvY2F0ZSB0aGUgc3ViZGV2aWNlIHN0cnVjdHVy ZXMuICBhbGxvY19zdWJkZXZpY2UoKSBpcyBhDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy90YXJnZXQv aXNjc2kvaXNjc2lfdGFyZ2V0LmMgYi9kcml2ZXJzL3RhcmdldC9pc2NzaS9pc2NzaV90YXJnZXQu Yw0KaW5kZXggM2VmZmRlMi4uNDVjMTNhNiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvdGFyZ2V0L2lz Y3NpL2lzY3NpX3RhcmdldC5jDQorKysgYi9kcml2ZXJzL3RhcmdldC9pc2NzaS9pc2NzaV90YXJn ZXQuYw0KQEAgLTg2MSwyNCArODYxLDIyIEBAIHN0YXRpYyBpbnQgaXNjc2l0X2hhbmRsZV9zY3Np X2NtZCgNCiAJaWYgKCgoaGRyLT5mbGFncyAmIElTQ1NJX0ZMQUdfQ01EX1JFQUQpIHx8DQogCSAg ICAgKGhkci0+ZmxhZ3MgJiBJU0NTSV9GTEFHX0NNRF9XUklURSkpICYmICFoZHItPmRhdGFfbGVu Z3RoKSB7DQogCQkvKg0KLQkJICogVm13YXJlIEVTWCB2My4wIHVzZXMgYSBtb2RpZmllZCBDaXNj byBJbml0aWF0b3IgKHYzLjQuMikNCi0JCSAqIHRoYXQgYWRkcyBzdXBwb3J0IGZvciBSRVNFUlZF L1JFTEVBU0UuICBUaGVyZSBpcyBhIGJ1Zw0KLQkJICogYWRkIHdpdGggdGhpcyBuZXcgZnVuY3Rp b25hbGl0eSB0aGF0IHNldHMgUi9XIGJpdHMgd2hlbg0KLQkJICogbmVpdGhlciBDREIgY2Fycmll cyBhbnkgUkVBRCBvciBXUklURSBkYXRhcGF5bG9hZHMuDQorCQkgKiBGcm9tIFJGQy0zNzIwIFNl Y3Rpb24gMTAuMy4xOg0KKwkJICoNCisJCSAqICJFaXRoZXIgb3IgYm90aCBvZiBSIGFuZCBXIE1B WSBiZSAxIHdoZW4gZWl0aGVyIHRoZQ0KKwkJICogIEV4cGVjdGVkIERhdGEgVHJhbnNmZXIgTGVu Z3RoIGFuZC9vciBCaWRpcmVjdGlvbmFsIFJlYWQNCisJCSAqICBFeHBlY3RlZCBEYXRhIFRyYW5z ZmVyIExlbmd0aCBhcmUgMCINCisJCSAqDQorCQkgKiBGb3IgdGhpcyBjYXNlLCBnbyBhaGVhZCBh bmQgY2xlYXIgdGhlIHVubmVjc3NhcnkgYml0cw0KKwkJICogdG8gYXZvaWQgYW55IGNvbmZ1c2lv biB3aXRoIC0+ZGF0YV9kaXJlY3Rpb24uDQogCQkgKi8NCi0JCWlmICgoaGRyLT5jZGJbMF0gPT0g MHgxNikgfHwgKGhkci0+Y2RiWzBdID09IDB4MTcpKSB7DQotCQkJaGRyLT5mbGFncyAmPSB+SVND U0lfRkxBR19DTURfUkVBRDsNCi0JCQloZHItPmZsYWdzICY9IH5JU0NTSV9GTEFHX0NNRF9XUklU RTsNCi0JCQlnb3RvIGRvbmU7DQotCQl9DQorCQloZHItPmZsYWdzICY9IH5JU0NTSV9GTEFHX0NN RF9SRUFEOw0KKwkJaGRyLT5mbGFncyAmPSB+SVNDU0lfRkxBR19DTURfV1JJVEU7DQogDQotCQlw cl9lcnIoIklTQ1NJX0ZMQUdfQ01EX1JFQUQgb3IgSVNDU0lfRkxBR19DTURfV1JJVEUiDQorCQlw cl93YXJuKCJJU0NTSV9GTEFHX0NNRF9SRUFEIG9yIElTQ1NJX0ZMQUdfQ01EX1dSSVRFIg0KIAkJ CSIgc2V0IHdoZW4gRXhwZWN0ZWQgRGF0YSBUcmFuc2ZlciBMZW5ndGggaXMgMCBmb3IiDQotCQkJ IiBDREI6IDB4JTAyeC4gQmFkIGlTQ1NJIEluaXRpYXRvci5cbiIsIGhkci0+Y2RiWzBdKTsNCi0J CXJldHVybiBpc2NzaXRfYWRkX3JlamVjdChJU0NTSV9SRUFTT05fQk9PS01BUktfSU5WQUxJRCwg MSwNCi0JCQkJYnVmLCBjb25uKTsNCisJCQkiIENEQjogMHglMDJ4LCBGaXhpbmcgdXAgZmxhZ3Nc biIsIGhkci0+Y2RiWzBdKTsNCiAJfQ0KLWRvbmU6DQogDQogCWlmICghKGhkci0+ZmxhZ3MgJiBJ U0NTSV9GTEFHX0NNRF9SRUFEKSAmJg0KIAkgICAgIShoZHItPmZsYWdzICYgSVNDU0lfRkxBR19D TURfV1JJVEUpICYmIChoZHItPmRhdGFfbGVuZ3RoICE9IDApKSB7DQpkaWZmIC0tZ2l0IGEvZHJp dmVycy91c2IvaG9zdC94aGNpLXBjaS5jIGIvZHJpdmVycy91c2IvaG9zdC94aGNpLXBjaS5jDQpp bmRleCA4MjdmOTMzLi4xNTY4NWMzIDEwMDY0NA0KLS0tIGEvZHJpdmVycy91c2IvaG9zdC94aGNp LXBjaS5jDQorKysgYi9kcml2ZXJzL3VzYi9ob3N0L3hoY2ktcGNpLmMNCkBAIC0xMjEsNyArMTIx LDEyIEBAIHN0YXRpYyB2b2lkIHhoY2lfcGNpX3F1aXJrcyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0 cnVjdCB4aGNpX2hjZCAqeGhjaSkNCiAJCSAqIGFueSBvdGhlciBzbGVlcCkgb24gSGFzd2VsbCBt YWNoaW5lcyB3aXRoIExQVCBhbmQgTFBULUxQDQogCQkgKiB3aXRoIHRoZSBuZXcgSW50ZWwgQklP Uw0KIAkJICovDQotCQl4aGNpLT5xdWlya3MgfD0gWEhDSV9TUFVSSU9VU19XQUtFVVA7DQorCQkv KiBMaW1pdCB0aGUgcXVpcmsgdG8gb25seSBrbm93biB2ZW5kb3JzLCBhcyB0aGlzIHRyaWdnZXJz DQorCQkgKiB5ZXQgYW5vdGhlciBCSU9TIGJ1ZyBvbiBzb21lIG90aGVyIG1hY2hpbmVzDQorCQkg KiBodHRwczovL2J1Z3ppbGxhLmtlcm5lbC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTcxDQorCQkg Ki8NCisJCWlmIChwZGV2LT5zdWJzeXN0ZW1fdmVuZG9yID09IFBDSV9WRU5ET1JfSURfSFApDQor CQkJeGhjaS0+cXVpcmtzIHw9IFhIQ0lfU1BVUklPVVNfV0FLRVVQOw0KIAl9DQogCWlmIChwZGV2 LT52ZW5kb3IgPT0gUENJX1ZFTkRPUl9JRF9FVFJPTiAmJg0KIAkJCXBkZXYtPmRldmljZSA9PSBQ Q0lfREVWSUNFX0lEX0FTUk9DS19QNjcpIHsNCmRpZmYgLS1naXQgYS9mcy9jZXBoL21kc19jbGll bnQuYyBiL2ZzL2NlcGgvbWRzX2NsaWVudC5jDQppbmRleCA2MjAzZDgwLi5iMjRlMmQzIDEwMDY0 NA0KLS0tIGEvZnMvY2VwaC9tZHNfY2xpZW50LmMNCisrKyBiL2ZzL2NlcGgvbWRzX2NsaWVudC5j DQpAQCAtNjA4LDYgKzYwOCw4IEBAIHN0YXRpYyB2b2lkIF9fdW5yZWdpc3Rlcl9yZXF1ZXN0KHN0 cnVjdCBjZXBoX21kc19jbGllbnQgKm1kc2MsDQogCQlyZXEtPnJfdW5zYWZlX2RpciA9IE5VTEw7 DQogCX0NCiANCisJY29tcGxldGVfYWxsKCZyZXEtPnJfc2FmZV9jb21wbGV0aW9uKTsNCisNCiAJ Y2VwaF9tZHNjX3B1dF9yZXF1ZXN0KHJlcSk7DQogfQ0KIA0KQEAgLTE4MTUsOCArMTgxNywxMSBA QCBzdGF0aWMgaW50IF9fZG9fcmVxdWVzdChzdHJ1Y3QgY2VwaF9tZHNfY2xpZW50ICptZHNjLA0K IAlpbnQgbWRzID0gLTE7DQogCWludCBlcnIgPSAtRUFHQUlOOw0KIA0KLQlpZiAocmVxLT5yX2Vy ciB8fCByZXEtPnJfZ290X3Jlc3VsdCkNCisJaWYgKHJlcS0+cl9lcnIgfHwgcmVxLT5yX2dvdF9y ZXN1bHQpIHsNCisJCWlmIChyZXEtPnJfYWJvcnRlZCkNCisJCQlfX3VucmVnaXN0ZXJfcmVxdWVz dChtZHNjLCByZXEpOw0KIAkJZ290byBvdXQ7DQorCX0NCiANCiAJaWYgKHJlcS0+cl90aW1lb3V0 ICYmDQogCSAgICB0aW1lX2FmdGVyX2VxKGppZmZpZXMsIHJlcS0+cl9zdGFydGVkICsgcmVxLT5y X3RpbWVvdXQpKSB7DQpAQCAtMjEyNCw3ICsyMTI5LDYgQEAgc3RhdGljIHZvaWQgaGFuZGxlX3Jl cGx5KHN0cnVjdCBjZXBoX21kc19zZXNzaW9uICpzZXNzaW9uLCBzdHJ1Y3QgY2VwaF9tc2cgKm1z ZykNCiAJaWYgKGhlYWQtPnNhZmUpIHsNCiAJCXJlcS0+cl9nb3Rfc2FmZSA9IHRydWU7DQogCQlf X3VucmVnaXN0ZXJfcmVxdWVzdChtZHNjLCByZXEpOw0KLQkJY29tcGxldGVfYWxsKCZyZXEtPnJf c2FmZV9jb21wbGV0aW9uKTsNCiANCiAJCWlmIChyZXEtPnJfZ290X3Vuc2FmZSkgew0KIAkJCS8q DQpkaWZmIC0tZ2l0IGEvZnMvZXh0Mi9zdXBlci5jIGIvZnMvZXh0Mi9zdXBlci5jDQppbmRleCBi ZDhhYzE2Li45NGI5ZTMyIDEwMDY0NA0KLS0tIGEvZnMvZXh0Mi9zdXBlci5jDQorKysgYi9mcy9l eHQyL3N1cGVyLmMNCkBAIC0xNDQ4LDYgKzE0NDgsNyBAQCBzdGF0aWMgc3NpemVfdCBleHQyX3F1 b3RhX3dyaXRlKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIGludCB0eXBlLA0KIAkJCQlzYi0+c19i bG9ja3NpemUgLSBvZmZzZXQgOiB0b3dyaXRlOw0KIA0KIAkJdG1wX2JoLmJfc3RhdGUgPSAwOw0K KwkJdG1wX2JoLmJfc2l6ZSA9IHNiLT5zX2Jsb2Nrc2l6ZTsNCiAJCWVyciA9IGV4dDJfZ2V0X2Js b2NrKGlub2RlLCBibGssICZ0bXBfYmgsIDEpOw0KIAkJaWYgKGVyciA8IDApDQogCQkJZ290byBv dXQ7DQpkaWZmIC0tZ2l0IGEvZnMvZXh0NC9leHQ0LmggYi9mcy9leHQ0L2V4dDQuaA0KaW5kZXgg MjJjNzFiOS4uNjhiMTYwMiAxMDA2NDQNCi0tLSBhL2ZzL2V4dDQvZXh0NC5oDQorKysgYi9mcy9l eHQ0L2V4dDQuaA0KQEAgLTI3OCw2ICsyNzgsMTYgQEAgc3RydWN0IGV4dDRfaW9fc3VibWl0IHsN CiAvKiBUcmFuc2xhdGUgIyBvZiBibGtzIHRvICMgb2YgY2x1c3RlcnMgKi8NCiAjZGVmaW5lIEVY VDRfTlVNX0IyQyhzYmksIGJsa3MpCSgoKGJsa3MpICsgKHNiaSktPnNfY2x1c3Rlcl9yYXRpbyAt IDEpID4+IFwNCiAJCQkJIChzYmkpLT5zX2NsdXN0ZXJfYml0cykNCisvKiBNYXNrIG91dCB0aGUg bG93IGJpdHMgdG8gZ2V0IHRoZSBzdGFydGluZyBibG9jayBvZiB0aGUgY2x1c3RlciAqLw0KKyNk ZWZpbmUgRVhUNF9QQkxLX0NNQVNLKHMsIHBibGspICgocGJsaykgJgkJCQlcDQorCQkJCSAgfigo ZXh0NF9mc2Jsa190KSAocyktPnNfY2x1c3Rlcl9yYXRpbyAtIDEpKQ0KKyNkZWZpbmUgRVhUNF9M QkxLX0NNQVNLKHMsIGxibGspICgobGJsaykgJgkJCQlcDQorCQkJCSAgfigoZXh0NF9sYmxrX3Qp IChzKS0+c19jbHVzdGVyX3JhdGlvIC0gMSkpDQorLyogR2V0IHRoZSBjbHVzdGVyIG9mZnNldCAq Lw0KKyNkZWZpbmUgRVhUNF9QQkxLX0NPRkYocywgcGJsaykgKChwYmxrKSAmCQkJCVwNCisJCQkJ ICgoZXh0NF9mc2Jsa190KSAocyktPnNfY2x1c3Rlcl9yYXRpbyAtIDEpKQ0KKyNkZWZpbmUgRVhU NF9MQkxLX0NPRkYocywgbGJsaykgKChsYmxrKSAmCQkJCVwNCisJCQkJICgoZXh0NF9sYmxrX3Qp IChzKS0+c19jbHVzdGVyX3JhdGlvIC0gMSkpDQogDQogLyoNCiAgKiBTdHJ1Y3R1cmUgb2YgYSBi bG9ja3MgZ3JvdXAgZGVzY3JpcHRvcg0KZGlmZiAtLWdpdCBhL2ZzL2V4dDQvZXh0NF9qYmQyLmMg Yi9mcy9leHQ0L2V4dDRfamJkMi5jDQppbmRleCBkMGI4Zjk4Li45OTk1Yjk5IDEwMDY0NA0KLS0t IGEvZnMvZXh0NC9leHQ0X2piZDIuYw0KKysrIGIvZnMvZXh0NC9leHQ0X2piZDIuYw0KQEAgLTEx Myw2ICsxMTMsMTAgQEAgaW50IF9fZXh0NF9oYW5kbGVfZGlydHlfbWV0YWRhdGEoY29uc3QgY2hh ciAqd2hlcmUsIHVuc2lnbmVkIGludCBsaW5lLA0KIAkJaWYgKFdBUk5fT05fT05DRShlcnIpKSB7 DQogCQkJZXh0NF9qb3VybmFsX2Fib3J0X2hhbmRsZSh3aGVyZSwgbGluZSwgX19mdW5jX18sIGJo LA0KIAkJCQkJCSAgaGFuZGxlLCBlcnIpOw0KKwkJCWV4dDRfZXJyb3JfaW5vZGUoaW5vZGUsIHdo ZXJlLCBsaW5lLA0KKwkJCQkJIGJoLT5iX2Jsb2NrbnIsDQorCQkJCQkgImpvdXJuYWxfZGlydHlf bWV0YWRhdGEgZmFpbGVkOiAiDQorCQkJCQkgImVycmNvZGUgJWQiLCBlcnIpOw0KIAkJfQ0KIAl9 IGVsc2Ugew0KIAkJaWYgKGlub2RlKQ0KZGlmZiAtLWdpdCBhL2ZzL2V4dDQvZXh0ZW50cy5jIGIv ZnMvZXh0NC9leHRlbnRzLmMNCmluZGV4IDNlOGZjODAuLmJmMzVmZTAgMTAwNjQ0DQotLS0gYS9m cy9leHQ0L2V4dGVudHMuYw0KKysrIGIvZnMvZXh0NC9leHRlbnRzLmMNCkBAIC0zMTgsOCArMzE4 LDEwIEBAIHN0YXRpYyBpbnQgZXh0NF92YWxpZF9leHRlbnQoc3RydWN0IGlub2RlICppbm9kZSwg c3RydWN0IGV4dDRfZXh0ZW50ICpleHQpDQogew0KIAlleHQ0X2ZzYmxrX3QgYmxvY2sgPSBleHQ0 X2V4dF9wYmxvY2soZXh0KTsNCiAJaW50IGxlbiA9IGV4dDRfZXh0X2dldF9hY3R1YWxfbGVuKGV4 dCk7DQorCWV4dDRfbGJsa190IGxibG9jayA9IGxlMzJfdG9fY3B1KGV4dC0+ZWVfYmxvY2spOw0K KwlleHQ0X2xibGtfdCBsYXN0ID0gbGJsb2NrICsgbGVuIC0gMTsNCiANCi0JaWYgKGxlbiA9PSAw KQ0KKwlpZiAobGJsb2NrID4gbGFzdCkNCiAJCXJldHVybiAwOw0KIAlyZXR1cm4gZXh0NF9kYXRh X2Jsb2NrX3ZhbGlkKEVYVDRfU0IoaW5vZGUtPmlfc2IpLCBibG9jaywgbGVuKTsNCiB9DQpAQCAt MzQ1LDExICszNDcsMjYgQEAgc3RhdGljIGludCBleHQ0X3ZhbGlkX2V4dGVudF9lbnRyaWVzKHN0 cnVjdCBpbm9kZSAqaW5vZGUsDQogCWlmIChkZXB0aCA9PSAwKSB7DQogCQkvKiBsZWFmIGVudHJp ZXMgKi8NCiAJCXN0cnVjdCBleHQ0X2V4dGVudCAqZXh0ID0gRVhUX0ZJUlNUX0VYVEVOVChlaCk7 DQorCQlzdHJ1Y3QgZXh0NF9zdXBlcl9ibG9jayAqZXMgPSBFWFQ0X1NCKGlub2RlLT5pX3NiKS0+ c19lczsNCisJCWV4dDRfZnNibGtfdCBwYmxvY2sgPSAwOw0KKwkJZXh0NF9sYmxrX3QgbGJsb2Nr ID0gMDsNCisJCWV4dDRfbGJsa190IHByZXYgPSAwOw0KKwkJaW50IGxlbiA9IDA7DQogCQl3aGls ZSAoZW50cmllcykgew0KIAkJCWlmICghZXh0NF92YWxpZF9leHRlbnQoaW5vZGUsIGV4dCkpDQog CQkJCXJldHVybiAwOw0KKw0KKwkJCS8qIENoZWNrIGZvciBvdmVybGFwcGluZyBleHRlbnRzICov DQorCQkJbGJsb2NrID0gbGUzMl90b19jcHUoZXh0LT5lZV9ibG9jayk7DQorCQkJbGVuID0gZXh0 NF9leHRfZ2V0X2FjdHVhbF9sZW4oZXh0KTsNCisJCQlpZiAoKGxibG9jayA8PSBwcmV2KSAmJiBw cmV2KSB7DQorCQkJCXBibG9jayA9IGV4dDRfZXh0X3BibG9jayhleHQpOw0KKwkJCQllcy0+c19s YXN0X2Vycm9yX2Jsb2NrID0gY3B1X3RvX2xlNjQocGJsb2NrKTsNCisJCQkJcmV0dXJuIDA7DQor CQkJfQ0KIAkJCWV4dCsrOw0KIAkJCWVudHJpZXMtLTsNCisJCQlwcmV2ID0gbGJsb2NrICsgbGVu IC0gMTsNCiAJCX0NCiAJfSBlbHNlIHsNCiAJCXN0cnVjdCBleHQ0X2V4dGVudF9pZHggKmV4dF9p ZHggPSBFWFRfRklSU1RfSU5ERVgoZWgpOw0KQEAgLTE2NDIsOCArMTY1OSw3IEBAIHN0YXRpYyB1 bnNpZ25lZCBpbnQgZXh0NF9leHRfY2hlY2tfb3ZlcmxhcChzdHJ1Y3QgZXh0NF9zYl9pbmZvICpz YmksDQogCWRlcHRoID0gZXh0X2RlcHRoKGlub2RlKTsNCiAJaWYgKCFwYXRoW2RlcHRoXS5wX2V4 dCkNCiAJCWdvdG8gb3V0Ow0KLQliMiA9IGxlMzJfdG9fY3B1KHBhdGhbZGVwdGhdLnBfZXh0LT5l ZV9ibG9jayk7DQotCWIyICY9IH4oc2JpLT5zX2NsdXN0ZXJfcmF0aW8gLSAxKTsNCisJYjIgPSBF WFQ0X0xCTEtfQ01BU0soc2JpLCBsZTMyX3RvX2NwdShwYXRoW2RlcHRoXS5wX2V4dC0+ZWVfYmxv Y2spKTsNCiANCiAJLyoNCiAJICogZ2V0IHRoZSBuZXh0IGFsbG9jYXRlZCBibG9jayBpZiB0aGUg ZXh0ZW50IGluIHRoZSBwYXRoDQpAQCAtMTY1Myw3ICsxNjY5LDcgQEAgc3RhdGljIHVuc2lnbmVk IGludCBleHQ0X2V4dF9jaGVja19vdmVybGFwKHN0cnVjdCBleHQ0X3NiX2luZm8gKnNiaSwNCiAJ CWIyID0gZXh0NF9leHRfbmV4dF9hbGxvY2F0ZWRfYmxvY2socGF0aCk7DQogCQlpZiAoYjIgPT0g RVhUX01BWF9CTE9DS1MpDQogCQkJZ290byBvdXQ7DQotCQliMiAmPSB+KHNiaS0+c19jbHVzdGVy X3JhdGlvIC0gMSk7DQorCQliMiA9IEVYVDRfTEJMS19DTUFTSyhzYmksIGIyKTsNCiAJfQ0KIA0K IAkvKiBjaGVjayBmb3Igd3JhcCB0aHJvdWdoIHplcm8gb24gZXh0ZW50IGxvZ2ljYWwgc3RhcnQg YmxvY2sqLw0KQEAgLTIyODgsNyArMjMwNCw3IEBAIHN0YXRpYyBpbnQgZXh0NF9yZW1vdmVfYmxv Y2tzKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsDQogCQkgKiB0cnVuY2F0 ZSBvcGVyYXRpb24gaGFzIHJlbW92ZWQgYWxsIG9mIHRoZSBibG9ja3MgaW4NCiAJCSAqIHRoZSBj bHVzdGVyLg0KIAkJICovDQotCQlpZiAocGJsayAmIChzYmktPnNfY2x1c3Rlcl9yYXRpbyAtIDEp ICYmDQorCQlpZiAoRVhUNF9QQkxLX0NPRkYoc2JpLCBwYmxrKSAmJg0KIAkJICAgIChlZV9sZW4g PT0gbnVtKSkNCiAJCQkqcGFydGlhbF9jbHVzdGVyID0gRVhUNF9CMkMoc2JpLCBwYmxrKTsNCiAJ CWVsc2UNCkBAIC0zNDkxLDcgKzM1MDcsNyBAQCBpbnQgZXh0NF9maW5kX2RlbGFsbG9jX2NsdXN0 ZXIoc3RydWN0IGlub2RlICppbm9kZSwgZXh0NF9sYmxrX3QgbGJsaywNCiB7DQogCXN0cnVjdCBl eHQ0X3NiX2luZm8gKnNiaSA9IEVYVDRfU0IoaW5vZGUtPmlfc2IpOw0KIAlleHQ0X2xibGtfdCBs YmxrX3N0YXJ0LCBsYmxrX2VuZDsNCi0JbGJsa19zdGFydCA9IGxibGsgJiAofihzYmktPnNfY2x1 c3Rlcl9yYXRpbyAtIDEpKTsNCisJbGJsa19zdGFydCA9IEVYVDRfTEJMS19DTUFTSyhzYmksIGxi bGspOw0KIAlsYmxrX2VuZCA9IGxibGtfc3RhcnQgKyBzYmktPnNfY2x1c3Rlcl9yYXRpbyAtIDE7 DQogDQogCXJldHVybiBleHQ0X2ZpbmRfZGVsYWxsb2NfcmFuZ2UoaW5vZGUsIGxibGtfc3RhcnQs IGxibGtfZW5kLA0KQEAgLTM1NTEsOSArMzU2Nyw5IEBAIGdldF9yZXNlcnZlZF9jbHVzdGVyX2Fs bG9jKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGV4dDRfbGJsa190IGxibGtfc3RhcnQsDQogCXRyYWNl X2V4dDRfZ2V0X3Jlc2VydmVkX2NsdXN0ZXJfYWxsb2MoaW5vZGUsIGxibGtfc3RhcnQsIG51bV9i bGtzKTsNCiANCiAJLyogQ2hlY2sgdG93YXJkcyBsZWZ0IHNpZGUgKi8NCi0JY19vZmZzZXQgPSBs YmxrX3N0YXJ0ICYgKHNiaS0+c19jbHVzdGVyX3JhdGlvIC0gMSk7DQorCWNfb2Zmc2V0ID0gRVhU NF9MQkxLX0NPRkYoc2JpLCBsYmxrX3N0YXJ0KTsNCiAJaWYgKGNfb2Zmc2V0KSB7DQotCQlsYmxr X2Zyb20gPSBsYmxrX3N0YXJ0ICYgKH4oc2JpLT5zX2NsdXN0ZXJfcmF0aW8gLSAxKSk7DQorCQls YmxrX2Zyb20gPSBFWFQ0X0xCTEtfQ01BU0soc2JpLCBsYmxrX3N0YXJ0KTsNCiAJCWxibGtfdG8g PSBsYmxrX2Zyb20gKyBjX29mZnNldCAtIDE7DQogDQogCQlpZiAoZXh0NF9maW5kX2RlbGFsbG9j X3JhbmdlKGlub2RlLCBsYmxrX2Zyb20sIGxibGtfdG8sIDApKQ0KQEAgLTM1NjEsNyArMzU3Nyw3 IEBAIGdldF9yZXNlcnZlZF9jbHVzdGVyX2FsbG9jKHN0cnVjdCBpbm9kZSAqaW5vZGUsIGV4dDRf bGJsa190IGxibGtfc3RhcnQsDQogCX0NCiANCiAJLyogTm93IGNoZWNrIHRvd2FyZHMgcmlnaHQu ICovDQotCWNfb2Zmc2V0ID0gKGxibGtfc3RhcnQgKyBudW1fYmxrcykgJiAoc2JpLT5zX2NsdXN0 ZXJfcmF0aW8gLSAxKTsNCisJY19vZmZzZXQgPSBFWFQ0X0xCTEtfQ09GRihzYmksIGxibGtfc3Rh cnQgKyBudW1fYmxrcyk7DQogCWlmIChhbGxvY2F0ZWRfY2x1c3RlcnMgJiYgY19vZmZzZXQpIHsN CiAJCWxibGtfZnJvbSA9IGxibGtfc3RhcnQgKyBudW1fYmxrczsNCiAJCWxibGtfdG8gPSBsYmxr X2Zyb20gKyAoc2JpLT5zX2NsdXN0ZXJfcmF0aW8gLSBjX29mZnNldCkgLSAxOw0KQEAgLTM3NTQs NyArMzc3MCw3IEBAIHN0YXRpYyBpbnQgZ2V0X2ltcGxpZWRfY2x1c3Rlcl9hbGxvYyhzdHJ1Y3Qg c3VwZXJfYmxvY2sgKnNiLA0KIAkJCQkgICAgIHN0cnVjdCBleHQ0X2V4dF9wYXRoICpwYXRoKQ0K IHsNCiAJc3RydWN0IGV4dDRfc2JfaW5mbyAqc2JpID0gRVhUNF9TQihzYik7DQotCWV4dDRfbGJs a190IGNfb2Zmc2V0ID0gbWFwLT5tX2xibGsgJiAoc2JpLT5zX2NsdXN0ZXJfcmF0aW8tMSk7DQor CWV4dDRfbGJsa190IGNfb2Zmc2V0ID0gRVhUNF9MQkxLX0NPRkYoc2JpLCBtYXAtPm1fbGJsayk7 DQogCWV4dDRfbGJsa190IGV4X2NsdXN0ZXJfc3RhcnQsIGV4X2NsdXN0ZXJfZW5kOw0KIAlleHQ0 X2xibGtfdCBycl9jbHVzdGVyX3N0YXJ0LCBycl9jbHVzdGVyX2VuZDsNCiAJZXh0NF9sYmxrX3Qg ZWVfYmxvY2sgPSBsZTMyX3RvX2NwdShleC0+ZWVfYmxvY2spOw0KQEAgLTM3NzMsOCArMzc4OSw3 IEBAIHN0YXRpYyBpbnQgZ2V0X2ltcGxpZWRfY2x1c3Rlcl9hbGxvYyhzdHJ1Y3Qgc3VwZXJfYmxv Y2sgKnNiLA0KIAkgICAgKHJyX2NsdXN0ZXJfc3RhcnQgPT0gZXhfY2x1c3Rlcl9zdGFydCkpIHsN CiAJCWlmIChycl9jbHVzdGVyX3N0YXJ0ID09IGV4X2NsdXN0ZXJfZW5kKQ0KIAkJCWVlX3N0YXJ0 ICs9IGVlX2xlbiAtIDE7DQotCQltYXAtPm1fcGJsayA9IChlZV9zdGFydCAmIH4oc2JpLT5zX2Ns dXN0ZXJfcmF0aW8gLSAxKSkgKw0KLQkJCWNfb2Zmc2V0Ow0KKwkJbWFwLT5tX3BibGsgPSBFWFQ0 X1BCTEtfQ01BU0soc2JpLCBlZV9zdGFydCkgKyBjX29mZnNldDsNCiAJCW1hcC0+bV9sZW4gPSBt aW4obWFwLT5tX2xlbiwNCiAJCQkJICh1bnNpZ25lZCkgc2JpLT5zX2NsdXN0ZXJfcmF0aW8gLSBj X29mZnNldCk7DQogCQkvKg0KQEAgLTQwNTIsNyArNDA2Nyw3IEBAIGludCBleHQ0X2V4dF9tYXBf YmxvY2tzKGhhbmRsZV90ICpoYW5kbGUsIHN0cnVjdCBpbm9kZSAqaW5vZGUsDQogCSAqLw0KIAlt YXAtPm1fZmxhZ3MgJj0gfkVYVDRfTUFQX0ZST01fQ0xVU1RFUjsNCiAJbmV3ZXguZWVfYmxvY2sg PSBjcHVfdG9fbGUzMihtYXAtPm1fbGJsayk7DQotCWNsdXN0ZXJfb2Zmc2V0ID0gbWFwLT5tX2xi bGsgJiAoc2JpLT5zX2NsdXN0ZXJfcmF0aW8tMSk7DQorCWNsdXN0ZXJfb2Zmc2V0ID0gRVhUNF9M QkxLX0NNQVNLKHNiaSwgbWFwLT5tX2xibGspOw0KIA0KIAkvKg0KIAkgKiBJZiB3ZSBhcmUgZG9p bmcgYmlnYWxsb2MsIGNoZWNrIHRvIHNlZSBpZiB0aGUgZXh0ZW50IHJldHVybmVkDQpAQCAtNDEy MCw3ICs0MTM1LDcgQEAgaW50IGV4dDRfZXh0X21hcF9ibG9ja3MoaGFuZGxlX3QgKmhhbmRsZSwg c3RydWN0IGlub2RlICppbm9kZSwNCiAJICogbmVlZGVkIHNvIHRoYXQgZnV0dXJlIGNhbGxzIHRv IGdldF9pbXBsaWVkX2NsdXN0ZXJfYWxsb2MoKQ0KIAkgKiB3b3JrIGNvcnJlY3RseS4NCiAJICov DQotCW9mZnNldCA9IG1hcC0+bV9sYmxrICYgKHNiaS0+c19jbHVzdGVyX3JhdGlvIC0gMSk7DQor CW9mZnNldCA9IEVYVDRfTEJMS19DT0ZGKHNiaSwgbWFwLT5tX2xibGspOw0KIAlhci5sZW4gPSBF WFQ0X05VTV9CMkMoc2JpLCBvZmZzZXQrYWxsb2NhdGVkKTsNCiAJYXIuZ29hbCAtPSBvZmZzZXQ7 DQogCWFyLmxvZ2ljYWwgLT0gb2Zmc2V0Ow0KZGlmZiAtLWdpdCBhL2ZzL2V4dDQvbWJhbGxvYy5j IGIvZnMvZXh0NC9tYmFsbG9jLmMNCmluZGV4IDliOGMxMzEuLjgxZmViMTcgMTAwNjQ0DQotLS0g YS9mcy9leHQ0L21iYWxsb2MuYw0KKysrIGIvZnMvZXh0NC9tYmFsbG9jLmMNCkBAIC0zMzc4LDYg KzMzNzgsOSBAQCBzdGF0aWMgdm9pZCBleHQ0X21iX3BhX2NhbGxiYWNrKHN0cnVjdCByY3VfaGVh ZCAqaGVhZCkNCiB7DQogCXN0cnVjdCBleHQ0X3ByZWFsbG9jX3NwYWNlICpwYTsNCiAJcGEgPSBj b250YWluZXJfb2YoaGVhZCwgc3RydWN0IGV4dDRfcHJlYWxsb2Nfc3BhY2UsIHUucGFfcmN1KTsN CisNCisJQlVHX09OKGF0b21pY19yZWFkKCZwYS0+cGFfY291bnQpKTsNCisJQlVHX09OKHBhLT5w YV9kZWxldGVkID09IDApOw0KIAlrbWVtX2NhY2hlX2ZyZWUoZXh0NF9wc3BhY2VfY2FjaGVwLCBw YSk7DQogfQ0KIA0KQEAgLTMzOTEsMTEgKzMzOTQsMTMgQEAgc3RhdGljIHZvaWQgZXh0NF9tYl9w dXRfcGEoc3RydWN0IGV4dDRfYWxsb2NhdGlvbl9jb250ZXh0ICphYywNCiAJZXh0NF9ncm91cF90 IGdycDsNCiAJZXh0NF9mc2Jsa190IGdycF9ibGs7DQogDQotCWlmICghYXRvbWljX2RlY19hbmRf dGVzdCgmcGEtPnBhX2NvdW50KSB8fCBwYS0+cGFfZnJlZSAhPSAwKQ0KLQkJcmV0dXJuOw0KLQ0K IAkvKiBpbiB0aGlzIHNob3J0IHdpbmRvdyBjb25jdXJyZW50IGRpc2NhcmQgY2FuIHNldCBwYV9k ZWxldGVkICovDQogCXNwaW5fbG9jaygmcGEtPnBhX2xvY2spOw0KKwlpZiAoIWF0b21pY19kZWNf YW5kX3Rlc3QoJnBhLT5wYV9jb3VudCkgfHwgcGEtPnBhX2ZyZWUgIT0gMCkgew0KKwkJc3Bpbl91 bmxvY2soJnBhLT5wYV9sb2NrKTsNCisJCXJldHVybjsNCisJfQ0KKw0KIAlpZiAocGEtPnBhX2Rl bGV0ZWQgPT0gMSkgew0KIAkJc3Bpbl91bmxvY2soJnBhLT5wYV9sb2NrKTsNCiAJCXJldHVybjsN CkBAIC00MDYyLDcgKzQwNjcsNyBAQCBleHQ0X21iX2luaXRpYWxpemVfY29udGV4dChzdHJ1Y3Qg ZXh0NF9hbGxvY2F0aW9uX2NvbnRleHQgKmFjLA0KIA0KIAkvKiBzZXQgdXAgYWxsb2NhdGlvbiBn b2FscyAqLw0KIAltZW1zZXQoYWMsIDAsIHNpemVvZihzdHJ1Y3QgZXh0NF9hbGxvY2F0aW9uX2Nv bnRleHQpKTsNCi0JYWMtPmFjX2JfZXguZmVfbG9naWNhbCA9IGFyLT5sb2dpY2FsICYgfihzYmkt PnNfY2x1c3Rlcl9yYXRpbyAtIDEpOw0KKwlhYy0+YWNfYl9leC5mZV9sb2dpY2FsID0gRVhUNF9M QkxLX0NNQVNLKHNiaSwgYXItPmxvZ2ljYWwpOw0KIAlhYy0+YWNfc3RhdHVzID0gQUNfU1RBVFVT X0NPTlRJTlVFOw0KIAlhYy0+YWNfc2IgPSBzYjsNCiAJYWMtPmFjX2lub2RlID0gYXItPmlub2Rl Ow0KQEAgLTQ2MDAsNyArNDYwNSw3IEBAIHZvaWQgZXh0NF9mcmVlX2Jsb2NrcyhoYW5kbGVfdCAq aGFuZGxlLCBzdHJ1Y3QgaW5vZGUgKmlub2RlLA0KIAkgKiBibG9ja3MgYXQgdGhlIGJlZ2lubmlu ZyBvciB0aGUgZW5kIHVubGVzcyB3ZSBhcmUgZXhwbGljaXRseQ0KIAkgKiByZXF1ZXN0ZWQgdG8g YXZvaWQgZG9pbmcgc28uDQogCSAqLw0KLQlvdmVyZmxvdyA9IGJsb2NrICYgKHNiaS0+c19jbHVz dGVyX3JhdGlvIC0gMSk7DQorCW92ZXJmbG93ID0gRVhUNF9QQkxLX0NPRkYoc2JpLCBibG9jayk7 DQogCWlmIChvdmVyZmxvdykgew0KIAkJaWYgKGZsYWdzICYgRVhUNF9GUkVFX0JMT0NLU19OT0ZS RUVfRklSU1RfQ0xVU1RFUikgew0KIAkJCW92ZXJmbG93ID0gc2JpLT5zX2NsdXN0ZXJfcmF0aW8g LSBvdmVyZmxvdzsNCkBAIC00NjE0LDcgKzQ2MTksNyBAQCB2b2lkIGV4dDRfZnJlZV9ibG9ja3Mo aGFuZGxlX3QgKmhhbmRsZSwgc3RydWN0IGlub2RlICppbm9kZSwNCiAJCQljb3VudCArPSBvdmVy ZmxvdzsNCiAJCX0NCiAJfQ0KLQlvdmVyZmxvdyA9IGNvdW50ICYgKHNiaS0+c19jbHVzdGVyX3Jh dGlvIC0gMSk7DQorCW92ZXJmbG93ID0gRVhUNF9MQkxLX0NPRkYoc2JpLCBjb3VudCk7DQogCWlm IChvdmVyZmxvdykgew0KIAkJaWYgKGZsYWdzICYgRVhUNF9GUkVFX0JMT0NLU19OT0ZSRUVfTEFT VF9DTFVTVEVSKSB7DQogCQkJaWYgKGNvdW50ID4gb3ZlcmZsb3cpDQpkaWZmIC0tZ2l0IGEvZnMv ZXh0NC9zdXBlci5jIGIvZnMvZXh0NC9zdXBlci5jDQppbmRleCA4NGY4NGJmLi5hY2YyYmFmIDEw MDY0NA0KLS0tIGEvZnMvZXh0NC9zdXBlci5jDQorKysgYi9mcy9leHQ0L3N1cGVyLmMNCkBAIC04 MTksNyArODE5LDcgQEAgc3RhdGljIHZvaWQgZXh0NF9wdXRfc3VwZXIoc3RydWN0IHN1cGVyX2Js b2NrICpzYikNCiAJCQlleHQ0X2Fib3J0KHNiLCAiQ291bGRuJ3QgY2xlYW4gdXAgdGhlIGpvdXJu YWwiKTsNCiAJfQ0KIA0KLQlkZWxfdGltZXIoJnNiaS0+c19lcnJfcmVwb3J0KTsNCisJZGVsX3Rp bWVyX3N5bmMoJnNiaS0+c19lcnJfcmVwb3J0KTsNCiAJZXh0NF9yZWxlYXNlX3N5c3RlbV96b25l KHNiKTsNCiAJZXh0NF9tYl9yZWxlYXNlKHNiKTsNCiAJZXh0NF9leHRfcmVsZWFzZShzYik7DQpA QCAtMzk2MSw3ICszOTYxLDcgQEAgZmFpbGVkX21vdW50X3dxOg0KIAkJc2JpLT5zX2pvdXJuYWwg PSBOVUxMOw0KIAl9DQogZmFpbGVkX21vdW50MzoNCi0JZGVsX3RpbWVyKCZzYmktPnNfZXJyX3Jl cG9ydCk7DQorCWRlbF90aW1lcl9zeW5jKCZzYmktPnNfZXJyX3JlcG9ydCk7DQogCWlmIChzYmkt PnNfZmxleF9ncm91cHMpDQogCQlleHQ0X2t2ZnJlZShzYmktPnNfZmxleF9ncm91cHMpOw0KIAlw ZXJjcHVfY291bnRlcl9kZXN0cm95KCZzYmktPnNfZnJlZWNsdXN0ZXJzX2NvdW50ZXIpOw0KZGlm ZiAtLWdpdCBhL2ZzL2hwZnMvZmlsZS5jIGIvZnMvaHBmcy9maWxlLmMNCmluZGV4IDg5ZDJhNTgu LjVlY2ZmZmUgMTAwNjQ0DQotLS0gYS9mcy9ocGZzL2ZpbGUuYw0KKysrIGIvZnMvaHBmcy9maWxl LmMNCkBAIC0xMTYsOSArMTE2LDEyIEBAIHN0YXRpYyBpbnQgaHBmc193cml0ZV9iZWdpbihzdHJ1 Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsDQogCQkJCWhwZnNf Z2V0X2Jsb2NrLA0KIAkJCQkmaHBmc19pKG1hcHBpbmctPmhvc3QpLT5tbXVfcHJpdmF0ZSk7DQog CWlmICh1bmxpa2VseShyZXQpKSB7DQotCQlsb2ZmX3QgaXNpemUgPSBtYXBwaW5nLT5ob3N0LT5p X3NpemU7DQorCQlsb2ZmX3QgaXNpemU7DQorCQlocGZzX2xvY2sobWFwcGluZy0+aG9zdC0+aV9z Yik7DQorCQlpc2l6ZSA9IG1hcHBpbmctPmhvc3QtPmlfc2l6ZTsNCiAJCWlmIChwb3MgKyBsZW4g PiBpc2l6ZSkNCiAJCQl2bXRydW5jYXRlKG1hcHBpbmctPmhvc3QsIGlzaXplKTsNCisJCWhwZnNf dW5sb2NrKG1hcHBpbmctPmhvc3QtPmlfc2IpOw0KIAl9DQogDQogCXJldHVybiByZXQ7DQpkaWZm IC0tZ2l0IGEvZnMvbmlsZnMyL3NlZ21lbnQuYyBiL2ZzL25pbGZzMi9zZWdtZW50LmMNCmluZGV4 IDIzM2QzZWQuLjNjZWFjZWQgMTAwNjQ0DQotLS0gYS9mcy9uaWxmczIvc2VnbWVudC5jDQorKysg Yi9mcy9uaWxmczIvc2VnbWVudC5jDQpAQCAtMTQzNywxNyArMTQzNywxOSBAQCBzdGF0aWMgaW50 IG5pbGZzX3NlZ2N0b3JfY29sbGVjdChzdHJ1Y3QgbmlsZnNfc2NfaW5mbyAqc2NpLA0KIA0KIAkJ bmlsZnNfY2xlYXJfbG9ncygmc2NpLT5zY19zZWdidWZzKTsNCiANCi0JCWVyciA9IG5pbGZzX3Nl Z2N0b3JfZXh0ZW5kX3NlZ21lbnRzKHNjaSwgbmlsZnMsIG5hZGQpOw0KLQkJaWYgKHVubGlrZWx5 KGVycikpDQotCQkJcmV0dXJuIGVycjsNCi0NCiAJCWlmIChzY2ktPnNjX3N0YWdlLmZsYWdzICYg TklMRlNfQ0ZfU1VGUkVFRCkgew0KIAkJCWVyciA9IG5pbGZzX3N1ZmlsZV9jYW5jZWxfZnJlZXYo bmlsZnMtPm5zX3N1ZmlsZSwNCiAJCQkJCQkJc2NpLT5zY19mcmVlc2VncywNCiAJCQkJCQkJc2Np LT5zY19uZnJlZXNlZ3MsDQogCQkJCQkJCU5VTEwpOw0KIAkJCVdBUk5fT04oZXJyKTsgLyogZG8g bm90IGhhcHBlbiAqLw0KKwkJCXNjaS0+c2Nfc3RhZ2UuZmxhZ3MgJj0gfk5JTEZTX0NGX1NVRlJF RUQ7DQogCQl9DQorDQorCQllcnIgPSBuaWxmc19zZWdjdG9yX2V4dGVuZF9zZWdtZW50cyhzY2ks IG5pbGZzLCBuYWRkKTsNCisJCWlmICh1bmxpa2VseShlcnIpKQ0KKwkJCXJldHVybiBlcnI7DQor DQogCQluYWRkID0gbWluX3QoaW50LCBuYWRkIDw8IDEsIFNDX01BWF9TRUdERUxUQSk7DQogCQlz Y2ktPnNjX3N0YWdlID0gcHJldl9zdGFnZTsNCiAJfQ0KZGlmZiAtLWdpdCBhL2ZzL3hmcy94ZnNf bG9nLmMgYi9mcy94ZnMveGZzX2xvZy5jDQppbmRleCAzNDgxN2FkLi4xMGNhNWU1IDEwMDY0NA0K LS0tIGEvZnMveGZzL3hmc19sb2cuYw0KKysrIGIvZnMveGZzL3hmc19sb2cuYw0KQEAgLTY1Myw4 ICs2NTMsOSBAQCB4ZnNfbG9nX3VubW91bnRfd3JpdGUoeGZzX21vdW50X3QgKm1wKQ0KIAkJCQku bHZfaW92ZWNwID0gJnJlZywNCiAJCQl9Ow0KIA0KLQkJCS8qIHJlbW92ZSBpbml0ZWQgZmxhZyAq Lw0KKwkJCS8qIHJlbW92ZSBpbml0ZWQgZmxhZywgYW5kIGFjY291bnQgZm9yIHNwYWNlIHVzZWQg Ki8NCiAJCQl0aWMtPnRfZmxhZ3MgPSAwOw0KKwkJCXRpYy0+dF9jdXJyX3JlcyAtPSBzaXplb2Yo bWFnaWMpOw0KIAkJCWVycm9yID0geGxvZ193cml0ZShsb2csICZ2ZWMsIHRpYywgJmxzbiwNCiAJ CQkJCSAgIE5VTEwsIFhMT0dfVU5NT1VOVF9UUkFOUyk7DQogCQkJLyoNCmRpZmYgLS1naXQgYS9p bmNsdWRlL2RybS9kcm1fcGNpaWRzLmggYi9pbmNsdWRlL2RybS9kcm1fcGNpaWRzLmgNCmluZGV4 IGRlZjgwN2MuLmMzN2ZkODkgMTAwNjQ0DQotLS0gYS9pbmNsdWRlL2RybS9kcm1fcGNpaWRzLmgN CisrKyBiL2luY2x1ZGUvZHJtL2RybV9wY2lpZHMuaA0KQEAgLTQ5NSw3ICs0OTUsNyBAQA0KIAl7 MHgxMDAyLCAweDk2NDUsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIENISVBfU1VNTzJ8 UkFERU9OX0lTX01PQklMSVRZfFJBREVPTl9ORVdfTUVNTUFQfFJBREVPTl9JU19JR1B9LCBcDQog CXsweDEwMDIsIDB4OTY0NywgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgQ0hJUF9TVU1P fFJBREVPTl9JU19NT0JJTElUWXxSQURFT05fTkVXX01FTU1BUHxSQURFT05fSVNfSUdQfSxcDQog CXsweDEwMDIsIDB4OTY0OCwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgQ0hJUF9TVU1P fFJBREVPTl9JU19NT0JJTElUWXxSQURFT05fTkVXX01FTU1BUHxSQURFT05fSVNfSUdQfSxcDQot CXsweDEwMDIsIDB4OTY0OSwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgQ0hJUF9TVU1P fFJBREVPTl9JU19NT0JJTElUWXxSQURFT05fTkVXX01FTU1BUHxSQURFT05fSVNfSUdQfSxcDQor CXsweDEwMDIsIDB4OTY0OSwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgQ0hJUF9TVU1P MnxSQURFT05fSVNfTU9CSUxJVFl8UkFERU9OX05FV19NRU1NQVB8UkFERU9OX0lTX0lHUH0sXA0K IAl7MHgxMDAyLCAweDk2NGEsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIENISVBfU1VN T3xSQURFT05fTkVXX01FTU1BUHxSQURFT05fSVNfSUdQfSwgXA0KIAl7MHgxMDAyLCAweDk2NGIs IFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIENISVBfU1VNT3xSQURFT05fTkVXX01FTU1B UHxSQURFT05fSVNfSUdQfSwgXA0KIAl7MHgxMDAyLCAweDk2NGMsIFBDSV9BTllfSUQsIFBDSV9B TllfSUQsIDAsIDAsIENISVBfU1VNT3xSQURFT05fTkVXX01FTU1BUHxSQURFT05fSVNfSUdQfSwg XA0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvaHVnZXRsYi5oIGIvaW5jbHVkZS9saW51eC9o dWdldGxiLmgNCmluZGV4IDMyNjk3YzEuLjRiYzk0NDUgMTAwNjQ0DQotLS0gYS9pbmNsdWRlL2xp bnV4L2h1Z2V0bGIuaA0KKysrIGIvaW5jbHVkZS9saW51eC9odWdldGxiLmgNCkBAIC0yNCw2ICsy NCw3IEBAIHN0cnVjdCBodWdlcGFnZV9zdWJwb29sICpodWdlcGFnZV9uZXdfc3VicG9vbChsb25n IG5yX2Jsb2Nrcyk7DQogdm9pZCBodWdlcGFnZV9wdXRfc3VicG9vbChzdHJ1Y3QgaHVnZXBhZ2Vf c3VicG9vbCAqc3Bvb2wpOw0KIA0KIGludCBQYWdlSHVnZShzdHJ1Y3QgcGFnZSAqcGFnZSk7DQor aW50IFBhZ2VIZWFkSHVnZShzdHJ1Y3QgcGFnZSAqcGFnZV9oZWFkKTsNCiANCiB2b2lkIHJlc2V0 X3ZtYV9yZXN2X2h1Z2VfcGFnZXMoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpOw0KIGludCBo dWdldGxiX3N5c2N0bF9oYW5kbGVyKHN0cnVjdCBjdGxfdGFibGUgKiwgaW50LCB2b2lkIF9fdXNl ciAqLCBzaXplX3QgKiwgbG9mZl90ICopOw0KQEAgLTg4LDYgKzg5LDExIEBAIHN0YXRpYyBpbmxp bmUgaW50IFBhZ2VIdWdlKHN0cnVjdCBwYWdlICpwYWdlKQ0KIAlyZXR1cm4gMDsNCiB9DQogDQor c3RhdGljIGlubGluZSBpbnQgUGFnZUhlYWRIdWdlKHN0cnVjdCBwYWdlICpwYWdlX2hlYWQpDQor ew0KKwlyZXR1cm4gMDsNCit9DQorDQogc3RhdGljIGlubGluZSB2b2lkIHJlc2V0X3ZtYV9yZXN2 X2h1Z2VfcGFnZXMoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpDQogew0KIH0NCmRpZmYgLS1n aXQgYS9pbmNsdWRlL2xpbnV4L25ldGRldmljZS5oIGIvaW5jbHVkZS9saW51eC9uZXRkZXZpY2Uu aA0KaW5kZXggOGM0M2ZkMS4uNGIwNDA5NyAxMDA2NDQNCi0tLSBhL2luY2x1ZGUvbGludXgvbmV0 ZGV2aWNlLmgNCisrKyBiL2luY2x1ZGUvbGludXgvbmV0ZGV2aWNlLmgNCkBAIC0xNzE5LDYgKzE3 MTksMTUgQEAgc3RhdGljIGlubGluZSBpbnQgZGV2X3BhcnNlX2hlYWRlcihjb25zdCBzdHJ1Y3Qg c2tfYnVmZiAqc2tiLA0KIAlyZXR1cm4gZGV2LT5oZWFkZXJfb3BzLT5wYXJzZShza2IsIGhhZGRy KTsNCiB9DQogDQorc3RhdGljIGlubGluZSBpbnQgZGV2X3JlYnVpbGRfaGVhZGVyKHN0cnVjdCBz a19idWZmICpza2IpDQorew0KKwljb25zdCBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0gc2tiLT5k ZXY7DQorDQorCWlmICghZGV2LT5oZWFkZXJfb3BzIHx8ICFkZXYtPmhlYWRlcl9vcHMtPnJlYnVp bGQpDQorCQlyZXR1cm4gMDsNCisJcmV0dXJuIGRldi0+aGVhZGVyX29wcy0+cmVidWlsZChza2Ip Ow0KK30NCisNCiB0eXBlZGVmIGludCBnaWZjb25mX2Z1bmNfdChzdHJ1Y3QgbmV0X2RldmljZSAq IGRldiwgY2hhciBfX3VzZXIgKiBidWZwdHIsIGludCBsZW4pOw0KIGV4dGVybiBpbnQJCXJlZ2lz dGVyX2dpZmNvbmYodW5zaWduZWQgaW50IGZhbWlseSwgZ2lmY29uZl9mdW5jX3QgKiBnaWZjb25m KTsNCiBzdGF0aWMgaW5saW5lIGludCB1bnJlZ2lzdGVyX2dpZmNvbmYodW5zaWduZWQgaW50IGZh bWlseSkNCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3BjaS5oIGIvaW5jbHVkZS9saW51eC9w Y2kuaA0KaW5kZXggN2NkYTY1Yi4uZmU3NmE3NCAxMDA2NDQNCi0tLSBhL2luY2x1ZGUvbGludXgv cGNpLmgNCisrKyBiL2luY2x1ZGUvbGludXgvcGNpLmgNCkBAIC01OTAsNiArNTkwLDIwIEBAIHN0 cnVjdCBwY2lfZHJpdmVyIHsNCiAJLnN1YnZlbmRvciA9IFBDSV9BTllfSUQsIC5zdWJkZXZpY2Ug PSBQQ0lfQU5ZX0lEDQogDQogLyoqDQorICogUENJX0RFVklDRV9TVUIgLSBtYWNybyB1c2VkIHRv IGRlc2NyaWJlIGEgc3BlY2lmaWMgcGNpIGRldmljZSB3aXRoIHN1YnN5c3RlbQ0KKyAqIEB2ZW5k OiB0aGUgMTYgYml0IFBDSSBWZW5kb3IgSUQNCisgKiBAZGV2OiB0aGUgMTYgYml0IFBDSSBEZXZp Y2UgSUQNCisgKiBAc3VidmVuZDogdGhlIDE2IGJpdCBQQ0kgU3VidmVuZG9yIElEDQorICogQHN1 YmRldjogdGhlIDE2IGJpdCBQQ0kgU3ViZGV2aWNlIElEDQorICoNCisgKiBUaGlzIG1hY3JvIGlz IHVzZWQgdG8gY3JlYXRlIGEgc3RydWN0IHBjaV9kZXZpY2VfaWQgdGhhdCBtYXRjaGVzIGENCisg KiBzcGVjaWZpYyBkZXZpY2Ugd2l0aCBzdWJzeXN0ZW0gaW5mb3JtYXRpb24uDQorICovDQorI2Rl ZmluZSBQQ0lfREVWSUNFX1NVQih2ZW5kLCBkZXYsIHN1YnZlbmQsIHN1YmRldikgXA0KKwkudmVu ZG9yID0gKHZlbmQpLCAuZGV2aWNlID0gKGRldiksIFwNCisJLnN1YnZlbmRvciA9IChzdWJ2ZW5k KSwgLnN1YmRldmljZSA9IChzdWJkZXYpDQorDQorLyoqDQogICogUENJX0RFVklDRV9DTEFTUyAt IG1hY3JvIHVzZWQgdG8gZGVzY3JpYmUgYSBzcGVjaWZpYyBwY2kgZGV2aWNlIGNsYXNzDQogICog QGRldl9jbGFzczogdGhlIGNsYXNzLCBzdWJjbGFzcywgcHJvZy1pZiB0cmlwbGUgZm9yIHRoaXMg ZGV2aWNlDQogICogQGRldl9jbGFzc19tYXNrOiB0aGUgY2xhc3MgbWFzayBmb3IgdGhpcyBkZXZp Y2UNCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3NjaGVkLmggYi9pbmNsdWRlL2xpbnV4L3Nj aGVkLmgNCmluZGV4IDMxMmQwNDcuLmMxN2ZkZmIgMTAwNjQ0DQotLS0gYS9pbmNsdWRlL2xpbnV4 L3NjaGVkLmgNCisrKyBiL2luY2x1ZGUvbGludXgvc2NoZWQuaA0KQEAgLTEyMDAsNiArMTIwMCw3 IEBAIHN0cnVjdCBzY2hlZF9lbnRpdHkgew0KIHN0cnVjdCBzY2hlZF9ydF9lbnRpdHkgew0KIAlz dHJ1Y3QgbGlzdF9oZWFkIHJ1bl9saXN0Ow0KIAl1bnNpZ25lZCBsb25nIHRpbWVvdXQ7DQorCXVu c2lnbmVkIGxvbmcgd2F0Y2hkb2dfc3RhbXA7DQogCXVuc2lnbmVkIGludCB0aW1lX3NsaWNlOw0K IAlpbnQgbnJfY3B1c19hbGxvd2VkOw0KIA0KZGlmZiAtLWdpdCBhL2tlcm5lbC9zY2hlZC5jIGIv a2VybmVsL3NjaGVkLmMNCmluZGV4IGQ5MzM2OWEuLmVhODViMGQgMTAwNjQ0DQotLS0gYS9rZXJu ZWwvc2NoZWQuYw0KKysrIGIva2VybmVsL3NjaGVkLmMNCkBAIC0yMTg5LDYgKzIxODksMTAgQEAg c3RhdGljIGludCBpcnF0aW1lX2FjY291bnRfc2lfdXBkYXRlKHZvaWQpDQogDQogI2VuZGlmDQog DQorI2lmZGVmIENPTkZJR19TTVANCitzdGF0aWMgdm9pZCB1bnRocm90dGxlX29mZmxpbmVfY2Zz X3JxcyhzdHJ1Y3QgcnEgKnJxKTsNCisjZW5kaWYNCisNCiAjaW5jbHVkZSAic2NoZWRfaWRsZXRh c2suYyINCiAjaW5jbHVkZSAic2NoZWRfZmFpci5jIg0KICNpbmNsdWRlICJzY2hlZF9ydC5jIg0K QEAgLTY1NjYsOCArNjU3MCw2IEBAIHN0YXRpYyB2b2lkIHVudGhyb3R0bGVfb2ZmbGluZV9jZnNf cnFzKHN0cnVjdCBycSAqcnEpDQogCQkJdW50aHJvdHRsZV9jZnNfcnEoY2ZzX3JxKTsNCiAJfQ0K IH0NCi0jZWxzZQ0KLXN0YXRpYyB2b2lkIHVudGhyb3R0bGVfb2ZmbGluZV9jZnNfcnFzKHN0cnVj dCBycSAqcnEpIHt9DQogI2VuZGlmDQogDQogLyoNCkBAIC02NTk1LDkgKzY1OTcsNiBAQCBzdGF0 aWMgdm9pZCBtaWdyYXRlX3Rhc2tzKHVuc2lnbmVkIGludCBkZWFkX2NwdSkNCiAJICovDQogCXJx LT5zdG9wID0gTlVMTDsNCiANCi0JLyogRW5zdXJlIGFueSB0aHJvdHRsZWQgZ3JvdXBzIGFyZSBy ZWFjaGFibGUgYnkgcGlja19uZXh0X3Rhc2sgKi8NCi0JdW50aHJvdHRsZV9vZmZsaW5lX2Nmc19y cXMocnEpOw0KLQ0KIAlmb3IgKCA7IDsgKSB7DQogCQkvKg0KIAkJICogVGhlcmUncyB0aGlzIHRo cmVhZCBydW5uaW5nLCBiYWlsIHdoZW4gdGhhdCdzIHRoZSBvbmx5DQpAQCAtNjYyNCw2ICs2NjIz LDEwIEBAIHN0YXRpYyB2b2lkIG1pZ3JhdGVfdGFza3ModW5zaWduZWQgaW50IGRlYWRfY3B1KQ0K IA0KICNlbmRpZiAvKiBDT05GSUdfSE9UUExVR19DUFUgKi8NCiANCisjaWYgIWRlZmluZWQoQ09O RklHX0hPVFBMVUdfQ1BVKSB8fCAhZGVmaW5lZChDT05GSUdfQ0ZTX0JBTkRXSURUSCkNCitzdGF0 aWMgdm9pZCB1bnRocm90dGxlX29mZmxpbmVfY2ZzX3JxcyhzdHJ1Y3QgcnEgKnJxKSB7fQ0KKyNl bmRpZg0KKw0KICNpZiBkZWZpbmVkKENPTkZJR19TQ0hFRF9ERUJVRykgJiYgZGVmaW5lZChDT05G SUdfU1lTQ1RMKQ0KIA0KIHN0YXRpYyBzdHJ1Y3QgY3RsX3RhYmxlIHNkX2N0bF9kaXJbXSA9IHsN CmRpZmYgLS1naXQgYS9rZXJuZWwvc2NoZWRfZmFpci5jIGIva2VybmVsL3NjaGVkX2ZhaXIuYw0K aW5kZXggNWI5ZTQ1Ni4uMzdmM2YzOSAxMDA2NDQNCi0tLSBhL2tlcm5lbC9zY2hlZF9mYWlyLmMN CisrKyBiL2tlcm5lbC9zY2hlZF9mYWlyLmMNCkBAIC00ODQ4LDYgKzQ4NDgsOSBAQCBzdGF0aWMg dm9pZCBycV9vbmxpbmVfZmFpcihzdHJ1Y3QgcnEgKnJxKQ0KIHN0YXRpYyB2b2lkIHJxX29mZmxp bmVfZmFpcihzdHJ1Y3QgcnEgKnJxKQ0KIHsNCiAJdXBkYXRlX3N5c2N0bCgpOw0KKw0KKwkvKiBF bnN1cmUgYW55IHRocm90dGxlZCBncm91cHMgYXJlIHJlYWNoYWJsZSBieSBwaWNrX25leHRfdGFz ayAqLw0KKwl1bnRocm90dGxlX29mZmxpbmVfY2ZzX3JxcyhycSk7DQogfQ0KIA0KICNlbHNlCS8q IENPTkZJR19TTVAgKi8NCmRpZmYgLS1naXQgYS9rZXJuZWwvc2NoZWRfcnQuYyBiL2tlcm5lbC9z Y2hlZF9ydC5jDQppbmRleCA2YWQ0ZmIzLi5mNTdmZGE3IDEwMDY0NA0KLS0tIGEva2VybmVsL3Nj aGVkX3J0LmMNCisrKyBiL2tlcm5lbC9zY2hlZF9ydC5jDQpAQCAtNTA5LDYgKzUwOSw3IEBAIGJh bGFuY2VkOg0KIAkJICogcnVudGltZSAtIGluIHdoaWNoIGNhc2UgYm9ycm93aW5nIGRvZXNuJ3Qg bWFrZSBzZW5zZS4NCiAJCSAqLw0KIAkJcnRfcnEtPnJ0X3J1bnRpbWUgPSBSVU5USU1FX0lORjsN CisJCXJ0X3JxLT5ydF90aHJvdHRsZWQgPSAwOw0KIAkJcmF3X3NwaW5fdW5sb2NrKCZydF9ycS0+ cnRfcnVudGltZV9sb2NrKTsNCiAJCXJhd19zcGluX3VubG9jaygmcnRfYi0+cnRfcnVudGltZV9s b2NrKTsNCiAJfQ0KQEAgLTU4Nyw2ICs1ODgsMTkgQEAgc3RhdGljIGludCBkb19zY2hlZF9ydF9w ZXJpb2RfdGltZXIoc3RydWN0IHJ0X2JhbmR3aWR0aCAqcnRfYiwgaW50IG92ZXJydW4pDQogCQly ZXR1cm4gMTsNCiANCiAJc3BhbiA9IHNjaGVkX3J0X3BlcmlvZF9tYXNrKCk7DQorI2lmZGVmIENP TkZJR19SVF9HUk9VUF9TQ0hFRA0KKwkvKg0KKwkgKiBGSVhNRTogaXNvbGF0ZWQgQ1BVcyBzaG91 bGQgcmVhbGx5IGxlYXZlIHRoZSByb290IHRhc2sgZ3JvdXAsDQorCSAqIHdoZXRoZXIgdGhleSBh cmUgaXNvbGNwdXMgb3Igd2VyZSBpc29sYXRlZCB2aWEgY3B1c2V0cywgbGVzdA0KKwkgKiB0aGUg dGltZXIgcnVuIG9uIGEgQ1BVIHdoaWNoIGRvZXMgbm90IHNlcnZpY2UgYWxsIHJ1bnF1ZXVlcywN CisJICogcG90ZW50aWFsbHkgbGVhdmluZyBvdGhlciBDUFVzIGluZGVmaW5pdGVseSB0aHJvdHRs ZWQuICBJZg0KKwkgKiBpc29sYXRpb24gaXMgcmVhbGx5IHJlcXVpcmVkLCB0aGUgdXNlciB3aWxs IHR1cm4gdGhlIHRocm90dGxlDQorCSAqIG9mZiB0byBraWxsIHRoZSBwZXJ0dXJiYXRpb25zIGl0 IGNhdXNlcyBhbnl3YXkuICBNZWFud2hpbGUsDQorCSAqIHRoaXMgbWFpbnRhaW5zIGZ1bmN0aW9u YWxpdHkgZm9yIGJvb3QgYW5kL29yIHRyb3VibGVzaG9vdGluZy4NCisJICovDQorCWlmIChydF9i ID09ICZyb290X3Rhc2tfZ3JvdXAucnRfYmFuZHdpZHRoKQ0KKwkJc3BhbiA9IGNwdV9vbmxpbmVf bWFzazsNCisjZW5kaWYNCiAJZm9yX2VhY2hfY3B1KGksIHNwYW4pIHsNCiAJCWludCBlbnF1ZXVl ID0gMDsNCiAJCXN0cnVjdCBydF9ycSAqcnRfcnEgPSBzY2hlZF9ydF9wZXJpb2RfcnRfcnEocnRf YiwgaSk7DQpAQCAtNzE5LDYgKzczMywxMyBAQCBpbmNfcnRfcHJpb19zbXAoc3RydWN0IHJ0X3Jx ICpydF9ycSwgaW50IHByaW8sIGludCBwcmV2X3ByaW8pDQogew0KIAlzdHJ1Y3QgcnEgKnJxID0g cnFfb2ZfcnRfcnEocnRfcnEpOw0KIA0KKyNpZmRlZiBDT05GSUdfUlRfR1JPVVBfU0NIRUQNCisJ LyoNCisJICogQ2hhbmdlIHJxJ3MgY3B1cHJpIG9ubHkgaWYgcnRfcnEgaXMgdGhlIHRvcCBxdWV1 ZS4NCisJICovDQorCWlmICgmcnEtPnJ0ICE9IHJ0X3JxKQ0KKwkJcmV0dXJuOw0KKyNlbmRpZg0K IAlpZiAocnEtPm9ubGluZSAmJiBwcmlvIDwgcHJldl9wcmlvKQ0KIAkJY3B1cHJpX3NldCgmcnEt PnJkLT5jcHVwcmksIHJxLT5jcHUsIHByaW8pOw0KIH0NCkBAIC03MjgsNiArNzQ5LDEzIEBAIGRl Y19ydF9wcmlvX3NtcChzdHJ1Y3QgcnRfcnEgKnJ0X3JxLCBpbnQgcHJpbywgaW50IHByZXZfcHJp bykNCiB7DQogCXN0cnVjdCBycSAqcnEgPSBycV9vZl9ydF9ycShydF9ycSk7DQogDQorI2lmZGVm IENPTkZJR19SVF9HUk9VUF9TQ0hFRA0KKwkvKg0KKwkgKiBDaGFuZ2UgcnEncyBjcHVwcmkgb25s eSBpZiBydF9ycSBpcyB0aGUgdG9wIHF1ZXVlLg0KKwkgKi8NCisJaWYgKCZycS0+cnQgIT0gcnRf cnEpDQorCQlyZXR1cm47DQorI2VuZGlmDQogCWlmIChycS0+b25saW5lICYmIHJ0X3JxLT5oaWdo ZXN0X3ByaW8uY3VyciAhPSBwcmV2X3ByaW8pDQogCQljcHVwcmlfc2V0KCZycS0+cmQtPmNwdXBy aSwgcnEtPmNwdSwgcnRfcnEtPmhpZ2hlc3RfcHJpby5jdXJyKTsNCiB9DQpAQCAtMTc0OSw3ICsx Nzc3LDExIEBAIHN0YXRpYyB2b2lkIHdhdGNoZG9nKHN0cnVjdCBycSAqcnEsIHN0cnVjdCB0YXNr X3N0cnVjdCAqcCkNCiAJaWYgKHNvZnQgIT0gUkxJTV9JTkZJTklUWSkgew0KIAkJdW5zaWduZWQg bG9uZyBuZXh0Ow0KIA0KLQkJcC0+cnQudGltZW91dCsrOw0KKwkJaWYgKHAtPnJ0LndhdGNoZG9n X3N0YW1wICE9IGppZmZpZXMpIHsNCisJCQlwLT5ydC50aW1lb3V0Kys7DQorCQkJcC0+cnQud2F0 Y2hkb2dfc3RhbXAgPSBqaWZmaWVzOw0KKwkJfQ0KKw0KIAkJbmV4dCA9IERJVl9ST1VORF9VUCht aW4oc29mdCwgaGFyZCksIFVTRUNfUEVSX1NFQy9IWik7DQogCQlpZiAocC0+cnQudGltZW91dCA+ IG5leHQpDQogCQkJcC0+Y3B1dGltZV9leHBpcmVzLnNjaGVkX2V4cCA9IHAtPnNlLnN1bV9leGVj X3J1bnRpbWU7DQpAQCAtMTc1OCw2ICsxNzkwLDggQEAgc3RhdGljIHZvaWQgd2F0Y2hkb2coc3Ry dWN0IHJxICpycSwgc3RydWN0IHRhc2tfc3RydWN0ICpwKQ0KIA0KIHN0YXRpYyB2b2lkIHRhc2tf dGlja19ydChzdHJ1Y3QgcnEgKnJxLCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGludCBxdWV1ZWQp DQogew0KKwlzdHJ1Y3Qgc2NoZWRfcnRfZW50aXR5ICpydF9zZSA9ICZwLT5ydDsNCisNCiAJdXBk YXRlX2N1cnJfcnQocnEpOw0KIA0KIAl3YXRjaGRvZyhycSwgcCk7DQpAQCAtMTc3NSwxMiArMTgw OSwxNSBAQCBzdGF0aWMgdm9pZCB0YXNrX3RpY2tfcnQoc3RydWN0IHJxICpycSwgc3RydWN0IHRh c2tfc3RydWN0ICpwLCBpbnQgcXVldWVkKQ0KIAlwLT5ydC50aW1lX3NsaWNlID0gREVGX1RJTUVT TElDRTsNCiANCiAJLyoNCi0JICogUmVxdWV1ZSB0byB0aGUgZW5kIG9mIHF1ZXVlIGlmIHdlIGFy ZSBub3QgdGhlIG9ubHkgZWxlbWVudA0KLQkgKiBvbiB0aGUgcXVldWU6DQorCSAqIFJlcXVldWUg dG8gdGhlIGVuZCBvZiBxdWV1ZSBpZiB3ZSAoYW5kIGFsbCBvZiBvdXIgYW5jZXN0b3JzKSBhcmUg dGhlDQorCSAqIG9ubHkgZWxlbWVudCBvbiB0aGUgcXVldWUNCiAJICovDQotCWlmIChwLT5ydC5y dW5fbGlzdC5wcmV2ICE9IHAtPnJ0LnJ1bl9saXN0Lm5leHQpIHsNCi0JCXJlcXVldWVfdGFza19y dChycSwgcCwgMCk7DQotCQlzZXRfdHNrX25lZWRfcmVzY2hlZChwKTsNCisJZm9yX2VhY2hfc2No ZWRfcnRfZW50aXR5KHJ0X3NlKSB7DQorCQlpZiAocnRfc2UtPnJ1bl9saXN0LnByZXYgIT0gcnRf c2UtPnJ1bl9saXN0Lm5leHQpIHsNCisJCQlyZXF1ZXVlX3Rhc2tfcnQocnEsIHAsIDApOw0KKwkJ CXNldF90c2tfbmVlZF9yZXNjaGVkKHApOw0KKwkJCXJldHVybjsNCisJCX0NCiAJfQ0KIH0NCiAN CmRpZmYgLS1naXQgYS9rZXJuZWwvdHJhY2UvZnRyYWNlLmMgYi9rZXJuZWwvdHJhY2UvZnRyYWNl LmMNCmluZGV4IGQ0MGQ3ZjYuLmNmOGI0MzkgMTAwNjQ0DQotLS0gYS9rZXJuZWwvdHJhY2UvZnRy YWNlLmMNCisrKyBiL2tlcm5lbC90cmFjZS9mdHJhY2UuYw0KQEAgLTYxOCw3ICs2MTgsNyBAQCBz dGF0aWMgaW50IGZ0cmFjZV9wcm9maWxlX2luaXQodm9pZCkNCiAJaW50IGNwdTsNCiAJaW50IHJl dCA9IDA7DQogDQotCWZvcl9lYWNoX29ubGluZV9jcHUoY3B1KSB7DQorCWZvcl9lYWNoX3Bvc3Np YmxlX2NwdShjcHUpIHsNCiAJCXJldCA9IGZ0cmFjZV9wcm9maWxlX2luaXRfY3B1KGNwdSk7DQog CQlpZiAocmV0KQ0KIAkJCWJyZWFrOw0KZGlmZiAtLWdpdCBhL21tL2h1Z2V0bGIuYyBiL21tL2h1 Z2V0bGIuYw0KaW5kZXggZGRmMjEyOC4uM2E1YWFlMiAxMDA2NDQNCi0tLSBhL21tL2h1Z2V0bGIu Yw0KKysrIGIvbW0vaHVnZXRsYi5jDQpAQCAtNjc5LDYgKzY3OSwyMyBAQCBpbnQgUGFnZUh1Z2Uo c3RydWN0IHBhZ2UgKnBhZ2UpDQogfQ0KIEVYUE9SVF9TWU1CT0xfR1BMKFBhZ2VIdWdlKTsNCiAN CisvKg0KKyAqIFBhZ2VIZWFkSHVnZSgpIG9ubHkgcmV0dXJucyB0cnVlIGZvciBodWdldGxiZnMg aGVhZCBwYWdlLCBidXQgbm90IGZvcg0KKyAqIG5vcm1hbCBvciB0cmFuc3BhcmVudCBodWdlIHBh Z2VzLg0KKyAqLw0KK2ludCBQYWdlSGVhZEh1Z2Uoc3RydWN0IHBhZ2UgKnBhZ2VfaGVhZCkNCit7 DQorCWNvbXBvdW5kX3BhZ2VfZHRvciAqZHRvcjsNCisNCisJaWYgKCFQYWdlSGVhZChwYWdlX2hl YWQpKQ0KKwkJcmV0dXJuIDA7DQorDQorCWR0b3IgPSBnZXRfY29tcG91bmRfcGFnZV9kdG9yKHBh Z2VfaGVhZCk7DQorDQorCXJldHVybiBkdG9yID09IGZyZWVfaHVnZV9wYWdlOw0KK30NCitFWFBP UlRfU1lNQk9MX0dQTChQYWdlSGVhZEh1Z2UpOw0KKw0KIHBnb2ZmX3QgX19iYXNlcGFnZV9pbmRl eChzdHJ1Y3QgcGFnZSAqcGFnZSkNCiB7DQogCXN0cnVjdCBwYWdlICpwYWdlX2hlYWQgPSBjb21w b3VuZF9oZWFkKHBhZ2UpOw0KZGlmZiAtLWdpdCBhL21tL21lbW9yeS1mYWlsdXJlLmMgYi9tbS9t ZW1vcnktZmFpbHVyZS5jDQppbmRleCAxYjAzODc4Li45NmM0YmNmIDEwMDY0NA0KLS0tIGEvbW0v bWVtb3J5LWZhaWx1cmUuYw0KKysrIGIvbW0vbWVtb3J5LWZhaWx1cmUuYw0KQEAgLTE0NDEsMTAg KzE0NDEsMTggQEAgc3RhdGljIGludCBzb2Z0X29mZmxpbmVfaHVnZV9wYWdlKHN0cnVjdCBwYWdl ICpwYWdlLCBpbnQgZmxhZ3MpDQogCQlyZXR1cm4gcmV0Ow0KIAl9DQogZG9uZToNCi0JaWYgKCFQ YWdlSFdQb2lzb24oaHBhZ2UpKQ0KLQkJYXRvbWljX2xvbmdfYWRkKDEgPDwgY29tcG91bmRfdHJh bnNfb3JkZXIoaHBhZ2UpLCAmbWNlX2JhZF9wYWdlcyk7DQotCXNldF9wYWdlX2h3cG9pc29uX2h1 Z2VfcGFnZShocGFnZSk7DQotCWRlcXVldWVfaHdwb2lzb25lZF9odWdlX3BhZ2UoaHBhZ2UpOw0K KwkvKiBvdmVyY29tbWl0IGh1Z2V0bGIgcGFnZSB3aWxsIGJlIGZyZWVkIHRvIGJ1ZGR5ICovDQor CWlmIChQYWdlSHVnZShocGFnZSkpIHsNCisJCWlmICghUGFnZUhXUG9pc29uKGhwYWdlKSkNCisJ CQlhdG9taWNfbG9uZ19hZGQoMSA8PCBjb21wb3VuZF90cmFuc19vcmRlcihocGFnZSksDQorCQkJ CQkmbWNlX2JhZF9wYWdlcyk7DQorCQlzZXRfcGFnZV9od3BvaXNvbl9odWdlX3BhZ2UoaHBhZ2Up Ow0KKwkJZGVxdWV1ZV9od3BvaXNvbmVkX2h1Z2VfcGFnZShocGFnZSk7DQorCX0gZWxzZSB7DQor CQlTZXRQYWdlSFdQb2lzb24ocGFnZSk7DQorCQlhdG9taWNfbG9uZ19pbmMoJm1jZV9iYWRfcGFn ZXMpOw0KKwl9DQorDQogCS8qIGtlZXAgZWxldmF0ZWQgcGFnZSBjb3VudCBmb3IgYmFkIHBhZ2Ug Ki8NCiAJcmV0dXJuIHJldDsNCiB9DQpkaWZmIC0tZ2l0IGEvbW0vbW1hcC5jIGIvbW0vbW1hcC5j DQppbmRleCBkZmYzN2E2Li42MTgyYzhhIDEwMDY0NA0KLS0tIGEvbW0vbW1hcC5jDQorKysgYi9t bS9tbWFwLmMNCkBAIC0xMzY4LDcgKzEzNjgsNyBAQCBhcmNoX2dldF91bm1hcHBlZF9hcmVhKHN0 cnVjdCBmaWxlICpmaWxwLCB1bnNpZ25lZCBsb25nIGFkZHIsDQogCXN0cnVjdCB2bV9hcmVhX3N0 cnVjdCAqdm1hOw0KIAl1bnNpZ25lZCBsb25nIHN0YXJ0X2FkZHI7DQogDQotCWlmIChsZW4gPiBU QVNLX1NJWkUpDQorCWlmIChsZW4gPiBUQVNLX1NJWkUgLSBtbWFwX21pbl9hZGRyKQ0KIAkJcmV0 dXJuIC1FTk9NRU07DQogDQogCWlmIChmbGFncyAmIE1BUF9GSVhFRCkNCkBAIC0xMzc3LDcgKzEz NzcsNyBAQCBhcmNoX2dldF91bm1hcHBlZF9hcmVhKHN0cnVjdCBmaWxlICpmaWxwLCB1bnNpZ25l ZCBsb25nIGFkZHIsDQogCWlmIChhZGRyKSB7DQogCQlhZGRyID0gUEFHRV9BTElHTihhZGRyKTsN CiAJCXZtYSA9IGZpbmRfdm1hKG1tLCBhZGRyKTsNCi0JCWlmIChUQVNLX1NJWkUgLSBsZW4gPj0g YWRkciAmJg0KKwkJaWYgKFRBU0tfU0laRSAtIGxlbiA+PSBhZGRyICYmIGFkZHIgPj0gbW1hcF9t aW5fYWRkciAmJg0KIAkJICAgICghdm1hIHx8IGFkZHIgKyBsZW4gPD0gdm1hLT52bV9zdGFydCkp DQogCQkJcmV0dXJuIGFkZHI7DQogCX0NCkBAIC0xNDQyLDkgKzE0NDIsMTAgQEAgYXJjaF9nZXRf dW5tYXBwZWRfYXJlYV90b3Bkb3duKHN0cnVjdCBmaWxlICpmaWxwLCBjb25zdCB1bnNpZ25lZCBs b25nIGFkZHIwLA0KIAlzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYTsNCiAJc3RydWN0IG1tX3N0 cnVjdCAqbW0gPSBjdXJyZW50LT5tbTsNCiAJdW5zaWduZWQgbG9uZyBhZGRyID0gYWRkcjA7DQor CXVuc2lnbmVkIGxvbmcgbG93X2xpbWl0ID0gbWF4KFBBR0VfU0laRSwgbW1hcF9taW5fYWRkcik7 DQogDQogCS8qIHJlcXVlc3RlZCBsZW5ndGggdG9vIGJpZyBmb3IgZW50aXJlIGFkZHJlc3Mgc3Bh Y2UgKi8NCi0JaWYgKGxlbiA+IFRBU0tfU0laRSkNCisJaWYgKGxlbiA+IFRBU0tfU0laRSAtIG1t YXBfbWluX2FkZHIpDQogCQlyZXR1cm4gLUVOT01FTTsNCiANCiAJaWYgKGZsYWdzICYgTUFQX0ZJ WEVEKQ0KQEAgLTE0NTQsNyArMTQ1NSw3IEBAIGFyY2hfZ2V0X3VubWFwcGVkX2FyZWFfdG9wZG93 bihzdHJ1Y3QgZmlsZSAqZmlscCwgY29uc3QgdW5zaWduZWQgbG9uZyBhZGRyMCwNCiAJaWYgKGFk ZHIpIHsNCiAJCWFkZHIgPSBQQUdFX0FMSUdOKGFkZHIpOw0KIAkJdm1hID0gZmluZF92bWEobW0s IGFkZHIpOw0KLQkJaWYgKFRBU0tfU0laRSAtIGxlbiA+PSBhZGRyICYmDQorCQlpZiAoVEFTS19T SVpFIC0gbGVuID49IGFkZHIgJiYgYWRkciA+PSBtbWFwX21pbl9hZGRyICYmDQogCQkJCSghdm1h IHx8IGFkZHIgKyBsZW4gPD0gdm1hLT52bV9zdGFydCkpDQogCQkJcmV0dXJuIGFkZHI7DQogCX0N CkBAIC0xNDY5LDE0ICsxNDcwLDE0IEBAIGFyY2hfZ2V0X3VubWFwcGVkX2FyZWFfdG9wZG93bihz dHJ1Y3QgZmlsZSAqZmlscCwgY29uc3QgdW5zaWduZWQgbG9uZyBhZGRyMCwNCiAJYWRkciA9IG1t LT5mcmVlX2FyZWFfY2FjaGU7DQogDQogCS8qIG1ha2Ugc3VyZSBpdCBjYW4gZml0IGluIHRoZSBy ZW1haW5pbmcgYWRkcmVzcyBzcGFjZSAqLw0KLQlpZiAoYWRkciA+IGxlbikgew0KKwlpZiAoYWRk ciA+PSBsb3dfbGltaXQgKyBsZW4pIHsNCiAJCXZtYSA9IGZpbmRfdm1hKG1tLCBhZGRyLWxlbik7 DQogCQlpZiAoIXZtYSB8fCBhZGRyIDw9IHZtYS0+dm1fc3RhcnQpDQogCQkJLyogcmVtZW1iZXIg dGhlIGFkZHJlc3MgYXMgYSBoaW50IGZvciBuZXh0IHRpbWUgKi8NCiAJCQlyZXR1cm4gKG1tLT5m cmVlX2FyZWFfY2FjaGUgPSBhZGRyLWxlbik7DQogCX0NCiANCi0JaWYgKG1tLT5tbWFwX2Jhc2Ug PCBsZW4pDQorCWlmIChtbS0+bW1hcF9iYXNlIDwgbG93X2xpbWl0ICsgbGVuKQ0KIAkJZ290byBi b3R0b211cDsNCiANCiAJYWRkciA9IG1tLT5tbWFwX2Jhc2UtbGVuOw0KQEAgLTE0OTgsNyArMTQ5 OSw3IEBAIGFyY2hfZ2V0X3VubWFwcGVkX2FyZWFfdG9wZG93bihzdHJ1Y3QgZmlsZSAqZmlscCwg Y29uc3QgdW5zaWduZWQgbG9uZyBhZGRyMCwNCiANCiAJCS8qIHRyeSBqdXN0IGJlbG93IHRoZSBj dXJyZW50IHZtYS0+dm1fc3RhcnQgKi8NCiAJCWFkZHIgPSB2bWEtPnZtX3N0YXJ0LWxlbjsNCi0J fSB3aGlsZSAobGVuIDwgdm1hLT52bV9zdGFydCk7DQorCX0gd2hpbGUgKHZtYS0+dm1fc3RhcnQg Pj0gbG93X2xpbWl0ICsgbGVuKTsNCiANCiBib3R0b211cDoNCiAJLyoNCmRpZmYgLS1naXQgYS9t bS9zd2FwLmMgYi9tbS9zd2FwLmMNCmluZGV4IDU1YjI2NmQuLmE0YjkwMTYgMTAwNjQ0DQotLS0g YS9tbS9zd2FwLmMNCisrKyBiL21tL3N3YXAuYw0KQEAgLTMxLDYgKzMxLDcgQEANCiAjaW5jbHVk ZSA8bGludXgvYmFja2luZy1kZXYuaD4NCiAjaW5jbHVkZSA8bGludXgvbWVtY29udHJvbC5oPg0K ICNpbmNsdWRlIDxsaW51eC9nZnAuaD4NCisjaW5jbHVkZSA8bGludXgvaHVnZXRsYi5oPg0KIA0K ICNpbmNsdWRlICJpbnRlcm5hbC5oIg0KIA0KQEAgLTY5LDcgKzcwLDggQEAgc3RhdGljIHZvaWQg X19wdXRfY29tcG91bmRfcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSkNCiB7DQogCWNvbXBvdW5kX3Bh Z2VfZHRvciAqZHRvcjsNCiANCi0JX19wYWdlX2NhY2hlX3JlbGVhc2UocGFnZSk7DQorCWlmICgh UGFnZUh1Z2UocGFnZSkpDQorCQlfX3BhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsNCiAJZHRvciA9 IGdldF9jb21wb3VuZF9wYWdlX2R0b3IocGFnZSk7DQogCSgqZHRvcikocGFnZSk7DQogfQ0KQEAg LTgzLDYgKzg1LDM1IEBAIHN0YXRpYyB2b2lkIHB1dF9jb21wb3VuZF9wYWdlKHN0cnVjdCBwYWdl ICpwYWdlKQ0KIAkJaWYgKGxpa2VseShwYWdlICE9IHBhZ2VfaGVhZCAmJg0KIAkJCSAgIGdldF9w YWdlX3VubGVzc196ZXJvKHBhZ2VfaGVhZCkpKSB7DQogCQkJdW5zaWduZWQgbG9uZyBmbGFnczsN CisNCisJCQkgaWYgKFBhZ2VIZWFkSHVnZShwYWdlX2hlYWQpKSB7DQorCQkJCWlmIChsaWtlbHko UGFnZVRhaWwocGFnZSkpKSB7DQorCQkJCQkvKg0KKwkJCQkJICogX19zcGxpdF9odWdlX3BhZ2Vf cmVmY291bnQNCisJCQkJCSAqIGNhbm5vdCByYWNlIGhlcmUuDQorCQkJCQkgKi8NCisJCQkJCVZN X0JVR19PTighUGFnZUhlYWQocGFnZV9oZWFkKSk7DQorCQkJCQlhdG9taWNfZGVjKCZwYWdlLT5f bWFwY291bnQpOw0KKwkJCQkJaWYgKHB1dF9wYWdlX3Rlc3R6ZXJvKHBhZ2VfaGVhZCkpDQorCQkJ CQkJVk1fQlVHX09OKDEpOw0KKwkJCQkJaWYgKHB1dF9wYWdlX3Rlc3R6ZXJvKHBhZ2VfaGVhZCkp DQorCQkJCQkJX19wdXRfY29tcG91bmRfcGFnZShwYWdlX2hlYWQpOw0KKwkJCQkJcmV0dXJuOw0K KwkJCQl9IGVsc2Ugew0KKwkJCQkJLyoNCisJCQkJCSAqIF9fc3BsaXRfaHVnZV9wYWdlX3JlZmNv dW50DQorCQkJCQkgKiBydW4gYmVmb3JlIHVzLCAicGFnZSIgd2FzIGENCisJCQkJCSAqIFRIUCB0 YWlsLiBUaGUgc3BsaXQNCisJCQkJCSAqIHBhZ2VfaGVhZCBoYXMgYmVlbiBmcmVlZA0KKwkJCQkJ ICogYW5kIHJlYWxsb2NhdGVkIGFzIHNsYWIgb3INCisJCQkJCSAqIGh1Z2V0bGJmcyBwYWdlIG9m IHNtYWxsZXINCisJCQkJCSAqIG9yZGVyIChvbmx5IHBvc3NpYmxlIGlmDQorCQkJCQkgKiByZWFs bG9jYXRlZCBhcyBzbGFiIG9uDQorCQkJCQkgKiB4ODYpLg0KKwkJCQkJICovDQorCQkJCQlnb3Rv IHNraXBfbG9jazsNCisJCQkJfQ0KKwkJCX0NCiAJCQkvKg0KIAkJCSAqIHBhZ2VfaGVhZCB3YXNu J3QgYSBkYW5nbGluZyBwb2ludGVyIGJ1dCBpdA0KIAkJCSAqIG1heSBub3QgYmUgYSBoZWFkIHBh Z2UgYW55bW9yZSBieSB0aGUgdGltZQ0KQEAgLTk0LDkgKzEyNSwyOSBAQCBzdGF0aWMgdm9pZCBw dXRfY29tcG91bmRfcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSkNCiAJCQkJLyogX19zcGxpdF9odWdl X3BhZ2VfcmVmY291bnQgcnVuIGJlZm9yZSB1cyAqLw0KIAkJCQljb21wb3VuZF91bmxvY2tfaXJx cmVzdG9yZShwYWdlX2hlYWQsIGZsYWdzKTsNCiAJCQkJVk1fQlVHX09OKFBhZ2VIZWFkKHBhZ2Vf aGVhZCkpOw0KLQkJCQlpZiAocHV0X3BhZ2VfdGVzdHplcm8ocGFnZV9oZWFkKSkNCi0JCQkJCV9f cHV0X3NpbmdsZV9wYWdlKHBhZ2VfaGVhZCk7DQotCQkJb3V0X3B1dF9zaW5nbGU6DQorc2tpcF9s b2NrOg0KKwkJCQlpZiAocHV0X3BhZ2VfdGVzdHplcm8ocGFnZV9oZWFkKSkgew0KKwkJCQkJLyoN CisJCQkJCSAqIFRoZSBoZWFkIHBhZ2UgbWF5IGhhdmUgYmVlbg0KKwkJCQkJICogZnJlZWQgYW5k IHJlYWxsb2NhdGVkIGFzIGENCisJCQkJCSAqIGNvbXBvdW5kIHBhZ2Ugb2Ygc21hbGxlcg0KKwkJ CQkJICogb3JkZXIgYW5kIHRoZW4gZnJlZWQgYWdhaW4uDQorCQkJCQkgKiBBbGwgd2Uga25vdyBp cyB0aGF0IGl0DQorCQkJCQkgKiBjYW5ub3QgaGF2ZSBiZWNvbWU6IGEgVEhQDQorCQkJCQkgKiBw YWdlLCBhIGNvbXBvdW5kIHBhZ2Ugb2YNCisJCQkJCSAqIGhpZ2hlciBvcmRlciwgYSB0YWlsIHBh Z2UuDQorCQkJCQkgKiBUaGF0IGlzIGJlY2F1c2Ugd2Ugc3RpbGwNCisJCQkJCSAqIGhvbGQgdGhl IHJlZmNvdW50IG9mIHRoZQ0KKwkJCQkJICogc3BsaXQgVEhQIHRhaWwgYW5kDQorCQkJCQkgKiBw YWdlX2hlYWQgd2FzIHRoZSBUSFAgaGVhZA0KKwkJCQkJICogYmVmb3JlIHRoZSBzcGxpdC4NCisJ CQkJCSAqLw0KKwkJCQkJaWYgKFBhZ2VIZWFkKHBhZ2VfaGVhZCkpDQorCQkJCQkJX19wdXRfY29t cG91bmRfcGFnZShwYWdlX2hlYWQpOw0KKwkJCQkJZWxzZQ0KKwkJCQkJCV9fcHV0X3NpbmdsZV9w YWdlKHBhZ2VfaGVhZCk7DQorCQkJCX0NCitvdXRfcHV0X3NpbmdsZToNCiAJCQkJaWYgKHB1dF9w YWdlX3Rlc3R6ZXJvKHBhZ2UpKQ0KIAkJCQkJX19wdXRfc2luZ2xlX3BhZ2UocGFnZSk7DQogCQkJ CXJldHVybjsNCkBAIC0xNjMsNiArMjE0LDMxIEBAIGJvb2wgX19nZXRfcGFnZV90YWlsKHN0cnVj dCBwYWdlICpwYWdlKQ0KIAlzdHJ1Y3QgcGFnZSAqcGFnZV9oZWFkID0gY29tcG91bmRfdHJhbnNf aGVhZChwYWdlKTsNCiANCiAJaWYgKGxpa2VseShwYWdlICE9IHBhZ2VfaGVhZCAmJiBnZXRfcGFn ZV91bmxlc3NfemVybyhwYWdlX2hlYWQpKSkgew0KKwkJLyogUmVmIHRvIHB1dF9jb21wb3VuZF9w YWdlKCkgY29tbWVudC4gKi8NCisJCWlmIChQYWdlSGVhZEh1Z2UocGFnZV9oZWFkKSkgew0KKwkJ CWlmIChsaWtlbHkoUGFnZVRhaWwocGFnZSkpKSB7DQorCQkJCS8qDQorCQkJCSAqIFRoaXMgaXMg YSBodWdldGxiZnMNCisJCQkJICogcGFnZS4gX19zcGxpdF9odWdlX3BhZ2VfcmVmY291bnQNCisJ CQkJICogY2Fubm90IHJhY2UgaGVyZS4NCisJCQkJICovDQorCQkJCVZNX0JVR19PTighUGFnZUhl YWQocGFnZV9oZWFkKSk7DQorCQkJCV9fZ2V0X3BhZ2VfdGFpbF9mb2xsKHBhZ2UsIGZhbHNlKTsN CisJCQkJcmV0dXJuIHRydWU7DQorCQkJfSBlbHNlIHsNCisJCQkJLyoNCisJCQkJICogX19zcGxp dF9odWdlX3BhZ2VfcmVmY291bnQgcnVuDQorCQkJCSAqIGJlZm9yZSB1cywgInBhZ2UiIHdhcyBh IFRIUA0KKwkJCQkgKiB0YWlsLiBUaGUgc3BsaXQgcGFnZV9oZWFkIGhhcyBiZWVuDQorCQkJCSAq IGZyZWVkIGFuZCByZWFsbG9jYXRlZCBhcyBzbGFiIG9yDQorCQkJCSAqIGh1Z2V0bGJmcyBwYWdl IG9mIHNtYWxsZXIgb3JkZXINCisJCQkJICogKG9ubHkgcG9zc2libGUgaWYgcmVhbGxvY2F0ZWQg YXMNCisJCQkJICogc2xhYiBvbiB4ODYpLg0KKwkJCQkgKi8NCisJCQkJcHV0X3BhZ2UocGFnZV9o ZWFkKTsNCisJCQkJcmV0dXJuIGZhbHNlOw0KKwkJCX0NCisJCX0NCiAJCS8qDQogCQkgKiBwYWdl X2hlYWQgd2Fzbid0IGEgZGFuZ2xpbmcgcG9pbnRlciBidXQgaXQNCiAJCSAqIG1heSBub3QgYmUg YSBoZWFkIHBhZ2UgYW55bW9yZSBieSB0aGUgdGltZQ0KZGlmZiAtLWdpdCBhL25ldC84MDIxcS92 bGFuX2Rldi5jIGIvbmV0LzgwMjFxL3ZsYW5fZGV2LmMNCmluZGV4IGI0MGQzZGEuLjQ4YTYyZDgg MTAwNjQ0DQotLS0gYS9uZXQvODAyMXEvdmxhbl9kZXYuYw0KKysrIGIvbmV0LzgwMjFxL3ZsYW5f ZGV2LmMNCkBAIC01MjIsNiArNTIyLDIyIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaGVhZGVyX29w cyB2bGFuX2hlYWRlcl9vcHMgPSB7DQogCS5wYXJzZQkgPSBldGhfaGVhZGVyX3BhcnNlLA0KIH07 DQogDQorc3RhdGljIGludCB2bGFuX3Bhc3N0aHJ1X2hhcmRfaGVhZGVyKHN0cnVjdCBza19idWZm ICpza2IsIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsDQorCQkJCSAgICAgdW5zaWduZWQgc2hvcnQg dHlwZSwNCisJCQkJICAgICBjb25zdCB2b2lkICpkYWRkciwgY29uc3Qgdm9pZCAqc2FkZHIsDQor CQkJCSAgICAgdW5zaWduZWQgaW50IGxlbikNCit7DQorCXN0cnVjdCBuZXRfZGV2aWNlICpyZWFs X2RldiA9IHZsYW5fZGV2X2luZm8oZGV2KS0+cmVhbF9kZXY7DQorDQorCXJldHVybiBkZXZfaGFy ZF9oZWFkZXIoc2tiLCByZWFsX2RldiwgdHlwZSwgZGFkZHIsIHNhZGRyLCBsZW4pOw0KK30NCisN CitzdGF0aWMgY29uc3Qgc3RydWN0IGhlYWRlcl9vcHMgdmxhbl9wYXNzdGhydV9oZWFkZXJfb3Bz ID0gew0KKwkuY3JlYXRlCSA9IHZsYW5fcGFzc3RocnVfaGFyZF9oZWFkZXIsDQorCS5yZWJ1aWxk ID0gZGV2X3JlYnVpbGRfaGVhZGVyLA0KKwkucGFyc2UJID0gZXRoX2hlYWRlcl9wYXJzZSwNCit9 Ow0KKw0KIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbmV0X2RldmljZV9vcHMgdmxhbl9uZXRkZXZfb3Bz Ow0KIA0KIHN0YXRpYyBpbnQgdmxhbl9kZXZfaW5pdChzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQ0K QEAgLTU2MSw3ICs1NzcsNyBAQCBzdGF0aWMgaW50IHZsYW5fZGV2X2luaXQoc3RydWN0IG5ldF9k ZXZpY2UgKmRldikNCiANCiAJZGV2LT5uZWVkZWRfaGVhZHJvb20gPSByZWFsX2Rldi0+bmVlZGVk X2hlYWRyb29tOw0KIAlpZiAocmVhbF9kZXYtPmZlYXR1cmVzICYgTkVUSUZfRl9IV19WTEFOX1RY KSB7DQotCQlkZXYtPmhlYWRlcl9vcHMgICAgICA9IHJlYWxfZGV2LT5oZWFkZXJfb3BzOw0KKwkJ ZGV2LT5oZWFkZXJfb3BzICAgICAgPSAmdmxhbl9wYXNzdGhydV9oZWFkZXJfb3BzOw0KIAkJZGV2 LT5oYXJkX2hlYWRlcl9sZW4gPSByZWFsX2Rldi0+aGFyZF9oZWFkZXJfbGVuOw0KIAl9IGVsc2Ug ew0KIAkJZGV2LT5oZWFkZXJfb3BzICAgICAgPSAmdmxhbl9oZWFkZXJfb3BzOw0KZGlmZiAtLWdp dCBhL25ldC9icmlkZ2UvYnJfbXVsdGljYXN0LmMgYi9uZXQvYnJpZGdlL2JyX211bHRpY2FzdC5j DQppbmRleCBhMDZkZWNhLi4yMTU3OTg0IDEwMDY0NA0KLS0tIGEvbmV0L2JyaWRnZS9icl9tdWx0 aWNhc3QuYw0KKysrIGIvbmV0L2JyaWRnZS9icl9tdWx0aWNhc3QuYw0KQEAgLTE3NDMsNyArMTc0 Myw3IEBAIGludCBicl9tdWx0aWNhc3Rfc2V0X2hhc2hfbWF4KHN0cnVjdCBuZXRfYnJpZGdlICpi ciwgdW5zaWduZWQgbG9uZyB2YWwpDQogCXUzMiBvbGQ7DQogCXN0cnVjdCBuZXRfYnJpZGdlX21k Yl9odGFibGUgKm1kYjsNCiANCi0Jc3Bpbl9sb2NrKCZici0+bXVsdGljYXN0X2xvY2spOw0KKwlz cGluX2xvY2tfYmgoJmJyLT5tdWx0aWNhc3RfbG9jayk7DQogCWlmICghbmV0aWZfcnVubmluZyhi ci0+ZGV2KSkNCiAJCWdvdG8gdW5sb2NrOw0KIA0KQEAgLTE3NzUsNyArMTc3NSw3IEBAIHJvbGxi YWNrOg0KIAl9DQogDQogdW5sb2NrOg0KLQlzcGluX3VubG9jaygmYnItPm11bHRpY2FzdF9sb2Nr KTsNCisJc3Bpbl91bmxvY2tfYmgoJmJyLT5tdWx0aWNhc3RfbG9jayk7DQogDQogCXJldHVybiBl cnI7DQogfQ0KZGlmZiAtLWdpdCBhL25ldC9jb3JlL2Ryb3BfbW9uaXRvci5jIGIvbmV0L2NvcmUv ZHJvcF9tb25pdG9yLmMNCmluZGV4IGI4NTZmODcuLjFkOWE1MjkgMTAwNjQ0DQotLS0gYS9uZXQv Y29yZS9kcm9wX21vbml0b3IuYw0KKysrIGIvbmV0L2NvcmUvZHJvcF9tb25pdG9yLmMNCkBAIC02 MSw3ICs2MSw2IEBAIHN0YXRpYyBzdHJ1Y3QgZ2VubF9mYW1pbHkgbmV0X2Ryb3BfbW9uaXRvcl9m YW1pbHkgPSB7DQogCS5oZHJzaXplICAgICAgICA9IDAsDQogCS5uYW1lICAgICAgICAgICA9ICJO RVRfRE0iLA0KIAkudmVyc2lvbiAgICAgICAgPSAyLA0KLQkubWF4YXR0ciAgICAgICAgPSBORVRf RE1fQ01EX01BWCwNCiB9Ow0KIA0KIHN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgcGVyX2Nw dV9kbV9kYXRhLCBkbV9jcHVfZGF0YSk7DQpkaWZmIC0tZ2l0IGEvbmV0L2lwdjQvaW5ldF9kaWFn LmMgYi9uZXQvaXB2NC9pbmV0X2RpYWcuYw0KaW5kZXggY2NlZTI3MC4uNmJlNWU4ZSAxMDA2NDQN Ci0tLSBhL25ldC9pcHY0L2luZXRfZGlhZy5jDQorKysgYi9uZXQvaXB2NC9pbmV0X2RpYWcuYw0K QEAgLTExOSw2ICsxMTksMTAgQEAgc3RhdGljIGludCBpbmV0X2Nza19kaWFnX2ZpbGwoc3RydWN0 IHNvY2sgKnNrLA0KIA0KIAlyLT5pZC5pZGlhZ19zcG9ydCA9IGluZXQtPmluZXRfc3BvcnQ7DQog CXItPmlkLmlkaWFnX2Rwb3J0ID0gaW5ldC0+aW5ldF9kcG9ydDsNCisNCisJbWVtc2V0KCZyLT5p ZC5pZGlhZ19zcmMsIDAsIHNpemVvZihyLT5pZC5pZGlhZ19zcmMpKTsNCisJbWVtc2V0KCZyLT5p ZC5pZGlhZ19kc3QsIDAsIHNpemVvZihyLT5pZC5pZGlhZ19kc3QpKTsNCisNCiAJci0+aWQuaWRp YWdfc3JjWzBdID0gaW5ldC0+aW5ldF9yY3Zfc2FkZHI7DQogCXItPmlkLmlkaWFnX2RzdFswXSA9 IGluZXQtPmluZXRfZGFkZHI7DQogDQpAQCAtMjA5LDEzICsyMTMsMjAgQEAgc3RhdGljIGludCBp bmV0X3R3c2tfZGlhZ19maWxsKHN0cnVjdCBpbmV0X3RpbWV3YWl0X3NvY2sgKnR3LA0KIA0KIAly LT5pZGlhZ19mYW1pbHkJICAgICAgPSB0dy0+dHdfZmFtaWx5Ow0KIAlyLT5pZGlhZ19yZXRyYW5z ICAgICAgPSAwOw0KKw0KIAlyLT5pZC5pZGlhZ19pZgkgICAgICA9IHR3LT50d19ib3VuZF9kZXZf aWY7DQogCXItPmlkLmlkaWFnX2Nvb2tpZVswXSA9ICh1MzIpKHVuc2lnbmVkIGxvbmcpdHc7DQog CXItPmlkLmlkaWFnX2Nvb2tpZVsxXSA9ICh1MzIpKCgodW5zaWduZWQgbG9uZyl0dyA+PiAzMSkg Pj4gMSk7DQorDQogCXItPmlkLmlkaWFnX3Nwb3J0ICAgICA9IHR3LT50d19zcG9ydDsNCiAJci0+ aWQuaWRpYWdfZHBvcnQgICAgID0gdHctPnR3X2Rwb3J0Ow0KKw0KKwltZW1zZXQoJnItPmlkLmlk aWFnX3NyYywgMCwgc2l6ZW9mKHItPmlkLmlkaWFnX3NyYykpOw0KKwltZW1zZXQoJnItPmlkLmlk aWFnX2RzdCwgMCwgc2l6ZW9mKHItPmlkLmlkaWFnX2RzdCkpOw0KKw0KIAlyLT5pZC5pZGlhZ19z cmNbMF0gICAgPSB0dy0+dHdfcmN2X3NhZGRyOw0KIAlyLT5pZC5pZGlhZ19kc3RbMF0gICAgPSB0 dy0+dHdfZGFkZHI7DQorDQogCXItPmlkaWFnX3N0YXRlCSAgICAgID0gdHctPnR3X3N1YnN0YXRl Ow0KIAlyLT5pZGlhZ190aW1lcgkgICAgICA9IDM7DQogCXItPmlkaWFnX2V4cGlyZXMgICAgICA9 IERJVl9ST1VORF9VUCh0bW8gKiAxMDAwLCBIWik7DQpAQCAtNTk4LDggKzYwOSwxMyBAQCBzdGF0 aWMgaW50IGluZXRfZGlhZ19maWxsX3JlcShzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3Qgc29j ayAqc2ssDQogDQogCXItPmlkLmlkaWFnX3Nwb3J0ID0gaW5ldC0+aW5ldF9zcG9ydDsNCiAJci0+ aWQuaWRpYWdfZHBvcnQgPSBpcmVxLT5ybXRfcG9ydDsNCisNCisJbWVtc2V0KCZyLT5pZC5pZGlh Z19zcmMsIDAsIHNpemVvZihyLT5pZC5pZGlhZ19zcmMpKTsNCisJbWVtc2V0KCZyLT5pZC5pZGlh Z19kc3QsIDAsIHNpemVvZihyLT5pZC5pZGlhZ19kc3QpKTsNCisNCiAJci0+aWQuaWRpYWdfc3Jj WzBdID0gaXJlcS0+bG9jX2FkZHI7DQogCXItPmlkLmlkaWFnX2RzdFswXSA9IGlyZXEtPnJtdF9h ZGRyOw0KKw0KIAlyLT5pZGlhZ19leHBpcmVzID0gamlmZmllc190b19tc2Vjcyh0bW8pOw0KIAly LT5pZGlhZ19ycXVldWUgPSAwOw0KIAlyLT5pZGlhZ193cXVldWUgPSAwOw0KQEAgLTgyNCw3ICs4 NDAsNyBAQCBuZXh0X25vcm1hbDoNCiAJCQkrK251bTsNCiAJCX0NCiANCi0JCWlmIChyLT5pZGlh Z19zdGF0ZXMgJiBUQ1BGX1RJTUVfV0FJVCkgew0KKwkJaWYgKHItPmlkaWFnX3N0YXRlcyAmIChU Q1BGX1RJTUVfV0FJVCB8IFRDUEZfRklOX1dBSVQyKSkgew0KIAkJCXN0cnVjdCBpbmV0X3RpbWV3 YWl0X3NvY2sgKnR3Ow0KIA0KIAkJCWluZXRfdHdza19mb3JfZWFjaCh0dywgbm9kZSwNCkBAIC04 MzIsNiArODQ4LDggQEAgbmV4dF9ub3JtYWw6DQogDQogCQkJCWlmIChudW0gPCBzX251bSkNCiAJ CQkJCWdvdG8gbmV4dF9keWluZzsNCisJCQkJaWYgKCEoci0+aWRpYWdfc3RhdGVzICYgKDEgPDwg dHctPnR3X3N1YnN0YXRlKSkpDQorCQkJCQlnb3RvIG5leHRfZHlpbmc7DQogCQkJCWlmIChyLT5p ZC5pZGlhZ19zcG9ydCAhPSB0dy0+dHdfc3BvcnQgJiYNCiAJCQkJICAgIHItPmlkLmlkaWFnX3Nw b3J0KQ0KIAkJCQkJZ290byBuZXh0X2R5aW5nOw0KZGlmZiAtLWdpdCBhL25ldC9pcHY0L2lwbXIu YyBiL25ldC9pcHY0L2lwbXIuYw0KaW5kZXggYjVlNjRlNC4uMTQwZDM3NyAxMDA2NDQNCi0tLSBh L25ldC9pcHY0L2lwbXIuYw0KKysrIGIvbmV0L2lwdjQvaXBtci5jDQpAQCAtMTU1LDkgKzE1NSwx MiBAQCBzdGF0aWMgc3RydWN0IG1yX3RhYmxlICppcG1yX2dldF90YWJsZShzdHJ1Y3QgbmV0ICpu ZXQsIHUzMiBpZCkNCiBzdGF0aWMgaW50IGlwbXJfZmliX2xvb2t1cChzdHJ1Y3QgbmV0ICpuZXQs IHN0cnVjdCBmbG93aTQgKmZscDQsDQogCQkJICAgc3RydWN0IG1yX3RhYmxlICoqbXJ0KQ0KIHsN Ci0Jc3RydWN0IGlwbXJfcmVzdWx0IHJlczsNCi0Jc3RydWN0IGZpYl9sb29rdXBfYXJnIGFyZyA9 IHsgLnJlc3VsdCA9ICZyZXMsIH07DQogCWludCBlcnI7DQorCXN0cnVjdCBpcG1yX3Jlc3VsdCBy ZXM7DQorCXN0cnVjdCBmaWJfbG9va3VwX2FyZyBhcmcgPSB7DQorCQkucmVzdWx0ID0gJnJlcywN CisJCS5mbGFncyA9IEZJQl9MT09LVVBfTk9SRUYsDQorCX07DQogDQogCWVyciA9IGZpYl9ydWxl c19sb29rdXAobmV0LT5pcHY0Lm1yX3J1bGVzX29wcywNCiAJCQkgICAgICAgZmxvd2k0X3RvX2Zs b3dpKGZscDQpLCAwLCAmYXJnKTsNCmRpZmYgLS1naXQgYS9uZXQvaXB2Ni9pcDZtci5jIGIvbmV0 L2lwdjYvaXA2bXIuYw0KaW5kZXggZjVhZjI1OS4uZjk2Yzk2ZiAxMDA2NDQNCi0tLSBhL25ldC9p cHY2L2lwNm1yLmMNCisrKyBiL25ldC9pcHY2L2lwNm1yLmMNCkBAIC0xMzksOSArMTM5LDEyIEBA IHN0YXRpYyBzdHJ1Y3QgbXI2X3RhYmxlICppcDZtcl9nZXRfdGFibGUoc3RydWN0IG5ldCAqbmV0 LCB1MzIgaWQpDQogc3RhdGljIGludCBpcDZtcl9maWJfbG9va3VwKHN0cnVjdCBuZXQgKm5ldCwg c3RydWN0IGZsb3dpNiAqZmxwNiwNCiAJCQkgICAgc3RydWN0IG1yNl90YWJsZSAqKm1ydCkNCiB7 DQotCXN0cnVjdCBpcDZtcl9yZXN1bHQgcmVzOw0KLQlzdHJ1Y3QgZmliX2xvb2t1cF9hcmcgYXJn ID0geyAucmVzdWx0ID0gJnJlcywgfTsNCiAJaW50IGVycjsNCisJc3RydWN0IGlwNm1yX3Jlc3Vs dCByZXM7DQorCXN0cnVjdCBmaWJfbG9va3VwX2FyZyBhcmcgPSB7DQorCQkucmVzdWx0ID0gJnJl cywNCisJCS5mbGFncyA9IEZJQl9MT09LVVBfTk9SRUYsDQorCX07DQogDQogCWVyciA9IGZpYl9y dWxlc19sb29rdXAobmV0LT5pcHY2Lm1yNl9ydWxlc19vcHMsDQogCQkJICAgICAgIGZsb3dpNl90 b19mbG93aShmbHA2KSwgMCwgJmFyZyk7DQpkaWZmIC0tZ2l0IGEvbmV0L2lwdjYvcm91dGUuYyBi L25ldC9pcHY2L3JvdXRlLmMNCmluZGV4IDE3NjgyMzguLjlhNGY0MzcgMTAwNjQ0DQotLS0gYS9u ZXQvaXB2Ni9yb3V0ZS5jDQorKysgYi9uZXQvaXB2Ni9yb3V0ZS5jDQpAQCAtMjA1OCwxNSArMjA1 OCwxMSBAQCBzdHJ1Y3QgcnQ2X2luZm8gKmFkZHJjb25mX2RzdF9hbGxvYyhzdHJ1Y3QgaW5ldDZf ZGV2ICppZGV2LA0KIHsNCiAJc3RydWN0IG5ldCAqbmV0ID0gZGV2X25ldChpZGV2LT5kZXYpOw0K IAlzdHJ1Y3QgcnQ2X2luZm8gKnJ0ID0gaXA2X2RzdF9hbGxvYygmbmV0LT5pcHY2LmlwNl9kc3Rf b3BzLA0KLQkJCQkJICAgIG5ldC0+bG9vcGJhY2tfZGV2LCAwKTsNCisJCQkJCSAgICBuZXQtPmxv b3BiYWNrX2RldiwgRFNUX05PQ09VTlQpOw0KIAlzdHJ1Y3QgbmVpZ2hib3VyICpuZWlnaDsNCiAN Ci0JaWYgKHJ0ID09IE5VTEwpIHsNCi0JCWlmIChuZXRfcmF0ZWxpbWl0KCkpDQotCQkJcHJfd2Fy bmluZygiSVB2NjogIE1heGltdW0gbnVtYmVyIG9mIHJvdXRlcyByZWFjaGVkLCINCi0JCQkJICAg IiBjb25zaWRlciBpbmNyZWFzaW5nIHJvdXRlL21heF9zaXplLlxuIik7DQorCWlmIChydCA9PSBO VUxMKQ0KIAkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7DQotCX0NCiANCiAJaW42X2Rldl9ob2xk KGlkZXYpOw0KIA0KZGlmZiAtLWdpdCBhL25ldC9sbGMvYWZfbGxjLmMgYi9uZXQvbGxjL2FmX2xs Yy5jDQppbmRleCA5OWE2MGQ1Li5mNDMyZDdiIDEwMDY0NA0KLS0tIGEvbmV0L2xsYy9hZl9sbGMu Yw0KKysrIGIvbmV0L2xsYy9hZl9sbGMuYw0KQEAgLTcxNSw3ICs3MTUsNyBAQCBzdGF0aWMgaW50 IGxsY191aV9yZWN2bXNnKHN0cnVjdCBraW9jYiAqaW9jYiwgc3RydWN0IHNvY2tldCAqc29jaywN CiAJc3RydWN0IGxsY19zb2NrICpsbGMgPSBsbGNfc2soc2spOw0KIAlzaXplX3QgY29waWVkID0g MDsNCiAJdTMyIHBlZWtfc2VxID0gMDsNCi0JdTMyICpzZXE7DQorCXUzMiAqc2VxLCBza2JfbGVu Ow0KIAl1bnNpZ25lZCBsb25nIHVzZWQ7DQogCWludCB0YXJnZXQ7CS8qIFJlYWQgYXQgbGVhc3Qg dGhpcyBtYW55IGJ5dGVzICovDQogCWxvbmcgdGltZW87DQpAQCAtODEzLDYgKzgxMyw3IEBAIHN0 YXRpYyBpbnQgbGxjX3VpX3JlY3Ztc2coc3RydWN0IGtpb2NiICppb2NiLCBzdHJ1Y3Qgc29ja2V0 ICpzb2NrLA0KIAkJfQ0KIAkJY29udGludWU7DQogCWZvdW5kX29rX3NrYjoNCisJCXNrYl9sZW4g PSBza2ItPmxlbjsNCiAJCS8qIE9rIHNvIGhvdyBtdWNoIGNhbiB3ZSB1c2U/ICovDQogCQl1c2Vk ID0gc2tiLT5sZW4gLSBvZmZzZXQ7DQogCQlpZiAobGVuIDwgdXNlZCkNCkBAIC04NDMsNyArODQ0 LDcgQEAgc3RhdGljIGludCBsbGNfdWlfcmVjdm1zZyhzdHJ1Y3Qga2lvY2IgKmlvY2IsIHN0cnVj dCBzb2NrZXQgKnNvY2ssDQogCQl9DQogDQogCQkvKiBQYXJ0aWFsIHJlYWQgKi8NCi0JCWlmICh1 c2VkICsgb2Zmc2V0IDwgc2tiLT5sZW4pDQorCQlpZiAodXNlZCArIG9mZnNldCA8IHNrYl9sZW4p DQogCQkJY29udGludWU7DQogCX0gd2hpbGUgKGxlbiA+IDApOw0KIA0KZGlmZiAtLWdpdCBhL25l dC9yZHMvaWIuYyBiL25ldC9yZHMvaWIuYw0KaW5kZXggYjRjOGIwMC4uYmEyZGZmZSAxMDA2NDQN Ci0tLSBhL25ldC9yZHMvaWIuYw0KKysrIGIvbmV0L3Jkcy9pYi5jDQpAQCAtMzM4LDcgKzMzOCw4 IEBAIHN0YXRpYyBpbnQgcmRzX2liX2xhZGRyX2NoZWNrKF9fYmUzMiBhZGRyKQ0KIAlyZXQgPSBy ZG1hX2JpbmRfYWRkcihjbV9pZCwgKHN0cnVjdCBzb2NrYWRkciAqKSZzaW4pOw0KIAkvKiBkdWUg dG8gdGhpcywgd2Ugd2lsbCBjbGFpbSB0byBzdXBwb3J0IGlXQVJQIGRldmljZXMgdW5sZXNzIHdl DQogCSAgIGNoZWNrIG5vZGVfdHlwZS4gKi8NCi0JaWYgKHJldCB8fCBjbV9pZC0+ZGV2aWNlLT5u b2RlX3R5cGUgIT0gUkRNQV9OT0RFX0lCX0NBKQ0KKwlpZiAocmV0IHx8ICFjbV9pZC0+ZGV2aWNl IHx8DQorCSAgICBjbV9pZC0+ZGV2aWNlLT5ub2RlX3R5cGUgIT0gUkRNQV9OT0RFX0lCX0NBKQ0K IAkJcmV0ID0gLUVBRERSTk9UQVZBSUw7DQogDQogCXJkc2RlYnVnKCJhZGRyICVwSTQgcmV0ICVk IG5vZGUgdHlwZSAlZFxuIiwNCmRpZmYgLS1naXQgYS9uZXQvcmRzL2liX3NlbmQuYyBiL25ldC9y ZHMvaWJfc2VuZC5jDQppbmRleCBlNTkwOTQ5Li4zN2JlNmUyIDEwMDY0NA0KLS0tIGEvbmV0L3Jk cy9pYl9zZW5kLmMNCisrKyBiL25ldC9yZHMvaWJfc2VuZC5jDQpAQCAtNTUyLDkgKzU1Miw4IEBA IGludCByZHNfaWJfeG1pdChzdHJ1Y3QgcmRzX2Nvbm5lY3Rpb24gKmNvbm4sIHN0cnVjdCByZHNf bWVzc2FnZSAqcm0sDQogCSAgICAmJiBybS0+bV9pbmMuaV9oZHIuaF9mbGFncyAmIFJEU19GTEFH X0NPTkdfQklUTUFQKSB7DQogCQlyZHNfY29uZ19tYXBfdXBkYXRlZChjb25uLT5jX2Zjb25nLCB+ KHU2NCkgMCk7DQogCQlzY2F0ID0gJnJtLT5kYXRhLm9wX3NnW3NnXTsNCi0JCXJldCA9IHNpemVv ZihzdHJ1Y3QgcmRzX2hlYWRlcikgKyBSRFNfQ09OR19NQVBfQllURVM7DQotCQlyZXQgPSBtaW5f dChpbnQsIHJldCwgc2NhdC0+bGVuZ3RoIC0gY29ubi0+Y194bWl0X2RhdGFfb2ZmKTsNCi0JCXJl dHVybiByZXQ7DQorCQlyZXQgPSBtYXhfdChpbnQsIFJEU19DT05HX01BUF9CWVRFUywgc2NhdC0+ bGVuZ3RoKTsNCisJCXJldHVybiBzaXplb2Yoc3RydWN0IHJkc19oZWFkZXIpICsgcmV0Ow0KIAl9 DQogDQogCS8qIEZJWE1FIHdlIG1heSBvdmVyYWxsb2NhdGUgaGVyZSAqLw0KZGlmZiAtLWdpdCBh L25ldC9yb3NlL2FmX3Jvc2UuYyBiL25ldC9yb3NlL2FmX3Jvc2UuYw0KaW5kZXggYmY3NmRlYzcu LjY4NmZiMWEgMTAwNjQ0DQotLS0gYS9uZXQvcm9zZS9hZl9yb3NlLmMNCisrKyBiL25ldC9yb3Nl L2FmX3Jvc2UuYw0KQEAgLTEyNTgsNiArMTI1OCw3IEBAIHN0YXRpYyBpbnQgcm9zZV9yZWN2bXNn KHN0cnVjdCBraW9jYiAqaW9jYiwgc3RydWN0IHNvY2tldCAqc29jaywNCiANCiAJaWYgKG1zZy0+ bXNnX25hbWUpIHsNCiAJCXN0cnVjdCBzb2NrYWRkcl9yb3NlICpzcm9zZTsNCisJCXN0cnVjdCBm dWxsX3NvY2thZGRyX3Jvc2UgKmZ1bGxfc3Jvc2UgPSBtc2ctPm1zZ19uYW1lOw0KIA0KIAkJbWVt c2V0KG1zZy0+bXNnX25hbWUsIDAsIHNpemVvZihzdHJ1Y3QgZnVsbF9zb2NrYWRkcl9yb3NlKSk7 DQogCQlzcm9zZSA9IG1zZy0+bXNnX25hbWU7DQpAQCAtMTI2NSwxOCArMTI2Niw5IEBAIHN0YXRp YyBpbnQgcm9zZV9yZWN2bXNnKHN0cnVjdCBraW9jYiAqaW9jYiwgc3RydWN0IHNvY2tldCAqc29j aywNCiAJCXNyb3NlLT5zcm9zZV9hZGRyICAgPSByb3NlLT5kZXN0X2FkZHI7DQogCQlzcm9zZS0+ c3Jvc2VfY2FsbCAgID0gcm9zZS0+ZGVzdF9jYWxsOw0KIAkJc3Jvc2UtPnNyb3NlX25kaWdpcyA9 IHJvc2UtPmRlc3RfbmRpZ2lzOw0KLQkJaWYgKG1zZy0+bXNnX25hbWVsZW4gPj0gc2l6ZW9mKHN0 cnVjdCBmdWxsX3NvY2thZGRyX3Jvc2UpKSB7DQotCQkJc3RydWN0IGZ1bGxfc29ja2FkZHJfcm9z ZSAqZnVsbF9zcm9zZSA9IChzdHJ1Y3QgZnVsbF9zb2NrYWRkcl9yb3NlICopbXNnLT5tc2dfbmFt ZTsNCi0JCQlmb3IgKG4gPSAwIDsgbiA8IHJvc2UtPmRlc3RfbmRpZ2lzIDsgbisrKQ0KLQkJCQlm dWxsX3Nyb3NlLT5zcm9zZV9kaWdpc1tuXSA9IHJvc2UtPmRlc3RfZGlnaXNbbl07DQotCQkJbXNn LT5tc2dfbmFtZWxlbiA9IHNpemVvZihzdHJ1Y3QgZnVsbF9zb2NrYWRkcl9yb3NlKTsNCi0JCX0g ZWxzZSB7DQotCQkJaWYgKHJvc2UtPmRlc3RfbmRpZ2lzID49IDEpIHsNCi0JCQkJc3Jvc2UtPnNy b3NlX25kaWdpcyA9IDE7DQotCQkJCXNyb3NlLT5zcm9zZV9kaWdpID0gcm9zZS0+ZGVzdF9kaWdp c1swXTsNCi0JCQl9DQotCQkJbXNnLT5tc2dfbmFtZWxlbiA9IHNpemVvZihzdHJ1Y3Qgc29ja2Fk ZHJfcm9zZSk7DQotCQl9DQorCQlmb3IgKG4gPSAwIDsgbiA8IHJvc2UtPmRlc3RfbmRpZ2lzIDsg bisrKQ0KKwkJCWZ1bGxfc3Jvc2UtPnNyb3NlX2RpZ2lzW25dID0gcm9zZS0+ZGVzdF9kaWdpc1tu XTsNCisJCW1zZy0+bXNnX25hbWVsZW4gPSBzaXplb2Yoc3RydWN0IGZ1bGxfc29ja2FkZHJfcm9z ZSk7DQogCX0NCiANCiAJc2tiX2ZyZWVfZGF0YWdyYW0oc2ssIHNrYik7DQpkaWZmIC0tZ2l0IGEv bmV0L3VuaXgvYWZfdW5peC5jIGIvbmV0L3VuaXgvYWZfdW5peC5jDQppbmRleCA5MzM4Y2NjLi5l ZGRmZGVjIDEwMDY0NA0KLS0tIGEvbmV0L3VuaXgvYWZfdW5peC5jDQorKysgYi9uZXQvdW5peC9h Zl91bml4LmMNCkBAIC02OTYsNyArNjk2LDkgQEAgc3RhdGljIGludCB1bml4X2F1dG9iaW5kKHN0 cnVjdCBzb2NrZXQgKnNvY2spDQogCWludCBlcnI7DQogCXVuc2lnbmVkIGludCByZXRyaWVzID0g MDsNCiANCi0JbXV0ZXhfbG9jaygmdS0+cmVhZGxvY2spOw0KKwllcnIgPSBtdXRleF9sb2NrX2lu dGVycnVwdGlibGUoJnUtPnJlYWRsb2NrKTsNCisJaWYgKGVycikNCisJCXJldHVybiBlcnI7DQog DQogCWVyciA9IDA7DQogCWlmICh1LT5hZGRyKQ0KQEAgLTgyOSw3ICs4MzEsOSBAQCBzdGF0aWMg aW50IHVuaXhfYmluZChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2FkZHIgKnVhZGRy LCBpbnQgYWRkcl9sZW4pDQogCQlnb3RvIG91dDsNCiAJYWRkcl9sZW4gPSBlcnI7DQogDQotCW11 dGV4X2xvY2soJnUtPnJlYWRsb2NrKTsNCisJZXJyID0gbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxl KCZ1LT5yZWFkbG9jayk7DQorCWlmIChlcnIpDQorCQlnb3RvIG91dDsNCiANCiAJZXJyID0gLUVJ TlZBTDsNCiAJaWYgKHUtPmFkZHIpDQpkaWZmIC0tZ2l0IGEvbmV0L3dpcmVsZXNzL3JhZGlvdGFw LmMgYi9uZXQvd2lyZWxlc3MvcmFkaW90YXAuYw0KaW5kZXggNjE3YTMxMC4uNjA1NDlhNCAxMDA2 NDQNCi0tLSBhL25ldC93aXJlbGVzcy9yYWRpb3RhcC5jDQorKysgYi9uZXQvd2lyZWxlc3MvcmFk aW90YXAuYw0KQEAgLTEyMiw2ICsxMjIsMTAgQEAgaW50IGllZWU4MDIxMV9yYWRpb3RhcF9pdGVy YXRvcl9pbml0KA0KIAkvKiBmaW5kIHBheWxvYWQgc3RhcnQgYWxsb3dpbmcgZm9yIGV4dGVuZGVk IGJpdG1hcChzKSAqLw0KIA0KIAlpZiAoaXRlcmF0b3ItPl9iaXRtYXBfc2hpZnRlciAmICgxPDxJ RUVFODAyMTFfUkFESU9UQVBfRVhUKSkgew0KKwkJaWYgKCh1bnNpZ25lZCBsb25nKWl0ZXJhdG9y LT5fYXJnIC0NCisJCSAgICAodW5zaWduZWQgbG9uZylpdGVyYXRvci0+X3J0aGVhZGVyICsgc2l6 ZW9mKHVpbnQzMl90KSA+DQorCQkgICAgKHVuc2lnbmVkIGxvbmcpaXRlcmF0b3ItPl9tYXhfbGVu Z3RoKQ0KKwkJCXJldHVybiAtRUlOVkFMOw0KIAkJd2hpbGUgKGdldF91bmFsaWduZWRfbGUzMihp dGVyYXRvci0+X2FyZykgJg0KIAkJCQkJKDEgPDwgSUVFRTgwMjExX1JBRElPVEFQX0VYVCkpIHsN CiAJCQlpdGVyYXRvci0+X2FyZyArPSBzaXplb2YodWludDMyX3QpOw0KZGlmZiAtLWdpdCBhL3Nl Y3VyaXR5L3NlbGludXgvaG9va3MuYyBiL3NlY3VyaXR5L3NlbGludXgvaG9va3MuYw0KaW5kZXgg NTg5OGYzNC4uYmNmMWQ3MyAxMDA2NDQNCi0tLSBhL3NlY3VyaXR5L3NlbGludXgvaG9va3MuYw0K KysrIGIvc2VjdXJpdHkvc2VsaW51eC9ob29rcy5jDQpAQCAtMjE3LDYgKzIxNywxNCBAQCBzdGF0 aWMgaW50IGlub2RlX2FsbG9jX3NlY3VyaXR5KHN0cnVjdCBpbm9kZSAqaW5vZGUpDQogCXJldHVy biAwOw0KIH0NCiANCitzdGF0aWMgdm9pZCBpbm9kZV9mcmVlX3JjdShzdHJ1Y3QgcmN1X2hlYWQg KmhlYWQpDQorew0KKwlzdHJ1Y3QgaW5vZGVfc2VjdXJpdHlfc3RydWN0ICppc2VjOw0KKw0KKwlp c2VjID0gY29udGFpbmVyX29mKGhlYWQsIHN0cnVjdCBpbm9kZV9zZWN1cml0eV9zdHJ1Y3QsIHJj dSk7DQorCWttZW1fY2FjaGVfZnJlZShzZWxfaW5vZGVfY2FjaGUsIGlzZWMpOw0KK30NCisNCiBz dGF0aWMgdm9pZCBpbm9kZV9mcmVlX3NlY3VyaXR5KHN0cnVjdCBpbm9kZSAqaW5vZGUpDQogew0K IAlzdHJ1Y3QgaW5vZGVfc2VjdXJpdHlfc3RydWN0ICppc2VjID0gaW5vZGUtPmlfc2VjdXJpdHk7 DQpAQCAtMjI3LDggKzIzNSwxNiBAQCBzdGF0aWMgdm9pZCBpbm9kZV9mcmVlX3NlY3VyaXR5KHN0 cnVjdCBpbm9kZSAqaW5vZGUpDQogCQlsaXN0X2RlbF9pbml0KCZpc2VjLT5saXN0KTsNCiAJc3Bp bl91bmxvY2soJnNic2VjLT5pc2VjX2xvY2spOw0KIA0KLQlpbm9kZS0+aV9zZWN1cml0eSA9IE5V TEw7DQotCWttZW1fY2FjaGVfZnJlZShzZWxfaW5vZGVfY2FjaGUsIGlzZWMpOw0KKwkvKg0KKwkg KiBUaGUgaW5vZGUgbWF5IHN0aWxsIGJlIHJlZmVyZW5jZWQgaW4gYSBwYXRoIHdhbGsgYW5kDQor CSAqIGEgY2FsbCB0byBzZWxpbnV4X2lub2RlX3Blcm1pc3Npb24oKSBjYW4gYmUgbWFkZQ0KKwkg KiBhZnRlciBpbm9kZV9mcmVlX3NlY3VyaXR5KCkgaXMgY2FsbGVkLiBJZGVhbGx5LCB0aGUgVkZT DQorCSAqIHdvdWxkbid0IGRvIHRoaXMsIGJ1dCBmaXhpbmcgdGhhdCBpcyBhIG11Y2ggaGFyZGVy DQorCSAqIGpvYi4gRm9yIG5vdywgc2ltcGx5IGZyZWUgdGhlIGlfc2VjdXJpdHkgdmlhIFJDVSwg YW5kDQorCSAqIGxlYXZlIHRoZSBjdXJyZW50IGlub2RlLT5pX3NlY3VyaXR5IHBvaW50ZXIgaW50 YWN0Lg0KKwkgKiBUaGUgaW5vZGUgd2lsbCBiZSBmcmVlZCBhZnRlciB0aGUgUkNVIGdyYWNlIHBl cmlvZCB0b28uDQorCSAqLw0KKwljYWxsX3JjdSgmaXNlYy0+cmN1LCBpbm9kZV9mcmVlX3JjdSk7 DQogfQ0KIA0KIHN0YXRpYyBpbnQgZmlsZV9hbGxvY19zZWN1cml0eShzdHJ1Y3QgZmlsZSAqZmls ZSkNCkBAIC00MTgxLDggKzQxOTcsMTAgQEAgc3RhdGljIGludCBzZWxpbnV4X3NvY2tldF9zb2Nr X3Jjdl9za2Ioc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQ0KIAkJfQ0KIAkJ ZXJyID0gYXZjX2hhc19wZXJtKHNrX3NpZCwgcGVlcl9zaWQsIFNFQ0NMQVNTX1BFRVIsDQogCQkJ CSAgIFBFRVJfX1JFQ1YsICZhZCk7DQotCQlpZiAoZXJyKQ0KKwkJaWYgKGVycikgew0KIAkJCXNl bGludXhfbmV0bGJsX2Vycihza2IsIGVyciwgMCk7DQorCQkJcmV0dXJuIGVycjsNCisJCX0NCiAJ fQ0KIA0KIAlpZiAoc2VjbWFya19hY3RpdmUpIHsNCkBAIC01MzcyLDExICs1MzkwLDExIEBAIHN0 YXRpYyBpbnQgc2VsaW51eF9zZXRwcm9jYXR0cihzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsDQogCQkv KiBDaGVjayBmb3IgcHRyYWNpbmcsIGFuZCB1cGRhdGUgdGhlIHRhc2sgU0lEIGlmIG9rLg0KIAkJ ICAgT3RoZXJ3aXNlLCBsZWF2ZSBTSUQgdW5jaGFuZ2VkIGFuZCBmYWlsLiAqLw0KIAkJcHRzaWQg PSAwOw0KLQkJdGFza19sb2NrKHApOw0KKwkJcmN1X3JlYWRfbG9jaygpOw0KIAkJdHJhY2VyID0g cHRyYWNlX3BhcmVudChwKTsNCiAJCWlmICh0cmFjZXIpDQogCQkJcHRzaWQgPSB0YXNrX3NpZCh0 cmFjZXIpOw0KLQkJdGFza191bmxvY2socCk7DQorCQlyY3VfcmVhZF91bmxvY2soKTsNCiANCiAJ CWlmICh0cmFjZXIpIHsNCiAJCQllcnJvciA9IGF2Y19oYXNfcGVybShwdHNpZCwgc2lkLCBTRUND TEFTU19QUk9DRVNTLA0KZGlmZiAtLWdpdCBhL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9vYmpz ZWMuaCBiL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9vYmpzZWMuaA0KaW5kZXggMjZjN2VlZS4u N2IxODMwYiAxMDA2NDQNCi0tLSBhL3NlY3VyaXR5L3NlbGludXgvaW5jbHVkZS9vYmpzZWMuaA0K KysrIGIvc2VjdXJpdHkvc2VsaW51eC9pbmNsdWRlL29ianNlYy5oDQpAQCAtMzgsNyArMzgsMTAg QEAgc3RydWN0IHRhc2tfc2VjdXJpdHlfc3RydWN0IHsNCiANCiBzdHJ1Y3QgaW5vZGVfc2VjdXJp dHlfc3RydWN0IHsNCiAJc3RydWN0IGlub2RlICppbm9kZTsJLyogYmFjayBwb2ludGVyIHRvIGlu b2RlIG9iamVjdCAqLw0KLQlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CS8qIGxpc3Qgb2YgaW5vZGVf c2VjdXJpdHlfc3RydWN0ICovDQorCXVuaW9uIHsNCisJCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsJ LyogbGlzdCBvZiBpbm9kZV9zZWN1cml0eV9zdHJ1Y3QgKi8NCisJCXN0cnVjdCByY3VfaGVhZCBy Y3U7CS8qIGZvciBmcmVlaW5nIHRoZSBpbm9kZV9zZWN1cml0eV9zdHJ1Y3QgKi8NCisJfTsNCiAJ dTMyIHRhc2tfc2lkOwkJLyogU0lEIG9mIGNyZWF0aW5nIHRhc2sgKi8NCiAJdTMyIHNpZDsJCS8q IFNJRCBvZiB0aGlzIG9iamVjdCAqLw0KIAl1MTYgc2NsYXNzOwkJLyogc2VjdXJpdHkgY2xhc3Mg b2YgdGhpcyBvYmplY3QgKi8NCmRpZmYgLS1naXQgYS9zb3VuZC9jb3JlL3BjbV9saWIuYyBiL3Nv dW5kL2NvcmUvcGNtX2xpYi5jDQppbmRleCAzNDIwYmQzLi5jZjBkNDZlIDEwMDY0NA0KLS0tIGEv c291bmQvY29yZS9wY21fbGliLmMNCisrKyBiL3NvdW5kL2NvcmUvcGNtX2xpYi5jDQpAQCAtMTg0 Niw2ICsxODQ2LDggQEAgc3RhdGljIGludCB3YWl0X2Zvcl9hdmFpbChzdHJ1Y3Qgc25kX3BjbV9z dWJzdHJlYW0gKnN1YnN0cmVhbSwNCiAJCWNhc2UgU05EUlZfUENNX1NUQVRFX0RJU0NPTk5FQ1RF RDoNCiAJCQllcnIgPSAtRUJBREZEOw0KIAkJCWdvdG8gX2VuZGxvb3A7DQorCQljYXNlIFNORFJW X1BDTV9TVEFURV9QQVVTRUQ6DQorCQkJY29udGludWU7DQogCQl9DQogCQlpZiAoIXRvdXQpIHsN CiAJCQlzbmRfcHJpbnRkKCIlcyB3cml0ZSBlcnJvciAoRE1BIG9yIElSUSB0cm91YmxlPylcbiIs DQpkaWZmIC0tZ2l0IGEvc291bmQvcGNpL2hkYS9oZGFfaW50ZWwuYyBiL3NvdW5kL3BjaS9oZGEv aGRhX2ludGVsLmMNCmluZGV4IDdlYmU0YjcuLmZlYTY4OTUgMTAwNjQ0DQotLS0gYS9zb3VuZC9w Y2kvaGRhL2hkYV9pbnRlbC5jDQorKysgYi9zb3VuZC9wY2kvaGRhL2hkYV9pbnRlbC5jDQpAQCAt MjYxOCw2ICsyNjE4LDEwIEBAIHN0YXRpYyB2b2lkIF9fZGV2aW5pdCBjaGVja19wcm9iZV9tYXNr KHN0cnVjdCBhenggKmNoaXAsIGludCBkZXYpDQogICogd2hpdGUvYmxhY2stbGlzdCBmb3IgZW5h YmxlX21zaQ0KICAqLw0KIHN0YXRpYyBzdHJ1Y3Qgc25kX3BjaV9xdWlyayBtc2lfYmxhY2tfbGlz dFtdIF9fZGV2aW5pdGRhdGEgPSB7DQorCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAweDIxOTEsICJI UCIsIDApLCAvKiBBTUQgSHVkc29uICovDQorCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAweDIxOTIs ICJIUCIsIDApLCAvKiBBTUQgSHVkc29uICovDQorCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAweDIx ZjcsICJIUCIsIDApLCAvKiBBTUQgSHVkc29uICovDQorCVNORF9QQ0lfUVVJUksoMHgxMDNjLCAw eDIxZmEsICJIUCIsIDApLCAvKiBBTUQgSHVkc29uICovDQogCVNORF9QQ0lfUVVJUksoMHgxMDQz LCAweDgxZjIsICJBU1VTIiwgMCksIC8qIEF0aGxvbjY0IFgyICsgbnZpZGlhICovDQogCVNORF9Q Q0lfUVVJUksoMHgxMDQzLCAweDgxZjYsICJBU1VTIiwgMCksIC8qIG52aWRpYSAqLw0KIAlTTkRf UENJX1FVSVJLKDB4MTA0MywgMHg4MjJkLCAiQVNVUyIsIDApLCAvKiBBdGhsb242NCBYMiArIG52 aWRpYSBNQ1A1NSAqLw0KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mvd204OTA0LmMgYi9z b3VuZC9zb2MvY29kZWNzL3dtODkwNC5jDQppbmRleCAyODVlZjg3Li5mYWZiNzZmIDEwMDY0NA0K LS0tIGEvc291bmQvc29jL2NvZGVjcy93bTg5MDQuYw0KKysrIGIvc291bmQvc29jL2NvZGVjcy93 bTg5MDQuYw0KQEAgLTE3MTQsNyArMTcxNCw3IEBAIHN0YXRpYyBpbnQgd204OTA0X3NldF9mbXQo c3RydWN0IHNuZF9zb2NfZGFpICpkYWksIHVuc2lnbmVkIGludCBmbXQpDQogDQogCXN3aXRjaCAo Zm10ICYgU05EX1NPQ19EQUlGTVRfRk9STUFUX01BU0spIHsNCiAJY2FzZSBTTkRfU09DX0RBSUZN VF9EU1BfQjoNCi0JCWFpZjEgfD0gV004OTA0X0FJRl9MUkNMS19JTlY7DQorCQlhaWYxIHw9IDB4 MyB8IFdNODkwNF9BSUZfTFJDTEtfSU5WOw0KIAljYXNlIFNORF9TT0NfREFJRk1UX0RTUF9BOg0K IAkJYWlmMSB8PSAweDM7DQogCQlicmVhazsNCmRpZmYgLS1naXQgYS90b29scy9wb3dlci9jcHVw b3dlci91dGlscy9jcHVwb3dlci1zZXQuYyBiL3Rvb2xzL3Bvd2VyL2NwdXBvd2VyL3V0aWxzL2Nw dXBvd2VyLXNldC5jDQppbmRleCBkYzRkZTM3Li5iY2YxZDJmIDEwMDY0NA0KLS0tIGEvdG9vbHMv cG93ZXIvY3B1cG93ZXIvdXRpbHMvY3B1cG93ZXItc2V0LmMNCisrKyBiL3Rvb2xzL3Bvd2VyL2Nw dXBvd2VyL3V0aWxzL2NwdXBvd2VyLXNldC5jDQpAQCAtMTgsOSArMTgsOSBAQA0KICNpbmNsdWRl ICJoZWxwZXJzL2JpdG1hc2suaCINCiANCiBzdGF0aWMgc3RydWN0IG9wdGlvbiBzZXRfb3B0c1td ID0gew0KLQl7IC5uYW1lID0gInBlcmYtYmlhcyIsCS5oYXNfYXJnID0gb3B0aW9uYWxfYXJndW1l bnQsCS5mbGFnID0gTlVMTCwJLnZhbCA9ICdiJ30sDQotCXsgLm5hbWUgPSAic2NoZWQtbWMiLAku aGFzX2FyZyA9IG9wdGlvbmFsX2FyZ3VtZW50LAkuZmxhZyA9IE5VTEwsCS52YWwgPSAnbSd9LA0K LQl7IC5uYW1lID0gInNjaGVkLXNtdCIsCS5oYXNfYXJnID0gb3B0aW9uYWxfYXJndW1lbnQsCS5m bGFnID0gTlVMTCwJLnZhbCA9ICdzJ30sDQorCXsgLm5hbWUgPSAicGVyZi1iaWFzIiwJLmhhc19h cmcgPSByZXF1aXJlZF9hcmd1bWVudCwJLmZsYWcgPSBOVUxMLAkudmFsID0gJ2InfSwNCisJeyAu bmFtZSA9ICJzY2hlZC1tYyIsCS5oYXNfYXJnID0gcmVxdWlyZWRfYXJndW1lbnQsCS5mbGFnID0g TlVMTCwJLnZhbCA9ICdtJ30sDQorCXsgLm5hbWUgPSAic2NoZWQtc210IiwJLmhhc19hcmcgPSBy ZXF1aXJlZF9hcmd1bWVudCwJLmZsYWcgPSBOVUxMLAkudmFsID0gJ3MnfSwNCiAJeyB9LA0KIH07 DQogDQo= --=-AnQC9FehSAMKXhIHoZ6Z-- --=-gksBvcAnmmAzJCa6rWtc Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIUAwUAUvst5+e/yOyVhhEJAQp02w/3aMeepyF8t1EjQY0k2ivKH0+QLdlbaObC PGhlIXtM3L7qTHJxTgK0MISkbQpMH6wMRkLdllStwS4zte52nOHkbsyBnQN5ofr9 aK4cMOKj9ZcENep4z7iOQ8XK/OhA7+ic8xG8sJenPxj+uuDfoWTAyiohiI3yNXh2 CG2BHTRD9OIXISD2DtM+P33AX9J2r7atqy9cFnqmgNMVQdEKDmuGRib4PIZEVv+L woHc41yvy4oBGLCww8iI+hBv/lG5vZ4F3K0y3PnIHbccd0ebJQHh/xsXlmHebP6S zN8OqB+Fj/nvj4DEV2bkFxUvgMmPVbCNE37+rhQb0XckQj6kIIt9xynIMil681ZT vAJ/9+eE+PfCwBJhh42CAwWXmiwPO1agpAsLRjwSACJF8huJLP3g2ciSqIqK4Ckz F4Hr5frP5KWHncz9TB1hr9oSoG2EitvgxFo8zK9Q3yViPiU2hP8ErCc7dKUyuEIq MZoIKsQuF3w1jkYw0rLhgAGBg2VQGway/4KQ71JvKaebqWXha1zNDRHM+jbW25x7 Es3C1aJnrIo5SDU+0dRzcUWBpsBuBqVuyA1nK9xhmVwIzs6NI1MZHGKi6ty51AOm wfhm32ekrSKDyMD8HfVAoIO4h7D1377BxkZ+zBFgClnxtBL9OMPKbUn3RGkPNDsf y1N8W4fV9A== =Ciuk -----END PGP SIGNATURE----- --=-gksBvcAnmmAzJCa6rWtc--