[5064] in arla-drinkers

home help back first fref pref prev next nref lref last post

Re: PATCH v3: Arla CVS Current on Linux 2.6.34 to 4.4

daemon@ATHENA.MIT.EDU (Bo Branten)
Fri Jan 22 08:24:04 2016

From arla-drinkers-bounces@stacken.kth.se Fri Jan 22 13:24:04 2016
Return-Path: <arla-drinkers-bounces@stacken.kth.se>
Delivered-To: arla-drinkers-mtg@bloom-picayune.mit.edu
Received: (qmail 20489 invoked from network); 22 Jan 2016 13:24:03 -0000
Received: from mx5.kth.se (130.237.32.10)
  by charon.mit.edu with SMTP; 22 Jan 2016 13:24:03 -0000
Received: from mx5.kth.se (localhost [127.0.0.1])
	by mx5.kth.se (Postfix) with ESMTP id C68B82400F9;
	Fri, 22 Jan 2016 14:24:02 +0100 (CET)
X-Virus-Scanned: by amavisd-new at kth.se
Received: from mx5.kth.se ([127.0.0.1])
	by mx5.kth.se (mx5.kth.se [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id h1MVYbfpA3CI; Fri, 22 Jan 2016 14:23:45 +0100 (CET)
Received: from vingummi.stacken.kth.se (unknown [IPv6:2001:6b0:1:ea:211:43ff:fe35:104c])
	by mx5.kth.se (Postfix) with ESMTP;
	Fri, 22 Jan 2016 14:23:45 +0100 (CET)
Received: from vingummi.stacken.kth.se (localhost [IPv6:::1])
	by vingummi.stacken.kth.se (Postfix) with ESMTP id 7747E14C913;
	Fri, 22 Jan 2016 14:23:45 +0100 (CET)
Received: by vingummi.stacken.kth.se (Postfix)
 id 126F414CA99; Fri, 22 Jan 2016 14:23:44 +0100 (CET)
Delivered-To: al_stacken_kth_se______________arla-drinkers@vingummi.stacken.kth.se
Received: from mx7.kth.se (mx7.kth.se [130.237.48.48])
 by vingummi.stacken.kth.se (Postfix) with ESMTPS id 0EDE114CA7D
 for <arla-drinkers@stacken.kth.se>; Fri, 22 Jan 2016 14:23:44 +0100 (CET)
Received: from mx7.kth.se (localhost [127.0.0.1])
 by mx7.kth.se (Postfix) with ESMTP id F384014018E
 for <arla-drinkers@stacken.kth.se>; Fri, 22 Jan 2016 14:23:43 +0100 (CET)
X-Virus-Scanned: by amavisd-new at kth.se
X-Amavis-OS-Fingerprint: Windows NT kernel; dist: 9; link: Ethernet or modem; 
 params: generic fuzzy; raw_mtu: 1500; raw_sig:
 6:55+9:0:1440:mss*45,0:mss,nop,ws,nop,nop,sok::0,
 [2001:6b0:e:2018::156]:47177
Received: from mx7.kth.se ([127.0.0.1])
 by mx7.kth.se (mx7.kth.se [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 4KZkawx6yjFc for <arla-drinkers@stacken.kth.se>;
 Fri, 22 Jan 2016 14:23:42 +0100 (CET)
Received: from mail.acc.umu.se (mail.acc.umu.se [IPv6:2001:6b0:e:2018::156])
 by mx7.kth.se (Postfix) with ESMTPS
 for <arla-drinkers@stacken.kth.se>; Fri, 22 Jan 2016 14:23:42 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by amavisd-new (Postfix) with ESMTP id BDAA1E60
 for <arla-drinkers@stacken.kth.se>; Fri, 22 Jan 2016 14:23:38 +0100 (MET)
X-Virus-Scanned: amavisd-new at acc.umu.se
Received: from suiko.acc.umu.se (suiko.acc.umu.se [IPv6:2001:6b0:e:2018::162])
 by mail.acc.umu.se (Postfix) with ESMTP id 368BEE5F
 for <arla-drinkers@stacken.kth.se>; Fri, 22 Jan 2016 14:23:34 +0100 (MET)
Received: by suiko.acc.umu.se (Postfix, from userid 10005)
 id 2DD3844B8C; Fri, 22 Jan 2016 14:23:34 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by suiko.acc.umu.se (Postfix) with ESMTP id 2C10344B8B
 for <arla-drinkers@stacken.kth.se>; Fri, 22 Jan 2016 14:23:34 +0100 (CET)
Date: Fri, 22 Jan 2016 14:23:34 +0100 (CET)
From: Bo Branten <bosse@acc.umu.se>
To: arla-drinkers@stacken.kth.se
Subject: Re: PATCH v3: Arla CVS Current on Linux 2.6.34 to 4.4
In-Reply-To: <alpine.DEB.2.10.1601150312080.11672@suiko.acc.umu.se>
Message-ID: <alpine.DEB.2.10.1601221422120.9412@suiko.acc.umu.se>
References: <alpine.DEB.2.10.1601110319280.18025@suiko.acc.umu.se>
 <alpine.DEB.2.10.1601150312080.11672@suiko.acc.umu.se>
User-Agent: Alpine 2.10 (DEB 1266 2009-07-14)
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED; BOUNDARY="-276651502-611776909-1453469014=:9412"
X-BeenThere: arla-drinkers@stacken.kth.se
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Arla discussions <arla-drinkers.stacken.kth.se>
List-Unsubscribe: <https://lists.stacken.kth.se/mailman/options/arla-drinkers>, 
 <mailto:arla-drinkers-request@stacken.kth.se?subject=unsubscribe>
List-Archive: <http://lists.stacken.kth.se/pipermail/arla-drinkers/>
List-Post: <mailto:arla-drinkers@stacken.kth.se>
List-Help: <mailto:arla-drinkers-request@stacken.kth.se?subject=help>
List-Subscribe: <https://lists.stacken.kth.se/mailman/listinfo/arla-drinkers>, 
 <mailto:arla-drinkers-request@stacken.kth.se?subject=subscribe>
Errors-To: arla-drinkers-bounces@stacken.kth.se
Sender: "Arla-drinkers" <arla-drinkers-bounces@stacken.kth.se>

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

---276651502-611776909-1453469014=:9412
Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII

PATCH v3: Arla CVS Current on Linux 2.6.34 to 4.4

This is a small correction of my earlier patch: A change in a common
include file broke compilation of arlad, this is now corrected.

Bo Branten
---276651502-611776909-1453469014=:9412
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=patch-v3-arla-cvs-for-linux-4.4
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.DEB.2.10.1601221423340.9412@suiko.acc.umu.se>
Content-Description: 
Content-Disposition: attachment; filename=patch-v3-arla-cvs-for-linux-4.4

ZGlmZiAtdXByTiBhcmxhLWN2cy9ubnBmcy9pbmNsdWRlL25ucGZzL25ucGZz
X2F0dHIuaCBhcmxhL25ucGZzL2luY2x1ZGUvbm5wZnMvbm5wZnNfYXR0ci5o
DQotLS0gYXJsYS1jdnMvbm5wZnMvaW5jbHVkZS9ubnBmcy9ubnBmc19hdHRy
LmgJMjAwNi0xMC0yNCAxODozMzozMC4wMDAwMDAwMDAgKzAyMDANCisrKyBh
cmxhL25ucGZzL2luY2x1ZGUvbm5wZnMvbm5wZnNfYXR0ci5oCTIwMTYtMDEt
MjIgMTI6NTE6MDcuNDQyMTQxMTgyICswMTAwDQpAQCAtMTEzLDggKzExMywx
OCBAQCBzdHJ1Y3Qgbm5wZnNfYXR0ciB7DQogICAgIHVpbnQzMl90CQl4YV9u
bGluazsNCiAgICAgdWludDMyX3QJCXhhX3R5cGU7DQogDQorI2lmbmRlZiBf
X0tFUk5FTF9fDQogICAgIHVpbnQzMl90CQl4YV91aWQ7DQogICAgIHVpbnQz
Ml90CQl4YV9naWQ7DQorI2Vsc2UNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RF
ID49IEtFUk5FTF9WRVJTSU9OKDMsMTQsMCkNCisgICAga3VpZF90CQl4YV91
aWQ7DQorICAgIGtnaWRfdAkJeGFfZ2lkOw0KKyNlbHNlDQorICAgIHVpbnQz
Ml90CQl4YV91aWQ7DQorICAgIHVpbnQzMl90CQl4YV9naWQ7DQorI2VuZGlm
DQorI2VuZGlmDQogDQogICAgIHVpbnQzMl90CQl4YV9hdGltZTsNCiAgICAg
dWludDMyX3QJCXhhX210aW1lOw0KZGlmZiAtdXByTiBhcmxhLWN2cy9ubnBm
cy9pbmNsdWRlL25ucGZzL25ucGZzX21lc3NhZ2UuaCBhcmxhL25ucGZzL2lu
Y2x1ZGUvbm5wZnMvbm5wZnNfbWVzc2FnZS5oDQotLS0gYXJsYS1jdnMvbm5w
ZnMvaW5jbHVkZS9ubnBmcy9ubnBmc19tZXNzYWdlLmgJMjAwOS0wMi0yNCAy
MToyMDo1NS4wMDAwMDAwMDAgKzAxMDANCisrKyBhcmxhL25ucGZzL2luY2x1
ZGUvbm5wZnMvbm5wZnNfbWVzc2FnZS5oCTIwMTYtMDEtMjIgMTI6NTM6Mjku
NDc3MTQ5NzQ1ICswMTAwDQpAQCAtNTIsNyArNTIsMTUgQEAgdHlwZWRlZiB1
aW50MTZfdCBubnBmc19yaWdodHM7DQogICogVGhlIG5ucGZzX2NyZWQsIGlm
IHBhZyA9PSAwLCB1c2UgdWlkIA0KICAqLw0KIHR5cGVkZWYgc3RydWN0IG5u
cGZzX2NyZWQgew0KKyNpZm5kZWYgX19LRVJORUxfXw0KICAgICB1aW50MzJf
dCB1aWQ7DQorI2Vsc2UNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtF
Uk5FTF9WRVJTSU9OKDMsMTQsMCkNCisgICAga3VpZF90IHVpZDsNCisjZWxz
ZQ0KKyAgICB1aW50MzJfdCB1aWQ7DQorI2VuZGlmDQorI2VuZGlmDQogICAg
IG5ucGZzX3BhZ190IHBhZzsNCiB9IG5ucGZzX2NyZWQ7DQogDQpkaWZmIC11
cHJOIGFybGEtY3ZzL25ucGZzL2xpbnV4L25ucGZzL25ucGZzX2ZzLmggYXJs
YS9ubnBmcy9saW51eC9ubnBmcy9ubnBmc19mcy5oDQotLS0gYXJsYS1jdnMv
bm5wZnMvbGludXgvbm5wZnMvbm5wZnNfZnMuaAkyMDA2LTEwLTI0IDE4OjMz
OjQ4LjAwMDAwMDAwMCArMDIwMA0KKysrIGFybGEvbm5wZnMvbGludXgvbm5w
ZnMvbm5wZnNfZnMuaAkyMDE2LTAxLTEzIDIyOjU3OjA2LjM4NzY5MzMzOSAr
MDEwMA0KQEAgLTg0LDggKzg0LDEzIEBAIHN0cnVjdCBubnBmcyB7DQogICAg
IHN0cnVjdCB2ZnNtb3VudCAqY2FjaGVyb290OyAvKiBzaW1wbGlmeSBvcGVu
IG9mIGNhY2hlIGJsb2NrcyAqLw0KICAgICBzdHJ1Y3QgZGVudHJ5ICpjYWNo
ZWRpcjsNCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZF
UlNJT04oMywxNCwwKQ0KICAgICB1aWRfdCB1aWQ7IC8qIGtlZXAgdHJhY2sg
b2YgZGFlbW9uJ3MgaWRlbnRpdHkgKi8NCiAgICAgZ2lkX3QgZ2lkOw0KKyNl
bHNlDQorICAgIGt1aWRfdCB1aWQ7IC8qIGtlZXAgdHJhY2sgb2YgZGFlbW9u
J3MgaWRlbnRpdHkgKi8NCisgICAga2dpZF90IGdpZDsNCisjZW5kaWYNCiAN
CiAgICAgc3RydWN0IHsNCiAJaW50IHJlY3Vyc2U7DQpkaWZmIC11cHJOIGFy
bGEtY3ZzL25ucGZzL2xpbnV4L25ucGZzL25ucGZzX2xvY2wuaCBhcmxhL25u
cGZzL2xpbnV4L25ucGZzL25ucGZzX2xvY2wuaA0KLS0tIGFybGEtY3ZzL25u
cGZzL2xpbnV4L25ucGZzL25ucGZzX2xvY2wuaAkyMDEwLTA4LTA4IDIyOjQz
OjA2LjAwMDAwMDAwMCArMDIwMA0KKysrIGFybGEvbm5wZnMvbGludXgvbm5w
ZnMvbm5wZnNfbG9jbC5oCTIwMTYtMDEtMTMgMjM6MDE6MTAuMTc4NzA4MDM3
ICswMTAwDQpAQCAtNTEsNyArNTEsOSBAQA0KICNpbmNsdWRlIDxsaW51eC9z
dGF0Lmg+DQogI2luY2x1ZGUgPGxpbnV4L3N0cmluZy5oPg0KICNpbmNsdWRl
IDxsaW51eC9uYW1laS5oPg0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBL
RVJORUxfVkVSU0lPTigyLDYsMzkpDQogI2luY2x1ZGUgPGxpbnV4L3NtcF9s
b2NrLmg+DQorI2VuZGlmDQogI2luY2x1ZGUgPGxpbnV4L3dhaXQuaD4NCiAN
CiAvKg0KQEAgLTEzOCwxMCArMTQwLDE3IEBAIHR5cGVkZWYgX191MzIgIHVp
bnQzMl90Ow0KIGludA0KIG5ucGZzX2ZldGNoX3Jvb3Qoc3RydWN0IGlub2Rl
ICppKTsNCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZF
UlNJT04oMiw2LDM5KQ0KIGludA0KIG5ucGZzX2dldF9zYihzdHJ1Y3QgZmls
ZV9zeXN0ZW1fdHlwZSAqZnNfdHlwZSwNCiAJICAgICBpbnQgZmxhZ3MsIGNv
bnN0IGNoYXIgKmRldl9uYW1lLA0KIAkgICAgIHZvaWQgKmRhdGEsIHN0cnVj
dCB2ZnNtb3VudCAqbW50KTsNCisjZWxzZQ0KK3N0cnVjdCBkZW50cnkqDQor
bm5wZnNfbW91bnQoc3RydWN0IGZpbGVfc3lzdGVtX3R5cGUgKmZzX3R5cGUs
DQorCSAgICAgaW50IGZsYWdzLCBjb25zdCBjaGFyICpkZXZfbmFtZSwNCisJ
ICAgICB2b2lkICpkYXRhKTsNCisjZW5kaWYNCiANCiBleHRlcm4gc3RydWN0
IGRlbnRyeV9vcGVyYXRpb25zIG5ucGZzX2RlbnRyeV9vcGVyYXRpb25zOw0K
IA0KQEAgLTE5NCwxMCArMjAzLDIxIEBAIG5ucGZzX2l3cml0ZWNvdW50IChz
dHJ1Y3QgaW5vZGUgKmlub2RlKQ0KICAqIEhlbHAgZnVuY3Rpb24gdG8gcmVh
ZCB0aGUgZGVudHJ5LT5kX2NvdW50IGEgcG9ydGFibGUgd2F5DQogICovDQog
DQorLyojaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04o
Miw2LDM4KSovDQogc3RhdGljIGlubGluZSBpbnQNCiBubnBmc19kY291bnQg
KGNvbnN0IHN0cnVjdCBkZW50cnkgKmRlbnRyeSkNCisvKiNlbHNlDQorc3Rh
dGljIGlubGluZSBpbnQNCitubnBmc19kY291bnQgKHN0cnVjdCBkZW50cnkg
KmRlbnRyeSkNCisjZW5kaWYqLw0KIHsNCisjaWYgTElOVVhfVkVSU0lPTl9D
T0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDM4KQ0KICAgICByZXR1cm4gYXRv
bWljX3JlYWQoJmRlbnRyeS0+ZF9jb3VudCk7DQorI2VsaWYgTElOVVhfVkVS
U0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxMSwwKQ0KKyAgICByZXR1
cm4gYXRvbWljX3JlYWQoKGNvbnN0IGF0b21pY190KikmZGVudHJ5LT5kX2Nv
dW50KTsNCisjZWxzZQ0KKyAgICByZXR1cm4gZF9jb3VudChkZW50cnkpOzsN
CisjZW5kaWYNCiB9DQogDQogZXh0ZXJuIA0KQEAgLTIyOSw3ICsyNDksMTIg
QEAgbm5wZnNfZml4dXBfc3lzY2FsbF9sb3NzYWdlKHZvaWQpOw0KICNlbmRp
Zg0KIA0KICNkZWZpbmUgbm5wZnNfZGV2X3QgZGV2X3QNCisNCisjaWYgTElO
VVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDM4KQ0KICNk
ZWZpbmUgbm5wZnNfZF9lbnRyeV91bmhhc2hlZChkKSBobGlzdF91bmhhc2hl
ZChkKQ0KKyNlbHNlDQorI2RlZmluZSBubnBmc19kX2VudHJ5X3VuaGFzaGVk
KGQpIGhsaXN0X2JsX3VuaGFzaGVkKGQpDQorI2VuZGlmDQogDQogI2RlZmlu
ZSBOTlBGU19OT09QICAgICAgd2hpbGUoMCl7fQ0KIA0KZGlmZiAtdXByTiBh
cmxhLWN2cy9ubnBmcy9saW51eC9ubnBmc19ibG9ja3MuYyBhcmxhL25ucGZz
L2xpbnV4L25ucGZzX2Jsb2Nrcy5jDQotLS0gYXJsYS1jdnMvbm5wZnMvbGlu
dXgvbm5wZnNfYmxvY2tzLmMJMjAxMC0wOC0wOCAyMjo0MzowNC4wMDAwMDAw
MDAgKzAyMDANCisrKyBhcmxhL25ucGZzL2xpbnV4L25ucGZzX2Jsb2Nrcy5j
CTIwMTYtMDEtMTYgMTQ6MTY6NDkuOTk0NDM3ODEzICswMTAwDQpAQCAtNDMs
NiArNDMsMTEgQEANCiAjaW5jbHVkZSA8bGludXgvbW91bnQuaD4NCiAjaW5j
bHVkZSA8bGludXgvbW0uaD4NCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RF
ID49IEtFUk5FTF9WRVJTSU9OKDMsMTIsMCkNCitleHRlcm4gaW50IHZmc19w
YXRoX2xvb2t1cChzdHJ1Y3QgZGVudHJ5ICosIHN0cnVjdCB2ZnNtb3VudCAq
LA0KKwkJCSAgIGNvbnN0IGNoYXIgKiwgdW5zaWduZWQgaW50LCBzdHJ1Y3Qg
cGF0aCAqKTsNCisjZW5kaWYNCisNCiAvKg0KICAqIHJldHVybiB0cnVlIGlm
IGJsb2NrIGlzIGluIGNhY2hlDQogICovDQpAQCAtMjkwLDcgKzI5NSwxMyBA
QCBubnBmc19ibG9ja19leHRlbmQoc3RydWN0IG5ucGZzX25vZGUgKm5vDQog
ICAgIGJhY2tub2RlID0gYmFja2ZpbGUtPmZfbWFwcGluZy0+aG9zdDsNCiAN
CiAgICAgbXV0ZXhfbG9jaygmYmFja25vZGUtPmlfbXV0ZXgpOw0KKyNpZiBM
SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDgsMCkNCiAg
ICAgcmV0ID0gdm10cnVuY2F0ZShiYWNrbm9kZSwgbm5wZnNfYmxvY2tzaXpl
KTsNCisjZWxzZQ0KKyAgICByZXQgPSBpbm9kZV9uZXdzaXplX29rKGJhY2tu
b2RlLCBubnBmc19ibG9ja3NpemUpOw0KKyAgICBpZighcmV0KQ0KKyAgICAg
ICAgdHJ1bmNhdGVfc2V0c2l6ZShiYWNrbm9kZSwgbm5wZnNfYmxvY2tzaXpl
KTsNCisjZW5kaWYNCiAgICAgbXV0ZXhfdW5sb2NrKCZiYWNrbm9kZS0+aV9t
dXRleCk7DQogICAgIA0KICAgICBmaWxwX2Nsb3NlKGJhY2tmaWxlLCBOVUxM
KTsNCkBAIC0zMTgsMTUgKzMyOSwyNyBAQCBubnBmc19ibG9ja19vcGVuKHN0
cnVjdCBubnBmc19ub2RlICpub2RlDQogICAgIHN0cnVjdCBubnBmcyAqbm5w
ZnNwID0gTk5QRlNfRlJPTV9YTk9ERShub2RlKTsNCiAgICAgc3RydWN0IGlu
b2RlICppbm9kZSA9IFhOT0RFX1RPX1ZOT0RFKG5vZGUpOw0KICAgICBpbnQg
ZmxhZ3MgPSBPX0xBUkdFRklMRSB8IGZsYWc7DQorI2lmIExJTlVYX1ZFUlNJ
T05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTksMCkNCiAgICAgc3RydWN0
IG5hbWVpZGF0YSBuZDsNCisjZWxzZQ0KKyAgICBzdHJ1Y3QgcGF0aCBwYXRo
Ow0KKyNlbmRpZg0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxf
VkVSU0lPTigzLDE0LDApDQogICAgIHVpZF90IHNhdmV1aWQ7DQogICAgIGdp
ZF90IHNhdmVnaWQ7DQorI2Vsc2UNCisgICAga3VpZF90IHNhdmV1aWQ7DQor
ICAgIGtnaWRfdCBzYXZlZ2lkOw0KKyNlbmRpZg0KICAgICBpbnQgcmV0Ow0K
ICNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMiw2
LDI5KQ0KICAgICBjb25zdCBzdHJ1Y3QgY3JlZCAqb2xkX2NyZWQ7DQogICAg
IHN0cnVjdCBjcmVkICpvdmVycmlkZV9jcmVkOw0KICNlbmRpZg0KIA0KKyAg
ICAodm9pZClzYXZldWlkOw0KKyAgICAodm9pZClzYXZlZ2lkOw0KKw0KICAg
ICBCVUdfT04oIW5ucGZzcCk7DQogICAgIEJVR19PTihmbGFncyAmIE9fQ1JF
QVQgJiYgZmlsZSAhPSBOVUxMKTsNCiANCkBAIC0zNjYsMTAgKzM4OSwyMiBA
QCBubnBmc19ibG9ja19vcGVuKHN0cnVjdCBubnBmc19ub2RlICpub2RlDQog
ICAgIG9sZF9jcmVkID0gb3ZlcnJpZGVfY3JlZHMob3ZlcnJpZGVfY3JlZCk7
DQogI2VuZGlmDQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5F
TF9WRVJTSU9OKDMsMSwwKQ0KICAgICByZXQgPSB2ZnNfcGF0aF9sb29rdXAo
bm5wZnNwLT5jYWNoZWRpciwgbm5wZnNwLT5jYWNoZXJvb3QsDQogCQkJICBj
YWNoZW5hbWUsDQogCQkJICBmbGFncyAmIE9fQ1JFQVQgPyBMT09LVVBfUEFS
RU5UIDogMCwNCiAJCQkgICZuZCk7DQorI2VsaWYgTElOVVhfVkVSU0lPTl9D
T0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0KKyAgICByZXQgPSB2ZnNf
cGF0aF9sb29rdXAobm5wZnNwLT5jYWNoZWRpciwgbm5wZnNwLT5jYWNoZXJv
b3QsDQorCQkJICBjYWNoZW5hbWUsDQorCQkJICBmbGFncyAmIE9fQ1JFQVQg
PyBMT09LVVBfUEFSRU5UIDogMCwNCisJCQkgICZuZC5wYXRoKTsNCisjZWxz
ZQ0KKyAgICByZXQgPSB2ZnNfcGF0aF9sb29rdXAobm5wZnNwLT5jYWNoZWRp
ciwgbm5wZnNwLT5jYWNoZXJvb3QsDQorCQkJICBjYWNoZW5hbWUsDQorCQkJ
ICBmbGFncyAmIE9fQ1JFQVQgPyBMT09LVVBfUEFSRU5UIDogMCwNCisJCQkg
ICZwYXRoKTsNCisjZW5kaWYNCiAgICAgaWYgKHJldCkgew0KIAl1aW50MzJf
dCBubWFza3MgPSBub2RlLT5kYXRhLm5tYXNrczsNCiAJdWludDMyX3QgbWFz
azsNCkBAIC0zOTYsMTYgKzQzMSwzNyBAQCBubnBmc19ibG9ja19vcGVuKHN0
cnVjdCBubnBmc19ub2RlICpub2RlDQogICAgIA0KICAgICBpZiAoZmxhZ3Mg
JiBPX0NSRUFUKSB7DQogCS8qIFhYWCBtb2RlIGJpdHMgb24gY3JlYXRlIC0t
IFNfSVJVU1J8U19JV1VTUiAqLw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUg
PCBLRVJORUxfVkVSU0lPTigzLDEsMCkNCiAJc3RydWN0IGRlbnRyeSAqZGVu
dHJ5ID0gbG9va3VwX2NyZWF0ZSgmbmQsIDApOwkNCisjZWxpZiBMSU5VWF9W
RVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDE5LDApDQorCS8qIFRP
RE86IGNoZWNrIHRoZSBjYWxsIHRvIGtlcm5fcGF0aF9jcmVhdGUoKSwgaXMg
dGhlIHNlY29uZCBhcmd1bWVudCBvcHRpb25hbD8gKi8NCisJc3RydWN0IGRl
bnRyeSAqZGVudHJ5ID0ga2Vybl9wYXRoX2NyZWF0ZShBVF9GRENXRCwgTlVM
TCwgJm5kLnBhdGgsIDApOwkNCisjZWxzZQ0KKwkvKiBUT0RPOiBjaGVjayB0
aGUgY2FsbCB0byBrZXJuX3BhdGhfY3JlYXRlKCksIGlzIHRoZSBzZWNvbmQg
YXJndW1lbnQgb3B0aW9uYWw/ICovDQorCXN0cnVjdCBkZW50cnkgKmRlbnRy
eSA9IGtlcm5fcGF0aF9jcmVhdGUoQVRfRkRDV0QsIE5VTEwsICZwYXRoLCAw
KTsJDQorI2VuZGlmDQogCWlmIChJU19FUlIoZGVudHJ5KSkgew0KIAkgICAg
cmV0ID0gUFRSX0VSUihkZW50cnkpOw0KIAl9IGVsc2Ugew0KKyNpZiBMSU5V
WF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDYsMCkNCiAJICAg
IHJldCA9IHZmc19jcmVhdGUobmQucGF0aC5kZW50cnktPmRfaW5vZGUsIGRl
bnRyeSwgU19JUlVTUnxTX0lXVVNSLCAmbmQpOw0KKyNlbGlmIExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTksMCkNCisJICAgIC8q
IFRPRE86IHNob3VsZCB0aGUgbGFzdCBhcmd1bWVudCB0byB2ZnNfY3JlYXRl
OiBib29sIHdhbnRfZXhjbCwgYmUgMCBvciAxPyAqLw0KKwkgICAgcmV0ID0g
dmZzX2NyZWF0ZShuZC5wYXRoLmRlbnRyeS0+ZF9pbm9kZSwgZGVudHJ5LCBT
X0lSVVNSfFNfSVdVU1IsIDApOw0KKyNlbHNlDQorCSAgICAvKiBUT0RPOiBz
aG91bGQgdGhlIGxhc3QgYXJndW1lbnQgdG8gdmZzX2NyZWF0ZTogYm9vbCB3
YW50X2V4Y2wsIGJlIDAgb3IgMT8gKi8NCisJICAgIHJldCA9IHZmc19jcmVh
dGUocGF0aC5kZW50cnktPmRfaW5vZGUsIGRlbnRyeSwgU19JUlVTUnxTX0lX
VVNSLCAwKTsNCisjZW5kaWYNCiAJICAgIGRwdXQoZGVudHJ5KTsNCiAJfQ0K
IA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigz
LDE5LDApDQogCW11dGV4X3VubG9jaygmbmQucGF0aC5kZW50cnktPmRfaW5v
ZGUtPmlfbXV0ZXgpOw0KIAlwYXRoX3B1dCgmbmQucGF0aCk7DQorI2Vsc2UN
CisJbXV0ZXhfdW5sb2NrKCZwYXRoLmRlbnRyeS0+ZF9pbm9kZS0+aV9tdXRl
eCk7DQorCXBhdGhfcHV0KCZwYXRoKTsNCisjZW5kaWYNCiANCiAJaWYgKHJl
dCkgew0KIAkgICAgcHJpbnRrKCJubnBmc19ibG9ja19vcGVuKCVzKSBjcmVh
dGUgZmFpbGVkOiAlZFxuIiwgY2FjaGVuYW1lLCAtcmV0KTsNCkBAIC00MjEs
MTQgKzQ3NywyMyBAQCBubnBmc19ibG9ja19vcGVuKHN0cnVjdCBubnBmc19u
b2RlICpub2RlDQogICAgIH0gZWxzZSB7DQogI2lmIExJTlVYX1ZFUlNJT05f
Q09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwyOSkNCiAJc3RydWN0IGZpbGUg
KmYgPSBkZW50cnlfb3BlbihuZC5wYXRoLmRlbnRyeSwgbmQucGF0aC5tbnQs
IGZsYWdzKTsNCi0jZWxzZQ0KKyNlbGlmIExJTlVYX1ZFUlNJT05fQ09ERSA8
IEtFUk5FTF9WRVJTSU9OKDMsNiwwKQ0KICAgICAgICAgc3RydWN0IGZpbGUg
KmYgPSBkZW50cnlfb3BlbihuZC5wYXRoLmRlbnRyeSwgbmQucGF0aC5tbnQs
IGZsYWdzLCBjdXJyZW50X2NyZWQoKSk7DQorI2VsaWYgTElOVVhfVkVSU0lP
Tl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0KKwlzdHJ1Y3QgcGF0
aCB0bXBfcGF0aCA9IHsgLm1udCA9IG5kLnBhdGgubW50LCAuZGVudHJ5ID0g
bmQucGF0aC5kZW50cnkgfTsNCisgICAgICAgIHN0cnVjdCBmaWxlICpmID0g
ZGVudHJ5X29wZW4oJnRtcF9wYXRoLCBmbGFncywgY3VycmVudF9jcmVkKCkp
Ow0KKyNlbHNlDQorICAgICAgICBzdHJ1Y3QgZmlsZSAqZiA9IGRlbnRyeV9v
cGVuKCZwYXRoLCBmbGFncywgY3VycmVudF9jcmVkKCkpOw0KICNlbmRpZg0K
IAlpZiAoSVNfRVJSKGYpKSB7DQogCSAgICByZXQgPSBQVFJfRVJSKGYpOw0K
IAkgICAgcHJpbnRrKCJubnBmc19ibG9ja19vcGVuKCVzKSBvcGVuIGZhaWxl
ZDogJWRcbiIsIGNhY2hlbmFtZSwgLXJldCk7DQogCSAgICBubnBmc19kZWJ1
Z19vb3BzKCk7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9W
RVJTSU9OKDMsMTksMCkNCiAJICAgIHBhdGhfcHV0KCZuZC5wYXRoKTsNCisj
ZWxzZQ0KKwkgICAgcGF0aF9wdXQoJnBhdGgpOw0KKyNlbmRpZg0KIAl9IGVs
c2Ugew0KIAkgICAgKmZpbGUgPSBmOw0KIAl9DQpkaWZmIC11cHJOIGFybGEt
Y3ZzL25ucGZzL2xpbnV4L25ucGZzX2NvbW1vbi5jIGFybGEvbm5wZnMvbGlu
dXgvbm5wZnNfY29tbW9uLmMNCi0tLSBhcmxhLWN2cy9ubnBmcy9saW51eC9u
bnBmc19jb21tb24uYwkyMDA2LTEyLTExIDE3OjMxOjQ2LjAwMDAwMDAwMCAr
MDEwMA0KKysrIGFybGEvbm5wZnMvbGludXgvbm5wZnNfY29tbW9uLmMJMjAx
Ni0wMS0xNCAxNjoxNTowMC4zNDc0NDc2NTcgKzAxMDANCkBAIC0xMTIsMTAg
KzExMiwxNSBAQCBubnBmc19wcmludF9hbGlhc2VzKGNvbnN0IHN0cnVjdCBp
bm9kZSAqDQogdm9pZA0KIG5ucGZzX3ByaW50X2FsaWFzZXNfcmVhbChjb25z
dCBzdHJ1Y3QgaW5vZGUgKmlub2RlKQ0KIHsNCisjaWYgTElOVVhfVkVSU0lP
Tl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw2LDApDQogICAgIHN0cnVjdCBs
aXN0X2hlYWQgKmFsaWFzOw0KKyNlbGlmIExJTlVYX1ZFUlNJT05fQ09ERSA8
IEtFUk5FTF9WRVJTSU9OKDMsOSwwKQ0KKyAgICBzdHJ1Y3QgaGxpc3Rfbm9k
ZSAqYWxpYXM7DQorI2VuZGlmDQogICAgIHN0cnVjdCBkZW50cnkgKmRlbnRy
eTsNCiAgICAgaW50IGJhaWxvdXQgPSAxMDA7DQogDQorI2lmIExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsNiwwKQ0KICAgICBhbGlh
cyA9IGlub2RlLT5pX2RlbnRyeS5uZXh0Ow0KICAgICB3aGlsZSAoYWxpYXMg
IT0gJmlub2RlLT5pX2RlbnRyeSkgew0KIAlpZiAoLS1iYWlsb3V0IDwgMCkg
ew0KQEAgLTEzMSw2ICsxMzYsMjYgQEAgbm5wZnNfcHJpbnRfYWxpYXNlc19y
ZWFsKGNvbnN0IHN0cnVjdCBpbg0KIAl9DQogCWFsaWFzID0gYWxpYXMtPm5l
eHQ7DQogICAgIH0NCisjZWxzZQ0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUg
PCBLRVJORUxfVkVSU0lPTigzLDksMCkNCisgICAgaGxpc3RfZm9yX2VhY2hf
ZW50cnkoZGVudHJ5LCBhbGlhcywgJmlub2RlLT5pX2RlbnRyeSwgZF9hbGlh
cykgew0KKyNlbGlmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJT
SU9OKDMsMTksMCkNCisgICAgaGxpc3RfZm9yX2VhY2hfZW50cnkoZGVudHJ5
LCAmaW5vZGUtPmlfZGVudHJ5LCBkX2FsaWFzKSB7DQorI2Vsc2UNCisgICAg
aGxpc3RfZm9yX2VhY2hfZW50cnkoZGVudHJ5LCAmaW5vZGUtPmlfZGVudHJ5
LCBkX3UuZF9hbGlhcykgew0KKyNlbmRpZg0KKwlpZiAoLS1iYWlsb3V0IDwg
MCkgew0KKwkgICAgcHJpbnRrKCIgLi4uIik7DQorCSAgICBicmVhazsNCisJ
fQ0KKwlpZiAoZGVudHJ5KSB7DQorCSAgICBwcmludGsoIiAlLipzKCVwKSIs
IChpbnQpZGVudHJ5LT5kX25hbWUubGVuLA0KKwkJICAgZGVudHJ5LT5kX25h
bWUubmFtZSwgZGVudHJ5KTsNCisJICAgIGlmIChubnBmc19kX2VudHJ5X3Vu
aGFzaGVkKCZkZW50cnktPmRfaGFzaCkpDQorCQlwcmludGsoIih1bmhhc2hl
ZCkiKTsNCisJfQ0KKyAgICB9DQorI2VuZGlmDQogICAgIHByaW50aygiXG4i
KTsNCiB9DQogDQpAQCAtMTQ2LDcgKzE3MSwxMSBAQCBubnBmc19wcmludF9j
aGlsZHJlbihjb25zdCBzdHJ1Y3QgZGVudHJ5DQogDQogICAgIHdoaWxlIChz
dWJkaXJzICE9ICZkZW50cnktPmRfc3ViZGlycykgew0KIAlzdHJ1Y3QgbGlz
dF9oZWFkICp0bXAgPSBzdWJkaXJzOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NP
REUgPCBLRVJORUxfVkVSU0lPTigzLDE5LDApDQogCXN0cnVjdCBkZW50cnkg
KmNoaWxkID0gbGlzdF9lbnRyeSh0bXAsIHN0cnVjdCBkZW50cnksIGRfdS5k
X2NoaWxkKTsNCisjZWxzZQ0KKwlzdHJ1Y3QgZGVudHJ5ICpjaGlsZCA9IGxp
c3RfZW50cnkodG1wLCBzdHJ1Y3QgZGVudHJ5LCBkX2NoaWxkKTsNCisjZW5k
aWYNCiANCiAJcHJpbnRrKCIgJS4qcyglcCkiLCAoaW50KWNoaWxkLT5kX25h
bWUubGVuLA0KIAkgICAgICAgY2hpbGQtPmRfbmFtZS5uYW1lLCBjaGlsZCk7
DQpkaWZmIC11cHJOIGFybGEtY3ZzL25ucGZzL2xpbnV4L25ucGZzX2Rldi5j
IGFybGEvbm5wZnMvbGludXgvbm5wZnNfZGV2LmMNCi0tLSBhcmxhLWN2cy9u
bnBmcy9saW51eC9ubnBmc19kZXYuYwkyMDA2LTEwLTI0IDE4OjMzOjM2LjAw
MDAwMDAwMCArMDIwMA0KKysrIGFybGEvbm5wZnMvbGludXgvbm5wZnNfZGV2
LmMJMjAxNi0wMS0xNCAxNjoyODoxOS4yNTA0OTU4MjAgKzAxMDANCkBAIC0z
MDAsNyArMzAwLDkgQEAgbm5wZnNfaW52YWxpZGF0ZV9hbGwoc3RydWN0IG5u
cGZzICpubnBmcw0KICAgICBOTlBGU0RFQihYREVCTk9ERSwgKCJmcmVlX2Fs
bF9ubnBmc19ub2RlcyBzdGFydGluZ1xuIikpOw0KIA0KICAgICBzaHJpbmtf
ZGNhY2hlX3NiKG5ucGZzLT5zYik7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09E
RSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwzNykNCiAgICAgaW52YWxpZGF0ZV9p
bm9kZXMobm5wZnMtPnNiKTsNCisjZW5kaWYNCiAgICAgDQogICAgIE5OUEZT
REVCKFhERUJOT0RFLCAoImZyZWVfYWxsX25ucGZzX25vZGVzIGRvbmVcbiIp
KTsNCiB9DQpAQCAtMzc0LDcgKzM3NiwxMSBAQCBubnBmc19kZXZjbG9zZShz
dHJ1Y3QgaW5vZGUgKiBpbm9kZSwgc3RyDQogc3RhdGljIHNzaXplX3QNCiBu
bnBmc19kZXZyZWFkKHN0cnVjdCBmaWxlICpmaWxlLCBjaGFyICpidWYsIHNp
emVfdCBjb3VudCwgbG9mZl90ICpwcG9zKQ0KIHsNCisjaWYgTElOVVhfVkVS
U0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0KICAgICBubnBm
c19kZXZfdCBkZXYgPSBmaWxlLT5mX2RlbnRyeS0+ZF9pbm9kZS0+aV9yZGV2
Ow0KKyNlbHNlDQorICAgIG5ucGZzX2Rldl90IGRldiA9IGZpbGUtPmZfcGF0
aC5kZW50cnktPmRfaW5vZGUtPmlfcmRldjsNCisjZW5kaWYNCiAgICAgc3Ry
dWN0IG5ucGZzICpubnBmc3AgPSAmbm5wZnNbTUlOT1IoZGV2KV07DQogICAg
IHN0cnVjdCBubnBmc19saW5rICpmaXJzdDsNCiAgICAgaW50IHJldCA9IDAs
IGVycm9yID0gMDsNCkBAIC00MzksOCArNDQ1LDEyIEBAIG5ucGZzX2Rldndy
aXRlKHN0cnVjdCBmaWxlICpmaWxlLCBjb25zdA0KIA0KICAgICBOTlBGU0RF
QihYREVCREVWLCAoIm5ucGZzX2RldndyaXRlXG4iKSk7DQogICAgIA0KKyNp
ZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDE5LDAp
DQogICAgIGRldiA9IGZpbGUtPmZfZGVudHJ5LT5kX2lub2RlLT5pX3JkZXY7
DQotICAgIG5ucGZzcCA9ICZubnBmc1tNSU5PUihkZXYpXTsNCisjZWxzZQ0K
KyAgICBkZXYgPSBmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlLT5pX3Jk
ZXY7DQorI2VuZGlmDQorICAgICBubnBmc3AgPSAmbm5wZnNbTUlOT1IoZGV2
KV07DQogDQogICAgIGRvd24oJm5ucGZzcC0+Y2hhbm5lbF9zZW0pOw0KICAg
ICBpZiAobm5wZnNwLT5zdGF0dXMgJiBOTlBGU19ERVZXUklURSkgew0KQEAg
LTUwNSwxOSArNTE1LDM3IEBAIG5ucGZzX2RldndyaXRlKHN0cnVjdCBmaWxl
ICpmaWxlLCBjb25zdA0KIC8qDQogICogTm90IHVzZWQuDQogICovDQorI2lm
IExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwzNikN
CiBzdGF0aWMgaW50DQogbm5wZnNfZGV2aW9jdGwoc3RydWN0IGlub2RlICpp
bm9kZSwgc3RydWN0IGZpbGUgKmZpbGUsDQogCSAgICAgICB1bnNpZ25lZCBp
bnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZykNCisjZWxzZQ0KK3N0YXRpYyBs
b25nDQorbm5wZnNfdW5sb2NrZWRfZGV2aW9jdGwoc3RydWN0IGZpbGUgKmZp
bGUsDQorCSAgICAgICB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25n
IGFyZykNCisjZW5kaWYNCiB7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8
IEtFUk5FTF9WRVJTSU9OKDIsNiwzNikNCiAgICAgTk5QRlNERUIoWERFQkRF
ViwgKCJubnBmc19kZXZpb2N0bCBkZXYgPSAlZCwgZmxhZ3MgPSAlZFxuIiwN
CiAJCSAgICAgICBpbm9kZS0+aV9yZGV2LCBmaWxlLT5mX2ZsYWdzKSk7DQor
I2VsaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywx
OSwwKQ0KKyAgICBOTlBGU0RFQihYREVCREVWLCAoIm5ucGZzX2RldmlvY3Rs
IGRldiA9ICVkLCBmbGFncyA9ICVkXG4iLA0KKwkJICAgICAgIGZpbGUtPmZf
ZGVudHJ5LT5kX2lub2RlLT5pX3JkZXYsIGZpbGUtPmZfZmxhZ3MpKTsNCisj
ZWxzZQ0KKyAgICBOTlBGU0RFQihYREVCREVWLCAoIm5ucGZzX2RldmlvY3Rs
IGRldiA9ICVkLCBmbGFncyA9ICVkXG4iLA0KKwkJICAgICAgIGZpbGUtPmZf
cGF0aC5kZW50cnktPmRfaW5vZGUtPmlfcmRldiwgZmlsZS0+Zl9mbGFncykp
Ow0KKyNlbmRpZg0KICAgICByZXR1cm4gLUVJTlZBTDsNCiB9DQogDQogc3Rh
dGljIHVuc2lnbmVkIGludA0KIG5ucGZzX2RldnBvbGwoc3RydWN0IGZpbGUg
KmZpbGUsIHBvbGxfdGFibGUgKndhaXQpDQogew0KKyNpZiBMSU5VWF9WRVJT
SU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDE5LDApDQogICAgIG5ucGZz
X2Rldl90IGRldiA9IGZpbGUtPmZfZGVudHJ5LT5kX2lub2RlLT5pX3JkZXY7
DQorI2Vsc2UNCisgICAgbm5wZnNfZGV2X3QgZGV2ID0gZmlsZS0+Zl9wYXRo
LmRlbnRyeS0+ZF9pbm9kZS0+aV9yZGV2Ow0KKyNlbmRpZg0KICAgICBzdHJ1
Y3Qgbm5wZnMgKm5ucGZzcCA9ICZubnBmc1tNSU5PUihkZXYpXTsNCiAgICAg
aW50IHJldCA9IDA7DQogICAgIA0KQEAgLTk1Myw3ICs5ODEsMTEgQEAgc3Ry
dWN0IGZpbGVfb3BlcmF0aW9ucyBubnBmc19mb3BzID0gew0KICAgICByZWFk
OgkJbm5wZnNfZGV2cmVhZCwNCiAgICAgd3JpdGU6CQlubnBmc19kZXZ3cml0
ZSwNCiAgICAgcG9sbDoJCW5ucGZzX2RldnBvbGwsDQorI2lmIExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwzNikNCiAgICAgaW9j
dGw6CQlubnBmc19kZXZpb2N0bCwNCisjZWxzZQ0KKyAgICB1bmxvY2tlZF9p
b2N0bDoJbm5wZnNfdW5sb2NrZWRfZGV2aW9jdGwsDQorI2VuZGlmDQogICAg
IHJlbGVhc2U6CQlubnBmc19kZXZjbG9zZSwNCiAgICAgb3BlbjoJCW5ucGZz
X2Rldm9wZW4sDQogfTsNCkBAIC05NjgsOCArMTAwMCwxMyBAQCBubnBmc19p
bml0X2RldmljZSh2b2lkKQ0KIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCYobm5w
ZnNbaV0ud2FpdF9xdWV1ZSkpOw0KIAlubnBmc19pbml0cSgmbm5wZnNbaV0u
bWVzc2FnZXEpOw0KIAlubnBmc19pbml0cSgmbm5wZnNbaV0uc2xlZXBxKTsN
CisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2
LDM3KQ0KIAlpbml0X01VVEVYKCZubnBmc1tpXS5pbmFjdGl2ZV9zZW0pOw0K
IAlpbml0X01VVEVYKCZubnBmc1tpXS5jaGFubmVsX3NlbSk7DQorI2Vsc2UN
CisJc2VtYV9pbml0KCZubnBmc1tpXS5pbmFjdGl2ZV9zZW0sIDEpOw0KKwlz
ZW1hX2luaXQoJm5ucGZzW2ldLmNoYW5uZWxfc2VtLCAxKTsNCisjZW5kaWYN
CiAJSU5JVF9MSVNUX0hFQUQoJm5ucGZzW2ldLmluYWN0aXZlX2xpc3QpOw0K
IAlubnBmc1tpXS5ubm9kZXMgPSAwOw0KICAgICB9DQpkaWZmIC11cHJOIGFy
bGEtY3ZzL25ucGZzL2xpbnV4L25ucGZzX2lub2Rlb3BzLmMgYXJsYS9ubnBm
cy9saW51eC9ubnBmc19pbm9kZW9wcy5jDQotLS0gYXJsYS1jdnMvbm5wZnMv
bGludXgvbm5wZnNfaW5vZGVvcHMuYwkyMDEwLTA4LTA4IDIyOjQzOjA0LjAw
MDAwMDAwMCArMDIwMA0KKysrIGFybGEvbm5wZnMvbGludXgvbm5wZnNfaW5v
ZGVvcHMuYwkyMDE2LTAxLTE1IDEyOjQ0OjU2LjkyMjg5NjYzOSArMDEwMA0K
QEAgLTQwLDEwICs0MCwxNCBAQA0KICNpbmNsdWRlIDxubnBmcy9ubnBmc19k
ZXYuaD4NCiAjaW5jbHVkZSA8bm5wZnMvbm5wZnNfZGlyZW50Lmg+DQogI2lu
Y2x1ZGUgPG5ucGZzL25ucGZzX3N5c2NhbGxzLmg+DQorI2luY2x1ZGUgPGxp
bnV4L2Fpby5oPg0KICNpbmNsdWRlIDxsaW51eC9iaW5mbXRzLmg+DQogI2lu
Y2x1ZGUgPGxpbnV4L2ZpbGUuaD4NCiAjaW5jbHVkZSA8bGludXgvcGFnZW1h
cC5oPg0KICNpbmNsdWRlIDxsaW51eC9wYWdlLWZsYWdzLmg+DQorI2lmIExJ
TlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTig0LDEsMCkNCisj
aW5jbHVkZSA8bGludXgvdWlvLmg+DQorI2VuZGlmDQogI2luY2x1ZGUgPGxp
bnV4L3dyaXRlYmFjay5oPg0KICNpbmNsdWRlIDxhc20vZmNudGwuaD4NCiAN
CkBAIC01NCwxMSArNTgsMjMgQEAgUkNTSUQoIiRJZDogbm5wZnNfaW5vZGVv
cHMuYyx2IDEuMjI2IDIwMQ0KIHN0YXRpYyBpbnQNCiBubnBmc19mc3luY19p
bnQoc3RydWN0IGZpbGUgKmZpbGUsIHVfaW50IGZsYWcpOw0KIA0KKyNpZiBM
SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDYsMCkNCiBz
dGF0aWMgaW50DQogbm5wZnNfZF9yZXZhbGlkYXRlKHN0cnVjdCBkZW50cnkg
KmRlbnRyeSwgc3RydWN0IG5hbWVpZGF0YSAqbmQpOw0KLQ0KKyNlbHNlDQog
c3RhdGljIGludA0KK25ucGZzX2RfcmV2YWxpZGF0ZShzdHJ1Y3QgZGVudHJ5
ICpkZW50cnksIHVuc2lnbmVkIGludCBmbGFncyk7DQorI2VuZGlmDQorDQor
I2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwz
OCkNCitzdGF0aWMNCitpbnQNCiBubnBmc19kX2RlbGV0ZShzdHJ1Y3QgZGVu
dHJ5ICpkZW50cnkpOw0KKyNlbHNlDQorc3RhdGljDQoraW50DQorbm5wZnNf
ZF9kZWxldGUoY29uc3Qgc3RydWN0IGRlbnRyeSAqZGVudHJ5KTsNCisjZW5k
aWYNCiANCiBzdGF0aWMgdm9pZA0KIG5ucGZzX2RfcmVsZWFzZShzdHJ1Y3Qg
ZGVudHJ5ICpkZW50cnkpOw0KQEAgLTIxNCw4ICsyMzAsMTMgQEAgbm5wZnNf
aW5vZGVfdmFsaWQoc3RydWN0IGlub2RlICppbm9kZSkNCiAgKiBubnBmc19s
b29rdXAgbm93IHJldHVybnMgYSBkZW50cnkuDQogICovDQogDQorI2lmIExJ
TlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsNiwwKQ0KIHN0
YXRpYyBzdHJ1Y3QgZGVudHJ5ICoNCiBubnBmc19sb29rdXAgKHN0cnVjdCBp
bm9kZSAqZGlyLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBuYW1l
aWRhdGEgKm5kKQ0KKyNlbHNlDQorc3RhdGljIHN0cnVjdCBkZW50cnkgKg0K
K25ucGZzX2xvb2t1cCAoc3RydWN0IGlub2RlICpkaXIsIHN0cnVjdCBkZW50
cnkgKmRlbnRyeSwgdW5zaWduZWQgaW50IGZsYWdzKQ0KKyNlbmRpZg0KIHsN
CiAgICAgc3RydWN0IG5ucGZzX21lc3NhZ2VfZ2V0bm9kZSBtc2c7DQogICAg
IHN0cnVjdCBubnBmcyAqbm5wZnNwOw0KQEAgLTQwNyw3ICs0MjgsMTEgQEAg
ZmluZF9maXJzdF9ibG9jayhzdHJ1Y3Qgbm5wZnNfbm9kZSAqbm9kZQ0KIHN0
YXRpYyBpbnQNCiBubnBmc19mc3luY19pbnQoc3RydWN0IGZpbGUgKmZpbGUs
IHVfaW50IGZsYWcpDQogew0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBL
RVJORUxfVkVSU0lPTigzLDE5LDApDQogICAgIHN0cnVjdCBpbm9kZSAqaW5v
ZGUgPSBmaWxlLT5mX2RlbnRyeS0+ZF9pbm9kZTsNCisjZWxzZQ0KKyAgICBz
dHJ1Y3QgaW5vZGUgKmlub2RlID0gZmlsZS0+Zl9wYXRoLmRlbnRyeS0+ZF9p
bm9kZTsNCisjZW5kaWYNCiAgICAgc3RydWN0IG5ucGZzICpubnBmc3AgPSBO
TlBGU19GUk9NX1ZOT0RFKGlub2RlKTsNCiAgICAgc3RydWN0IG5ucGZzX25v
ZGUgKnhuID0gVk5PREVfVE9fWE5PREUoaW5vZGUpOw0KICAgICBsb2ZmX3Qg
bGVuID0gaV9zaXplX3JlYWQoaW5vZGUpOw0KQEAgLTQ3NCwxNSArNDk5LDE4
IEBAIG5ucGZzX2ZzeW5jX2ludChzdHJ1Y3QgZmlsZSAqZmlsZSwgdV9pbnQN
CiAgKg0KICAqLw0KIA0KLSNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJO
RUxfVkVSU0lPTigyLCA2LCAzNSkNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RF
IDwgS0VSTkVMX1ZFUlNJT04oMiw2LDM1KQ0KIHN0YXRpYyBpbnQNCiBubnBm
c19mc3luYyhzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGRlbnRyeSAqZGVu
dHJ5LCBpbnQgZGF0YXN5bmMpDQotI2Vsc2UNCisjZWxpZiBMSU5VWF9WRVJT
SU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDEsMCkNCiBzdGF0aWMgaW50
DQogbm5wZnNfZnN5bmMoc3RydWN0IGZpbGUgKmZpbGUsIGludCBkYXRhc3lu
YykNCisjZWxzZQ0KK3N0YXRpYyBpbnQNCitubnBmc19mc3luYyhzdHJ1Y3Qg
ZmlsZSAqZmlsZSwgbG9mZl90IHN0YXJ0LCBsb2ZmX3QgZW5kLCBpbnQgZGF0
YXN5bmMpDQogI2VuZGlmDQogew0KLSNpZiBMSU5VWF9WRVJTSU9OX0NPREUg
Pj0gS0VSTkVMX1ZFUlNJT04oMiwgNiwgMzUpDQorI2lmIExJTlVYX1ZFUlNJ
T05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigyLDYsMzUpDQogICAgIHN0cnVj
dCBkZW50cnkgKmRlbnRyeSA9IGZpbGUtPmZfcGF0aC5kZW50cnk7DQogI2Vu
ZGlmDQogICAgIHN0cnVjdCBpbm9kZSAqaW5vZGUgPSBERU5UUllfVE9fSU5P
REUoZGVudHJ5KTsNCkBAIC00OTAsNiArNTE4LDggQEAgbm5wZnNfZnN5bmMo
c3RydWN0IGZpbGUgKmZpbGUsIGludCBkYXRhcw0KICAgICBzdHJ1Y3Qgbm5w
ZnNfbm9kZSAqeG47DQogICAgIGludCBlcnJvciA9IDA7DQogDQorICAgICh2
b2lkKW5ucGZzcDsNCisNCiAgICAgZXJyb3IgPSBubnBmc19pbm9kZV92YWxp
ZChpbm9kZSk7DQogICAgIGlmIChlcnJvcikNCiAJcmV0dXJuIGVycm9yOw0K
QEAgLTYyMiwxMSArNjUyLDI1IEBAIGNoZWNrX3JpZ2h0cyAobm5wZnNfcmln
aHRzIHJpZ2h0cywgaW50IG0NCiAgKiBXZSBkb24ndCBob2xkIGlfbXV0ZXgu
DQogICovDQogDQorI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxf
VkVSU0lPTigyLDYsMzgpIHx8IExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJO
RUxfVkVSU0lPTigzLDEsMCkpDQogc3RhdGljIGludA0KIG5ucGZzX3Blcm1p
c3Npb24oc3RydWN0IGlub2RlICppbm9kZSwgaW50IG1vZGUpDQorI2Vsc2UN
CitzdGF0aWMgaW50DQorbm5wZnNfcGVybWlzc2lvbihzdHJ1Y3QgaW5vZGUg
Kmlub2RlLCBpbnQgbW9kZSwgdW5zaWduZWQgaW50IGZsYWdzKQ0KKyNlbmRp
Zg0KIHsNCiAgICAgaW50IGVycm9yID0gMDsNCi0gICAgbm5wZnNfcGFnX3Qg
cGFnID0gbm5wZnNfZ2V0X3BhZygpOw0KKyAgICBubnBmc19wYWdfdCBwYWc7
DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigz
LDEsMCkNCisgICAgaWYgKG1vZGUgJiBNQVlfTk9UX0JMT0NLKQ0KKyAgICAg
ICAgcmV0dXJuIC1FQ0hJTEQ7DQorI2VsaWYgTElOVVhfVkVSU0lPTl9DT0RF
ID49IEtFUk5FTF9WRVJTSU9OKDIsNiwzOCkNCisgICAgaWYgKGZsYWdzICYg
SVBFUk1fRkxBR19SQ1UpDQorICAgICAgICByZXR1cm4gLUVDSElMRDsNCisj
ZW5kaWYNCisNCisgICAgcGFnID0gbm5wZnNfZ2V0X3BhZygpOw0KICAgICAN
CiAgICAgTk5QRlNERUIoWERFQlZOT1BTLCAoIm5ucGZzX2FjY2VzcyAoJXAp
IG1vZGUgPSAwJW8gYWxpYXNlczoiLCBpbm9kZSwgbW9kZSkpOw0KICAgICBu
bnBmc19wcmludF9hbGlhc2VzKGlub2RlKTsNCkBAIC03ODQsMTEgKzgyOCwx
OSBAQCBubnBmc19kYXRhX3ZhbGlkKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHVf
DQogaW50IG5ucGZzX2ZpbGVfbW1hcChzdHJ1Y3QgZmlsZSAqIGZpbGUsIHN0
cnVjdCB2bV9hcmVhX3N0cnVjdCAqIHZtYSkNCiB7DQogICAgIGludCBmbGFn
cywgZXJyb3IgPSAwOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJO
RUxfVkVSU0lPTigzLDE5LDApDQogICAgIHN0cnVjdCBpbm9kZSAqaW5vZGUg
PSBmaWxlLT5mX2RlbnRyeS0+ZF9pbm9kZTsNCisjZWxzZQ0KKyAgICBzdHJ1
Y3QgaW5vZGUgKmlub2RlID0gZmlsZS0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9k
ZTsNCisjZW5kaWYNCiAgICAgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBp
bmcgPSBmaWxlLT5mX21hcHBpbmc7DQogDQogICAgIE5OUEZTREVCKFhERUJW
Tk9QUywgKCJubnBmc19tbWFwIGlub2RlOiAlcFxuIiwgaW5vZGUpKTsNCisj
aWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSww
KQ0KICAgICBubnBmc19wcmludF9wYXRoKGZpbGUtPmZfZGVudHJ5KTsNCisj
ZWxzZQ0KKyAgICBubnBmc19wcmludF9wYXRoKGZpbGUtPmZfcGF0aC5kZW50
cnkpOw0KKyNlbmRpZg0KICAgICBOTlBGU0RFQihYREVCVk5PUFMsICgibm5w
ZnNfbW1hcCBhbGlhc2VzOiIpKTsNCiAgICAgbm5wZnNfcHJpbnRfYWxpYXNl
cyhpbm9kZSk7DQogICAgIA0KQEAgLTgyMywyOCArODc1LDUxIEBAIGludCBu
bnBmc19maWxlX21tYXAoc3RydWN0IGZpbGUgKiBmaWxlLA0KICAqDQogICov
DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9O
KDMsMTYsMCkNCiBzdGF0aWMgc3NpemVfdA0KIG5ucGZzX2Fpb19yZWFkKHN0
cnVjdCBraW9jYiAqaW9jYiwNCiAJICAgICAgIGNvbnN0IHN0cnVjdCBpb3Zl
YyAqaW92LCB1bnNpZ25lZCBsb25nIG5yX3NlZ3MsDQogCSAgICAgICBsb2Zm
X3QgcG9zKQ0KKyNlbHNlDQorc3RhdGljIHNzaXplX3QNCitubnBmc19yZWFk
X2l0ZXIoc3RydWN0IGtpb2NiICppb2NiLCBzdHJ1Y3QgaW92X2l0ZXIgKnRv
KQ0KKyNlbmRpZg0KIHsNCiAgICAgaW50IGVycm9yID0gMDsNCiAgICAgc3Ry
dWN0IGZpbGUgKmZpbGUgPSBpb2NiLT5raV9maWxwOw0KKyNpZiBMSU5VWF9W
RVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDEyLDApDQogICAgIHNz
aXplX3QgY291bnQgPSBpb2NiLT5raV9sZWZ0Ow0KKyNlbGlmIExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDQsMSwwKQ0KKyAgICBzc2l6
ZV90IGNvdW50ID0gaW9jYi0+a2lfbmJ5dGVzOw0KKyNlbHNlDQorICAgIHNz
aXplX3QgY291bnQgPSBpb3ZfaXRlcl9jb3VudCh0byk7DQorI2VuZGlmDQor
I2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTks
MCkNCiAgICAgc3RydWN0IGlub2RlICppbm9kZSA9IGZpbGUtPmZfZGVudHJ5
LT5kX2lub2RlOw0KKyNlbHNlDQorICAgIHN0cnVjdCBpbm9kZSAqaW5vZGUg
PSBmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlOw0KKyNlbmRpZg0KICAg
ICBzdHJ1Y3Qgbm5wZnNfbm9kZSAqeG4gPSBWTk9ERV9UT19YTk9ERShpbm9k
ZSk7DQogICAgIA0KICAgICBpZiAoeG4gIT0gTlVMTCkNCiAJTk5QRlNERUIo
WERFQlZOT1BTLCAoIm5ucGZzX3JlYWRfZmlsZSglcCk6IHRva2VuczogMHgl
eFxuIiwNCiAJCQkgICAgIGlub2RlLCB4bi0+dG9rZW5zKSk7DQogDQorI2lm
IExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTYsMCkN
CiAgICAgZXJyb3IgPSBubnBmc19kYXRhX3ZhbGlkKGlub2RlLCBOTlBGU19E
QVRBX1IsIHBvcywgcG9zICsgY291bnQpOw0KKyNlbHNlDQorICAgIGVycm9y
ID0gbm5wZnNfZGF0YV92YWxpZChpbm9kZSwgTk5QRlNfREFUQV9SLCBpb2Ni
LT5raV9wb3MsIGlvY2ItPmtpX3BvcyArIGNvdW50KTsNCisjZW5kaWYNCiAg
ICAgaWYgKGVycm9yKSB7DQogCU5OUEZTREVCKFhERUJWTk9QUywgKCJubnBm
c19yZWFkX2ZpbGU6IGRhdGEgbm90IHZhbGlkICVkXG4iLCBlcnJvcikpOw0K
IAlyZXR1cm4gZXJyb3I7DQogICAgIH0NCiAgICAgDQorI2lmIExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTYsMCkNCiAgICAgZXJy
b3IgPSBnZW5lcmljX2ZpbGVfYWlvX3JlYWQoaW9jYiwgaW92LCBucl9zZWdz
LCBwb3MpOw0KKyNlbHNlDQorICAgIGVycm9yID0gZ2VuZXJpY19maWxlX3Jl
YWRfaXRlcihpb2NiLCB0byk7DQorI2VuZGlmDQogICAgIE5OUEZTREVCKFhE
RUJWTk9QUywgKCJubnBmc19yZWFkX2ZpbGU6IGVycm9yID0gJWRcbiIsIGVy
cm9yKSk7DQogICAgIHJldHVybiBlcnJvcjsNCiB9DQpAQCAtODUzLDE3ICs5
MjgsMzYgQEAgbm5wZnNfYWlvX3JlYWQoc3RydWN0IGtpb2NiICppb2NiLA0K
ICAqDQogICovDQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5F
TF9WRVJTSU9OKDMsMTYsMCkNCiBzdGF0aWMgc3NpemVfdA0KIG5ucGZzX2Fp
b193cml0ZShzdHJ1Y3Qga2lvY2IgKmlvY2IsDQogCQljb25zdCBzdHJ1Y3Qg
aW92ZWMgKmlvdiwgdW5zaWduZWQgbG9uZyBucl9zZWdzLA0KIAkJbG9mZl90
IHBvcykNCisjZWxzZQ0KK3N0YXRpYyBzc2l6ZV90DQorbm5wZnNfd3JpdGVf
aXRlcihzdHJ1Y3Qga2lvY2IgKmlvY2IsIHN0cnVjdCBpb3ZfaXRlciAqZnJv
bSkNCisjZW5kaWYNCiB7DQogICAgIGludCBlcnJvciA9IDA7DQogICAgIHN0
cnVjdCBmaWxlICpmaWxlID0gaW9jYi0+a2lfZmlscDsNCisjaWYgTElOVVhf
VkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxMiwwKQ0KICAgICBz
c2l6ZV90IGNvdW50ID0gaW9jYi0+a2lfbGVmdDsNCisjZWxpZiBMSU5VWF9W
RVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTig0LDEsMCkNCisgICAgc3Np
emVfdCBjb3VudCA9IGlvY2ItPmtpX25ieXRlczsNCisjZWxzZQ0KKyAgICBz
c2l6ZV90IGNvdW50ID0gaW92X2l0ZXJfY291bnQoZnJvbSk7DQorI2VuZGlm
DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMs
MTksMCkNCiAgICAgc3RydWN0IGlub2RlICppbm9kZSA9IGZpbGUtPmZfZGVu
dHJ5LT5kX2lub2RlOw0KKyNlbHNlDQorICAgIHN0cnVjdCBpbm9kZSAqaW5v
ZGUgPSBmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlOw0KKyNlbmRpZg0K
ICAgICBzdHJ1Y3Qgbm5wZnNfbm9kZSAqeG4gPSBWTk9ERV9UT19YTk9ERShp
bm9kZSk7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJT
SU9OKDMsMTYsMCkNCiAgICAgbG9mZl90IHJlYWxwb3MgPSBwb3M7DQorI2Vs
c2UNCisgICAgbG9mZl90IHJlYWxwb3MgPSBpb2NiLT5raV9wb3M7DQorI2Vu
ZGlmDQogICAgIA0KICAgICBOTlBGU0RFQihYREVCVk5PUFMsICgibm5wZnNf
YWlvX3dyaXRlKCVwKTogdG9rZW5zOiAweCV4XG4iLA0KIAkJCSBpbm9kZSwg
eG4tPnRva2VucykpOw0KQEAgLTg3Nyw3ICs5NzEsMTEgQEAgbm5wZnNfYWlv
X3dyaXRlKHN0cnVjdCBraW9jYiAqaW9jYiwNCiAJcmV0dXJuIGVycm9yOw0K
ICAgICB9DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9W
RVJTSU9OKDMsMTYsMCkNCiAgICAgZXJyb3IgPSBnZW5lcmljX2ZpbGVfYWlv
X3dyaXRlKGlvY2IsIGlvdiwgbnJfc2VncywgcG9zKTsNCisjZWxzZQ0KKyAg
ICBlcnJvciA9IGdlbmVyaWNfZmlsZV93cml0ZV9pdGVyKGlvY2IsIGZyb20p
Ow0KKyNlbmRpZg0KICAgICBpZiAoIUlTX0VSUl9WQUxVRShlcnJvcikpDQog
CXhuLT5mbGFncyB8PSBOTlBGU19EQVRBX0RJUlRZOyAvKiBYWFggcmFjZSAq
Lw0KIA0KQEAgLTg4NSw5ICs5ODMsMTkgQEAgbm5wZnNfYWlvX3dyaXRlKHN0
cnVjdCBraW9jYiAqaW9jYiwNCiAgICAgcmV0dXJuIGVycm9yOw0KIH0NCiAN
CisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywz
LDApDQogc3RhdGljIGludA0KIG5ucGZzX2NyZWF0ZShzdHJ1Y3QgaW5vZGUg
KmRpciwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LA0KIAkgICAgIGludCBtb2Rl
LCBzdHJ1Y3QgbmFtZWlkYXRhICpuZCkNCisjZWxpZiBMSU5VWF9WRVJTSU9O
X0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDYsMCkNCitzdGF0aWMgaW50DQor
bm5wZnNfY3JlYXRlKHN0cnVjdCBpbm9kZSAqZGlyLCBzdHJ1Y3QgZGVudHJ5
ICpkZW50cnksDQorCSAgICAgdW1vZGVfdCBtb2RlLCBzdHJ1Y3QgbmFtZWlk
YXRhICpuZCkNCisjZWxzZQ0KK3N0YXRpYyBpbnQNCitubnBmc19jcmVhdGUo
c3RydWN0IGlub2RlICpkaXIsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwNCisJ
ICAgICB1bW9kZV90IG1vZGUsIGJvb2wgZXhjbCkNCisjZW5kaWYNCiB7DQog
ICAgIHN0cnVjdCBubnBmcyAqbm5wZnNwOw0KICAgICBzdHJ1Y3Qgbm5wZnNf
bm9kZSAqeG47DQpAQCAtMTAzOCw4ICsxMTQ2LDEzIEBAIG5ucGZzX3JlbmFt
ZSAoc3RydWN0IGlub2RlICogb2xkX2Rpciwgc3QNCiAgICAgcmV0dXJuIGVy
cm9yOw0KIH0NCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVM
X1ZFUlNJT04oMywzLDApDQogc3RhdGljIGludA0KIG5ucGZzX21rZGlyKHN0
cnVjdCBpbm9kZSAqIGRpciwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBpbnQg
bW9kZSkNCisjZWxzZQ0KK3N0YXRpYyBpbnQNCitubnBmc19ta2RpcihzdHJ1
Y3QgaW5vZGUgKiBkaXIsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgdW1vZGVf
dCBtb2RlKQ0KKyNlbmRpZg0KIHsNCiAgICAgc3RydWN0IG5ucGZzICpubnBm
c3A7DQogICAgIHN0cnVjdCBubnBmc19ub2RlICp4bjsNCkBAIC0xMjUyLDEy
ICsxMzY1LDIxIEBAIHN0YXRpYyBpbnQgbm5wZnNfc3ltbGluayhzdHJ1Y3Qg
aW5vZGUgKmQNCiAvKg0KICAqIFdlIGhvbGQgaV9tdXRleC4NCiAgKi8NCisj
aWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxMSww
KQ0KIHN0YXRpYyBpbnQNCiBubnBmc19yZWFkZGlyKHN0cnVjdCBmaWxlICog
ZmlsZSwgdm9pZCAqIGRpcmVudCwgZmlsbGRpcl90IGZpbGxkaXIpDQorI2Vs
c2UNCitzdGF0aWMgaW50DQorbm5wZnNfaXRlcmF0ZShzdHJ1Y3QgZmlsZSAq
IGZpbGUsIHN0cnVjdCBkaXJfY29udGV4dCAqY3R4KQ0KKyNlbmRpZg0KIHsN
CiAgICAgaW50IGVycm9yOw0KICAgICBsb2ZmX3Qgb2Zmc2V0LCBiZWdpbl9v
ZmZzZXQ7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJT
SU9OKDMsMTksMCkNCiAgICAgc3RydWN0IGlub2RlICppbm9kZSA9IGZpbGUt
PmZfZGVudHJ5LT5kX2lub2RlOw0KKyNlbHNlDQorICAgIHN0cnVjdCBpbm9k
ZSAqaW5vZGUgPSBmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlOw0KKyNl
bmRpZg0KICAgICBzdHJ1Y3QgaW5vZGUgKmNhY2hlX2lub2RlOw0KICAgICBz
dHJ1Y3Qgbm5wZnNfbm9kZSAqeG4gPSBWTk9ERV9UT19YTk9ERShpbm9kZSk7
DQogICAgIGNoYXIgKmJ1ZjsNCkBAIC0xMzI4LDYgKzE0NTAsNyBAQCBubnBm
c19yZWFkZGlyKHN0cnVjdCBmaWxlICogZmlsZSwgdm9pZCAqDQogCQkgICAg
KGludCkgeGRpcmVudC0+ZF9uYW1sZW4sDQogCQkgICAgKGludCkgKG9mZnNl
dCtiZWdpbl9vZmZzZXQpKSk7DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09E
RSA8IEtFUk5FTF9WRVJTSU9OKDMsMTEsMCkNCiAJICAgIGlmICh4ZGlyZW50
LT5kX2ZpbGVubyAhPSAwDQogCQkmJiAoZmlsbGRpcl9lcnJvciA9IGZpbGxk
aXIgKGRpcmVudCwNCiAJCQkJICAgICB4ZGlyZW50LT5kX25hbWUsDQpAQCAt
MTMzOSw2ICsxNDYyLDE4IEBAIG5ucGZzX3JlYWRkaXIoc3RydWN0IGZpbGUg
KiBmaWxlLCB2b2lkICoNCiAJCQkgKCJubnBmc19yZWFkZGlyIGZpbGxkaXI6
ICVkXG4iLCBmaWxsZGlyX2Vycm9yKSk7DQogCQlicmVhazsNCiAJICAgIH0N
CisjZWxzZQ0KKwkgICAgaWYgKHhkaXJlbnQtPmRfZmlsZW5vICE9IDANCisJ
CSYmIChmaWxsZGlyX2Vycm9yID0gZGlyX2VtaXQgKGN0eCwNCisJCQkJICAg
ICB4ZGlyZW50LT5kX25hbWUsDQorCQkJCSAgICAgeGRpcmVudC0+ZF9uYW1s
ZW4sDQorCQkJCSAgICAgeGRpcmVudC0+ZF9maWxlbm8sDQorCQkJCSAgICAg
RFRfVU5LTk9XTikpIDwgMCkgew0KKwkJTk5QRlNERUIoWERFQlJFQURESVIs
DQorCQkJICgibm5wZnNfcmVhZGRpciBmaWxsZGlyOiAlZFxuIiwgZmlsbGRp
cl9lcnJvcikpOw0KKwkJYnJlYWs7DQorCSAgICB9DQorI2VuZGlmDQogCSAg
ICBvZmZzZXQgKz0geGRpcmVudC0+ZF9yZWNsZW47DQogDQogCSAgICBpZiAo
eGRpcmVudC0+ZF9yZWNsZW4gPT0gMCkgew0KQEAgLTEzOTUsOSArMTUzMCwx
NSBAQCBubnBmc19yZWFkbGluayAoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBj
DQogICogV2UgZG9uJ3QgaG9sZCBpX211dGV4Lg0KICAqLw0KIA0KKyNpZiBM
SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTig0LDIsMCkNCiBz
dGF0aWMgdm9pZCAqDQogbm5wZnNfZm9sbG93X2xpbmsgKHN0cnVjdCBkZW50
cnkgKmRlbnRyeSwNCiAJCSBzdHJ1Y3QgbmFtZWlkYXRhICpuZCkNCisjZWxz
ZQ0KK3N0YXRpYyBjb25zdCBjaGFyICoNCitubnBmc19mb2xsb3dfbGluayAo
c3RydWN0IGRlbnRyeSAqZGVudHJ5LA0KKwkJIHZvaWQgKipwYWdlKQ0KKyNl
bmRpZg0KIHsNCiAgICAgaW50IGVycm9yID0gMDsNCiAgICAgc3RydWN0IGlu
b2RlICppbm9kZSA9IERFTlRSWV9UT19JTk9ERShkZW50cnkpOw0KQEAgLTE0
MDgsNyArMTU0OSwxMSBAQCBubnBmc19mb2xsb3dfbGluayAoc3RydWN0IGRl
bnRyeSAqZGVudHJ5DQogICAgIGlmIChlcnJvcikNCiAgICAgICAgcmV0dXJu
IEVSUl9QVFIoZXJyb3IpOw0KIA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUg
PCBLRVJORUxfVkVSU0lPTig0LDIsMCkNCiAgICAgcmV0dXJuIHBhZ2VfZm9s
bG93X2xpbmtfbGlnaHQoZGVudHJ5LCBuZCk7DQorI2Vsc2UNCisgICAgcmV0
dXJuIHBhZ2VfZm9sbG93X2xpbmtfbGlnaHQoZGVudHJ5LCBwYWdlKTsNCisj
ZW5kaWYNCiB9DQogDQogLyoNCkBAIC0xNDkwLDYgKzE2MzUsOCBAQCBubnBm
c19yZWxlYXNlX2ZpbGUgKHN0cnVjdCBpbm9kZSAqaW5vZGUsDQogICAgIHN0
cnVjdCBubnBmc19ub2RlICp4bjsNCiAgICAgaW50IGVycm9yID0gMDsNCiAN
CisgICAgKHZvaWQpbm5wZnNwOw0KKw0KICAgICBOTlBGU0RFQihYREVCVk5P
UFMsICgibm5wZnNfcmVsZWFzZV9maWxlXG4iKSk7DQogDQogICAgIGVycm9y
ID0gbm5wZnNfaW5vZGVfdmFsaWQoaW5vZGUpOw0KQEAgLTE1MjMsOCArMTY3
MCwxMyBAQCBubnBmc19mbHVzaChzdHJ1Y3QgZmlsZSAqZmlsZSwgZmxfb3du
ZXJfDQogew0KICAgICBOTlBGU0RFQihYREVCVk5PUFMsICgibm5wZnNfZmx1
c2hcbiIpKTsNCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVM
X1ZFUlNJT04oMywxOSwwKQ0KICAgICBpZiAoZmlsZSAmJiBmaWxlLT5mX2Rl
bnRyeSAmJiBmaWxlLT5mX2RlbnRyeS0+ZF9pbm9kZSkNCiAJcmV0dXJuIG5u
cGZzX3JlbGVhc2VfZmlsZShmaWxlLT5mX2RlbnRyeS0+ZF9pbm9kZSwgZmls
ZSk7DQorI2Vsc2UNCisgICAgaWYgKGZpbGUgJiYgZmlsZS0+Zl9wYXRoLmRl
bnRyeSAmJiBmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlKQ0KKwlyZXR1
cm4gbm5wZnNfcmVsZWFzZV9maWxlKGZpbGUtPmZfcGF0aC5kZW50cnktPmRf
aW5vZGUsIGZpbGUpOw0KKyNlbmRpZg0KICAgICBlbHNlDQogCXJldHVybiAw
Ow0KIH0NCkBAIC0xNTMzLDggKzE2ODUsMTMgQEAgbm5wZnNfZmx1c2goc3Ry
dWN0IGZpbGUgKmZpbGUsIGZsX293bmVyXw0KICAqIFJldHVybiAxIGlmIGBk
ZW50cnknIGlzIHN0aWxsIHZhbGlkLCBvdGhlcndpc2UgMC4NCiAgKi8NCiAN
CisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw2
LDApDQorc3RhdGljIGludA0KK25ucGZzX2RfcmV2YWxpZGF0ZShzdHJ1Y3Qg
ZGVudHJ5ICpkZW50cnksIHN0cnVjdCBuYW1laWRhdGEgKm5kKQ0KKyNlbHNl
DQogc3RhdGljIGludA0KLW5ucGZzX2RfcmV2YWxpZGF0ZShzdHJ1Y3QgZGVu
dHJ5ICpkZW50cnksIHN0cnVjdCBuYW1laWRhdGEgKm5kKSANCitubnBmc19k
X3JldmFsaWRhdGUoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCB1bnNpZ25lZCBp
bnQgZmxhZ3MpDQorI2VuZGlmDQogew0KICAgICBzdHJ1Y3QgaW5vZGUgKmlu
b2RlID0gREVOVFJZX1RPX0lOT0RFKGRlbnRyeSk7DQogICAgIE5OUEZTREVC
KFhERUJWTk9QUywgKCJubnBmc19kX3JldmFsaWRhdGUgJXAgXCIlLipzXCIg
KGlub2RlICVwKVxuIiwNCkBAIC0xNTgyLDkgKzE3MzksMTUgQEAgbm5wZnNf
ZF9yZXZhbGlkYXRlKHN0cnVjdCBkZW50cnkgKmRlbnRyeQ0KICAgICByZXR1
cm4gMDsNCiB9DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5F
TF9WRVJTSU9OKDIsNiwzOCkNCiBzdGF0aWMNCiBpbnQNCiBubnBmc19kX2Rl
bGV0ZShzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpDQorI2Vsc2UNCitzdGF0aWMN
CitpbnQNCitubnBmc19kX2RlbGV0ZShjb25zdCBzdHJ1Y3QgZGVudHJ5ICpk
ZW50cnkpDQorI2VuZGlmDQogew0KICAgICBzdHJ1Y3QgaW5vZGUgKmlub2Rl
Ow0KICAgICBzdHJ1Y3Qgbm5wZnNfbm9kZSAqeG47DQpAQCAtMTYxNCw3ICsx
Nzc3LDExIEBAIG5ucGZzX3NwbGljZV9yZWFkKHN0cnVjdCBmaWxlICpmaWxl
LCBsb2YNCiAJCSAgdW5zaWduZWQgaW50IGZsYWdzKQ0KIHsNCiAgICAgaW50
IGVycm9yID0gMDsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVM
X1ZFUlNJT04oMywxOSwwKQ0KICAgICBzdHJ1Y3QgaW5vZGUgKmlub2RlID0g
ZmlsZS0+Zl9kZW50cnktPmRfaW5vZGU7DQorI2Vsc2UNCisgICAgc3RydWN0
IGlub2RlICppbm9kZSA9IGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGU7
DQorI2VuZGlmDQogICAgIHN0cnVjdCBubnBmc19ub2RlICp4biA9IFZOT0RF
X1RPX1hOT0RFKGlub2RlKTsNCiAgICAgDQogICAgIGlmICh4biAhPSBOVUxM
KQ0KQEAgLTE3MDcsNiArMTg3NCw4IEBAIG5ucGZzX3dyaXRlX2JhY2twYWdl
KHN0cnVjdCBwYWdlICpwYWdlLA0KIA0KIAlpbnQgZXJyb3I7DQogCQ0KKwko
dm9pZClvZmZzZXQ7DQorDQogCWRvIHsNCiAJCWVycm9yID0gcGFnZWNhY2hl
X3dyaXRlX2JlZ2luKGJhY2tmaWxlLCBtYXBwaW5nLCAwLCBsZW4sDQogCQkJ
CQkgICAgICBBT1BfRkxBR19VTklOVEVSUlVQVElCTEUsDQpAQCAtMTc0Nyw2
ICsxOTE2LDggQEAgbm5wZnNfcmVhZF9iYWNrcGFnZShzdHJ1Y3QgcGFnZSAq
cGFnZSwgcw0KIAlzdHJ1Y3QgcGFnZSAqYmFja3BhZ2U7DQogCXVuc2lnbmVk
IGxvbmcgb2Zmc2V0Ow0KIA0KKwkodm9pZClvZmZzZXQ7DQorDQogCWJhY2tw
YWdlID0gcmVhZF9tYXBwaW5nX3BhZ2UobWFwcGluZywgbiwgYmFja2ZpbGUp
Ow0KIAlpZiAoIUlTX0VSUihiYWNrcGFnZSkpIHsNCiAJCXdhaXRfb25fcGFn
ZV9sb2NrZWQoYmFja3BhZ2UpOw0KQEAgLTE4OTQsMTEgKzIwNjUsMTcgQEAg
bm5wZnNfcHJlcGFyZV93cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwgcw0KIA0K
IAlpZiAobW9kc2l6ZSA+IGlfc2l6ZV9yZWFkKGlub2RlKSkgew0KIAkJaW50
IGVycm9yOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVS
U0lPTigzLDgsMCkNCiAJCWVycm9yID0gdm10cnVuY2F0ZShpbm9kZSwgbW9k
c2l6ZSk7DQorI2Vsc2UNCisJCWVycm9yID0gaW5vZGVfbmV3c2l6ZV9vayhp
bm9kZSwgbW9kc2l6ZSk7DQorCQlpZighZXJyb3IpDQorCQkJdHJ1bmNhdGVf
c2V0c2l6ZShpbm9kZSwgbW9kc2l6ZSk7DQorI2VuZGlmDQogCQlpZiAoZXJy
b3IpIHsNCiAJCQlwcmludGsoIm5ucGZzX3ByZXBhcmVfd3JpdGU6IHRydW5j
YXRlKCVsbHUpIC0+ICVkXG4iLA0KIAkJCSAgICAgICBtb2RzaXplLCAtZXJy
b3IpOw0KLQkJCUJVRygpOyAvKiBYWFggbm90IGNvcnJlY3QgKi8NCisJCQkv
KkJVRygpOyovIC8qIFhYWCBub3QgY29ycmVjdCAqLw0KIAkJfQ0KIAl9DQog
DQpAQCAtMTk5MywxMCArMjE3MCwxOCBAQCBubnBmc193cml0ZV9lbmQoc3Ry
dWN0IGZpbGUgKmZpbGUsIHN0cnVjDQogDQogCS8qIHplcm8gdGhlIHN0YWxl
IHBhcnQgb2YgdGhlIHBhZ2UgaWYgd2UgZGlkIGEgc2hvcnQgY29weSAqLw0K
IAlpZiAoY29waWVkIDwgbGVuKSB7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09E
RSA8IEtFUk5FTF9WRVJTSU9OKDMsNiwwKQ0KIAkJdm9pZCAqa2FkZHIgPSBr
bWFwX2F0b21pYyhwYWdlLCBLTV9VU0VSMCk7DQorI2Vsc2UNCisJCXZvaWQg
KmthZGRyID0ga21hcF9hdG9taWMocGFnZSk7DQorI2VuZGlmDQogCQltZW1z
ZXQoa2FkZHIgKyBmcm9tICsgY29waWVkLCAwLCBsZW4gLSBjb3BpZWQpOw0K
IAkJZmx1c2hfZGNhY2hlX3BhZ2UocGFnZSk7DQorI2lmIExJTlVYX1ZFUlNJ
T05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsNiwwKQ0KIAkJa3VubWFwX2F0
b21pYyhrYWRkciwgS01fVVNFUjApOw0KKyNlbHNlDQorCQlrdW5tYXBfYXRv
bWljKGthZGRyKTsNCisjZW5kaWYNCiAJfQ0KIA0KIAlubnBmc19jb21taXRf
d3JpdGUoZmlsZSwgcGFnZSwgZnJvbSwgZnJvbSArIGNvcGllZCk7DQpAQCAt
MjAyNyw4ICsyMjEyLDEzIEBAIHN0cnVjdCBhZGRyZXNzX3NwYWNlX29wZXJh
dGlvbnMgbm5wZnNfYW8NCiAgKi8NCiANCiBzdHJ1Y3QgZmlsZV9vcGVyYXRp
b25zIG5ucGZzX2ZpbGVfb3BlcmF0aW9ucyA9IHsNCisjaWYgTElOVVhfVkVS
U0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxNiwwKQ0KICAgICAuYWlv
X3JlYWQJPSBubnBmc19haW9fcmVhZCwNCiAgICAgLmFpb193cml0ZQk9IG5u
cGZzX2Fpb193cml0ZSwNCisjZWxzZQ0KKyAgICAucmVhZF9pdGVyCT0gbm5w
ZnNfcmVhZF9pdGVyLA0KKyAgICAud3JpdGVfaXRlcgk9IG5ucGZzX3dyaXRl
X2l0ZXIsDQorI2VuZGlmDQogICAgIC5tbWFwCT0gbm5wZnNfZmlsZV9tbWFw
LA0KICAgICAub3Blbgk9IG5ucGZzX29wZW4sDQogICAgIC5mbHVzaAk9IG5u
cGZzX2ZsdXNoLA0KQEAgLTIwNDEsNyArMjIzMSwxMSBAQCBzdHJ1Y3QgZmls
ZV9vcGVyYXRpb25zIG5ucGZzX2RlYWRfb3BlcmF0DQogfTsNCiANCiBzdHJ1
Y3QgZmlsZV9vcGVyYXRpb25zIG5ucGZzX2Rpcl9vcGVyYXRpb25zID0gew0K
KyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDEx
LDApDQogICAgIC5yZWFkZGlyCT0gbm5wZnNfcmVhZGRpciwNCisjZWxzZQ0K
KyAgICAuaXRlcmF0ZSAgICA9IG5ucGZzX2l0ZXJhdGUsDQorI2VuZGlmDQog
ICAgIC5mbHVzaAk9IG5ucGZzX2ZsdXNoLA0KIH07DQogDQpkaWZmIC11cHJO
IGFybGEtY3ZzL25ucGZzL2xpbnV4L25ucGZzX2xvYWQuYyBhcmxhL25ucGZz
L2xpbnV4L25ucGZzX2xvYWQuYw0KLS0tIGFybGEtY3ZzL25ucGZzL2xpbnV4
L25ucGZzX2xvYWQuYwkyMDA2LTEwLTMxIDExOjAyOjQxLjAwMDAwMDAwMCAr
MDEwMA0KKysrIGFybGEvbm5wZnMvbGludXgvbm5wZnNfbG9hZC5jCTIwMTYt
MDEtMTMgMjA6MTQ6MDIuODMwMTAzNTE3ICswMTAwDQpAQCAtNTQsNyArNTQs
MTEgQEAgZXh0ZXJuIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgbm5wZnNfZm9w
cw0KIA0KIHN0cnVjdCBmaWxlX3N5c3RlbV90eXBlIG5ucGZzX2ZzX3R5cGUg
PSB7DQogICAgICAgIG5hbWU6ICAgICAgICAgICAibm5wZnMiLA0KKyNpZiBM
SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMzkpDQog
ICAgICAgIGdldF9zYjogICAgICAgICBubnBmc19nZXRfc2IsDQorI2Vsc2UN
CisgICAgICAgbW91bnQ6ICAgICAgICAgIG5ucGZzX21vdW50LA0KKyNlbmRp
Zg0KICAgICAgICBraWxsX3NiOiAgICAgICAga2lsbF9saXR0ZXJfc3VwZXIs
DQogICAgICAgIG93bmVyOiAgICAgICAgICBUSElTX01PRFVMRSwNCiB9Ow0K
ZGlmZiAtdXByTiBhcmxhLWN2cy9ubnBmcy9saW51eC9ubnBmc19tZXNzYWdl
LmMgYXJsYS9ubnBmcy9saW51eC9ubnBmc19tZXNzYWdlLmMNCi0tLSBhcmxh
LWN2cy9ubnBmcy9saW51eC9ubnBmc19tZXNzYWdlLmMJMjAxMC0wOC0wOCAy
Mjo0MzowNS4wMDAwMDAwMDAgKzAyMDANCisrKyBhcmxhL25ucGZzL2xpbnV4
L25ucGZzX21lc3NhZ2UuYwkyMDE2LTAxLTE0IDE2OjUwOjE1LjEzOTU3NTE1
MSArMDEwMA0KQEAgLTU1LDkgKzU1LDE1IEBAIHN0YXRpYyB2b2lkDQogbm5w
ZnNfZF9yZW1vdmUoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQ0KIHsNCiAgICAg
Tk5QRlNERUIoWERFQk1TRywgKCJubnBmc19kX3JlbW92ZSAlcFxuIiwgZGVu
dHJ5KSk7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJT
SU9OKDIsNiwzOCkNCiAgICAgc3Bpbl9sb2NrKCZkY2FjaGVfbG9jayk7DQog
ICAgIGRnZXRfbG9ja2VkKGRlbnRyeSk7DQogICAgIHNwaW5fdW5sb2NrKCZk
Y2FjaGVfbG9jayk7DQorI2Vsc2UNCisgICAgc3Bpbl9sb2NrKCZkZW50cnkt
PmRfbG9jayk7DQorICAgIGRnZXRfZGxvY2soZGVudHJ5KTsNCisgICAgc3Bp
bl91bmxvY2soJmRlbnRyeS0+ZF9sb2NrKTsNCisjZW5kaWYNCiAgICAgZF9k
cm9wKGRlbnRyeSk7DQogICAgIGRwdXQoZGVudHJ5KTsNCiB9DQpAQCAtMTIx
LDcgKzEyNywxMSBAQCBubnBmc19tZXNzYWdlX2luc3RhbGxub2RlKHN0cnVj
dCBubnBmcyAqDQogICAgIHN0cnVjdCBpbm9kZSAqZGksICppbm9kZTsNCiAg
ICAgc3RydWN0IGRlbnRyeSAqcGFyZW50ID0gTlVMTDsNCiAgICAgc3RydWN0
IHFzdHIgc3FzdHI7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5F
TF9WRVJTSU9OKDMsNiwwKQ0KICAgICBzdHJ1Y3QgbGlzdF9oZWFkICphbGlh
czsNCisjZWxpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lP
TigzLDksMCkNCisgICAgc3RydWN0IGhsaXN0X25vZGUgKmFsaWFzOw0KKyNl
bmRpZg0KICAgICANCiAgICAgTk5QRlNERUIoWERFQk1TRywgKCJubnBmc19t
ZXNzYWdlX2luc3RhbGxub2RlXG4iKSk7DQogICAgIA0KQEAgLTE3NiwxMiAr
MTg2LDI2IEBAIG5ucGZzX21lc3NhZ2VfaW5zdGFsbG5vZGUoc3RydWN0IG5u
cGZzICoNCiAgICAgICoNCiAgICAgICovDQogICAgIA0KKyNpZiBMSU5VWF9W
RVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDYsMCkNCiAgICAgYWxp
YXMgPSBkaS0+aV9kZW50cnkubmV4dDsNCiAgICAgd2hpbGUgKGFsaWFzICE9
ICZkaS0+aV9kZW50cnkpIHsNCiAJcGFyZW50ID0gbGlzdF9lbnRyeShhbGlh
cywgc3RydWN0IGRlbnRyeSwgZF9hbGlhcyk7DQotCXNwaW5fbG9jaygmZGNh
Y2hlX2xvY2spOw0KLQlkZ2V0X2xvY2tlZChwYXJlbnQpOw0KLQlzcGluX3Vu
bG9jaygmZGNhY2hlX2xvY2spOw0KKyNlbGlmIExJTlVYX1ZFUlNJT05fQ09E
RSA8IEtFUk5FTF9WRVJTSU9OKDMsOSwwKQ0KKyAgICBobGlzdF9mb3JfZWFj
aF9lbnRyeShwYXJlbnQsIGFsaWFzLCAmZGktPmlfZGVudHJ5LCBkX2FsaWFz
KSB7DQorI2VsaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJ
T04oMywxOSwwKQ0KKyAgICBobGlzdF9mb3JfZWFjaF9lbnRyeShwYXJlbnQs
ICZkaS0+aV9kZW50cnksIGRfYWxpYXMpIHsNCisjZWxzZQ0KKyAgICBobGlz
dF9mb3JfZWFjaF9lbnRyeShwYXJlbnQsICZkaS0+aV9kZW50cnksIGRfdS5k
X2FsaWFzKSB7DQorI2VuZGlmDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8
IEtFUk5FTF9WRVJTSU9OKDIsNiwzOCkNCisgICAgc3Bpbl9sb2NrKCZkY2Fj
aGVfbG9jayk7DQorICAgIGRnZXRfbG9ja2VkKHBhcmVudCk7DQorICAgIHNw
aW5fdW5sb2NrKCZkY2FjaGVfbG9jayk7DQorI2Vsc2UNCisgICAgc3Bpbl9s
b2NrKCZwYXJlbnQtPmRfbG9jayk7DQorICAgIGRnZXRfZGxvY2socGFyZW50
KTsNCisgICAgc3Bpbl91bmxvY2soJnBhcmVudC0+ZF9sb2NrKTsNCisjZW5k
aWYNCiAJZGVudHJ5ID0gZF9sb29rdXAocGFyZW50LCAmc3FzdHIpOw0KIAlO
TlBGU0RFQihYREVCTVNHLA0KIAkJICgibm5wZnNfbWVzc2FnZV9pbnN0YWxs
bm9kZTogYWxpYXMgJXAsIGxvb2t1cCAlcFxuIiwNCkBAIC0yMzMsNyArMjU3
LDkgQEAgbm5wZnNfbWVzc2FnZV9pbnN0YWxsbm9kZShzdHJ1Y3Qgbm5wZnMg
Kg0KIAkNCiAJZHB1dChkZW50cnkpOw0KIAlkZW50cnkgPSBOVUxMOw0KKyNp
ZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDYsMCkN
CiAJYWxpYXMgPSBhbGlhcy0+bmV4dDsNCisjZW5kaWYNCiAJZHB1dChwYXJl
bnQpOw0KICAgICB9DQogICAgIE5OUEZTREVCKFhERUJNU0csICgibm5wZnNf
bWVzc2FnZV9pbnN0YWxsbm9kZTogZG9uZSBpbnN0YWxsaW5nXG4iKSk7DQpA
QCAtMjY4LDcgKzI5NCwxMyBAQCBubnBmc19tZXNzYWdlX2luc3RhbGxhdHRy
KHN0cnVjdCBubnBmcyAqDQogICAgIH0NCiANCiAgICAgaW5vZGUgPSBYTk9E
RV9UT19WTk9ERSh0KTsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VS
TkVMX1ZFUlNJT04oMyw2LDApDQogICAgIGRlbnRyeSA9IGxpc3RfZW50cnko
aW5vZGUtPmlfZGVudHJ5Lm5leHQsIHN0cnVjdCBkZW50cnksIGRfYWxpYXMp
Ow0KKyNlbGlmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9O
KDMsMTksMCkNCisgICAgZGVudHJ5ID0gaGxpc3RfZW50cnkoaW5vZGUtPmlf
ZGVudHJ5LmZpcnN0LCBzdHJ1Y3QgZGVudHJ5LCBkX2FsaWFzKTsNCisjZWxz
ZQ0KKyAgICBkZW50cnkgPSBobGlzdF9lbnRyeShpbm9kZS0+aV9kZW50cnku
Zmlyc3QsIHN0cnVjdCBkZW50cnksIGRfdS5kX2FsaWFzKTsNCisjZW5kaWYN
CiAgICAgDQogICAgIE5OUEZTREVCKFhERUJNU0csICgibm5wZnNfbWVzc2Fn
ZV9pbnN0YWxsYXR0ciBuYW1lOiVzXG4iLA0KIAkJICAgICAgIGRlbnRyeS0+
ZF9uYW1lLm5hbWUpKTsNCkBAIC0zOTYsMTcgKzQyOCwzNiBAQCBubnBmc19t
ZXNzYWdlX2luc3RhbGxkYXRhKHN0cnVjdCBubnBmcyAqDQogc3RhdGljIHZv
aWQNCiBjbGVhcl9hbGxfY2hpbGRyZW4gKHN0cnVjdCBpbm9kZSAqaW5vZGUs
IGludCBwYXJlbnQpDQogew0KKyAgICBzdHJ1Y3QgZGVudHJ5ICpkZW50cnk7
DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMs
NiwwKQ0KICAgICBzdHJ1Y3QgbGlzdF9oZWFkICphbGlhczsNCisjZWxpZiBM
SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDksMCkNCisg
ICAgc3RydWN0IGhsaXN0X25vZGUgKmFsaWFzOw0KKyNlbmRpZg0KIA0KICBh
Z2FpbjoNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJ
T04oMiw2LDM4KQ0KICAgICBzcGluX2xvY2soJmRjYWNoZV9sb2NrKTsNCisj
ZWxzZQ0KKyAgICAvKiBUT0RPOiBmaW5kIHRoZSBkZW50cnkgdG8gbG9jayAq
Lw0KKyAgICAvKnNwaW5fbG9jaygmZGVudHJ5LT5kX2xvY2spOyovDQorI2Vu
ZGlmDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9O
KDMsNiwwKQ0KICAgICBhbGlhcyA9IGlub2RlLT5pX2RlbnRyeS5uZXh0Ow0K
ICAgICB3aGlsZSAoYWxpYXMgIT0gJmlub2RlLT5pX2RlbnRyeSkgew0KLQlz
dHJ1Y3QgZGVudHJ5ICpkZW50cnk7DQorI2VsaWYgTElOVVhfVkVSU0lPTl9D
T0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw5LDApDQorICAgIGhsaXN0X2Zvcl9l
YWNoX2VudHJ5KGRlbnRyeSwgYWxpYXMsICZpbm9kZS0+aV9kZW50cnksIGRf
YWxpYXMpIHsNCisjZWxpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxf
VkVSU0lPTigzLDE5LDApDQorICAgIGhsaXN0X2Zvcl9lYWNoX2VudHJ5KGRl
bnRyeSwgJmlub2RlLT5pX2RlbnRyeSwgZF9hbGlhcykgew0KKyNlbHNlDQor
ICAgIGhsaXN0X2Zvcl9lYWNoX2VudHJ5KGRlbnRyeSwgJmlub2RlLT5pX2Rl
bnRyeSwgZF91LmRfYWxpYXMpIHsNCisjZW5kaWYNCiAJc3RydWN0IGxpc3Rf
aGVhZCAqc3ViZGlyczsNCiAJc3RydWN0IG5ucGZzX2RlbnRyeV9kYXRhICp4
ZDsNCiAJDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJT
SU9OKDMsNiwwKQ0KIAlkZW50cnkgPSBsaXN0X2VudHJ5KGFsaWFzLCBzdHJ1
Y3QgZGVudHJ5LCBkX2FsaWFzKTsNCisjZW5kaWYNCiAJaWYgKGRlbnRyeSA9
PSBOVUxMKSB7DQogCSAgICBwcmludGsoS0VSTl9FTUVSRyAiTk5QRlMgUGFu
aWM6IGRlbnRyeSBpbiBhbGlhcyBsaXN0IGlzIG51bGxcbiIpOw0KIAkgICAg
YnJlYWs7DQpAQCAtNDIyLDcgKzQ3MywxMSBAQCBjbGVhcl9hbGxfY2hpbGRy
ZW4gKHN0cnVjdCBpbm9kZSAqaW5vZGUsDQogCXN1YmRpcnMgPSBkZW50cnkt
PmRfc3ViZGlycy5uZXh0Ow0KIAl3aGlsZSAoc3ViZGlycyAhPSAmZGVudHJ5
LT5kX3N1YmRpcnMpIHsNCiAJICAgIHN0cnVjdCBsaXN0X2hlYWQgKnRtcCA9
IHN1YmRpcnM7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9W
RVJTSU9OKDMsMTksMCkNCiAJICAgIHN0cnVjdCBkZW50cnkgKmNoaWxkID0g
bGlzdF9lbnRyeSh0bXAsIHN0cnVjdCBkZW50cnksIGRfdS5kX2NoaWxkKTsN
CisjZWxzZQ0KKwkgICAgc3RydWN0IGRlbnRyeSAqY2hpbGQgPSBsaXN0X2Vu
dHJ5KHRtcCwgc3RydWN0IGRlbnRyeSwgZF9jaGlsZCk7DQorI2VuZGlmDQog
CSAgICBzdWJkaXJzID0gdG1wLT5uZXh0Ow0KIAkgICAgTk5QRlNERUIoWERF
Qk1TRywgKCJjbGVhcl9hbGxfY2hpbGRyZW4gY2hpbGQ6ICUuKnMgaW5vZGU6
ICVwLyVwICINCiAJCQkgICAgICAgImRjb3VudDogJWQgYWxpYXNlczpcbiIs
DQpAQCAtNDQyLDE0ICs0OTcsMjYgQEAgY2xlYXJfYWxsX2NoaWxkcmVuIChz
dHJ1Y3QgaW5vZGUgKmlub2RlLA0KIA0KIAkgICAgLyogVGhyb3cgaW1tZWRp
YXRlbHkgKi8NCiAJICAgIGlmIChubnBmc19kY291bnQoY2hpbGQpID09IDAp
IHsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04o
Miw2LDM4KQ0KIAkgICAgICAgIHNwaW5fdW5sb2NrKCZkY2FjaGVfbG9jayk7
DQorI2Vsc2UNCisJCS8qIFRPRE86IHVubG9jayB0aGUgZGVudHJ5ICovDQor
CQkvKnNwaW5fdW5sb2NrKCZkZW50cnktPmRfbG9jayk7Ki8NCisjZW5kaWYN
CiAJCW5ucGZzX2RfcmVtb3ZlKGNoaWxkKTsNCiAJCWdvdG8gYWdhaW47DQog
CSAgICB9DQogCX0NCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVM
X1ZFUlNJT04oMyw2LDApDQogCWFsaWFzID0gYWxpYXMtPm5leHQ7DQorI2Vu
ZGlmDQogICAgIH0NCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVM
X1ZFUlNJT04oMiw2LDM4KQ0KICAgICBzcGluX3VubG9jaygmZGNhY2hlX2xv
Y2spOw0KKyNlbHNlDQorICAgIC8qIFRPRE86IHVubG9jayB0aGUgZGVudHJ5
ICovDQorICAgIC8qc3Bpbl91bmxvY2soJmRlbnRyeS0+ZF9sb2NrKTsqLw0K
KyNlbmRpZg0KIH0NCiANCiBzdGF0aWMgdm9pZA0KQEAgLTcxOSwxMiArNzg2
LDIyIEBAIG5ucGZzX21lc3NhZ2VfdmVyc2lvbihzdHJ1Y3Qgbm5wZnMgKm5u
cGYNCiANCiAgICAgLyogc2FuaXR5IGNoZWNrIGJlZm9yZSB3ZSBsb29rIGF0
IGl0ICovDQogICAgIGlmIChzaXplID09IHNpemVvZigqbWVzc2FnZSkgJiYg
bWVzc2FnZS0+dmVyc2lvbiA9PSBOTlBGU19WRVJTSU9OKSB7DQorI2lmIExJ
TlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTksMCkNCiAJ
c3RydWN0IG5hbWVpZGF0YSBuZDsNCisjZWxzZQ0KKwlzdHJ1Y3QgcGF0aCBw
YXRoOw0KKyNlbmRpZg0KIAlpbnQgZXJyb3I7DQogDQogCXVpbnQ2NF90IGJs
b2Nrc2l6ZSA9IG1lc3NhZ2UtPmJsb2Nrc2l6ZTsNCiANCisjaWYgTElOVVhf
VkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDM5KQ0KIAllcnJv
ciA9IHBhdGhfbG9va3VwKCIuIiwgMCwgJm5kKTsNCisjZWxpZiBMSU5VWF9W
RVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDE5LDApDQorCWVycm9y
ID0ga2Vybl9wYXRoKCIuIiwgMCwgJm5kLnBhdGgpOw0KKyNlbHNlDQorCWVy
cm9yID0ga2Vybl9wYXRoKCIuIiwgMCwgJnBhdGgpOw0KKyNlbmRpZg0KIAlp
ZiAoZXJyb3IpIHsNCiAJICAgIC8qDQogCSAgICAgKiBCYWQgY2FjaGUgcm9v
dCwganVzdCByZXR1cm4uDQpAQCAtNzM1LDkgKzgxMiwxNSBAQCBubnBmc19t
ZXNzYWdlX3ZlcnNpb24oc3RydWN0IG5ucGZzICpubnBmDQogCQkgICAibm5w
ZnNfbWVzc2FnZV92ZXJzaW9uIGZhaWxlZCBwYXRoX2xvb2t1cCwgIg0KIAkJ
ICAgImVycm5vOiAlZFxuIiwgZXJyb3IpOw0KIAl9IGVsc2Ugew0KKyNpZiBM
SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDE5LDApDQog
CSAgICBubnBmc3AtPmNhY2hlcm9vdCA9IG1udGdldChuZC5wYXRoLm1udCk7
DQogCSAgICBubnBmc3AtPmNhY2hlZGlyID0gZGdldChuZC5wYXRoLmRlbnRy
eSk7DQogCSAgICBwYXRoX3B1dCgmbmQucGF0aCk7DQorI2Vsc2UNCisJICAg
IG5ucGZzcC0+Y2FjaGVyb290ID0gbW50Z2V0KHBhdGgubW50KTsNCisJICAg
IG5ucGZzcC0+Y2FjaGVkaXIgPSBkZ2V0KHBhdGguZGVudHJ5KTsNCisJICAg
IHBhdGhfcHV0KCZwYXRoKTsNCisjZW5kaWYNCiAJICAgIA0KICNpZiBMSU5V
WF9WRVJTSU9OX0NPREUgPD0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KIAkg
ICAgbm5wZnNwLT51aWQgPSBjdXJyZW50LT5mc3VpZDsNCmRpZmYgLXVwck4g
YXJsYS1jdnMvbm5wZnMvbGludXgvbm5wZnNfbm9kZS5jIGFybGEvbm5wZnMv
bGludXgvbm5wZnNfbm9kZS5jDQotLS0gYXJsYS1jdnMvbm5wZnMvbGludXgv
bm5wZnNfbm9kZS5jCTIwMDctMDEtMDMgMTQ6NTI6MDIuMDAwMDAwMDAwICsw
MTAwDQorKysgYXJsYS9ubnBmcy9saW51eC9ubnBmc19ub2RlLmMJMjAxNi0w
MS0xNCAxNjo1MToxMS40MjA1Nzg1NDQgKzAxMDANCkBAIC0xMzIsNyArMTMy
LDEyIEBAIG5ucGZzX3NldHNpemUoc3RydWN0IGlub2RlICppbm9kZSwgdWlu
dDYNCiAJcHJpbnRrKCJubnBmc19zZXRzaXplOiB0cnVuY2F0aW5nIEAweCVs
bHVcbiIsDQogCSAgICAgICAodW5zaWduZWQgbG9uZyBsb25nKXNpemUpOw0K
ICNlbmRpZg0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVS
U0lPTigzLDgsMCkNCiAJdm10cnVuY2F0ZShpbm9kZSwgc2l6ZSk7IC8qIFhY
WCByZXR2YWwgKi8NCisjZWxzZQ0KKwlpZighaW5vZGVfbmV3c2l6ZV9vayhp
bm9kZSwgc2l6ZSkpDQorCSAgICB0cnVuY2F0ZV9zZXRzaXplKGlub2RlLCBz
aXplKTsNCisjZW5kaWYNCiAJbm5wZnNfYmxvY2tfdHJ1bmNhdGUoeG4sIHNp
emUpOw0KICAgICB9DQogfQ0KQEAgLTE1MCw5ICsxNTUsMTggQEAgbm5wZnNf
YXR0cjJpbm9kZShjb25zdCBzdHJ1Y3Qgbm5wZnNfYXR0cg0KIAlzdHJ1Y3Qg
dGltZXNwZWMgbm90aW1lID0gezB9Ow0KIA0KIAlpbm9kZS0+aV9tb2RlICAg
PSAwOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lP
TigzLDE0LDApDQogCWlub2RlLT5pX3VpZCAgICA9IDA7DQogCWlub2RlLT5p
X2dpZCAgICA9IDA7DQorI2Vsc2UNCisJaW5vZGUtPmlfdWlkICAgID0gS1VJ
RFRfSU5JVCgwKTsNCisJaW5vZGUtPmlfZ2lkICAgID0gS0dJRFRfSU5JVCgw
KTsNCisjZW5kaWYNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVM
X1ZFUlNJT04oMywyLDApDQogCWlub2RlLT5pX25saW5rICA9IDE7DQorI2Vs
c2UNCisJc2V0X25saW5rKGlub2RlLCAxKTsNCisjZW5kaWYNCiAJaW5vZGUt
PmlfYXRpbWUgID0gbm90aW1lOw0KIAlpbm9kZS0+aV9tdGltZSAgPSBub3Rp
bWU7DQogCWlub2RlLT5pX2N0aW1lICA9IG5vdGltZTsNCkBAIC0xNjksNyAr
MTgzLDExIEBAIG5ucGZzX2F0dHIyaW5vZGUoY29uc3Qgc3RydWN0IG5ucGZz
X2F0dHINCiAgICAgaWYgKFhBX1ZBTElEX0dJRChhdHRyKSkNCiAJaW5vZGUt
PmlfZ2lkICAgID0gYXR0ci0+eGFfZ2lkOw0KICAgICBpZiAoWEFfVkFMSURf
TkxJTksoYXR0cikpDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5F
TF9WRVJTSU9OKDMsMiwwKQ0KIAlpbm9kZS0+aV9ubGluayAgPSBhdHRyLT54
YV9ubGluazsNCisjZWxzZQ0KKwlzZXRfbmxpbmsoaW5vZGUsIGF0dHItPnhh
X25saW5rKTsNCisjZW5kaWYNCiAgICAgDQogICAgIGlmIChYQV9WQUxJRF9T
SVpFKGF0dHIpKSB7DQogCW5ucGZzX3NldHNpemUoaW5vZGUsIGF0dHItPnhh
X3NpemUpOw0KQEAgLTUxMCwxMiArNTI4LDI0IEBAIG5ucGZzX2hhc19wYWco
Y29uc3Qgc3RydWN0IG5ucGZzX25vZGUgKngNCiBpbnQNCiBubnBmc19ub2Rl
X3VzZXJzKHN0cnVjdCBpbm9kZSAqaW5vZGUpDQogew0KKyNpZiBMSU5VWF9W
RVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDYsMCkNCiAgICAgc3Ry
dWN0IGxpc3RfaGVhZCAqcG9zOw0KKyNlbHNlDQorICAgIHN0cnVjdCBobGlz
dF9ub2RlICpwb3M7DQorI2VuZGlmDQogICAgIGludCB1c2VycyA9IDA7DQog
ICAgIA0KICAgICAvKiBYWFggdGhpcyBzaG91bGQgcHJvYmFibHkgYmUgcHJv
dGVjdGVkIHNvbWVob3cgKi8NCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwg
S0VSTkVMX1ZFUlNJT04oMyw2LDApDQogICAgIGxpc3RfZm9yX2VhY2gocG9z
LCAmaW5vZGUtPmlfZGVudHJ5KSB7DQorI2Vsc2UNCisgICAgaGxpc3RfZm9y
X2VhY2gocG9zLCAmaW5vZGUtPmlfZGVudHJ5KSB7DQorI2VuZGlmDQorI2lm
IExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTksMCkN
CiAJc3RydWN0IGRlbnRyeSAqZGVudHJ5ID0gbGlzdF9lbnRyeShwb3MsIHN0
cnVjdCBkZW50cnksIGRfYWxpYXMpOw0KKyNlbHNlDQorCXN0cnVjdCBkZW50
cnkgKmRlbnRyeSA9IGxpc3RfZW50cnkocG9zLCBzdHJ1Y3QgZGVudHJ5LCBk
X3UuZF9hbGlhcyk7DQorI2VuZGlmDQogCWlmIChubnBmc19kY291bnQoZGVu
dHJ5KSA+IDEpDQogCSAgICB1c2VycysrOw0KICAgICB9DQpkaWZmIC11cHJO
IGFybGEtY3ZzL25ucGZzL2xpbnV4L25ucGZzX3N5c2NhbGxzLmMgYXJsYS9u
bnBmcy9saW51eC9ubnBmc19zeXNjYWxscy5jDQotLS0gYXJsYS1jdnMvbm5w
ZnMvbGludXgvbm5wZnNfc3lzY2FsbHMuYwkyMDEwLTA4LTA4IDIyOjQzOjA2
LjAwMDAwMDAwMCArMDIwMA0KKysrIGFybGEvbm5wZnMvbGludXgvbm5wZnNf
c3lzY2FsbHMuYwkyMDE2LTAxLTE0IDE3OjAwOjIwLjY0MTYxMTY1NSArMDEw
MA0KQEAgLTQyLDcgKzQyLDkgQEANCiAjaW5jbHVkZSA8bm5wZnMvbm5wZnNf
c3lzY2FsbHMuaD4NCiAjaW5jbHVkZSA8bm5wZnMvbm5wZnNfY29tbW9uLmg+
DQogI2luY2x1ZGUgPGxpbnV4L2ZpbGUuaD4NCisjaWYgTElOVVhfVkVSU0lP
Tl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDM5KQ0KICNpbmNsdWRlIDxs
aW51eC9zbXBfbG9jay5oPg0KKyNlbmRpZg0KICNpbmNsdWRlIDxsaW51eC9z
bXAuaD4NCiAjaW5jbHVkZSA8bGludXgvcHJvY19mcy5oPg0KIA0KQEAgLTUw
LDYgKzUyLDExIEBADQogI2luY2x1ZGUgPGxpbnV4L3NlY3VyaXR5Lmg+DQog
I2VuZGlmDQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxf
VkVSU0lPTigzLDcsMCkNCisjdW5kZWYgU1lTQ0FMTEhBQ0sNCisvKiB0aGUg
bWV0aG9kIHRvIHJlYWQgJ2xvd2VyX2JvdW5kJyBkb2VzIG5vdCB3b3JrIG9u
IGtlcm5lbCAzLjcgYW5kIGxhdGVyLCBzZSBubnBmc19zeXNjYWxscy1sb3Nz
YWdlLmMgKi8NCisjZW5kaWYNCisNCiAjaWYgMA0KICNpZmRlZiBDT05GSUdf
Q09NUEFUDQogI2luY2x1ZGUgPGxpbnV4L2lvY3RsMzIuaD4NCkBAIC04Miwx
MiArODksMjIgQEAgdHlwZWRlZiBzdHJ1Y3QgYWZzcHJvY2RhdGEgew0KICAg
ICB1bnNpZ25lZCBsb25nIHN5c2NhbGw7DQogfSBhZnNwcm9jZGF0YTsNCiAN
CisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2
LDM2KQ0KIHN0YXRpYyBpbnQNCiBubnBmc19wcm9jZnNfaW9jdGwoc3RydWN0
IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUsDQogCQkgICB1bnNp
Z25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZyk7DQorI2Vsc2UNCitz
dGF0aWMgbG9uZw0KK25ucGZzX3Byb2Nmc19pb2N0bChzdHJ1Y3QgZmlsZSAq
ZmlsZSwNCisJCSAgIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcg
YXJnKTsNCisjZW5kaWYNCiANCiBzdGF0aWMgc3RydWN0IGZpbGVfb3BlcmF0
aW9ucyBubnBmc19wcm9jZnNfZm9wcyA9IHsNCisjaWYgTElOVVhfVkVSU0lP
Tl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDM2KQ0KICAgICAuaW9jdGwg
PSBubnBmc19wcm9jZnNfaW9jdGwsDQorI2Vsc2UNCisgICAgLnVubG9ja2Vk
X2lvY3RsID0gbm5wZnNfcHJvY2ZzX2lvY3RsLA0KKyNlbmRpZg0KIH07DQog
DQogDQpAQCAtMTYwLDggKzE3NywxMCBAQCBubnBmc19nZXRfcGFnX3NlYyh2
b2lkKQ0KIA0KICNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPD0gS0VSTkVMX1ZF
UlNJT04oMiw2LDI4KQ0KICAgICByZXR1cm4gY3VycmVudC0+dWlkOw0KLSNl
bHNlDQorI2VsaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJ
T04oMywxNCwwKQ0KICAgICByZXR1cm4gY3VycmVudF91aWQoKTsNCisjZWxz
ZQ0KKyAgICB7IGt1aWRfdCBrdWlkID0gY3VycmVudF91aWQoKTsgcmV0dXJu
IGt1aWQudmFsOyB9DQogI2VuZGlmDQogfQ0KIA0KQEAgLTE5OSw3ICsyMTgs
MTIgQEAgZmluZF9wYWcoc3RydWN0IGdyb3VwX2luZm8gKmdpKQ0KICAgICBO
TlBGU0RFQihYREVCU1lTLCAoImZpbmRfcGFnOiBuZ3JvdXBzID0gJWRcbiIs
IGdpLT5uZ3JvdXBzKSk7DQogDQogICAgIGZvciAoaSA9IGdpLT5uZ3JvdXBz
IC0gMTsgaSA+PSAwOyBpLS0pIHsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RF
IDwgS0VSTkVMX1ZFUlNJT04oMywxNCwwKQ0KIAlnaWRfdCBncm91cCA9IEdS
T1VQX0FUKGdpLCBpKTsNCisjZWxzZQ0KKwlrZ2lkX3Qga2dyb3VwID0gR1JP
VVBfQVQoZ2ksIGkpOw0KKwlnaWRfdCBncm91cCA9IGtncm91cC52YWw7DQor
I2VuZGlmDQogCWlmICgobm5wZnNfcGFnX3QpZ3JvdXAgPj0gTk5QRlNfUEFH
X0xMSU0gJiYgKG5ucGZzX3BhZ190KWdyb3VwIDwgTk5QRlNfUEFHX1VMSU0p
IHsNCiAJICAgIE5OUEZTREVCKFhERUJTWVMsDQogCQkgICAgICgiZmluZF9w
YWc6IEV4aXN0aW5nIHBhZyAldSBhdCBwb3MgJXVcbiIsIGdyb3VwLCBpKSk7
DQpAQCAtMjIwLDcgKzI0NCwxMiBAQCBubnBmc19nZXRfcGFnX2dyb3VwKHZv
aWQpDQogICAgIG5ucGZzX3BhZ190IHJldCA9IGN1cnJlbnQtPnVpZDsNCiAj
ZWxzZQ0KICAgICBzdHJ1Y3QgZ3JvdXBfaW5mbyAqZ2kgPSBnZXRfY3VycmVu
dF9ncm91cHMoKTsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVM
X1ZFUlNJT04oMywxNCwwKQ0KICAgICBubnBmc19wYWdfdCByZXQgPSBjdXJy
ZW50X3VpZCgpOw0KKyNlbHNlDQorICAgIGt1aWRfdCBrdWlkID0gY3VycmVu
dF91aWQoKTsNCisgICAgbm5wZnNfcGFnX3QgcmV0ID0ga3VpZC52YWw7DQor
I2VuZGlmDQogI2VuZGlmDQogICAgIGludCBpOw0KIA0KQEAgLTIzMCw3ICsy
NTksMTEgQEAgbm5wZnNfZ2V0X3BhZ19ncm91cCh2b2lkKQ0KIA0KICAgICBp
ID0gZmluZF9wYWcoZ2kpOw0KICAgICBpZiAoaSAhPSBOTlBGU19QQUdfTk9U
Rk9VTkQpDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJT
SU9OKDMsMTQsMCkNCiAJcmV0ID0gR1JPVVBfQVQoZ2ksIGkpOw0KKyNlbHNl
DQorCXsga2dpZF90IGtnaWQgPSBHUk9VUF9BVChnaSwgaSk7IHJldCA9IGtn
aWQudmFsOyB9DQorI2VuZGlmDQogDQogICAgIHB1dF9ncm91cF9pbmZvKGdp
KTsNCiANCkBAIC0yODAsMTAgKzMxMywxNyBAQCBzdG9yZV9wYWcobm5wZnNf
cGFnX3QgcGFnbnVtKQ0KIAljb3VudCAtPSBOR1JPVVBTX1BFUl9CTE9DSzsN
CiAgICAgfQ0KIA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxf
VkVSU0lPTigzLDE0LDApDQogICAgIGlmIChmb3VuZCkNCiAJR1JPVVBfQVQo
bmV3X2dpLCBpKSA9IHBhZ251bTsNCiAgICAgZWxzZQ0KIAlHUk9VUF9BVChu
ZXdfZ2ksIG5ld19naS0+bmdyb3VwcyAtIDEpID0gcGFnbnVtOw0KKyNlbHNl
DQorICAgIGlmIChmb3VuZCkNCisJeyBrZ2lkX3Qga2dpZCA9IEtHSURUX0lO
SVQocGFnbnVtKTsgR1JPVVBfQVQobmV3X2dpLCBpKSA9IGtnaWQ7IH0NCisg
ICAgZWxzZQ0KKwl7IGtnaWRfdCBrZ2lkID0gS0dJRFRfSU5JVChwYWdudW0p
OyBHUk9VUF9BVChuZXdfZ2ksIG5ld19naS0+bmdyb3VwcyAtIDEpID0ga2dp
ZDsgfQ0KKyNlbmRpZg0KICAgICANCiAgICAgc2V0X2N1cnJlbnRfZ3JvdXBz
KG5ld19naSk7DQogICAgIHB1dF9ncm91cF9pbmZvKG5ld19naSk7DQpAQCAt
MzI1LDggKzM2NSwxMCBAQCBubnBmc19nZXRfcGFnKCkNCiANCiAjaWYgTElO
VVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCiAg
ICAgcmV0dXJuIGN1cnJlbnQtPnVpZDsNCi0jZWxzZQ0KKyNlbGlmIExJTlVY
X1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTQsMCkNCiAgICAg
cmV0dXJuIGN1cnJlbnRfdWlkKCk7DQorI2Vsc2UNCisgICAgeyBrdWlkX3Qg
a3VpZCA9IGN1cnJlbnRfdWlkKCk7IHJldHVybiBrdWlkLnZhbDsgfQ0KICNl
bmRpZg0KIH0NCiANCkBAIC00MzIsNyArNDc0LDcgQEAgbm5wZnNfc2V0Z3Jv
dXBzMTYgKGludCBnaWRzZXRzaXplLCBvbGRfZw0KICNlbmRpZiAvKiBTWVND
QUxMSEFDSyAqLw0KICNlbmRpZiAvKiBHUk9VUFBBR1MgKi8NCiANCi1zdHJ1
Y3QgZmlsZV9oYW5kbGUgew0KK3N0cnVjdCBubnBmc19maWxlX2hhbmRsZSB7
DQogICAgIG5ucGZzX2Rldl90IGRldjsNCiAgICAgaW5vX3QgaW5vZGU7DQog
ICAgIF9fdTMyIGdlbjsNCkBAIC01MTksMTQgKzU2MSwyNyBAQCBubnBmc19k
ZWJ1Z19wcmludCAoc3RydWN0IGFybGFWaWNlSW9jdGwNCiAgKiBmb2xsb3cg
c3ltbGlua3MgaWZmIGBmb2xsb3cnDQogICovDQogDQorI2lmIExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTksMCkNCiBzdGF0aWMg
c3RydWN0IGRlbnRyeSAqDQogdXNlcl9wYXRoMmRlbnRyeSAoc3RydWN0IG5h
bWVpZGF0YSAqbmQsIGNoYXIgKnVzZXJfcGF0aCwgaW50IGZvbGxvdykNCisj
ZWxzZQ0KK3N0YXRpYyBzdHJ1Y3QgZGVudHJ5ICoNCit1c2VyX3BhdGgyZGVu
dHJ5IChzdHJ1Y3QgcGF0aCAqcGF0aCwgY2hhciAqdXNlcl9wYXRoLCBpbnQg
Zm9sbG93KQ0KKyNlbmRpZg0KIHsNCi0gICAgY2hhciAqa25hbWU7DQogICAg
IGludCBmbGFncyA9IDA7DQogICAgIGludCBlcnJvciA9IDA7DQogDQotICAg
IGtuYW1lID0gZ2V0bmFtZSAodXNlcl9wYXRoKTsNCisjaWYgTElOVVhfVkVS
U0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw3LDApDQorICAgIGNoYXIg
KmtuYW1lOw0KKyAgICBrbmFtZSA9IGdldG5hbWUodXNlcl9wYXRoKTsNCisj
ZWxzZQ0KKyAgICBjb25zdCBjaGFyICprbmFtZTsNCisgICAgc3RydWN0IGZp
bGVuYW1lICpmbmFtZTsNCisgICAgZm5hbWUgPSBnZXRuYW1lKHVzZXJfcGF0
aCk7DQorICAgIGtuYW1lID0gZm5hbWUtPm5hbWU7DQorI2VuZGlmDQorDQog
ICAgIGlmIChJU19FUlIoa25hbWUpKQ0KIAlyZXR1cm4gRVJSX1BUUihQVFJf
RVJSKGtuYW1lKSk7DQogICAgIGlmIChmb2xsb3cpDQpAQCAtNTM0LDExICs1
ODksMjUgQEAgdXNlcl9wYXRoMmRlbnRyeSAoc3RydWN0IG5hbWVpZGF0YSAq
bmQsDQogDQogICAgIE5OUEZTREVCKFhERUJNU0csICgibm5wZnNfc3lzY2Fs
bDogbG9va2luZyB1cDogJXNcbiIsIGtuYW1lKSk7DQogDQorI2lmIExJTlVY
X1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwzOSkNCiAgICAg
ZXJyb3IgPSBwYXRoX2xvb2t1cChrbmFtZSwgZmxhZ3MsIG5kKTsNCisjZWxp
ZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDE5LDAp
DQorICAgIGVycm9yID0ga2Vybl9wYXRoKGtuYW1lLCBmbGFncywgJihuZC0+
cGF0aCkpOw0KKyNlbHNlDQorICAgIGVycm9yID0ga2Vybl9wYXRoKGtuYW1l
LCBmbGFncywgcGF0aCk7DQorI2VuZGlmDQorI2lmIExJTlVYX1ZFUlNJT05f
Q09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsNywwKQ0KICAgICBwdXRuYW1lKGtu
YW1lKTsNCisjZWxzZQ0KKyAgICBrbWVtX2NhY2hlX2ZyZWUobmFtZXNfY2Fj
aGVwLCAodm9pZCAqKWtuYW1lKTsNCisjZW5kaWYNCiAgICAgaWYgKGVycm9y
KQ0KIAlyZXR1cm4gRVJSX1BUUihlcnJvcik7DQorI2lmIExJTlVYX1ZFUlNJ
T05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTksMCkNCiAgICAgcmV0dXJu
IG5kLT5wYXRoLmRlbnRyeTsNCisjZWxzZQ0KKyAgICByZXR1cm4gcGF0aC0+
ZGVudHJ5Ow0KKyNlbmRpZg0KIH0NCiANCiBhc21saW5rYWdlIGxvbmcNCkBA
IC01NTMsMTMgKzYyMiwyMSBAQCBzeXNfYWZzX2ludCAoaW50IG9wZXJhdGlv
biwNCiAgICAgc3RydWN0IG5ucGZzX21lc3NhZ2VfcGlvY3RsICptc2cgPSBO
VUxMOw0KICAgICBzdHJ1Y3Qgbm5wZnNfbWVzc2FnZV93YWtldXAgKm1zZzI7
DQogICAgIHN0cnVjdCBkZW50cnkgKmRlbnRyeSA9IE5VTEw7DQorI2lmIExJ
TlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTksMCkNCiAg
ICAgc3RydWN0IG5hbWVpZGF0YSBuZDsNCisjZWxzZQ0KKyAgICBzdHJ1Y3Qg
cGF0aCBwYXRoOw0KKyNlbmRpZg0KICAgICANCiAgICAgbXNnID0ga21hbGxv
YyhzaXplb2YoKm1zZyksIEdGUF9LRVJORUwpOw0KICAgICBpZiAobXNnID09
IE5VTEwpDQogICAgICAgcmV0dXJuIC1FTk9NRU07DQogDQorI2lmIExJTlVY
X1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwzOSkNCiAgICAg
bG9ja19rZXJuZWwoKTsNCisjZWxzZQ0KKyAgICAvKiBUT0RPOiBsb2NrX2tl
cm5lbCgpIGlzIHJlbW92ZWQsIGNvbnNpZGVyIGFkZGluZyBhbiBwcml2YXRl
IGxvY2sgKi8NCisjZW5kaWYNCiANCiAgICAgTk5QRlNERUIoWERFQlNZUywg
KCJzeXNfYWZzIGtlcm5lbCBsb2NrZWRcbiIpKTsNCiANCkBAIC01OTcsNyAr
Njc0LDExIEBAIHN5c19hZnNfaW50IChpbnQgb3BlcmF0aW9uLA0KIAkgICAg
fQ0KIAl9DQogCWlmIChhX3BhdGhQICE9IE5VTEwpIHsNCisjaWYgTElOVVhf
VkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0KIAkgICAg
ZGVudHJ5ID0gdXNlcl9wYXRoMmRlbnRyeSAoJm5kLCBhX3BhdGhQLCBhX2Zv
bGxvd1N5bWxpbmtzKTsNCisjZWxzZQ0KKwkgICAgZGVudHJ5ID0gdXNlcl9w
YXRoMmRlbnRyeSAoJnBhdGgsIGFfcGF0aFAsIGFfZm9sbG93U3ltbGlua3Mp
Ow0KKyNlbmRpZg0KIAkgICAgaWYgKCFkZW50cnkpIHsNCiAJCWVycm9yID0g
LUVJTlZBTDsNCiAJCWdvdG8gdW5sb2NrOw0KQEAgLTY5MywxMyArNzc0LDIx
IEBAIHN5c19hZnNfaW50IChpbnQgb3BlcmF0aW9uLA0KICAgICANCiAgdW5s
b2NrOg0KICAgICBpZiAoZGVudHJ5KQ0KKyNpZiBMSU5VWF9WRVJTSU9OX0NP
REUgPCBLRVJORUxfVkVSU0lPTigzLDE5LDApDQogCXBhdGhfcHV0KCZuZC5w
YXRoKTsNCisjZWxzZQ0KKwlwYXRoX3B1dCgmcGF0aCk7DQorI2VuZGlmDQog
DQogICAgIE5OUEZTREVCKFhERUJTWVMsICgibm5wZnNfc3lzY2FsbCByZXR1
cm5zIGVycm9yOiAlbGRcbiIsIGVycm9yKSk7DQogDQogICAgIE5OUEZTREVC
KFhERUJTWVMsICgic3lzX2FmcyBrZXJuZWwgdW5sb2NrXG4iKSk7DQogICAg
IGtmcmVlKG1zZyk7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5F
TF9WRVJTSU9OKDIsNiwzOSkNCiAgICAgdW5sb2NrX2tlcm5lbCgpOw0KKyNl
bHNlDQorICAgIC8qIFRPRE86IHNlZSB0aGUgY29tbWVudCBhdCBsb2NrX2tl
cm5lbCgpIGFib3ZlICovDQorI2VuZGlmDQogDQogICAgIHJldHVybiBlcnJv
cjsNCiB9DQpAQCAtNzQ4LDkgKzgzNywxNSBAQCBzeXNfYWZzIChpbnQgb3Bl
cmF0aW9uLA0KIAkJICAgICAgIGFfZm9sbG93U3ltbGlua3MpOw0KIH0NCiAN
CisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2
LDM2KQ0KIHN0YXRpYyBpbnQNCiBubnBmc19wcm9jZnNfaW9jdGwoc3RydWN0
IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUsDQogCQkgICB1bnNp
Z25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZykNCisjZWxzZQ0KK3N0
YXRpYyBsb25nDQorbm5wZnNfcHJvY2ZzX2lvY3RsKHN0cnVjdCBmaWxlICpm
aWxlLA0KKwkJICAgdW5zaWduZWQgaW50IGNtZCwgdW5zaWduZWQgbG9uZyBh
cmcpDQorI2VuZGlmDQogew0KICAgICBhZnNwcm9jZGF0YSBhcmdzOw0KICAg
ICBsb25nIHJldDsNCkBAIC04MDcsNyArOTAyLDExIEBAIHN0YXRpYyBpbnQg
bm5wZnNfaW5pdF9wcm9jZnModm9pZCkNCiAgICAgbm5wZnNfcHJvY2ZzX2Rp
ci0+b3duZXIgPSBUSElTX01PRFVMRTsNCiAjZW5kaWYNCiAgICAgDQorI2lm
IExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTAsMCkN
CiAgICAgZW50cnkgPSBjcmVhdGVfcHJvY19lbnRyeShOTlBGU19QUk9DX05P
REUsIDA2NjYsIG5ucGZzX3Byb2Nmc19kaXIpOw0KKyNlbHNlDQorICAgIGVu
dHJ5ID0gcHJvY19jcmVhdGUoTk5QRlNfUFJPQ19OT0RFLCAwNjY2LCBOVUxM
LCAmbm5wZnNfcHJvY2ZzX2ZvcHMpOw0KKyNlbmRpZg0KICAgICBpZiAoZW50
cnkgPT0gTlVMTCkgew0KIAlOTlBGU0RFQihYREVCU1lTLCAoIm5ucGZzX2lu
aXRfcHJvY2ZzOiBubyBub2RlXG4iKSk7DQogCXJlbW92ZV9wcm9jX2VudHJ5
KCJmcy8iIE5OUEZTX1BST0NfRElSLCBOVUxMKTsNCkBAIC04MTcsNyArOTE2
LDkgQEAgc3RhdGljIGludCBubnBmc19pbml0X3Byb2Nmcyh2b2lkKQ0KICNp
ZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMzAp
DQogICAgIGVudHJ5LT5vd25lciA9IFRISVNfTU9EVUxFOw0KICNlbmRpZg0K
KyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDEw
LDApDQogICAgIGVudHJ5LT5wcm9jX2ZvcHMgPSAmbm5wZnNfcHJvY2ZzX2Zv
cHM7DQorI2VuZGlmDQogDQogI2lmZGVmIFNZU0NBTExDT01QQVQNCiAgICAg
aWYgKHJlZ2lzdGVyX2lvY3RsMzJfY29udmVyc2lvbihBUkxBX1ZJT0NfU1lT
Q0FMTDMyLCBubnBmc19wcm9jZnNfaW9jdGwzMikpIHsNCmRpZmYgLXVwck4g
YXJsYS1jdnMvbm5wZnMvbGludXgvbm5wZnNfc3lzY2FsbHMtbG9zc2FnZS5j
IGFybGEvbm5wZnMvbGludXgvbm5wZnNfc3lzY2FsbHMtbG9zc2FnZS5jDQot
LS0gYXJsYS1jdnMvbm5wZnMvbGludXgvbm5wZnNfc3lzY2FsbHMtbG9zc2Fn
ZS5jCTIwMTAtMDgtMDggMjI6NDM6MDUuMDAwMDAwMDAwICswMjAwDQorKysg
YXJsYS9ubnBmcy9saW51eC9ubnBmc19zeXNjYWxscy1sb3NzYWdlLmMJMjAx
Ni0wMS0xMyAyMTo1MTo0OS42ODI0NTcyMTMgKzAxMDANCkBAIC01MCw4ICs1
MCwxNyBAQA0KIFJDU0lEKCIkSWQ6IG5ucGZzX3N5c2NhbGxzLWxvc3NhZ2Uu
Yyx2IDEuMTkgMjAxMC8wOC8wOCAyMDo0MzowNSB0b2wgRXhwICQiKTsNCiAj
ZW5kaWYNCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9W
RVJTSU9OKDMsNywwKQ0KKy8qIHRoZSBtZXRob2QgdG8gcmVhZCAnbG93ZXJf
Ym91bmQnIGRvZXMgbm90IHdvcmsgb24ga2VybmVsIDMuNyBhbmQgbGF0ZXIg
Ki8NCisjdW5kZWYgU1lTQ0FMTEhBQ0sNCisjZW5kaWYNCisNCiAjaW5jbHVk
ZSA8bGludXgva2FsbHN5bXMuaD4NCisjaWZkZWYgU1lTQ0FMTEhBQ0sNCisj
aWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw3LDAp
DQogc3RhdGljIHZvaWQgKmxvd2VyX2JvdW5kID0gJmtlcm5lbF90aHJlYWQ7
DQorI2VuZGlmDQorI2VuZGlmDQogDQogdm9pZCAqIF9fYXR0cmlidXRlX18o
KHdlYWspKSBzeXNfY2FsbF90YWJsZSh2b2lkKTsNCiBubnBmc19zeXNfY2Fs
bF9mdW5jdGlvbiAqbm5wZnNfc3lzX2NhbGxfdGFibGUgPQ0KQEAgLTY2LDYg
Kzc1LDggQEAgY29uc3QgY2hhciAqIF9fYXR0cmlidXRlX18oKHdlYWspKQ0K
ICNpZmRlZiBfX3g4Nl82NF9fDQogZXh0ZXJuIHJ3bG9ja190IHRhc2tsaXN0
X2xvY2sgX19hdHRyaWJ1dGVfXygod2VhaykpOw0KICNlbmRpZg0KKw0KKyNp
ZmRlZiBTWVNDQUxMSEFDSw0KIHN0YXRpYyB2b2lkICoqDQogZ2V0X3N0YXJ0
X2FkZHIodm9pZCkgew0KICNpZmRlZiBfX3g4Nl82NF9fDQpAQCAtNzQsNiAr
ODUsNyBAQCBnZXRfc3RhcnRfYWRkcih2b2lkKSB7DQogICAgIHJldHVybiAo
dm9pZCAqKikmbXV0ZXhfbG9jazsNCiAjZW5kaWYNCiB9DQorI2VuZGlmDQog
DQogc3RhdGljIGlubGluZSBpbnQgDQoga2FsbHN5bV9pc19lcXVhbCh1bnNp
Z25lZCBsb25nIGFkZHIsIGNvbnN0IGNoYXIgKm5hbWUpDQpAQCAtMTQyLDYg
KzE1NCw4IEBAIHZlcmlmeSh2b2lkICoqcCkgew0KICAgICByZXR1cm4gMTsN
CiB9DQogDQorI2lmZGVmIFNZU0NBTExIQUNLDQorDQogc3RhdGljIGlubGlu
ZSBpbnQgbG9va3NfZ29vZCh2b2lkICoqcCkNCiB7DQogICAgIGlmICgqcCA8
PSAodm9pZCopbG93ZXJfYm91bmQgfHwgKnAgPj0gKHZvaWQqKXApDQpAQCAt
MTkxLDMgKzIwNSw1IEBAIG5ucGZzX2ZpeHVwX3N5c2NhbGxfbG9zc2FnZSh2
b2lkKQ0KIA0KICAgICByZXR1cm4gMDsNCiB9DQorDQorI2VuZGlmDQpkaWZm
IC11cHJOIGFybGEtY3ZzL25ucGZzL2xpbnV4L25ucGZzX3Zmc29wcy5jIGFy
bGEvbm5wZnMvbGludXgvbm5wZnNfdmZzb3BzLmMNCi0tLSBhcmxhLWN2cy9u
bnBmcy9saW51eC9ubnBmc192ZnNvcHMuYwkyMDEwLTA4LTA4IDIyOjQzOjA2
LjAwMDAwMDAwMCArMDIwMA0KKysrIGFybGEvbm5wZnMvbGludXgvbm5wZnNf
dmZzb3BzLmMJMjAxNi0wMS0xNCAxNzoxMzoxOC4yNjM2NTg1MzYgKzAxMDAN
CkBAIC01MCw3ICs1MCw5IEBAIFJDU0lEKCIkSWQ6IG5ucGZzX3Zmc29wcy5j
LHYgMS4xMTEgMjAxMC8NCiBzdHJ1Y3Qgbm5wZnMgbm5wZnNbTk5OUEZTXTsN
CiANCiBzdGF0aWMgdm9pZCBubnBmc19wdXRfc3VwZXIoc3RydWN0IHN1cGVy
X2Jsb2NrICpzYik7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5F
TF9WRVJTSU9OKDMsNiwwKQ0KIHN0YXRpYyB2b2lkIG5ucGZzX3dyaXRlX3N1
cGVyKHN0cnVjdCBzdXBlcl9ibG9jayAqIHNiKTsNCisjZW5kaWYNCiANCiBz
dGF0aWMgaW50IG5ucGZzX3N0YXRmcyhzdHJ1Y3QgZGVudHJ5ICpkZW50cnks
IHN0cnVjdCBrc3RhdGZzICpidWYpOw0KIA0KQEAgLTU5LDcgKzYxLDkgQEAg
c3RhdGljIHN0cnVjdCBzdXBlcl9vcGVyYXRpb25zIG5ucGZzX3NvcA0KICAg
ICBkZXN0cm95X2lub2RlCTogbm5wZnNfbm9kZV9mcmVlLA0KICAgICBkcm9w
X2lub2RlCQk6IGdlbmVyaWNfZGVsZXRlX2lub2RlLA0KICAgICBwdXRfc3Vw
ZXIJCTogbm5wZnNfcHV0X3N1cGVyLA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NP
REUgPCBLRVJORUxfVkVSU0lPTigzLDYsMCkNCiAgICAgd3JpdGVfc3VwZXIJ
CTogbm5wZnNfd3JpdGVfc3VwZXIsDQorI2VuZGlmDQogICAgIHN0YXRmcwkJ
OiBubnBmc19zdGF0ZnMsDQogfTsNCiANCkBAIC04Niw3ICs5MCwxMSBAQCBu
bnBmc19mZXRjaF9yb290KHN0cnVjdCBpbm9kZSAqaSkNCiAJICogcm9vdCdz
IHByaXZpbGlnZXMgKHVzdWFsbHkgbm9uZSwgYW5kIG5vbmUgaXMgbmVlZGVk
KS4NCiAJICovDQogCQ0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJO
RUxfVkVSU0lPTigzLDE0LDApDQogCW1zZy5jcmVkLnVpZCA9IDA7DQorI2Vs
c2UNCisJbXNnLmNyZWQudWlkID0gS1VJRFRfSU5JVCgwKTsNCisjZW5kaWYN
CiAJbXNnLmNyZWQucGFnID0gMDsNCiAJDQogCWVycm9yID0gbm5wZnNfbWVz
c2FnZV9ycGMobm5wZnNwLCAmbXNnLmhlYWRlciwgc2l6ZW9mKG1zZykpOw0K
QEAgLTEyMSw4ICsxMjksMTMgQEAgbWFrZV9yb290X2lub2RlKHN0cnVjdCBu
bnBmcyAqbm5wZnNwKQ0KICAgICBYQV9TRVRfTU9ERSgmbm9kZS5hdHRyLCBT
X0lGRElSIHwgMDc3Nyk7DQogICAgIFhBX1NFVF9OTElOSygmbm9kZS5hdHRy
LCAxMDApOw0KICAgICBYQV9TRVRfU0laRSgmbm9kZS5hdHRyLCAwKTsNCisj
aWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxNCww
KQ0KICAgICBYQV9TRVRfVUlEKCZub2RlLmF0dHIsIDApOw0KICAgICBYQV9T
RVRfR0lEKCZub2RlLmF0dHIsIDApOw0KKyNlbHNlDQorICAgIFhBX1NFVF9V
SUQoJm5vZGUuYXR0ciwgS1VJRFRfSU5JVCgwKSk7DQorICAgIFhBX1NFVF9H
SUQoJm5vZGUuYXR0ciwgS0dJRFRfSU5JVCgwKSk7DQorI2VuZGlmDQogICAg
IFhBX1NFVF9BVElNRSgmbm9kZS5hdHRyLCAwKTsNCiAgICAgWEFfU0VUX01U
SU1FKCZub2RlLmF0dHIsIDApOw0KICAgICBYQV9TRVRfQ1RJTUUoJm5vZGUu
YXR0ciwgMCk7DQpAQCAtMTUxLDcgKzE2NCwxMSBAQCBtYWtlX3Jvb3QgKHN0
cnVjdCBzdXBlcl9ibG9jayAqc2IpDQogICAgIG5ucGZzLT5yb290ID0gaW5v
ZGU7DQogDQogICAgIC8qIFhYWCBlcnJvciBoYW5kbGluZyAqLw0KKyNpZiBM
SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDQsMCkNCiAg
ICAgZHAgPSBkX2FsbG9jX3Jvb3QoaW5vZGUpOw0KKyNlbHNlDQorICAgIGRw
ID0gZF9tYWtlX3Jvb3QoaW5vZGUpOw0KKyNlbmRpZg0KICAgICBubnBmc19k
X2luaXQoZHApOw0KICAgICBzYi0+c19yb290ID0gZHA7DQogICAgIHJldHVy
biAwOw0KQEAgLTE3NSwxMyArMTkyLDI3IEBAIG5ucGZzX3JlYWRfc3VwZXIg
KHN0cnVjdCBzdXBlcl9ibG9jayAqIHMNCiAgICAgTk5QRlNERUIoWERFQlZG
T1BTLCAoIm5ucGZzX3JlYWRfc3VwZXI6IGJlZ2luIHNldHRpbmcgdmFyaWFi
bGVzXG4iKSk7DQogDQogICAgIGlmIChkYXRhICE9IE5VTEwpIHsNCisjaWYg
TElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0K
IAlzdHJ1Y3QgbmFtZWlkYXRhIG5kOw0KKyNlbHNlDQorCXN0cnVjdCBwYXRo
IHBhdGg7DQorI2VuZGlmDQogCQ0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUg
PCBLRVJORUxfVkVSU0lPTigyLDYsMzkpDQogCWVycm9yID0gcGF0aF9sb29r
dXAoZGF0YSwgMCwgJm5kKTsNCisjZWxpZiBMSU5VWF9WRVJTSU9OX0NPREUg
PCBLRVJORUxfVkVSU0lPTigzLDE5LDApDQorCWVycm9yID0ga2Vybl9wYXRo
KGRhdGEsIDAsICZuZC5wYXRoKTsNCisjZWxzZQ0KKwllcnJvciA9IGtlcm5f
cGF0aChkYXRhLCAwLCAmcGF0aCk7DQorI2VuZGlmDQogCWlmIChlcnJvcikN
CiAJICAgIGRkZXYgPSBFUlJfUFRSKGVycm9yKTsNCiAJZWxzZQ0KKyNpZiBM
SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDE5LDApDQog
CSAgICBkZGV2ID0gbmQucGF0aC5kZW50cnk7DQorI2Vsc2UNCisJICAgIGRk
ZXYgPSBwYXRoLmRlbnRyeTsNCisjZW5kaWYNCiANCiAJaWYgKCFJU19FUlIo
ZGRldikpIHsNCiAJICAgIG1pbm9yZGV2aWNlID0gTUlOT1IoZGRldi0+ZF9p
bm9kZS0+aV9yZGV2KTsNCkBAIC0yMjUsNiArMjU2LDcgQEAgbm5wZnNfZmls
bF9zdXBlciAoc3RydWN0IHN1cGVyX2Jsb2NrICpzYg0KICAgICByZXR1cm4g
MDsNCiB9DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9W
RVJTSU9OKDIsNiwzOSkNCiBpbnQNCiBubnBmc19nZXRfc2Ioc3RydWN0IGZp
bGVfc3lzdGVtX3R5cGUgKmZzX3R5cGUsDQogCSAgICAgaW50IGZsYWdzLCBj
b25zdCBjaGFyICpkZXZfbmFtZSwNCkBAIC0yMzIsMTIgKzI2NCwyMyBAQCBu
bnBmc19nZXRfc2Ioc3RydWN0IGZpbGVfc3lzdGVtX3R5cGUgKmZzDQogew0K
ICAgICByZXR1cm4gZ2V0X3NiX25vZGV2KGZzX3R5cGUsIGZsYWdzLCBkYXRh
LCBubnBmc19maWxsX3N1cGVyLCBtbnQpOw0KIH0NCisjZWxzZQ0KK3N0cnVj
dCBkZW50cnkqDQorbm5wZnNfbW91bnQoc3RydWN0IGZpbGVfc3lzdGVtX3R5
cGUgKmZzX3R5cGUsDQorCSAgICAgaW50IGZsYWdzLCBjb25zdCBjaGFyICpk
ZXZfbmFtZSwNCisJICAgICB2b2lkICpkYXRhKSANCit7DQorICAgIHJldHVy
biBtb3VudF9ub2Rldihmc190eXBlLCBmbGFncywgZGF0YSwgbm5wZnNfZmls
bF9zdXBlcik7DQorfQ0KKyNlbmRpZg0KIA0KKyNpZiBMSU5VWF9WRVJTSU9O
X0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDYsMCkNCiBzdGF0aWMgdm9pZA0K
IG5ucGZzX3dyaXRlX3N1cGVyKHN0cnVjdCBzdXBlcl9ibG9jayAqIHNiKQ0K
IHsNCiAgICAgc2ItPnNfZGlydCA9IDA7DQogfQ0KKyNlbmRpZg0KIA0KIC8q
DQogICogWFhYIGlzIHRoaXMgZ29vZD8gDQo=

---276651502-611776909-1453469014=:9412
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Arla-drinkers mailing list
Arla-drinkers@stacken.kth.se
https://lists.stacken.kth.se/mailman/listinfo/arla-drinkers

---276651502-611776909-1453469014=:9412--

home help back first fref pref prev next nref lref last post