From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark Salyzyn Subject: [PATCH] Cleanup: replace prefered with preferred Date: Tue, 22 Oct 2019 14:41:45 -0700 Message-ID: <20191022214208.211448-1-salyzyn@android.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: linux-kernel@vger.kernel.org Cc: Alexander Aring , linux-efi@vger.kernel.org, =?UTF-8?q?Linus=20L=C3=BCssing?= , =?UTF-8?q?Christian=20K=C3=B6nig?= , David Airlie , Feng Tang , Jarkko Sakkinen , "David S. Miller" , Laurent Pinchart , netdev@vger.kernel.org, Ingo Molnar , Rafael Aquini , Thomas Hellstrom , Jonathan Corbet , Francesco Ruggeri , Matthew Garrett , amd-gfx@lists.freedesktop.org, VMware Graphics , Alexey Kuznetsov , kernel-team@android.com, linux-media@vger.kernel.org, Leo Li , Steven Rostedt List-Id: amd-gfx.lists.freedesktop.org UmVwbGFjZSBhbGwgb2NjdXJyZW5jZXMgb2YgcHJlZmVyZWQgd2l0aCBwcmVmZXJyZWQgdG8gbWFr ZSBmdXR1cmUKY2hlY2twYXRjaC5wbCdzIGhhcHB5LiAgQSBmZXcgcGxhY2VzIHRoZSBpbmNvcnJl Y3Qgc3BlbGxpbmcgaXMKbWF0Y2hlZCB3aXRoIHRoZSBjb3JyZWN0IHNwZWxsaW5nIHRvIHByZXNl cnZlIGV4aXN0aW5nIHVzZXIgc3BhY2UgQVBJLgoKU2lnbmVkLW9mZi1ieTogTWFyayBTYWx5enlu IDxzYWx5enluQGFuZHJvaWQuY29tPgotLS0KIERvY3VtZW50YXRpb24vbmV0d29ya2luZy9pcC1z eXNjdGwudHh0ICAgICAgICB8ICAgMiArLQogLi4uL2Zpcm13YXJlL2VmaS9saWJzdHViL2VmaS1z dHViLWhlbHBlci5jICAgIHwgICAyICstCiAuLi4vZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pbmMv Y29tcHJlc3Nvci5oICAgfCAgIDQgKy0KIGRyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2tt cy5jICAgICAgICAgICB8ICAgMiArLQogZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21z LmggICAgICAgICAgIHwgICAyICstCiBkcml2ZXJzL21lZGlhL3VzYi91dmMvdXZjX3ZpZGVvLmMg ICAgICAgICAgICAgfCAgIDYgKy0KIGZzL25mcy9uZnM0eGRyLmMgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgMiArLQogaW5jbHVkZS9saW51eC9pcHY2LmggICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAyICstCiBpbmNsdWRlL25ldC9hZGRyY29uZi5oICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDQgKy0KIGluY2x1ZGUvbmV0L2lmX2luZXQ2LmggICAgICAgICAgICAgICAg ICAgICAgICB8ICAgMiArLQogaW5jbHVkZS9uZXQvbmRpc2MuaCAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgICA4ICstCiBpbmNsdWRlL3VhcGkvbGludXgvaWZfYWRkci5oICAgICAgICAgICAg ICAgICAgfCAgIDUgKy0KIGluY2x1ZGUvdWFwaS9saW51eC9pcHY2LmggICAgICAgICAgICAgICAg ICAgICB8ICAgNCArLQogaW5jbHVkZS91YXBpL2xpbnV4L3N5c2N0bC5oICAgICAgICAgICAgICAg ICAgIHwgICA0ICstCiBpbmNsdWRlL3VhcGkvbGludXgvdXNiL3ZpZGVvLmggICAgICAgICAgICAg ICAgfCAgIDUgKy0KIGtlcm5lbC9zeXNjdGxfYmluYXJ5LmMgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgMyArLQogbmV0LzZsb3dwYW4vbmRpc2MuYyAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgICA0ICstCiBuZXQvaXB2NC9kZXZpbmV0LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgMjAgKystLQogbmV0L2lwdjYvYWRkcmNvbmYuYyAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgMTEzICsrKysrKysrKystLS0tLS0tLQogMTkgZmlsZXMgY2hhbmdlZCwgMTEyIGluc2VydGlv bnMoKyksIDgyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vbmV0d29y a2luZy9pcC1zeXNjdGwudHh0IGIvRG9jdW1lbnRhdGlvbi9uZXR3b3JraW5nL2lwLXN5c2N0bC50 eHQKaW5kZXggNDllOTVmNDM4ZWQ3Li5lYWIzZDIwZmMwMTYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50 YXRpb24vbmV0d29ya2luZy9pcC1zeXNjdGwudHh0CisrKyBiL0RvY3VtZW50YXRpb24vbmV0d29y a2luZy9pcC1zeXNjdGwudHh0CkBAIC0xNzkyLDcgKzE3OTIsNyBAQCB0ZW1wX3ZhbGlkX2xmdCAt IElOVEVHRVIKIAl2YWxpZCBsaWZldGltZSAoaW4gc2Vjb25kcykgZm9yIHRlbXBvcmFyeSBhZGRy ZXNzZXMuCiAJRGVmYXVsdDogNjA0ODAwICg3IGRheXMpCiAKLXRlbXBfcHJlZmVyZWRfbGZ0IC0g SU5URUdFUgordGVtcF9wcmVmZXJyZWRfbGZ0IC0gSU5URUdFUgogCVByZWZlcnJlZCBsaWZldGlt ZSAoaW4gc2Vjb25kcykgZm9yIHRlbXBvcmFyeSBhZGRyZXNzZXMuCiAJRGVmYXVsdDogODY0MDAg KDEgZGF5KQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Zpcm13YXJlL2VmaS9saWJzdHViL2VmaS1z dHViLWhlbHBlci5jIGIvZHJpdmVycy9maXJtd2FyZS9lZmkvbGlic3R1Yi9lZmktc3R1Yi1oZWxw ZXIuYwppbmRleCAzY2FhZTdmMmNmNTYuLjBiMGFlMzg0NGE4ZiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9maXJtd2FyZS9lZmkvbGlic3R1Yi9lZmktc3R1Yi1oZWxwZXIuYworKysgYi9kcml2ZXJzL2Zp cm13YXJlL2VmaS9saWJzdHViL2VmaS1zdHViLWhlbHBlci5jCkBAIC03MTcsNyArNzE3LDcgQEAg ZWZpX3N0YXR1c190IGVmaV9yZWxvY2F0ZV9rZXJuZWwoZWZpX3N5c3RlbV90YWJsZV90ICpzeXNf dGFibGVfYXJnLAogCSAqIFRoZSBFRkkgZmlybXdhcmUgbG9hZGVyIGNvdWxkIGhhdmUgcGxhY2Vk IHRoZSBrZXJuZWwgaW1hZ2UKIAkgKiBhbnl3aGVyZSBpbiBtZW1vcnksIGJ1dCB0aGUga2VybmVs IGhhcyByZXN0cmljdGlvbnMgb24gdGhlCiAJICogbWF4IHBoeXNpY2FsIGFkZHJlc3MgaXQgY2Fu IHJ1biBhdC4gIFNvbWUgYXJjaGl0ZWN0dXJlcwotCSAqIGFsc28gaGF2ZSBhIHByZWZlcmVkIGFk ZHJlc3MsIHNvIGZpcnN0IHRyeSB0byByZWxvY2F0ZQorCSAqIGFsc28gaGF2ZSBhIHByZWZlcnJl ZCBhZGRyZXNzLCBzbyBmaXJzdCB0cnkgdG8gcmVsb2NhdGUKIAkgKiB0byB0aGUgcHJlZmVycmVk IGFkZHJlc3MuICBJZiB0aGF0IGZhaWxzLCBhbGxvY2F0ZSBhcyBsb3cKIAkgKiBhcyBwb3NzaWJs ZSB3aGlsZSByZXNwZWN0aW5nIHRoZSByZXF1aXJlZCBhbGlnbm1lbnQuCiAJICovCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaW5jL2NvbXByZXNzb3IuaCBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvY29tcHJlc3Nvci5oCmluZGV4IDdhMTQ3 YTk3NjJhMC4uYTg0NDhmOGU4NWQ2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rp c3BsYXkvZGMvaW5jL2NvbXByZXNzb3IuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvaW5jL2NvbXByZXNzb3IuaApAQCAtMTI2LDkgKzEyNiw5IEBAIHN0cnVjdCBmYmNfcmVx dWVzdGVkX2NvbXByZXNzZWRfc2l6ZSB7CiAJdW5zaWduZWQgaW50ICAgbWluX3NpemVfYWxpZ25t ZW50OwogCXVuaW9uIHsKIAkJc3RydWN0IHsKLQkJCS8qIEFib3ZlIHByZWZlcmVkU2l6ZSBtdXN0 IGJlIGFsbG9jYXRlZCBpbiBGQiBwb29sICovCisJCQkvKiBBYm92ZSBwcmVmZXJyZWRfc2l6ZSBt dXN0IGJlIGFsbG9jYXRlZCBpbiBGQiBwb29sICovCiAJCQl1bnNpZ25lZCBpbnQgcHJlZmVycmVk X211c3RfYmVfZnJhbWVidWZmZXJfcG9vbCA6IDE7Ci0JCQkvKiBBYm92ZSBtaW5TaXplIG11c3Qg YmUgYWxsb2NhdGVkIGluIEZCIHBvb2wgKi8KKwkJCS8qIEFib3ZlIG1pbl9zaXplIG11c3QgYmUg YWxsb2NhdGVkIGluIEZCIHBvb2wgKi8KIAkJCXVuc2lnbmVkIGludCBtaW5fbXVzdF9iZV9mcmFt ZWJ1ZmZlcl9wb29sIDogMTsKIAkJfSBiaXRzOwogCQl1bnNpZ25lZCBpbnQgZmxhZ3M7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYyBiL2RyaXZlcnMvZ3B1 L2RybS92bXdnZngvdm13Z2Z4X2ttcy5jCmluZGV4IGY0N2Q1NzEwY2M5NS4uYzhhYzY5NjgyMjFh IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9rbXMuYwpAQCAtMjMwNiw3ICsyMzA2LDcgQEAg aW50IHZtd19kdV9jb25uZWN0b3JfZmlsbF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yLAogCX0KIAogCWRybV9jb25uZWN0b3JfbGlzdF91cGRhdGUoY29ubmVjdG9yKTsKLQkv KiBNb3ZlIHRoZSBwcmVmZXJlZCBtb2RlIGZpcnN0LCBoZWxwIGFwcHMgcGljayB0aGUgcmlnaHQg bW9kZS4gKi8KKwkvKiBNb3ZlIHRoZSBwcmVmZXJyZWQgbW9kZSBmaXJzdCwgaGVscCBhcHBzIHBp Y2sgdGhlIHJpZ2h0IG1vZGUuICovCiAJZHJtX21vZGVfc29ydCgmY29ubmVjdG9yLT5tb2Rlcyk7 CiAKIAlyZXR1cm4gMTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4 X2ttcy5oIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfa21zLmgKaW5kZXggM2VlMDMy Mjc2MDdjLi4zMzVkOTQ4NGUyOGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngv dm13Z2Z4X2ttcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X2ttcy5oCkBA IC0zNTUsNyArMzU1LDcgQEAgc3RydWN0IHZtd19kaXNwbGF5X3VuaXQgewogCXVuc2lnbmVkIHVu aXQ7CiAKIAkvKgotCSAqIFByZWZlcmVkIG1vZGUgdHJhY2tpbmcuCisJICogUHJlZmVycmVkIG1v ZGUgdHJhY2tpbmcuCiAJICovCiAJdW5zaWduZWQgcHJlZl93aWR0aDsKIAl1bnNpZ25lZCBwcmVm X2hlaWdodDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdXNiL3V2Yy91dmNfdmlkZW8uYyBi L2RyaXZlcnMvbWVkaWEvdXNiL3V2Yy91dmNfdmlkZW8uYwppbmRleCA4ZmE3N2E4MWRkN2YuLjAw OTZlNmFhY2RiNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9tZWRpYS91c2IvdXZjL3V2Y192aWRlby5j CisrKyBiL2RyaXZlcnMvbWVkaWEvdXNiL3V2Yy91dmNfdmlkZW8uYwpAQCAtMjc2LDEzICsyNzYs MTMgQEAgc3RhdGljIGludCB1dmNfZ2V0X3ZpZGVvX2N0cmwoc3RydWN0IHV2Y19zdHJlYW1pbmcg KnN0cmVhbSwKIAlpZiAoc2l6ZSA+PSAzNCkgewogCQljdHJsLT5kd0Nsb2NrRnJlcXVlbmN5ID0g Z2V0X3VuYWxpZ25lZF9sZTMyKCZkYXRhWzI2XSk7CiAJCWN0cmwtPmJtRnJhbWluZ0luZm8gPSBk YXRhWzMwXTsKLQkJY3RybC0+YlByZWZlcmVkVmVyc2lvbiA9IGRhdGFbMzFdOworCQljdHJsLT5i UHJlZmVycmVkVmVyc2lvbiA9IGRhdGFbMzFdOwogCQljdHJsLT5iTWluVmVyc2lvbiA9IGRhdGFb MzJdOwogCQljdHJsLT5iTWF4VmVyc2lvbiA9IGRhdGFbMzNdOwogCX0gZWxzZSB7CiAJCWN0cmwt PmR3Q2xvY2tGcmVxdWVuY3kgPSBzdHJlYW0tPmRldi0+Y2xvY2tfZnJlcXVlbmN5OwogCQljdHJs LT5ibUZyYW1pbmdJbmZvID0gMDsKLQkJY3RybC0+YlByZWZlcmVkVmVyc2lvbiA9IDA7CisJCWN0 cmwtPmJQcmVmZXJyZWRWZXJzaW9uID0gMDsKIAkJY3RybC0+Yk1pblZlcnNpb24gPSAwOwogCQlj dHJsLT5iTWF4VmVyc2lvbiA9IDA7CiAJfQpAQCAtMzI1LDcgKzMyNSw3IEBAIHN0YXRpYyBpbnQg dXZjX3NldF92aWRlb19jdHJsKHN0cnVjdCB1dmNfc3RyZWFtaW5nICpzdHJlYW0sCiAJaWYgKHNp emUgPj0gMzQpIHsKIAkJcHV0X3VuYWxpZ25lZF9sZTMyKGN0cmwtPmR3Q2xvY2tGcmVxdWVuY3ks ICZkYXRhWzI2XSk7CiAJCWRhdGFbMzBdID0gY3RybC0+Ym1GcmFtaW5nSW5mbzsKLQkJZGF0YVsz MV0gPSBjdHJsLT5iUHJlZmVyZWRWZXJzaW9uOworCQlkYXRhWzMxXSA9IGN0cmwtPmJQcmVmZXJy ZWRWZXJzaW9uOwogCQlkYXRhWzMyXSA9IGN0cmwtPmJNaW5WZXJzaW9uOwogCQlkYXRhWzMzXSA9 IGN0cmwtPmJNYXhWZXJzaW9uOwogCX0KZGlmZiAtLWdpdCBhL2ZzL25mcy9uZnM0eGRyLmMgYi9m cy9uZnMvbmZzNHhkci5jCmluZGV4IGFiMDdkYjBmMDdjZC4uNGJlZmI1YTQwMjE4IDEwMDY0NAot LS0gYS9mcy9uZnMvbmZzNHhkci5jCisrKyBiL2ZzL25mcy9uZnM0eGRyLmMKQEAgLTQ3NjgsNyAr NDc2OCw3IEBAIHN0YXRpYyBpbnQgZGVjb2RlX2F0dHJfcG5mc3R5cGUoc3RydWN0IHhkcl9zdHJl YW0gKnhkciwgdWludDMyX3QgKmJpdG1hcCwKIH0KIAogLyoKLSAqIFRoZSBwcmVmZXJlZCBibG9j ayBzaXplIGZvciBsYXlvdXQgZGlyZWN0ZWQgaW8KKyAqIFRoZSBwcmVmZXJyZWQgYmxvY2sgc2l6 ZSBmb3IgbGF5b3V0IGRpcmVjdGVkIGlvCiAgKi8KIHN0YXRpYyBpbnQgZGVjb2RlX2F0dHJfbGF5 b3V0X2Jsa3NpemUoc3RydWN0IHhkcl9zdHJlYW0gKnhkciwgdWludDMyX3QgKmJpdG1hcCwKIAkJ CQkgICAgICB1aW50MzJfdCAqcmVzKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9pcHY2Lmgg Yi9pbmNsdWRlL2xpbnV4L2lwdjYuaAppbmRleCBlYTdjNzkwNjU5MWUuLjVkMGZjMTBlOTg0MiAx MDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9pcHY2LmgKKysrIGIvaW5jbHVkZS9saW51eC9pcHY2 LmgKQEAgLTI2LDcgKzI2LDcgQEAgc3RydWN0IGlwdjZfZGV2Y29uZiB7CiAJX19zMzIJCW1sZHYy X3Vuc29saWNpdGVkX3JlcG9ydF9pbnRlcnZhbDsKIAlfX3MzMgkJdXNlX3RlbXBhZGRyOwogCV9f czMyCQl0ZW1wX3ZhbGlkX2xmdDsKLQlfX3MzMgkJdGVtcF9wcmVmZXJlZF9sZnQ7CisJX19zMzIJ CXRlbXBfcHJlZmVycmVkX2xmdDsKIAlfX3MzMgkJcmVnZW5fbWF4X3JldHJ5OwogCV9fczMyCQlt YXhfZGVzeW5jX2ZhY3RvcjsKIAlfX3MzMgkJbWF4X2FkZHJlc3NlczsKZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvbmV0L2FkZHJjb25mLmggYi9pbmNsdWRlL25ldC9hZGRyY29uZi5oCmluZGV4IDNmNjJi MzQ3YjA0YS4uNzU0YjE2ZjdmZDAzIDEwMDY0NAotLS0gYS9pbmNsdWRlL25ldC9hZGRyY29uZi5o CisrKyBiL2luY2x1ZGUvbmV0L2FkZHJjb25mLmgKQEAgLTQzLDcgKzQzLDcgQEAgc3RydWN0IHBy ZWZpeF9pbmZvIHsKICNlcnJvciAiUGxlYXNlIGZpeCA8YXNtL2J5dGVvcmRlci5oPiIKICNlbmRp ZgogCV9fYmUzMgkJCXZhbGlkOwotCV9fYmUzMgkJCXByZWZlcmVkOworCV9fYmUzMgkJCXByZWZl cnJlZDsKIAlfX2JlMzIJCQlyZXNlcnZlZDI7CiAKIAlzdHJ1Y3QgaW42X2FkZHIJCXByZWZpeDsK QEAgLTEyMSw3ICsxMjEsNyBAQCBpbnQgYWRkcmNvbmZfcHJlZml4X3Jjdl9hZGRfYWRkcihzdHJ1 Y3QgbmV0ICpuZXQsIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJCQkJIHN0cnVjdCBpbmV0Nl9k ZXYgKmluNl9kZXYsCiAJCQkJIGNvbnN0IHN0cnVjdCBpbjZfYWRkciAqYWRkciwgaW50IGFkZHJf dHlwZSwKIAkJCQkgdTMyIGFkZHJfZmxhZ3MsIGJvb2wgc2xsYW8sIGJvb2wgdG9rZW5pemVkLAot CQkJCSBfX3UzMiB2YWxpZF9sZnQsIHUzMiBwcmVmZXJlZF9sZnQpOworCQkJCSBfX3UzMiB2YWxp ZF9sZnQsIHUzMiBwcmVmZXJyZWRfbGZ0KTsKIAogc3RhdGljIGlubGluZSB2b2lkIGFkZHJjb25m X2FkZHJfZXVpNDhfYmFzZSh1OCAqZXVpLCBjb25zdCBjaGFyICpjb25zdCBhZGRyKQogewpkaWZm IC0tZ2l0IGEvaW5jbHVkZS9uZXQvaWZfaW5ldDYuaCBiL2luY2x1ZGUvbmV0L2lmX2luZXQ2LmgK aW5kZXggYTAxOTgxZDcxMDhmLi45MDU1YjAyNGQ0MzkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbmV0 L2lmX2luZXQ2LmgKKysrIGIvaW5jbHVkZS9uZXQvaWZfaW5ldDYuaApAQCAtNDEsNyArNDEsNyBA QCBzdHJ1Y3QgaW5ldDZfaWZhZGRyIHsKIAogCS8qIEluIHNlY29uZHMsIHJlbGF0aXZlIHRvIHRz dGFtcC4gRXhwaXJ5IGlzIGF0IHRzdGFtcCArIEhaICogbGZ0LiAqLwogCV9fdTMyCQkJdmFsaWRf bGZ0OwotCV9fdTMyCQkJcHJlZmVyZWRfbGZ0OworCV9fdTMyCQkJcHJlZmVycmVkX2xmdDsKIAly ZWZjb3VudF90CQlyZWZjbnQ7CiAJc3BpbmxvY2tfdAkJbG9jazsKIApkaWZmIC0tZ2l0IGEvaW5j bHVkZS9uZXQvbmRpc2MuaCBiL2luY2x1ZGUvbmV0L25kaXNjLmgKaW5kZXggYjJmNzE1Y2EwNTY3 Li45NzkxMzQ3ZjMwZTQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbmV0L25kaXNjLmgKKysrIGIvaW5j bHVkZS9uZXQvbmRpc2MuaApAQCAtMTg5LDcgKzE4OSw3IEBAIHZvaWQgX19uZGlzY19maWxsX2Fk ZHJfb3B0aW9uKHN0cnVjdCBza19idWZmICpza2IsIGludCB0eXBlLCB2b2lkICpkYXRhLAogICoJ CQkgICAgICAgc3RydWN0IGluNl9hZGRyICphZGRyLAogICoJCQkgICAgICAgaW50IGFkZHJfdHlw ZSwgdTMyIGFkZHJfZmxhZ3MsCiAgKgkJCSAgICAgICBib29sIHNsbGFvLCBib29sIHRva2VuaXpl ZCwKLSAqCQkJICAgICAgIF9fdTMyIHZhbGlkX2xmdCwgdTMyIHByZWZlcmVkX2xmdCwKKyAqCQkJ ICAgICAgIF9fdTMyIHZhbGlkX2xmdCwgdTMyIHByZWZlcnJlZF9sZnQsCiAgKgkJCSAgICAgICBi b29sIGRldl9hZGRyX2dlbmVyYXRlZCk6CiAgKiAgICAgVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQg d2hlbiBhIFJBIG1lc3NhZ2VzIGlzIHJlY2VpdmVkIHdpdGggdmFsaWQKICAqICAgICBQSU8gb3B0 aW9uIGZpZWxkcyBhbmQgYW4gSVB2NiBhZGRyZXNzIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGludGVy ZmFjZQpAQCAtMjE4LDcgKzIxOCw3IEBAIHN0cnVjdCBuZGlzY19vcHMgewogCQkJCSAgICAgICBz dHJ1Y3QgaW42X2FkZHIgKmFkZHIsCiAJCQkJICAgICAgIGludCBhZGRyX3R5cGUsIHUzMiBhZGRy X2ZsYWdzLAogCQkJCSAgICAgICBib29sIHNsbGFvLCBib29sIHRva2VuaXplZCwKLQkJCQkgICAg ICAgX191MzIgdmFsaWRfbGZ0LCB1MzIgcHJlZmVyZWRfbGZ0LAorCQkJCSAgICAgICBfX3UzMiB2 YWxpZF9sZnQsIHUzMiBwcmVmZXJyZWRfbGZ0LAogCQkJCSAgICAgICBib29sIGRldl9hZGRyX2dl bmVyYXRlZCk7CiB9OwogCkBAIC0yOTgsNyArMjk4LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIG5k aXNjX29wc19wcmVmaXhfcmN2X2FkZF9hZGRyKHN0cnVjdCBuZXQgKm5ldCwKIAkJCQkJCSBpbnQg YWRkcl90eXBlLCB1MzIgYWRkcl9mbGFncywKIAkJCQkJCSBib29sIHNsbGFvLCBib29sIHRva2Vu aXplZCwKIAkJCQkJCSBfX3UzMiB2YWxpZF9sZnQsCi0JCQkJCQkgdTMyIHByZWZlcmVkX2xmdCwK KwkJCQkJCSB1MzIgcHJlZmVycmVkX2xmdCwKIAkJCQkJCSBib29sIGRldl9hZGRyX2dlbmVyYXRl ZCkKIHsKIAlpZiAoZGV2LT5uZGlzY19vcHMgJiYgZGV2LT5uZGlzY19vcHMtPnByZWZpeF9yY3Zf YWRkX2FkZHIpCkBAIC0zMDYsNyArMzA2LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIG5kaXNjX29w c19wcmVmaXhfcmN2X2FkZF9hZGRyKHN0cnVjdCBuZXQgKm5ldCwKIAkJCQkJCSAgICBhZGRyLCBh ZGRyX3R5cGUsCiAJCQkJCQkgICAgYWRkcl9mbGFncywgc2xsYW8sCiAJCQkJCQkgICAgdG9rZW5p emVkLCB2YWxpZF9sZnQsCi0JCQkJCQkgICAgcHJlZmVyZWRfbGZ0LAorCQkJCQkJICAgIHByZWZl cnJlZF9sZnQsCiAJCQkJCQkgICAgZGV2X2FkZHJfZ2VuZXJhdGVkKTsKIH0KICNlbmRpZgpkaWZm IC0tZ2l0IGEvaW5jbHVkZS91YXBpL2xpbnV4L2lmX2FkZHIuaCBiL2luY2x1ZGUvdWFwaS9saW51 eC9pZl9hZGRyLmgKaW5kZXggZGZjZjNjZTAwOTdmLi43YWQzZmJlMTEwYzAgMTAwNjQ0Ci0tLSBh L2luY2x1ZGUvdWFwaS9saW51eC9pZl9hZGRyLmgKKysrIGIvaW5jbHVkZS91YXBpL2xpbnV4L2lm X2FkZHIuaApAQCAtNTcsNyArNTcsMTAgQEAgZW51bSB7CiAjZGVmaW5lIElGQV9GX1NUQUJMRV9Q UklWQUNZCTB4ODAwCiAKIHN0cnVjdCBpZmFfY2FjaGVpbmZvIHsKLQlfX3UzMglpZmFfcHJlZmVy ZWQ7CisJdW5pb24geworCQlfX3UzMglpZmFfcHJlZmVycmVkOworCQlfX3UzMglpZmFfcHJlZmVy ZWQgX19hdHRyaWJ1dGVfXygoZGVwcmVjYXRlZCkpOyAvKiBOT1RZUE8gKi8KKwl9IF9fYXR0cmli dXRlX18oKHBhY2tlZCkpOwogCV9fdTMyCWlmYV92YWxpZDsKIAlfX3UzMgljc3RhbXA7IC8qIGNy ZWF0ZWQgdGltZXN0YW1wLCBodW5kcmVkdGhzIG9mIHNlY29uZHMgKi8KIAlfX3UzMgl0c3RhbXA7 IC8qIHVwZGF0ZWQgdGltZXN0YW1wLCBodW5kcmVkdGhzIG9mIHNlY29uZHMgKi8KZGlmZiAtLWdp dCBhL2luY2x1ZGUvdWFwaS9saW51eC9pcHY2LmggYi9pbmNsdWRlL3VhcGkvbGludXgvaXB2Ni5o CmluZGV4IDljMGY0YTkyYmNmZi4uMDRkMGRkZWZjMzJjIDEwMDY0NAotLS0gYS9pbmNsdWRlL3Vh cGkvbGludXgvaXB2Ni5oCisrKyBiL2luY2x1ZGUvdWFwaS9saW51eC9pcHY2LmgKQEAgLTE0OCw3 ICsxNDgsOSBAQCBlbnVtIHsKIAlERVZDT05GX1JUUl9TT0xJQ0lUX0RFTEFZLAogCURFVkNPTkZf VVNFX1RFTVBBRERSLAogCURFVkNPTkZfVEVNUF9WQUxJRF9MRlQsCi0JREVWQ09ORl9URU1QX1BS RUZFUkVEX0xGVCwKKwlERVZDT05GX1RFTVBfUFJFRkVSUkVEX0xGVCwKKwlERVZDT05GX1RFTVBf UFJFRkVSRURfTEZUIF9fYXR0cmlidXRlX18oKGRlcHJlY2F0ZWQpKSA9IC8qIE5PVFlQTyAqLwor CQlERVZDT05GX1RFTVBfUFJFRkVSUkVEX0xGVCwKIAlERVZDT05GX1JFR0VOX01BWF9SRVRSWSwK IAlERVZDT05GX01BWF9ERVNZTkNfRkFDVE9SLAogCURFVkNPTkZfTUFYX0FERFJFU1NFUywKZGlm ZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9saW51eC9zeXNjdGwuaCBiL2luY2x1ZGUvdWFwaS9saW51 eC9zeXNjdGwuaAppbmRleCA4N2FhMmE2ZDkxMjUuLmY3Njk5M2Q4NzRmZSAxMDA2NDQKLS0tIGEv aW5jbHVkZS91YXBpL2xpbnV4L3N5c2N0bC5oCisrKyBiL2luY2x1ZGUvdWFwaS9saW51eC9zeXNj dGwuaApAQCAtNTU3LDcgKzU1Nyw5IEBAIGVudW0gewogCU5FVF9JUFY2X1JUUl9TT0xJQ0lUX0RF TEFZPTEwLAogCU5FVF9JUFY2X1VTRV9URU1QQUREUj0xMSwKIAlORVRfSVBWNl9URU1QX1ZBTElE X0xGVD0xMiwKLQlORVRfSVBWNl9URU1QX1BSRUZFUkVEX0xGVD0xMywKKwlORVRfSVBWNl9URU1Q X1BSRUZFUlJFRF9MRlQgPSAxMywKKwlORVRfSVBWNl9URU1QX1BSRUZFUkVEX0xGVCBfX2F0dHJp YnV0ZV9fKChkZXByZWNhdGVkKSkgPSAvKiBOT1RZUE8gKi8KKwkJTkVUX0lQVjZfVEVNUF9QUkVG RVJSRURfTEZULAogCU5FVF9JUFY2X1JFR0VOX01BWF9SRVRSWT0xNCwKIAlORVRfSVBWNl9NQVhf REVTWU5DX0ZBQ1RPUj0xNSwKIAlORVRfSVBWNl9NQVhfQUREUkVTU0VTPTE2LApkaWZmIC0tZ2l0 IGEvaW5jbHVkZS91YXBpL2xpbnV4L3VzYi92aWRlby5oIGIvaW5jbHVkZS91YXBpL2xpbnV4L3Vz Yi92aWRlby5oCmluZGV4IGQ4NTRjYjE5YzQyYy4uNTkxNjdmMGVkNWMxIDEwMDY0NAotLS0gYS9p bmNsdWRlL3VhcGkvbGludXgvdXNiL3ZpZGVvLmgKKysrIGIvaW5jbHVkZS91YXBpL2xpbnV4L3Vz Yi92aWRlby5oCkBAIC00NDgsNyArNDQ4LDEwIEBAIHN0cnVjdCB1dmNfc3RyZWFtaW5nX2NvbnRy b2wgewogCV9fdTMyIGR3TWF4UGF5bG9hZFRyYW5zZmVyU2l6ZTsKIAlfX3UzMiBkd0Nsb2NrRnJl cXVlbmN5OwogCV9fdTggIGJtRnJhbWluZ0luZm87Ci0JX191OCAgYlByZWZlcmVkVmVyc2lvbjsK Kwl1bmlvbiB7CisJCV9fdTggYlByZWZlcnJlZFZlcnNpb247CisJCV9fdTggYlByZWZlcmVkVmVy c2lvbiBfX2F0dHJpYnV0ZV9fKChkZXByZWNhdGVkKSk7IC8qIE5PVFlQTyAqLworCX0gX19hdHRy aWJ1dGVfXygoX19wYWNrZWRfXykpOwogCV9fdTggIGJNaW5WZXJzaW9uOwogCV9fdTggIGJNYXhW ZXJzaW9uOwogfSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSk7CmRpZmYgLS1naXQgYS9rZXJu ZWwvc3lzY3RsX2JpbmFyeS5jIGIva2VybmVsL3N5c2N0bF9iaW5hcnkuYwppbmRleCA3M2MxMzIw OTVhN2IuLjc4YzRmMzYzYzg0YiAxMDA2NDQKLS0tIGEva2VybmVsL3N5c2N0bF9iaW5hcnkuYwor KysgYi9rZXJuZWwvc3lzY3RsX2JpbmFyeS5jCkBAIC01MTMsNyArNTEzLDggQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBiaW5fdGFibGUgYmluX25ldF9pcHY2X2NvbmZfdmFyX3RhYmxlW10gPSB7CiAJ eyBDVExfSU5ULAlORVRfSVBWNl9SVFJfU09MSUNJVF9ERUxBWSwJCSJyb3V0ZXJfc29saWNpdGF0 aW9uX2RlbGF5IiB9LAogCXsgQ1RMX0lOVCwJTkVUX0lQVjZfVVNFX1RFTVBBRERSLAkJCSJ1c2Vf dGVtcGFkZHIiIH0sCiAJeyBDVExfSU5ULAlORVRfSVBWNl9URU1QX1ZBTElEX0xGVCwJCSJ0ZW1w X3ZhbGlkX2xmdCIgfSwKLQl7IENUTF9JTlQsCU5FVF9JUFY2X1RFTVBfUFJFRkVSRURfTEZULAkJ InRlbXBfcHJlZmVyZWRfbGZ0IiB9LAorCXsgQ1RMX0lOVCwJTkVUX0lQVjZfVEVNUF9QUkVGRVJS RURfTEZULAkJInRlbXBfcHJlZmVycmVkX2xmdCIgfSwKKwl7IENUTF9JTlQsCU5FVF9JUFY2X1RF TVBfUFJFRkVSUkVEX0xGVCwJCSJ0ZW1wX3ByZWZlcmVkX2xmdCIgfSwgLyogTk9UWVBPICovCiAJ eyBDVExfSU5ULAlORVRfSVBWNl9SRUdFTl9NQVhfUkVUUlksCQkicmVnZW5fbWF4X3JldHJ5IiB9 LAogCXsgQ1RMX0lOVCwJTkVUX0lQVjZfTUFYX0RFU1lOQ19GQUNUT1IsCQkibWF4X2Rlc3luY19m YWN0b3IiIH0sCiAJeyBDVExfSU5ULAlORVRfSVBWNl9NQVhfQUREUkVTU0VTLAkJCSJtYXhfYWRk cmVzc2VzIiB9LApkaWZmIC0tZ2l0IGEvbmV0LzZsb3dwYW4vbmRpc2MuYyBiL25ldC82bG93cGFu L25kaXNjLmMKaW5kZXggMTZiZThmOGIyZjhjLi40NjdmMmI0OTI3NzIgMTAwNjQ0Ci0tLSBhL25l dC82bG93cGFuL25kaXNjLmMKKysrIGIvbmV0LzZsb3dwYW4vbmRpc2MuYwpAQCAtMjAxLDcgKzIw MSw3IEBAIHN0YXRpYyB2b2lkIGxvd3Bhbl9uZGlzY19wcmVmaXhfcmN2X2FkZF9hZGRyKHN0cnVj dCBuZXQgKm5ldCwKIAkJCQkJICAgICBpbnQgYWRkcl90eXBlLCB1MzIgYWRkcl9mbGFncywKIAkJ CQkJICAgICBib29sIHNsbGFvLCBib29sIHRva2VuaXplZCwKIAkJCQkJICAgICBfX3UzMiB2YWxp ZF9sZnQsCi0JCQkJCSAgICAgdTMyIHByZWZlcmVkX2xmdCwKKwkJCQkJICAgICB1MzIgcHJlZmVy cmVkX2xmdCwKIAkJCQkJICAgICBib29sIGRldl9hZGRyX2dlbmVyYXRlZCkKIHsKIAlpbnQgZXJy OwpAQCAtMjEyLDcgKzIxMiw3IEBAIHN0YXRpYyB2b2lkIGxvd3Bhbl9uZGlzY19wcmVmaXhfcmN2 X2FkZF9hZGRyKHN0cnVjdCBuZXQgKm5ldCwKIAkJZXJyID0gYWRkcmNvbmZfcHJlZml4X3Jjdl9h ZGRfYWRkcihuZXQsIGRldiwgcGluZm8sIGluNl9kZXYsCiAJCQkJCQkgICBhZGRyLCBhZGRyX3R5 cGUsIGFkZHJfZmxhZ3MsCiAJCQkJCQkgICBzbGxhbywgdG9rZW5pemVkLCB2YWxpZF9sZnQsCi0J CQkJCQkgICBwcmVmZXJlZF9sZnQpOworCQkJCQkJICAgcHJlZmVycmVkX2xmdCk7CiAJCWlmIChl cnIpCiAJCQlORF9QUklOVEsoMiwgd2FybiwKIAkJCQkgICJSQTogY291bGQgbm90IGFkZCBhIHNo b3J0IGFkZHJlc3MgYmFzZWQgYWRkcmVzcyBmb3IgcHJlZml4OiAlcEk2Y1xuIiwKZGlmZiAtLWdp dCBhL25ldC9pcHY0L2RldmluZXQuYyBiL25ldC9pcHY0L2RldmluZXQuYwppbmRleCBhNGI1YmQ0 ZDJjODkuLmQyMGNlNTY0OGUzNyAxMDA2NDQKLS0tIGEvbmV0L2lwdjQvZGV2aW5ldC5jCisrKyBi L25ldC9pcHY0L2RldmluZXQuYwpAQCAtNzkwLDcgKzc5MCw3IEBAIHN0YXRpYyB2b2lkIGNoZWNr X2xpZmV0aW1lKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIH0KIAogc3RhdGljIHZvaWQgc2V0 X2lmYV9saWZldGltZShzdHJ1Y3QgaW5faWZhZGRyICppZmEsIF9fdTMyIHZhbGlkX2xmdCwKLQkJ CSAgICAgX191MzIgcHJlZmVyZWRfbGZ0KQorCQkJICAgICBfX3UzMiBwcmVmZXJyZWRfbGZ0KQog ewogCXVuc2lnbmVkIGxvbmcgdGltZW91dDsKIApAQCAtODAyLDcgKzgwMiw3IEBAIHN0YXRpYyB2 b2lkIHNldF9pZmFfbGlmZXRpbWUoc3RydWN0IGluX2lmYWRkciAqaWZhLCBfX3UzMiB2YWxpZF9s ZnQsCiAJZWxzZQogCQlpZmEtPmlmYV9mbGFncyB8PSBJRkFfRl9QRVJNQU5FTlQ7CiAKLQl0aW1l b3V0ID0gYWRkcmNvbmZfdGltZW91dF9maXh1cChwcmVmZXJlZF9sZnQsIEhaKTsKKwl0aW1lb3V0 ID0gYWRkcmNvbmZfdGltZW91dF9maXh1cChwcmVmZXJyZWRfbGZ0LCBIWik7CiAJaWYgKGFkZHJj b25mX2Zpbml0ZV90aW1lb3V0KHRpbWVvdXQpKSB7CiAJCWlmICh0aW1lb3V0ID09IDApCiAJCQlp ZmEtPmlmYV9mbGFncyB8PSBJRkFfRl9ERVBSRUNBVEVEOwpAQCAtODE0LDcgKzgxNCw3IEBAIHN0 YXRpYyB2b2lkIHNldF9pZmFfbGlmZXRpbWUoc3RydWN0IGluX2lmYWRkciAqaWZhLCBfX3UzMiB2 YWxpZF9sZnQsCiB9CiAKIHN0YXRpYyBzdHJ1Y3QgaW5faWZhZGRyICpydG1fdG9faWZhZGRyKHN0 cnVjdCBuZXQgKm5ldCwgc3RydWN0IG5sbXNnaGRyICpubGgsCi0JCQkJICAgICAgIF9fdTMyICpw dmFsaWRfbGZ0LCBfX3UzMiAqcHByZWZlcmVkX2xmdCwKKwkJCQkgICAgICAgX191MzIgKnB2YWxp ZF9sZnQsIF9fdTMyICpwcHJlZmVycmVkX2xmdCwKIAkJCQkgICAgICAgc3RydWN0IG5ldGxpbmtf ZXh0X2FjayAqZXh0YWNrKQogewogCXN0cnVjdCBubGF0dHIgKnRiW0lGQV9NQVgrMV07CkBAIC04 ODUsMTIgKzg4NSwxMiBAQCBzdGF0aWMgc3RydWN0IGluX2lmYWRkciAqcnRtX3RvX2lmYWRkcihz dHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCBubG1zZ2hkciAqbmxoLAogCQlzdHJ1Y3QgaWZhX2NhY2hl aW5mbyAqY2k7CiAKIAkJY2kgPSBubGFfZGF0YSh0YltJRkFfQ0FDSEVJTkZPXSk7Ci0JCWlmICgh Y2ktPmlmYV92YWxpZCB8fCBjaS0+aWZhX3ByZWZlcmVkID4gY2ktPmlmYV92YWxpZCkgeworCQlp ZiAoIWNpLT5pZmFfdmFsaWQgfHwgY2ktPmlmYV9wcmVmZXJyZWQgPiBjaS0+aWZhX3ZhbGlkKSB7 CiAJCQllcnIgPSAtRUlOVkFMOwogCQkJZ290byBlcnJvdXRfZnJlZTsKIAkJfQogCQkqcHZhbGlk X2xmdCA9IGNpLT5pZmFfdmFsaWQ7Ci0JCSpwcHJlZmVyZWRfbGZ0ID0gY2ktPmlmYV9wcmVmZXJl ZDsKKwkJKnBwcmVmZXJyZWRfbGZ0ID0gY2ktPmlmYV9wcmVmZXJyZWQ7CiAJfQogCiAJcmV0dXJu IGlmYTsKQEAgLTkyNSwxMSArOTI1LDExIEBAIHN0YXRpYyBpbnQgaW5ldF9ydG1fbmV3YWRkcihz dHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3Qgbmxtc2doZHIgKm5saCwKIAlzdHJ1Y3QgaW5faWZh ZGRyICppZmE7CiAJc3RydWN0IGluX2lmYWRkciAqaWZhX2V4aXN0aW5nOwogCV9fdTMyIHZhbGlk X2xmdCA9IElORklOSVRZX0xJRkVfVElNRTsKLQlfX3UzMiBwcmVmZXJlZF9sZnQgPSBJTkZJTklU WV9MSUZFX1RJTUU7CisJX191MzIgcHJlZmVycmVkX2xmdCA9IElORklOSVRZX0xJRkVfVElNRTsK IAogCUFTU0VSVF9SVE5MKCk7CiAKLQlpZmEgPSBydG1fdG9faWZhZGRyKG5ldCwgbmxoLCAmdmFs aWRfbGZ0LCAmcHJlZmVyZWRfbGZ0LCBleHRhY2spOworCWlmYSA9IHJ0bV90b19pZmFkZHIobmV0 LCBubGgsICZ2YWxpZF9sZnQsICZwcmVmZXJyZWRfbGZ0LCBleHRhY2spOwogCWlmIChJU19FUlIo aWZhKSkKIAkJcmV0dXJuIFBUUl9FUlIoaWZhKTsKIApAQCAtOTM4LDcgKzkzOCw3IEBAIHN0YXRp YyBpbnQgaW5ldF9ydG1fbmV3YWRkcihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3Qgbmxtc2do ZHIgKm5saCwKIAkJLyogSXQgd291bGQgYmUgYmVzdCB0byBjaGVjayBmb3IgIU5MTV9GX0NSRUFU RSBoZXJlIGJ1dAogCQkgKiB1c2Vyc3BhY2UgYWxyZWFkeSByZWxpZXMgb24gbm90IGhhdmluZyB0 byBwcm92aWRlIHRoaXMuCiAJCSAqLwotCQlzZXRfaWZhX2xpZmV0aW1lKGlmYSwgdmFsaWRfbGZ0 LCBwcmVmZXJlZF9sZnQpOworCQlzZXRfaWZhX2xpZmV0aW1lKGlmYSwgdmFsaWRfbGZ0LCBwcmVm ZXJyZWRfbGZ0KTsKIAkJaWYgKGlmYS0+aWZhX2ZsYWdzICYgSUZBX0ZfTUNBVVRPSk9JTikgewog CQkJaW50IHJldCA9IGlwX21jX2NvbmZpZyhuZXQtPmlwdjQubWNfYXV0b2pvaW5fc2ssCiAJCQkJ CSAgICAgICB0cnVlLCBpZmEpOwpAQCAtOTY1LDcgKzk2NSw3IEBAIHN0YXRpYyBpbnQgaW5ldF9y dG1fbmV3YWRkcihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3Qgbmxtc2doZHIgKm5saCwKIAkJ CWlmYS0+aWZhX3J0X3ByaW9yaXR5ID0gbmV3X21ldHJpYzsKIAkJfQogCi0JCXNldF9pZmFfbGlm ZXRpbWUoaWZhLCB2YWxpZF9sZnQsIHByZWZlcmVkX2xmdCk7CisJCXNldF9pZmFfbGlmZXRpbWUo aWZhLCB2YWxpZF9sZnQsIHByZWZlcnJlZF9sZnQpOwogCQljYW5jZWxfZGVsYXllZF93b3JrKCZj aGVja19saWZldGltZV93b3JrKTsKIAkJcXVldWVfZGVsYXllZF93b3JrKHN5c3RlbV9wb3dlcl9l ZmZpY2llbnRfd3EsCiAJCQkJJmNoZWNrX2xpZmV0aW1lX3dvcmssIDApOwpAQCAtMTYzOSw3ICsx NjM5LDcgQEAgc3RhdGljIGludCBwdXRfY2FjaGVpbmZvKHN0cnVjdCBza19idWZmICpza2IsIHVu c2lnbmVkIGxvbmcgY3N0YW1wLAogCiAJY2kuY3N0YW1wID0gY3N0YW1wX2RlbHRhKGNzdGFtcCk7 CiAJY2kudHN0YW1wID0gY3N0YW1wX2RlbHRhKHRzdGFtcCk7Ci0JY2kuaWZhX3ByZWZlcmVkID0g cHJlZmVycmVkOworCWNpLmlmYV9wcmVmZXJyZWQgPSBwcmVmZXJyZWQ7CiAJY2kuaWZhX3ZhbGlk ID0gdmFsaWQ7CiAKIAlyZXR1cm4gbmxhX3B1dChza2IsIElGQV9DQUNIRUlORk8sIHNpemVvZihj aSksICZjaSk7CmRpZmYgLS1naXQgYS9uZXQvaXB2Ni9hZGRyY29uZi5jIGIvbmV0L2lwdjYvYWRk cmNvbmYuYwppbmRleCAzNGNjZWYxOGI0MGUuLjAwODEzZTI1MWMyOCAxMDA2NDQKLS0tIGEvbmV0 L2lwdjYvYWRkcmNvbmYuYworKysgYi9uZXQvaXB2Ni9hZGRyY29uZi5jCkBAIC0yMDEsNyArMjAx LDcgQEAgc3RhdGljIHN0cnVjdCBpcHY2X2RldmNvbmYgaXB2Nl9kZXZjb25mIF9fcmVhZF9tb3N0 bHkgPSB7CiAJLnJ0cl9zb2xpY2l0X2RlbGF5CT0gTUFYX1JUUl9TT0xJQ0lUQVRJT05fREVMQVks CiAJLnVzZV90ZW1wYWRkcgkJPSAwLAogCS50ZW1wX3ZhbGlkX2xmdAkJPSBURU1QX1ZBTElEX0xJ RkVUSU1FLAotCS50ZW1wX3ByZWZlcmVkX2xmdAk9IFRFTVBfUFJFRkVSUkVEX0xJRkVUSU1FLAor CS50ZW1wX3ByZWZlcnJlZF9sZnQJPSBURU1QX1BSRUZFUlJFRF9MSUZFVElNRSwKIAkucmVnZW5f bWF4X3JldHJ5CT0gUkVHRU5fTUFYX1JFVFJZLAogCS5tYXhfZGVzeW5jX2ZhY3Rvcgk9IE1BWF9E RVNZTkNfRkFDVE9SLAogCS5tYXhfYWRkcmVzc2VzCQk9IElQVjZfTUFYX0FERFJFU1NFUywKQEAg LTI1NSw3ICsyNTUsNyBAQCBzdGF0aWMgc3RydWN0IGlwdjZfZGV2Y29uZiBpcHY2X2RldmNvbmZf ZGZsdCBfX3JlYWRfbW9zdGx5ID0gewogCS5ydHJfc29saWNpdF9kZWxheQk9IE1BWF9SVFJfU09M SUNJVEFUSU9OX0RFTEFZLAogCS51c2VfdGVtcGFkZHIJCT0gMCwKIAkudGVtcF92YWxpZF9sZnQJ CT0gVEVNUF9WQUxJRF9MSUZFVElNRSwKLQkudGVtcF9wcmVmZXJlZF9sZnQJPSBURU1QX1BSRUZF UlJFRF9MSUZFVElNRSwKKwkudGVtcF9wcmVmZXJyZWRfbGZ0CT0gVEVNUF9QUkVGRVJSRURfTElG RVRJTUUsCiAJLnJlZ2VuX21heF9yZXRyeQk9IFJFR0VOX01BWF9SRVRSWSwKIAkubWF4X2Rlc3lu Y19mYWN0b3IJPSBNQVhfREVTWU5DX0ZBQ1RPUiwKIAkubWF4X2FkZHJlc3NlcwkJPSBJUFY2X01B WF9BRERSRVNTRVMsCkBAIC0xMTEyLDcgKzExMTIsNyBAQCBpcHY2X2FkZF9hZGRyKHN0cnVjdCBp bmV0Nl9kZXYgKmlkZXYsIHN0cnVjdCBpZmE2X2NvbmZpZyAqY2ZnLAogCWlmICghKGNmZy0+aWZh X2ZsYWdzICYgSUZBX0ZfTk9EQUQpKQogCQlpZmEtPmZsYWdzIHw9IElGQV9GX1RFTlRBVElWRTsK IAlpZmEtPnZhbGlkX2xmdCA9IGNmZy0+dmFsaWRfbGZ0OwotCWlmYS0+cHJlZmVyZWRfbGZ0ID0g Y2ZnLT5wcmVmZXJyZWRfbGZ0OworCWlmYS0+cHJlZmVycmVkX2xmdCA9IGNmZy0+cHJlZmVycmVk X2xmdDsKIAlpZmEtPmNzdGFtcCA9IGlmYS0+dHN0YW1wID0gamlmZmllczsKIAlpZmEtPnRva2Vu aXplZCA9IGZhbHNlOwogCkBAIC0xMzU4LDcgKzEzNTgsNyBAQCBzdGF0aWMgaW50IGlwdjZfY3Jl YXRlX3RlbXBhZGRyKHN0cnVjdCBpbmV0Nl9pZmFkZHIgKmlmcCwKIAkvKiByZWNhbGN1bGF0ZSBt YXhfZGVzeW5jX2ZhY3RvciBlYWNoIHRpbWUgYW5kIHVwZGF0ZQogCSAqIGlkZXYtPmRlc3luY19m YWN0b3IgaWYgaXQncyBsYXJnZXIKIAkgKi8KLQljbmZfdGVtcF9wcmVmZXJyZWRfbGZ0ID0gUkVB RF9PTkNFKGlkZXYtPmNuZi50ZW1wX3ByZWZlcmVkX2xmdCk7CisJY25mX3RlbXBfcHJlZmVycmVk X2xmdCA9IFJFQURfT05DRShpZGV2LT5jbmYudGVtcF9wcmVmZXJyZWRfbGZ0KTsKIAltYXhfZGVz eW5jX2ZhY3RvciA9IG1pbl90KF9fdTMyLAogCQkJCSAgaWRldi0+Y25mLm1heF9kZXN5bmNfZmFj dG9yLAogCQkJCSAgY25mX3RlbXBfcHJlZmVycmVkX2xmdCAtIHJlZ2VuX2FkdmFuY2UpOwpAQCAt MTM3Nyw3ICsxMzc3LDcgQEAgc3RhdGljIGludCBpcHY2X2NyZWF0ZV90ZW1wYWRkcihzdHJ1Y3Qg aW5ldDZfaWZhZGRyICppZnAsCiAJY2ZnLnZhbGlkX2xmdCA9IG1pbl90KF9fdTMyLCBpZnAtPnZh bGlkX2xmdCwKIAkJCSAgICAgIGlkZXYtPmNuZi50ZW1wX3ZhbGlkX2xmdCArIGFnZSk7CiAJY2Zn LnByZWZlcnJlZF9sZnQgPSBjbmZfdGVtcF9wcmVmZXJyZWRfbGZ0ICsgYWdlIC0gaWRldi0+ZGVz eW5jX2ZhY3RvcjsKLQljZmcucHJlZmVycmVkX2xmdCA9IG1pbl90KF9fdTMyLCBpZnAtPnByZWZl cmVkX2xmdCwgY2ZnLnByZWZlcnJlZF9sZnQpOworCWNmZy5wcmVmZXJyZWRfbGZ0ID0gbWluX3Qo X191MzIsIGlmcC0+cHJlZmVycmVkX2xmdCwgY2ZnLnByZWZlcnJlZF9sZnQpOwogCiAJY2ZnLnBs ZW4gPSBpZnAtPnByZWZpeF9sZW47CiAJdG1wX3RzdGFtcCA9IGlmcC0+dHN0YW1wOwpAQCAtMjA4 Nyw3ICsyMDg3LDcgQEAgdm9pZCBhZGRyY29uZl9kYWRfZmFpbHVyZShzdHJ1Y3Qgc2tfYnVmZiAq c2tiLCBzdHJ1Y3QgaW5ldDZfaWZhZGRyICppZnApCiAJCQkucGxlbiA9IGlmcC0+cHJlZml4X2xl biwKIAkJCS5pZmFfZmxhZ3MgPSBpZnAtPmZsYWdzLAogCQkJLnZhbGlkX2xmdCA9IGlmcC0+dmFs aWRfbGZ0LAotCQkJLnByZWZlcnJlZF9sZnQgPSBpZnAtPnByZWZlcmVkX2xmdCwKKwkJCS5wcmVm ZXJyZWRfbGZ0ID0gaWZwLT5wcmVmZXJyZWRfbGZ0LAogCQkJLnNjb3BlID0gaWZwLT5zY29wZSwK IAkJfTsKIApAQCAtMjQ4MSw3ICsyNDgxLDcgQEAgc3RhdGljIHN0cnVjdCBpbmV0Nl9kZXYgKmFk ZHJjb25mX2FkZF9kZXYoc3RydWN0IG5ldF9kZXZpY2UgKmRldikKIAogc3RhdGljIHZvaWQgbWFu YWdlX3RlbXBhZGRycyhzdHJ1Y3QgaW5ldDZfZGV2ICppZGV2LAogCQkJICAgICBzdHJ1Y3QgaW5l dDZfaWZhZGRyICppZnAsCi0JCQkgICAgIF9fdTMyIHZhbGlkX2xmdCwgX191MzIgcHJlZmVyZWRf bGZ0LAorCQkJICAgICBfX3UzMiB2YWxpZF9sZnQsIF9fdTMyIHByZWZlcnJlZF9sZnQsCiAJCQkg ICAgIGJvb2wgY3JlYXRlLCB1bnNpZ25lZCBsb25nIG5vdykKIHsKIAl1MzIgZmxhZ3M7CkBAIC0y NDkwLDcgKzI0OTAsNyBAQCBzdGF0aWMgdm9pZCBtYW5hZ2VfdGVtcGFkZHJzKHN0cnVjdCBpbmV0 Nl9kZXYgKmlkZXYsCiAJcmVhZF9sb2NrX2JoKCZpZGV2LT5sb2NrKTsKIAkvKiB1cGRhdGUgYWxs IHRlbXBvcmFyeSBhZGRyZXNzZXMgaW4gdGhlIGxpc3QgKi8KIAlsaXN0X2Zvcl9lYWNoX2VudHJ5 KGlmdCwgJmlkZXYtPnRlbXBhZGRyX2xpc3QsIHRtcF9saXN0KSB7Ci0JCWludCBhZ2UsIG1heF92 YWxpZCwgbWF4X3ByZWZlcmVkOworCQlpbnQgYWdlLCBtYXhfdmFsaWQsIG1heF9wcmVmZXJyZWQ7 CiAKIAkJaWYgKGlmcCAhPSBpZnQtPmlmcHViKQogCQkJY29udGludWU7CkBAIC0yNTA4LDIzICsy NTA4LDIzIEBAIHN0YXRpYyB2b2lkIG1hbmFnZV90ZW1wYWRkcnMoc3RydWN0IGluZXQ2X2RldiAq aWRldiwKIAkJaWYgKG1heF92YWxpZCA8IDApCiAJCQltYXhfdmFsaWQgPSAwOwogCi0JCW1heF9w cmVmZXJlZCA9IGlkZXYtPmNuZi50ZW1wX3ByZWZlcmVkX2xmdCAtCi0JCQkgICAgICAgaWRldi0+ ZGVzeW5jX2ZhY3RvciAtIGFnZTsKLQkJaWYgKG1heF9wcmVmZXJlZCA8IDApCi0JCQltYXhfcHJl ZmVyZWQgPSAwOworCQltYXhfcHJlZmVycmVkID0gaWRldi0+Y25mLnRlbXBfcHJlZmVycmVkX2xm dCAtCisJCQkJaWRldi0+ZGVzeW5jX2ZhY3RvciAtIGFnZTsKKwkJaWYgKG1heF9wcmVmZXJyZWQg PCAwKQorCQkJbWF4X3ByZWZlcnJlZCA9IDA7CiAKIAkJaWYgKHZhbGlkX2xmdCA+IG1heF92YWxp ZCkKIAkJCXZhbGlkX2xmdCA9IG1heF92YWxpZDsKIAotCQlpZiAocHJlZmVyZWRfbGZ0ID4gbWF4 X3ByZWZlcmVkKQotCQkJcHJlZmVyZWRfbGZ0ID0gbWF4X3ByZWZlcmVkOworCQlpZiAocHJlZmVy cmVkX2xmdCA+IG1heF9wcmVmZXJyZWQpCisJCQlwcmVmZXJyZWRfbGZ0ID0gbWF4X3ByZWZlcnJl ZDsKIAogCQlzcGluX2xvY2soJmlmdC0+bG9jayk7CiAJCWZsYWdzID0gaWZ0LT5mbGFnczsKIAkJ aWZ0LT52YWxpZF9sZnQgPSB2YWxpZF9sZnQ7Ci0JCWlmdC0+cHJlZmVyZWRfbGZ0ID0gcHJlZmVy ZWRfbGZ0OworCQlpZnQtPnByZWZlcnJlZF9sZnQgPSBwcmVmZXJyZWRfbGZ0OwogCQlpZnQtPnRz dGFtcCA9IG5vdzsKLQkJaWYgKHByZWZlcmVkX2xmdCA+IDApCisJCWlmIChwcmVmZXJyZWRfbGZ0 ID4gMCkKIAkJCWlmdC0+ZmxhZ3MgJj0gfklGQV9GX0RFUFJFQ0FURUQ7CiAKIAkJc3Bpbl91bmxv Y2soJmlmdC0+bG9jayk7CkBAIC0yNTU3LDcgKzI1NTcsNyBAQCBpbnQgYWRkcmNvbmZfcHJlZml4 X3Jjdl9hZGRfYWRkcihzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJ CQkJIHN0cnVjdCBpbmV0Nl9kZXYgKmluNl9kZXYsCiAJCQkJIGNvbnN0IHN0cnVjdCBpbjZfYWRk ciAqYWRkciwgaW50IGFkZHJfdHlwZSwKIAkJCQkgdTMyIGFkZHJfZmxhZ3MsIGJvb2wgc2xsYW8s IGJvb2wgdG9rZW5pemVkLAotCQkJCSBfX3UzMiB2YWxpZF9sZnQsIHUzMiBwcmVmZXJlZF9sZnQp CisJCQkJIF9fdTMyIHZhbGlkX2xmdCwgdTMyIHByZWZlcnJlZF9sZnQpCiB7CiAJc3RydWN0IGlu ZXQ2X2lmYWRkciAqaWZwID0gaXB2Nl9nZXRfaWZhZGRyKG5ldCwgYWRkciwgZGV2LCAxKTsKIAlp bnQgY3JlYXRlID0gMCwgdXBkYXRlX2xmdCA9IDA7CkBAIC0yNTY5LDcgKzI1NjksNyBAQCBpbnQg YWRkcmNvbmZfcHJlZml4X3Jjdl9hZGRfYWRkcihzdHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCBuZXRf ZGV2aWNlICpkZXYsCiAJCQkucGxlbiA9IHBpbmZvLT5wcmVmaXhfbGVuLAogCQkJLmlmYV9mbGFn cyA9IGFkZHJfZmxhZ3MsCiAJCQkudmFsaWRfbGZ0ID0gdmFsaWRfbGZ0LAotCQkJLnByZWZlcnJl ZF9sZnQgPSBwcmVmZXJlZF9sZnQsCisJCQkucHJlZmVycmVkX2xmdCA9IHByZWZlcnJlZF9sZnQs CiAJCQkuc2NvcGUgPSBhZGRyX3R5cGUgJiBJUFY2X0FERFJfU0NPUEVfTUFTSywKIAkJfTsKIApA QCAtMjYyNCwxNCArMjYyNCwxNCBAQCBpbnQgYWRkcmNvbmZfcHJlZml4X3Jjdl9hZGRfYWRkcihz dHJ1Y3QgbmV0ICpuZXQsIHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsCiAJCQkgKiAgd2hldGhlciB0 aGUgdmFsaWQgbGlmZXRpbWUgaXMgYWxzbyByZXNldCBvcgogCQkJICogIGlnbm9yZWQuIgogCQkJ ICoKLQkJCSAqIFNvIHdlIHNob3VsZCBhbHdheXMgdXBkYXRlIHByZWZlcmVkX2xmdCBoZXJlLgor CQkJICogU28gd2Ugc2hvdWxkIGFsd2F5cyB1cGRhdGUgcHJlZmVycmVkX2xmdCBoZXJlLgogCQkJ ICovCiAJCQl1cGRhdGVfbGZ0ID0gMTsKIAkJfQogCiAJCWlmICh1cGRhdGVfbGZ0KSB7CiAJCQlp ZnAtPnZhbGlkX2xmdCA9IHZhbGlkX2xmdDsKLQkJCWlmcC0+cHJlZmVyZWRfbGZ0ID0gcHJlZmVy ZWRfbGZ0OworCQkJaWZwLT5wcmVmZXJyZWRfbGZ0ID0gcHJlZmVycmVkX2xmdDsKIAkJCWlmcC0+ dHN0YW1wID0gbm93OwogCQkJZmxhZ3MgPSBpZnAtPmZsYWdzOwogCQkJaWZwLT5mbGFncyAmPSB+ SUZBX0ZfREVQUkVDQVRFRDsKQEAgLTI2NDIsNyArMjY0Miw3IEBAIGludCBhZGRyY29uZl9wcmVm aXhfcmN2X2FkZF9hZGRyKHN0cnVjdCBuZXQgKm5ldCwgc3RydWN0IG5ldF9kZXZpY2UgKmRldiwK IAkJfSBlbHNlCiAJCQlzcGluX3VubG9ja19iaCgmaWZwLT5sb2NrKTsKIAotCQltYW5hZ2VfdGVt cGFkZHJzKGluNl9kZXYsIGlmcCwgdmFsaWRfbGZ0LCBwcmVmZXJlZF9sZnQsCisJCW1hbmFnZV90 ZW1wYWRkcnMoaW42X2RldiwgaWZwLCB2YWxpZF9sZnQsIHByZWZlcnJlZF9sZnQsCiAJCQkJIGNy ZWF0ZSwgbm93KTsKIAogCQlpbjZfaWZhX3B1dChpZnApOwpAQCAtMjY1Nyw3ICsyNjU3LDcgQEAg dm9pZCBhZGRyY29uZl9wcmVmaXhfcmN2KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHU4ICpvcHQs IGludCBsZW4sIGJvb2wgc2xsYW8pCiB7CiAJc3RydWN0IHByZWZpeF9pbmZvICpwaW5mbzsKIAlf X3UzMiB2YWxpZF9sZnQ7Ci0JX191MzIgcHJlZmVyZWRfbGZ0OworCV9fdTMyIHByZWZlcnJlZF9s ZnQ7CiAJaW50IGFkZHJfdHlwZSwgZXJyOwogCXUzMiBhZGRyX2ZsYWdzID0gMDsKIAlzdHJ1Y3Qg aW5ldDZfZGV2ICppbjZfZGV2OwpAQCAtMjY4MCw5ICsyNjgwLDkgQEAgdm9pZCBhZGRyY29uZl9w cmVmaXhfcmN2KHN0cnVjdCBuZXRfZGV2aWNlICpkZXYsIHU4ICpvcHQsIGludCBsZW4sIGJvb2wg c2xsYW8pCiAJCXJldHVybjsKIAogCXZhbGlkX2xmdCA9IG50b2hsKHBpbmZvLT52YWxpZCk7Ci0J cHJlZmVyZWRfbGZ0ID0gbnRvaGwocGluZm8tPnByZWZlcmVkKTsKKwlwcmVmZXJyZWRfbGZ0ID0g bnRvaGwocGluZm8tPnByZWZlcnJlZCk7CiAKLQlpZiAocHJlZmVyZWRfbGZ0ID4gdmFsaWRfbGZ0 KSB7CisJaWYgKHByZWZlcnJlZF9sZnQgPiB2YWxpZF9sZnQpIHsKIAkJbmV0X3dhcm5fcmF0ZWxp bWl0ZWQoImFkZHJjb25mOiBwcmVmaXggb3B0aW9uIGhhcyBpbnZhbGlkIGxpZmV0aW1lXG4iKTsK IAkJcmV0dXJuOwogCX0KQEAgLTI3ODcsNyArMjc4Nyw3IEBAIHZvaWQgYWRkcmNvbmZfcHJlZml4 X3JjdihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2LCB1OCAqb3B0LCBpbnQgbGVuLCBib29sIHNsbGFv KQogCQkJCQkJICAgJmFkZHIsIGFkZHJfdHlwZSwKIAkJCQkJCSAgIGFkZHJfZmxhZ3MsIHNsbGFv LAogCQkJCQkJICAgdG9rZW5pemVkLCB2YWxpZF9sZnQsCi0JCQkJCQkgICBwcmVmZXJlZF9sZnQp OworCQkJCQkJICAgcHJlZmVycmVkX2xmdCk7CiAJCWlmIChlcnIpCiAJCQlnb3RvIHB1dDsKIApA QCAtMjc5Nyw3ICsyNzk3LDcgQEAgdm9pZCBhZGRyY29uZl9wcmVmaXhfcmN2KHN0cnVjdCBuZXRf ZGV2aWNlICpkZXYsIHU4ICpvcHQsIGludCBsZW4sIGJvb2wgc2xsYW8pCiAJCW5kaXNjX29wc19w cmVmaXhfcmN2X2FkZF9hZGRyKG5ldCwgZGV2LCBwaW5mbywgaW42X2RldiwgJmFkZHIsCiAJCQkJ CSAgICAgIGFkZHJfdHlwZSwgYWRkcl9mbGFncywgc2xsYW8sCiAJCQkJCSAgICAgIHRva2VuaXpl ZCwgdmFsaWRfbGZ0LAotCQkJCQkgICAgICBwcmVmZXJlZF9sZnQsCisJCQkJCSAgICAgIHByZWZl cnJlZF9sZnQsCiAJCQkJCSAgICAgIGRldl9hZGRyX2dlbmVyYXRlZCk7CiAJfQogCWluZXQ2X3By ZWZpeF9ub3RpZnkoUlRNX05FV1BSRUZJWCwgaW42X2RldiwgcGluZm8pOwpAQCAtNDQyMiw3ICs0 NDIyLDcgQEAgc3RhdGljIHZvaWQgYWRkcmNvbmZfdmVyaWZ5X3J0bmwodm9pZCkKIAkJCSAqIElG QV9GX1BFUk1BTkVOVCBoYXMgYSBub24taW5maW5pdHkgbGlmZSB0aW1lLgogCQkJICovCiAJCQlp ZiAoKGlmcC0+ZmxhZ3MgJiBJRkFfRl9QRVJNQU5FTlQpICYmCi0JCQkgICAgKGlmcC0+cHJlZmVy ZWRfbGZ0ID09IElORklOSVRZX0xJRkVfVElNRSkpCisJCQkgICAgKGlmcC0+cHJlZmVycmVkX2xm dCA9PSBJTkZJTklUWV9MSUZFX1RJTUUpKQogCQkJCWNvbnRpbnVlOwogCiAJCQlzcGluX2xvY2so JmlmcC0+bG9jayk7CkBAIC00NDM1LDExICs0NDM1LDEzIEBAIHN0YXRpYyB2b2lkIGFkZHJjb25m X3ZlcmlmeV9ydG5sKHZvaWQpCiAJCQkJaW42X2lmYV9ob2xkKGlmcCk7CiAJCQkJaXB2Nl9kZWxf YWRkcihpZnApOwogCQkJCWdvdG8gcmVzdGFydDsKLQkJCX0gZWxzZSBpZiAoaWZwLT5wcmVmZXJl ZF9sZnQgPT0gSU5GSU5JVFlfTElGRV9USU1FKSB7CisJCQl9IGVsc2UgaWYgKGlmcC0+cHJlZmVy cmVkX2xmdCA9PSBJTkZJTklUWV9MSUZFX1RJTUUpIHsKIAkJCQlzcGluX3VubG9jaygmaWZwLT5s b2NrKTsKIAkJCQljb250aW51ZTsKLQkJCX0gZWxzZSBpZiAoYWdlID49IGlmcC0+cHJlZmVyZWRf bGZ0KSB7Ci0JCQkJLyogamlmZmllcyAtIGlmcC0+dHN0YW1wID4gYWdlID49IGlmcC0+cHJlZmVy ZWRfbGZ0ICovCisJCQl9IGVsc2UgaWYgKGFnZSA+PSBpZnAtPnByZWZlcnJlZF9sZnQpIHsKKwkJ CQkvKiBqaWZmaWVzIC0gaWZwLT50c3RhbXAgPiBhZ2UgPj0KKwkJCQkgKglpZnAtPnByZWZlcnJl ZF9sZnQKKwkJCQkgKi8KIAkJCQlpbnQgZGVwcmVjYXRlID0gMDsKIAogCQkJCWlmICghKGlmcC0+ ZmxhZ3MmSUZBX0ZfREVQUkVDQVRFRCkpIHsKQEAgLTQ0NjYsMTAgKzQ0NjgsMTMgQEAgc3RhdGlj IHZvaWQgYWRkcmNvbmZfdmVyaWZ5X3J0bmwodm9pZCkKIAkJCQkJaWZwLT5pZGV2LT5jbmYuZGFk X3RyYW5zbWl0cyAqCiAJCQkJCU5FSUdIX1ZBUihpZnAtPmlkZXYtPm5kX3Bhcm1zLCBSRVRSQU5T X1RJTUUpIC8gSFo7CiAKLQkJCQlpZiAoYWdlID49IGlmcC0+cHJlZmVyZWRfbGZ0IC0gcmVnZW5f YWR2YW5jZSkgeworCQkJCWlmIChhZ2UgPj0gaWZwLT5wcmVmZXJyZWRfbGZ0IC0gcmVnZW5fYWR2 YW5jZSkgewogCQkJCQlzdHJ1Y3QgaW5ldDZfaWZhZGRyICppZnB1YiA9IGlmcC0+aWZwdWI7Ci0J CQkJCWlmICh0aW1lX2JlZm9yZShpZnAtPnRzdGFtcCArIGlmcC0+cHJlZmVyZWRfbGZ0ICogSFos IG5leHQpKQotCQkJCQkJbmV4dCA9IGlmcC0+dHN0YW1wICsgaWZwLT5wcmVmZXJlZF9sZnQgKiBI WjsKKwkJCQkJaWYgKHRpbWVfYmVmb3JlKGlmcC0+dHN0YW1wICsKKwkJCQkJCQlpZnAtPnByZWZl cnJlZF9sZnQgKiBIWiwKKwkJCQkJCQluZXh0KSkKKwkJCQkJCW5leHQgPSBpZnAtPnRzdGFtcCAr CisJCQkJCQkgICAgICAgaWZwLT5wcmVmZXJyZWRfbGZ0ICogSFo7CiAJCQkJCWlmICghaWZwLT5y ZWdlbl9jb3VudCAmJiBpZnB1YikgewogCQkJCQkJaWZwLT5yZWdlbl9jb3VudCsrOwogCQkJCQkJ aW42X2lmYV9ob2xkKGlmcCk7CkBAIC00NDg2LDEzICs0NDkxLDIwIEBAIHN0YXRpYyB2b2lkIGFk ZHJjb25mX3ZlcmlmeV9ydG5sKHZvaWQpCiAJCQkJCQlyY3VfcmVhZF9sb2NrX2JoKCk7CiAJCQkJ CQlnb3RvIHJlc3RhcnQ7CiAJCQkJCX0KLQkJCQl9IGVsc2UgaWYgKHRpbWVfYmVmb3JlKGlmcC0+ dHN0YW1wICsgaWZwLT5wcmVmZXJlZF9sZnQgKiBIWiAtIHJlZ2VuX2FkdmFuY2UgKiBIWiwgbmV4 dCkpCi0JCQkJCW5leHQgPSBpZnAtPnRzdGFtcCArIGlmcC0+cHJlZmVyZWRfbGZ0ICogSFogLSBy ZWdlbl9hZHZhbmNlICogSFo7CisJCQkJfSBlbHNlIGlmICh0aW1lX2JlZm9yZShpZnAtPnRzdGFt cCArCisJCQkJCQkgICAgICAgaWZwLT5wcmVmZXJyZWRfbGZ0ICogSFogLQorCQkJCQkJICAgICAg IHJlZ2VuX2FkdmFuY2UgKiBIWiwKKwkJCQkJCSAgICAgICBuZXh0KSkKKwkJCQkJbmV4dCA9IGlm cC0+dHN0YW1wICsKKwkJCQkJICAgICAgIGlmcC0+cHJlZmVycmVkX2xmdCAqIEhaIC0KKwkJCQkJ ICAgICAgIHJlZ2VuX2FkdmFuY2UgKiBIWjsKIAkJCQlzcGluX3VubG9jaygmaWZwLT5sb2NrKTsK IAkJCX0gZWxzZSB7Ci0JCQkJLyogaWZwLT5wcmVmZXJlZF9sZnQgPD0gaWZwLT52YWxpZF9sZnQg Ki8KLQkJCQlpZiAodGltZV9iZWZvcmUoaWZwLT50c3RhbXAgKyBpZnAtPnByZWZlcmVkX2xmdCAq IEhaLCBuZXh0KSkKLQkJCQkJbmV4dCA9IGlmcC0+dHN0YW1wICsgaWZwLT5wcmVmZXJlZF9sZnQg KiBIWjsKKwkJCQkvKiBpZnAtPnByZWZlcnJlZF9sZnQgPD0gaWZwLT52YWxpZF9sZnQgKi8KKwkJ CQlpZiAodGltZV9iZWZvcmUoaWZwLT50c3RhbXAgKworCQkJCQkJaWZwLT5wcmVmZXJyZWRfbGZ0 ICogSFosIG5leHQpKQorCQkJCQluZXh0ID0gaWZwLT50c3RhbXAgKworCQkJCQkgICAgICAgaWZw LT5wcmVmZXJyZWRfbGZ0ICogSFo7CiAJCQkJc3Bpbl91bmxvY2soJmlmcC0+bG9jayk7CiAJCQl9 CiAJCX0KQEAgLTQ2NjUsNyArNDY3Nyw3IEBAIHN0YXRpYyBpbnQgaW5ldDZfYWRkcl9tb2RpZnko c3RydWN0IGluZXQ2X2lmYWRkciAqaWZwLCBzdHJ1Y3QgaWZhNl9jb25maWcgKmNmZykKIAlpZnAt PmZsYWdzIHw9IGNmZy0+aWZhX2ZsYWdzOwogCWlmcC0+dHN0YW1wID0gamlmZmllczsKIAlpZnAt PnZhbGlkX2xmdCA9IGNmZy0+dmFsaWRfbGZ0OwotCWlmcC0+cHJlZmVyZWRfbGZ0ID0gY2ZnLT5w cmVmZXJyZWRfbGZ0OworCWlmcC0+cHJlZmVycmVkX2xmdCA9IGNmZy0+cHJlZmVycmVkX2xmdDsK IAogCWlmIChjZmctPnJ0X3ByaW9yaXR5ICYmIGNmZy0+cnRfcHJpb3JpdHkgIT0gaWZwLT5ydF9w cmlvcml0eSkKIAkJaWZwLT5ydF9wcmlvcml0eSA9IGNmZy0+cnRfcHJpb3JpdHk7CkBAIC00NzU1 LDcgKzQ3NjcsNyBAQCBpbmV0Nl9ydG1fbmV3YWRkcihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1 Y3Qgbmxtc2doZHIgKm5saCwKIAogCQljaSA9IG5sYV9kYXRhKHRiW0lGQV9DQUNIRUlORk9dKTsK IAkJY2ZnLnZhbGlkX2xmdCA9IGNpLT5pZmFfdmFsaWQ7Ci0JCWNmZy5wcmVmZXJyZWRfbGZ0ID0g Y2ktPmlmYV9wcmVmZXJlZDsKKwkJY2ZnLnByZWZlcnJlZF9sZnQgPSBjaS0+aWZhX3ByZWZlcnJl ZDsKIAl9CiAKIAlkZXYgPSAgX19kZXZfZ2V0X2J5X2luZGV4KG5ldCwgaWZtLT5pZmFfaW5kZXgp OwpAQCAtNDgyNSw3ICs0ODM3LDcgQEAgc3RhdGljIGludCBwdXRfY2FjaGVpbmZvKHN0cnVjdCBz a19idWZmICpza2IsIHVuc2lnbmVkIGxvbmcgY3N0YW1wLAogCiAJY2kuY3N0YW1wID0gY3N0YW1w X2RlbHRhKGNzdGFtcCk7CiAJY2kudHN0YW1wID0gY3N0YW1wX2RlbHRhKHRzdGFtcCk7Ci0JY2ku aWZhX3ByZWZlcmVkID0gcHJlZmVycmVkOworCWNpLmlmYV9wcmVmZXJyZWQgPSBwcmVmZXJyZWQ7 CiAJY2kuaWZhX3ZhbGlkID0gdmFsaWQ7CiAKIAlyZXR1cm4gbmxhX3B1dChza2IsIElGQV9DQUNI RUlORk8sIHNpemVvZihjaSksICZjaSk7CkBAIC00ODg4LDggKzQ5MDAsOCBAQCBzdGF0aWMgaW50 IGluZXQ2X2ZpbGxfaWZhZGRyKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBpbmV0Nl9pZmFk ZHIgKmlmYSwKIAkJZ290byBlcnJvcjsKIAogCWlmICghKChpZmEtPmZsYWdzJklGQV9GX1BFUk1B TkVOVCkgJiYKLQkgICAgICAoaWZhLT5wcmVmZXJlZF9sZnQgPT0gSU5GSU5JVFlfTElGRV9USU1F KSkpIHsKLQkJcHJlZmVycmVkID0gaWZhLT5wcmVmZXJlZF9sZnQ7CisJICAgICAgKGlmYS0+cHJl ZmVycmVkX2xmdCA9PSBJTkZJTklUWV9MSUZFX1RJTUUpKSkgeworCQlwcmVmZXJyZWQgPSBpZmEt PnByZWZlcnJlZF9sZnQ7CiAJCXZhbGlkID0gaWZhLT52YWxpZF9sZnQ7CiAJCWlmIChwcmVmZXJy ZWQgIT0gSU5GSU5JVFlfTElGRV9USU1FKSB7CiAJCQlsb25nIHR2YWwgPSAoamlmZmllcyAtIGlm YS0+dHN0YW1wKS9IWjsKQEAgLTUzOTQsNyArNTQwNiw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBp cHY2X3N0b3JlX2RldmNvbmYoc3RydWN0IGlwdjZfZGV2Y29uZiAqY25mLAogCQlqaWZmaWVzX3Rv X21zZWNzKGNuZi0+bWxkdjJfdW5zb2xpY2l0ZWRfcmVwb3J0X2ludGVydmFsKTsKIAlhcnJheVtE RVZDT05GX1VTRV9URU1QQUREUl0gPSBjbmYtPnVzZV90ZW1wYWRkcjsKIAlhcnJheVtERVZDT05G X1RFTVBfVkFMSURfTEZUXSA9IGNuZi0+dGVtcF92YWxpZF9sZnQ7Ci0JYXJyYXlbREVWQ09ORl9U RU1QX1BSRUZFUkVEX0xGVF0gPSBjbmYtPnRlbXBfcHJlZmVyZWRfbGZ0OworCWFycmF5W0RFVkNP TkZfVEVNUF9QUkVGRVJSRURfTEZUXSA9IGNuZi0+dGVtcF9wcmVmZXJyZWRfbGZ0OwogCWFycmF5 W0RFVkNPTkZfUkVHRU5fTUFYX1JFVFJZXSA9IGNuZi0+cmVnZW5fbWF4X3JldHJ5OwogCWFycmF5 W0RFVkNPTkZfTUFYX0RFU1lOQ19GQUNUT1JdID0gY25mLT5tYXhfZGVzeW5jX2ZhY3RvcjsKIAlh cnJheVtERVZDT05GX01BWF9BRERSRVNTRVNdID0gY25mLT5tYXhfYWRkcmVzc2VzOwpAQCAtNTY0 NCw3ICs1NjU2LDcgQEAgc3RhdGljIGludCBpbmV0Nl9zZXRfaWZ0b2tlbihzdHJ1Y3QgaW5ldDZf ZGV2ICppZGV2LCBzdHJ1Y3QgaW42X2FkZHIgKnRva2VuKQogCQlzcGluX2xvY2soJmlmcC0+bG9j ayk7CiAJCWlmIChpZnAtPnRva2VuaXplZCkgewogCQkJaWZwLT52YWxpZF9sZnQgPSAwOwotCQkJ aWZwLT5wcmVmZXJlZF9sZnQgPSAwOworCQkJaWZwLT5wcmVmZXJyZWRfbGZ0ID0gMDsKIAkJfQog CQlzcGluX3VubG9jaygmaWZwLT5sb2NrKTsKIAl9CkBAIC01OTE1LDcgKzU5MjcsNyBAQCBzdGF0 aWMgaW50IGluZXQ2X2ZpbGxfcHJlZml4KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBpbmV0 Nl9kZXYgKmlkZXYsCiAKIAlpZiAobmxhX3B1dChza2IsIFBSRUZJWF9BRERSRVNTLCBzaXplb2Yo cGluZm8tPnByZWZpeCksICZwaW5mby0+cHJlZml4KSkKIAkJZ290byBubGFfcHV0X2ZhaWx1cmU7 Ci0JY2kucHJlZmVycmVkX3RpbWUgPSBudG9obChwaW5mby0+cHJlZmVyZWQpOworCWNpLnByZWZl cnJlZF90aW1lID0gbnRvaGwocGluZm8tPnByZWZlcnJlZCk7CiAJY2kudmFsaWRfdGltZSA9IG50 b2hsKHBpbmZvLT52YWxpZCk7CiAJaWYgKG5sYV9wdXQoc2tiLCBQUkVGSVhfQ0FDSEVJTkZPLCBz aXplb2YoY2kpLCAmY2kpKQogCQlnb3RvIG5sYV9wdXRfZmFpbHVyZTsKQEAgLTY1NjEsOCArNjU3 MywxNSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGN0bF90YWJsZSBhZGRyY29uZl9zeXNjdGxbXSA9 IHsKIAkJLnByb2NfaGFuZGxlcgk9IHByb2NfZG9pbnR2ZWMsCiAJfSwKIAl7CisJCS5wcm9jbmFt ZQk9ICJ0ZW1wX3ByZWZlcnJlZF9sZnQiLAorCQkuZGF0YQkJPSAmaXB2Nl9kZXZjb25mLnRlbXBf cHJlZmVycmVkX2xmdCwKKwkJLm1heGxlbgkJPSBzaXplb2YoaW50KSwKKwkJLm1vZGUJCT0gMDY0 NCwKKwkJLnByb2NfaGFuZGxlcgk9IHByb2NfZG9pbnR2ZWMsCisJfSwKKwl7IC8qIERFUFJFQ0FU RUQgKi8KIAkJLnByb2NuYW1lCT0gInRlbXBfcHJlZmVyZWRfbGZ0IiwKLQkJLmRhdGEJCT0gJmlw djZfZGV2Y29uZi50ZW1wX3ByZWZlcmVkX2xmdCwKKwkJLmRhdGEJCT0gJmlwdjZfZGV2Y29uZi50 ZW1wX3ByZWZlcnJlZF9sZnQsCiAJCS5tYXhsZW4JCT0gc2l6ZW9mKGludCksCiAJCS5tb2RlCQk9 IDA2NDQsCiAJCS5wcm9jX2hhbmRsZXIJPSBwcm9jX2RvaW50dmVjLAotLSAKMi4yMy4wLjg2Ni5n Yjg2OWI5OGQ0Yy1nb29nCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWw=