[5068] in arla-drinkers

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

Re: PATCH v5: Arla CVS Current on Linux 2.6.36 to 4.4

daemon@ATHENA.MIT.EDU (Bo Branten)
Sun Jan 24 17:52:56 2016

From arla-drinkers-bounces@stacken.kth.se Sun Jan 24 22:52:56 2016
Return-Path: <arla-drinkers-bounces@stacken.kth.se>
Delivered-To: arla-drinkers-mtg@bloom-picayune.mit.edu
Received: (qmail 22723 invoked from network); 24 Jan 2016 22:52:56 -0000
Received: from mx5.kth.se (130.237.32.10)
  by charon.mit.edu with SMTP; 24 Jan 2016 22:52:56 -0000
Received: from mx5.kth.se (localhost [127.0.0.1])
	by mx5.kth.se (Postfix) with ESMTP id 93D4624012A;
	Sun, 24 Jan 2016 23:52:55 +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 9xDOZGDSnQ4F; Sun, 24 Jan 2016 23:52:52 +0100 (CET)
Received: from vingummi.stacken.kth.se (lists.stacken.kth.se [130.237.234.174])
	by mx5.kth.se (Postfix) with ESMTP;
	Sun, 24 Jan 2016 23:52:51 +0100 (CET)
Received: from vingummi.stacken.kth.se (localhost [IPv6:::1])
	by vingummi.stacken.kth.se (Postfix) with ESMTP id E618314865B;
	Sun, 24 Jan 2016 23:52:51 +0100 (CET)
Received: by vingummi.stacken.kth.se (Postfix)
 id 3A38C14865B; Sun, 24 Jan 2016 23:52:51 +0100 (CET)
Delivered-To: al_stacken_kth_se______________arla-drinkers@vingummi.stacken.kth.se
Received: from mx5.kth.se (mx5.kth.se [130.237.32.10])
 by vingummi.stacken.kth.se (Postfix) with ESMTPS id 36754147BB7
 for <arla-drinkers@stacken.kth.se>; Sun, 24 Jan 2016 23:52:51 +0100 (CET)
Received: from mx5.kth.se (localhost [127.0.0.1])
 by mx5.kth.se (Postfix) with ESMTP id 2620724012A
 for <arla-drinkers@stacken.kth.se>; Sun, 24 Jan 2016 23:52:51 +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]:59619
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 13Bjtv1-TUrb for <arla-drinkers@stacken.kth.se>;
 Sun, 24 Jan 2016 23:52:49 +0100 (CET)
Received: from mail.acc.umu.se (mail.acc.umu.se [IPv6:2001:6b0:e:2018::156])
 by mx5.kth.se (Postfix) with ESMTPS
 for <arla-drinkers@stacken.kth.se>; Sun, 24 Jan 2016 23:52:49 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by amavisd-new (Postfix) with ESMTP id B8EC7A36
 for <arla-drinkers@stacken.kth.se>; Sun, 24 Jan 2016 23:52:48 +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 18EE4A35
 for <arla-drinkers@stacken.kth.se>; Sun, 24 Jan 2016 23:52:44 +0100 (MET)
Received: by suiko.acc.umu.se (Postfix, from userid 10005)
 id 0F10544B8C; Sun, 24 Jan 2016 23:52:44 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by suiko.acc.umu.se (Postfix) with ESMTP id 0D27344B8B
 for <arla-drinkers@stacken.kth.se>; Sun, 24 Jan 2016 23:52:44 +0100 (CET)
Date: Sun, 24 Jan 2016 23:52:44 +0100 (CET)
From: Bo Branten <bosse@acc.umu.se>
To: arla-drinkers@stacken.kth.se
Subject: Re: PATCH v5: Arla CVS Current on Linux 2.6.36 to 4.4
In-Reply-To: <alpine.DEB.2.10.1601150312080.11672@suiko.acc.umu.se>
Message-ID: <alpine.DEB.2.10.1601242351140.24998@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-1213922705-1453675964=:24998"
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-1213922705-1453675964=:24998
Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII

PATCH v5: Arla CVS Current on Linux 2.6.36 to 4.4

Updates in this patch:
nnpfs_block_open: removed unused variable
nnpfs_d_revalidate: support for RCU (read-copy-update)
nnpfs_message_installdata: lock the inode

Bo Branten

---276651502-1213922705-1453675964=:24998
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=patch-v5-arla-cvs-for-linux-2.6.36-to-4.4
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.DEB.2.10.1601242352440.24998@suiko.acc.umu.se>
Content-Description: 
Content-Disposition: attachment; filename=patch-v5-arla-cvs-for-linux-2.6.36-to-4.4

ZGlmZiAtdXByTiAtWG5vZGlmZiBhcmxhLWN2cy1vbGQvbm5wZnMvaW5jbHVk
ZS9ubnBmcy9ubnBmc19hdHRyLmggYXJsYS9ubnBmcy9pbmNsdWRlL25ucGZz
L25ucGZzX2F0dHIuaA0KLS0tIGFybGEtY3ZzLW9sZC9ubnBmcy9pbmNsdWRl
L25ucGZzL25ucGZzX2F0dHIuaAkyMDA2LTEwLTI0IDE4OjMzOjMwLjAwMDAw
MDAwMCArMDIwMA0KKysrIGFybGEvbm5wZnMvaW5jbHVkZS9ubnBmcy9ubnBm
c19hdHRyLmgJMjAxNi0wMS0yMiAxMjo1MTowNy4wMDAwMDAwMDAgKzAxMDAN
CkBAIC0xMTMsOCArMTEzLDE4IEBAIHN0cnVjdCBubnBmc19hdHRyIHsNCiAg
ICAgdWludDMyX3QJCXhhX25saW5rOw0KICAgICB1aW50MzJfdAkJeGFfdHlw
ZTsNCiANCisjaWZuZGVmIF9fS0VSTkVMX18NCiAgICAgdWludDMyX3QJCXhh
X3VpZDsNCiAgICAgdWludDMyX3QJCXhhX2dpZDsNCisjZWxzZQ0KKyNpZiBM
SU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywxNCwwKQ0K
KyAgICBrdWlkX3QJCXhhX3VpZDsNCisgICAga2dpZF90CQl4YV9naWQ7DQor
I2Vsc2UNCisgICAgdWludDMyX3QJCXhhX3VpZDsNCisgICAgdWludDMyX3QJ
CXhhX2dpZDsNCisjZW5kaWYNCisjZW5kaWYNCiANCiAgICAgdWludDMyX3QJ
CXhhX2F0aW1lOw0KICAgICB1aW50MzJfdAkJeGFfbXRpbWU7DQpkaWZmIC11
cHJOIC1Ybm9kaWZmIGFybGEtY3ZzLW9sZC9ubnBmcy9pbmNsdWRlL25ucGZz
L25ucGZzX21lc3NhZ2UuaCBhcmxhL25ucGZzL2luY2x1ZGUvbm5wZnMvbm5w
ZnNfbWVzc2FnZS5oDQotLS0gYXJsYS1jdnMtb2xkL25ucGZzL2luY2x1ZGUv
bm5wZnMvbm5wZnNfbWVzc2FnZS5oCTIwMDktMDItMjQgMjE6MjA6NTUuMDAw
MDAwMDAwICswMTAwDQorKysgYXJsYS9ubnBmcy9pbmNsdWRlL25ucGZzL25u
cGZzX21lc3NhZ2UuaAkyMDE2LTAxLTIyIDEyOjUzOjI5LjAwMDAwMDAwMCAr
MDEwMA0KQEAgLTUyLDcgKzUyLDE1IEBAIHR5cGVkZWYgdWludDE2X3Qgbm5w
ZnNfcmlnaHRzOw0KICAqIFRoZSBubnBmc19jcmVkLCBpZiBwYWcgPT0gMCwg
dXNlIHVpZCANCiAgKi8NCiB0eXBlZGVmIHN0cnVjdCBubnBmc19jcmVkIHsN
CisjaWZuZGVmIF9fS0VSTkVMX18NCiAgICAgdWludDMyX3QgdWlkOw0KKyNl
bHNlDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lP
TigzLDE0LDApDQorICAgIGt1aWRfdCB1aWQ7DQorI2Vsc2UNCisgICAgdWlu
dDMyX3QgdWlkOw0KKyNlbmRpZg0KKyNlbmRpZg0KICAgICBubnBmc19wYWdf
dCBwYWc7DQogfSBubnBmc19jcmVkOw0KIA0KZGlmZiAtdXByTiAtWG5vZGlm
ZiBhcmxhLWN2cy1vbGQvbm5wZnMvbGludXgvbm5wZnMvbm5wZnNfZnMuaCBh
cmxhL25ucGZzL2xpbnV4L25ucGZzL25ucGZzX2ZzLmgNCi0tLSBhcmxhLWN2
cy1vbGQvbm5wZnMvbGludXgvbm5wZnMvbm5wZnNfZnMuaAkyMDA2LTEwLTI0
IDE4OjMzOjQ4LjAwMDAwMDAwMCArMDIwMA0KKysrIGFybGEvbm5wZnMvbGlu
dXgvbm5wZnMvbm5wZnNfZnMuaAkyMDE2LTAxLTEzIDIyOjU3OjA2LjAwMDAw
MDAwMCArMDEwMA0KQEAgLTg0LDggKzg0LDEzIEBAIHN0cnVjdCBubnBmcyB7
DQogICAgIHN0cnVjdCB2ZnNtb3VudCAqY2FjaGVyb290OyAvKiBzaW1wbGlm
eSBvcGVuIG9mIGNhY2hlIGJsb2NrcyAqLw0KICAgICBzdHJ1Y3QgZGVudHJ5
ICpjYWNoZWRpcjsNCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VS
TkVMX1ZFUlNJT04oMywxNCwwKQ0KICAgICB1aWRfdCB1aWQ7IC8qIGtlZXAg
dHJhY2sgb2YgZGFlbW9uJ3MgaWRlbnRpdHkgKi8NCiAgICAgZ2lkX3QgZ2lk
Ow0KKyNlbHNlDQorICAgIGt1aWRfdCB1aWQ7IC8qIGtlZXAgdHJhY2sgb2Yg
ZGFlbW9uJ3MgaWRlbnRpdHkgKi8NCisgICAga2dpZF90IGdpZDsNCisjZW5k
aWYNCiANCiAgICAgc3RydWN0IHsNCiAJaW50IHJlY3Vyc2U7DQpkaWZmIC11
cHJOIC1Ybm9kaWZmIGFybGEtY3ZzLW9sZC9ubnBmcy9saW51eC9ubnBmcy9u
bnBmc19sb2NsLmggYXJsYS9ubnBmcy9saW51eC9ubnBmcy9ubnBmc19sb2Ns
LmgNCi0tLSBhcmxhLWN2cy1vbGQvbm5wZnMvbGludXgvbm5wZnMvbm5wZnNf
bG9jbC5oCTIwMTAtMDgtMDggMjI6NDM6MDYuMDAwMDAwMDAwICswMjAwDQor
KysgYXJsYS9ubnBmcy9saW51eC9ubnBmcy9ubnBmc19sb2NsLmgJMjAxNi0w
MS0xMyAyMzowMToxMC4wMDAwMDAwMDAgKzAxMDANCkBAIC01MSw3ICs1MSw5
IEBADQogI2luY2x1ZGUgPGxpbnV4L3N0YXQuaD4NCiAjaW5jbHVkZSA8bGlu
dXgvc3RyaW5nLmg+DQogI2luY2x1ZGUgPGxpbnV4L25hbWVpLmg+DQorI2lm
IExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwzOSkN
CiAjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4NCisjZW5kaWYNCiAjaW5j
bHVkZSA8bGludXgvd2FpdC5oPg0KIA0KIC8qDQpAQCAtMTM4LDEwICsxNDAs
MTcgQEAgdHlwZWRlZiBfX3UzMiAgdWludDMyX3Q7DQogaW50DQogbm5wZnNf
ZmV0Y2hfcm9vdChzdHJ1Y3QgaW5vZGUgKmkpOw0KIA0KKyNpZiBMSU5VWF9W
RVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMzkpDQogaW50DQog
bm5wZnNfZ2V0X3NiKHN0cnVjdCBmaWxlX3N5c3RlbV90eXBlICpmc190eXBl
LA0KIAkgICAgIGludCBmbGFncywgY29uc3QgY2hhciAqZGV2X25hbWUsDQog
CSAgICAgdm9pZCAqZGF0YSwgc3RydWN0IHZmc21vdW50ICptbnQpOw0KKyNl
bHNlDQorc3RydWN0IGRlbnRyeSoNCitubnBmc19tb3VudChzdHJ1Y3QgZmls
ZV9zeXN0ZW1fdHlwZSAqZnNfdHlwZSwNCisJICAgICBpbnQgZmxhZ3MsIGNv
bnN0IGNoYXIgKmRldl9uYW1lLA0KKwkgICAgIHZvaWQgKmRhdGEpOw0KKyNl
bmRpZg0KIA0KIGV4dGVybiBzdHJ1Y3QgZGVudHJ5X29wZXJhdGlvbnMgbm5w
ZnNfZGVudHJ5X29wZXJhdGlvbnM7DQogDQpAQCAtMTk0LDEwICsyMDMsMjEg
QEAgbm5wZnNfaXdyaXRlY291bnQgKHN0cnVjdCBpbm9kZSAqaW5vZGUpDQog
ICogSGVscCBmdW5jdGlvbiB0byByZWFkIHRoZSBkZW50cnktPmRfY291bnQg
YSBwb3J0YWJsZSB3YXkNCiAgKi8NCiANCisvKiNpZiBMSU5VWF9WRVJTSU9O
X0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMzgpKi8NCiBzdGF0aWMgaW5s
aW5lIGludA0KIG5ucGZzX2Rjb3VudCAoY29uc3Qgc3RydWN0IGRlbnRyeSAq
ZGVudHJ5KQ0KKy8qI2Vsc2UNCitzdGF0aWMgaW5saW5lIGludA0KK25ucGZz
X2Rjb3VudCAoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQ0KKyNlbmRpZiovDQog
ew0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigy
LDYsMzgpDQogICAgIHJldHVybiBhdG9taWNfcmVhZCgmZGVudHJ5LT5kX2Nv
dW50KTsNCisjZWxpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVS
U0lPTigzLDExLDApDQorICAgIHJldHVybiBhdG9taWNfcmVhZCgoY29uc3Qg
YXRvbWljX3QqKSZkZW50cnktPmRfY291bnQpOw0KKyNlbHNlDQorICAgIHJl
dHVybiBkX2NvdW50KGRlbnRyeSk7Ow0KKyNlbmRpZg0KIH0NCiANCiBleHRl
cm4gDQpAQCAtMjI5LDcgKzI0OSwxMiBAQCBubnBmc19maXh1cF9zeXNjYWxs
X2xvc3NhZ2Uodm9pZCk7DQogI2VuZGlmDQogDQogI2RlZmluZSBubnBmc19k
ZXZfdCBkZXZfdA0KKw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJO
RUxfVkVSU0lPTigyLDYsMzgpDQogI2RlZmluZSBubnBmc19kX2VudHJ5X3Vu
aGFzaGVkKGQpIGhsaXN0X3VuaGFzaGVkKGQpDQorI2Vsc2UNCisjZGVmaW5l
IG5ucGZzX2RfZW50cnlfdW5oYXNoZWQoZCkgaGxpc3RfYmxfdW5oYXNoZWQo
ZCkNCisjZW5kaWYNCiANCiAjZGVmaW5lIE5OUEZTX05PT1AgICAgICB3aGls
ZSgwKXt9DQogDQpkaWZmIC11cHJOIC1Ybm9kaWZmIGFybGEtY3ZzLW9sZC9u
bnBmcy9saW51eC9ubnBmc19ibG9ja3MuYyBhcmxhL25ucGZzL2xpbnV4L25u
cGZzX2Jsb2Nrcy5jDQotLS0gYXJsYS1jdnMtb2xkL25ucGZzL2xpbnV4L25u
cGZzX2Jsb2Nrcy5jCTIwMTAtMDgtMDggMjI6NDM6MDQuMDAwMDAwMDAwICsw
MjAwDQorKysgYXJsYS9ubnBmcy9saW51eC9ubnBmc19ibG9ja3MuYwkyMDE2
LTAxLTIzIDE1OjA4OjI0LjAwMDAwMDAwMCArMDEwMA0KQEAgLTQzLDYgKzQz
LDExIEBADQogI2luY2x1ZGUgPGxpbnV4L21vdW50Lmg+DQogI2luY2x1ZGUg
PGxpbnV4L21tLmg+DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBL
RVJORUxfVkVSU0lPTigzLDEyLDApDQorZXh0ZXJuIGludCB2ZnNfcGF0aF9s
b29rdXAoc3RydWN0IGRlbnRyeSAqLCBzdHJ1Y3QgdmZzbW91bnQgKiwNCisJ
CQkgICBjb25zdCBjaGFyICosIHVuc2lnbmVkIGludCwgc3RydWN0IHBhdGgg
Kik7DQorI2VuZGlmDQorDQogLyoNCiAgKiByZXR1cm4gdHJ1ZSBpZiBibG9j
ayBpcyBpbiBjYWNoZQ0KICAqLw0KQEAgLTI5MCw3ICsyOTUsMTMgQEAgbm5w
ZnNfYmxvY2tfZXh0ZW5kKHN0cnVjdCBubnBmc19ub2RlICpubw0KICAgICBi
YWNrbm9kZSA9IGJhY2tmaWxlLT5mX21hcHBpbmctPmhvc3Q7DQogDQogICAg
IG11dGV4X2xvY2soJmJhY2tub2RlLT5pX211dGV4KTsNCisjaWYgTElOVVhf
VkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw4LDApDQogICAgIHJl
dCA9IHZtdHJ1bmNhdGUoYmFja25vZGUsIG5ucGZzX2Jsb2Nrc2l6ZSk7DQor
I2Vsc2UNCisgICAgcmV0ID0gaW5vZGVfbmV3c2l6ZV9vayhiYWNrbm9kZSwg
bm5wZnNfYmxvY2tzaXplKTsNCisgICAgaWYoIXJldCkNCisgICAgICAgIHRy
dW5jYXRlX3NldHNpemUoYmFja25vZGUsIG5ucGZzX2Jsb2Nrc2l6ZSk7DQor
I2VuZGlmDQogICAgIG11dGV4X3VubG9jaygmYmFja25vZGUtPmlfbXV0ZXgp
Ow0KICAgICANCiAgICAgZmlscF9jbG9zZShiYWNrZmlsZSwgTlVMTCk7DQpA
QCAtMzE4LDE0ICszMjksMTkgQEAgbm5wZnNfYmxvY2tfb3BlbihzdHJ1Y3Qg
bm5wZnNfbm9kZSAqbm9kZQ0KICAgICBzdHJ1Y3Qgbm5wZnMgKm5ucGZzcCA9
IE5OUEZTX0ZST01fWE5PREUobm9kZSk7DQogICAgIHN0cnVjdCBpbm9kZSAq
aW5vZGUgPSBYTk9ERV9UT19WTk9ERShub2RlKTsNCiAgICAgaW50IGZsYWdz
ID0gT19MQVJHRUZJTEUgfCBmbGFnOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NP
REUgPCBLRVJORUxfVkVSU0lPTigzLDE5LDApDQogICAgIHN0cnVjdCBuYW1l
aWRhdGEgbmQ7DQorI2Vsc2UNCisgICAgc3RydWN0IHBhdGggcGF0aDsNCisj
ZW5kaWYNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJ
T04oMiw2LDI5KQ0KICAgICB1aWRfdCBzYXZldWlkOw0KICAgICBnaWRfdCBz
YXZlZ2lkOw0KLSAgICBpbnQgcmV0Ow0KLSNpZiBMSU5VWF9WRVJTSU9OX0NP
REUgPj0gS0VSTkVMX1ZFUlNJT04oMiw2LDI5KQ0KKyNlbHNlDQogICAgIGNv
bnN0IHN0cnVjdCBjcmVkICpvbGRfY3JlZDsNCiAgICAgc3RydWN0IGNyZWQg
Km92ZXJyaWRlX2NyZWQ7DQogI2VuZGlmDQorICAgIGludCByZXQ7DQogDQog
ICAgIEJVR19PTighbm5wZnNwKTsNCiAgICAgQlVHX09OKGZsYWdzICYgT19D
UkVBVCAmJiBmaWxlICE9IE5VTEwpOw0KQEAgLTM1MCwxNCArMzY2LDEyIEBA
IG5ucGZzX2Jsb2NrX29wZW4oc3RydWN0IG5ucGZzX25vZGUgKm5vZGUNCiAg
ICAgQlVHX09OKCFubnBmc3AtPmNhY2hlZGlyIHx8ICFubnBmc3AtPmNhY2hl
cm9vdCk7DQogICAgIA0KICAgICAvKiB1c2UgdGhlIG5mc2QgdHJpY2sgdG8g
Z2l2ZSB1cyBhY2Nlc3MgKi8NCi0jaWYgTElOVVhfVkVSU0lPTl9DT0RFIDw9
IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCisjaWYgTElOVVhfVkVSU0lPTl9D
T0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDI5KQ0KICAgICBzYXZldWlkID0g
Y3VycmVudC0+ZnN1aWQ7DQogICAgIHNhdmVnaWQgPSBjdXJyZW50LT5mc2dp
ZDsNCiAgICAgY3VycmVudC0+ZnN1aWQgPSBubnBmc3AtPnVpZDsNCiAgICAg
Y3VycmVudC0+ZnNnaWQgPSBubnBmc3AtPmdpZDsNCiAjZWxzZQ0KLSAgICBz
YXZldWlkID0gY3VycmVudF9mc3VpZCgpOw0KLSAgICBzYXZlZ2lkID0gY3Vy
cmVudF9mc2dpZCgpOw0KICAgICBvdmVycmlkZV9jcmVkID0gcHJlcGFyZV9j
cmVkcygpOw0KICAgICBpZiAob3ZlcnJpZGVfY3JlZCA9PSBOVUxMKQ0KICAg
ICAgICAgcmV0dXJuIC1FTk9NRU07DQpAQCAtMzY2LDEwICszODAsMjIgQEAg
bm5wZnNfYmxvY2tfb3BlbihzdHJ1Y3Qgbm5wZnNfbm9kZSAqbm9kZQ0KICAg
ICBvbGRfY3JlZCA9IG92ZXJyaWRlX2NyZWRzKG92ZXJyaWRlX2NyZWQpOw0K
ICNlbmRpZg0KIA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxf
VkVSU0lPTigzLDEsMCkNCiAgICAgcmV0ID0gdmZzX3BhdGhfbG9va3VwKG5u
cGZzcC0+Y2FjaGVkaXIsIG5ucGZzcC0+Y2FjaGVyb290LA0KIAkJCSAgY2Fj
aGVuYW1lLA0KIAkJCSAgZmxhZ3MgJiBPX0NSRUFUID8gTE9PS1VQX1BBUkVO
VCA6IDAsDQogCQkJICAmbmQpOw0KKyNlbGlmIExJTlVYX1ZFUlNJT05fQ09E
RSA8IEtFUk5FTF9WRVJTSU9OKDMsMTksMCkNCisgICAgcmV0ID0gdmZzX3Bh
dGhfbG9va3VwKG5ucGZzcC0+Y2FjaGVkaXIsIG5ucGZzcC0+Y2FjaGVyb290
LA0KKwkJCSAgY2FjaGVuYW1lLA0KKwkJCSAgZmxhZ3MgJiBPX0NSRUFUID8g
TE9PS1VQX1BBUkVOVCA6IDAsDQorCQkJICAmbmQucGF0aCk7DQorI2Vsc2UN
CisgICAgcmV0ID0gdmZzX3BhdGhfbG9va3VwKG5ucGZzcC0+Y2FjaGVkaXIs
IG5ucGZzcC0+Y2FjaGVyb290LA0KKwkJCSAgY2FjaGVuYW1lLA0KKwkJCSAg
ZmxhZ3MgJiBPX0NSRUFUID8gTE9PS1VQX1BBUkVOVCA6IDAsDQorCQkJICAm
cGF0aCk7DQorI2VuZGlmDQogICAgIGlmIChyZXQpIHsNCiAJdWludDMyX3Qg
bm1hc2tzID0gbm9kZS0+ZGF0YS5ubWFza3M7DQogCXVpbnQzMl90IG1hc2s7
DQpAQCAtMzk2LDE2ICs0MjIsMzcgQEAgbm5wZnNfYmxvY2tfb3BlbihzdHJ1
Y3Qgbm5wZnNfbm9kZSAqbm9kZQ0KICAgICANCiAgICAgaWYgKGZsYWdzICYg
T19DUkVBVCkgew0KIAkvKiBYWFggbW9kZSBiaXRzIG9uIGNyZWF0ZSAtLSBT
X0lSVVNSfFNfSVdVU1IgKi8NCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwg
S0VSTkVMX1ZFUlNJT04oMywxLDApDQogCXN0cnVjdCBkZW50cnkgKmRlbnRy
eSA9IGxvb2t1cF9jcmVhdGUoJm5kLCAwKTsJDQorI2VsaWYgTElOVVhfVkVS
U0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0KKwkvKiBUT0RP
OiBjaGVjayB0aGUgY2FsbCB0byBrZXJuX3BhdGhfY3JlYXRlKCksIGlzIHRo
ZSBzZWNvbmQgYXJndW1lbnQgb3B0aW9uYWw/ICovDQorCXN0cnVjdCBkZW50
cnkgKmRlbnRyeSA9IGtlcm5fcGF0aF9jcmVhdGUoQVRfRkRDV0QsIE5VTEws
ICZuZC5wYXRoLCAwKTsJDQorI2Vsc2UNCisJLyogVE9ETzogY2hlY2sgdGhl
IGNhbGwgdG8ga2Vybl9wYXRoX2NyZWF0ZSgpLCBpcyB0aGUgc2Vjb25kIGFy
Z3VtZW50IG9wdGlvbmFsPyAqLw0KKwlzdHJ1Y3QgZGVudHJ5ICpkZW50cnkg
PSBrZXJuX3BhdGhfY3JlYXRlKEFUX0ZEQ1dELCBOVUxMLCAmcGF0aCwgMCk7
CQ0KKyNlbmRpZg0KIAlpZiAoSVNfRVJSKGRlbnRyeSkpIHsNCiAJICAgIHJl
dCA9IFBUUl9FUlIoZGVudHJ5KTsNCiAJfSBlbHNlIHsNCisjaWYgTElOVVhf
VkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw2LDApDQogCSAgICBy
ZXQgPSB2ZnNfY3JlYXRlKG5kLnBhdGguZGVudHJ5LT5kX2lub2RlLCBkZW50
cnksIFNfSVJVU1J8U19JV1VTUiwgJm5kKTsNCisjZWxpZiBMSU5VWF9WRVJT
SU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDE5LDApDQorCSAgICAvKiBU
T0RPOiBzaG91bGQgdGhlIGxhc3QgYXJndW1lbnQgdG8gdmZzX2NyZWF0ZTog
Ym9vbCB3YW50X2V4Y2wsIGJlIDAgb3IgMT8gKi8NCisJICAgIHJldCA9IHZm
c19jcmVhdGUobmQucGF0aC5kZW50cnktPmRfaW5vZGUsIGRlbnRyeSwgU19J
UlVTUnxTX0lXVVNSLCAwKTsNCisjZWxzZQ0KKwkgICAgLyogVE9ETzogc2hv
dWxkIHRoZSBsYXN0IGFyZ3VtZW50IHRvIHZmc19jcmVhdGU6IGJvb2wgd2Fu
dF9leGNsLCBiZSAwIG9yIDE/ICovDQorCSAgICByZXQgPSB2ZnNfY3JlYXRl
KHBhdGguZGVudHJ5LT5kX2lub2RlLCBkZW50cnksIFNfSVJVU1J8U19JV1VT
UiwgMCk7DQorI2VuZGlmDQogCSAgICBkcHV0KGRlbnRyeSk7DQogCX0NCiAN
CisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywx
OSwwKQ0KIAltdXRleF91bmxvY2soJm5kLnBhdGguZGVudHJ5LT5kX2lub2Rl
LT5pX211dGV4KTsNCiAJcGF0aF9wdXQoJm5kLnBhdGgpOw0KKyNlbHNlDQor
CW11dGV4X3VubG9jaygmcGF0aC5kZW50cnktPmRfaW5vZGUtPmlfbXV0ZXgp
Ow0KKwlwYXRoX3B1dCgmcGF0aCk7DQorI2VuZGlmDQogDQogCWlmIChyZXQp
IHsNCiAJICAgIHByaW50aygibm5wZnNfYmxvY2tfb3BlbiglcykgY3JlYXRl
IGZhaWxlZDogJWRcbiIsIGNhY2hlbmFtZSwgLXJldCk7DQpAQCAtNDIxLDE0
ICs0NjgsMjMgQEAgbm5wZnNfYmxvY2tfb3BlbihzdHJ1Y3Qgbm5wZnNfbm9k
ZSAqbm9kZQ0KICAgICB9IGVsc2Ugew0KICNpZiBMSU5VWF9WRVJTSU9OX0NP
REUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjkpDQogCXN0cnVjdCBmaWxlICpm
ID0gZGVudHJ5X29wZW4obmQucGF0aC5kZW50cnksIG5kLnBhdGgubW50LCBm
bGFncyk7DQotI2Vsc2UNCisjZWxpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBL
RVJORUxfVkVSU0lPTigzLDYsMCkNCiAgICAgICAgIHN0cnVjdCBmaWxlICpm
ID0gZGVudHJ5X29wZW4obmQucGF0aC5kZW50cnksIG5kLnBhdGgubW50LCBm
bGFncywgY3VycmVudF9jcmVkKCkpOw0KKyNlbGlmIExJTlVYX1ZFUlNJT05f
Q09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTksMCkNCisJc3RydWN0IHBhdGgg
dG1wX3BhdGggPSB7IC5tbnQgPSBuZC5wYXRoLm1udCwgLmRlbnRyeSA9IG5k
LnBhdGguZGVudHJ5IH07DQorICAgICAgICBzdHJ1Y3QgZmlsZSAqZiA9IGRl
bnRyeV9vcGVuKCZ0bXBfcGF0aCwgZmxhZ3MsIGN1cnJlbnRfY3JlZCgpKTsN
CisjZWxzZQ0KKyAgICAgICAgc3RydWN0IGZpbGUgKmYgPSBkZW50cnlfb3Bl
bigmcGF0aCwgZmxhZ3MsIGN1cnJlbnRfY3JlZCgpKTsNCiAjZW5kaWYNCiAJ
aWYgKElTX0VSUihmKSkgew0KIAkgICAgcmV0ID0gUFRSX0VSUihmKTsNCiAJ
ICAgIHByaW50aygibm5wZnNfYmxvY2tfb3Blbiglcykgb3BlbiBmYWlsZWQ6
ICVkXG4iLCBjYWNoZW5hbWUsIC1yZXQpOw0KIAkgICAgbm5wZnNfZGVidWdf
b29wcygpOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVS
U0lPTigzLDE5LDApDQogCSAgICBwYXRoX3B1dCgmbmQucGF0aCk7DQorI2Vs
c2UNCisJICAgIHBhdGhfcHV0KCZwYXRoKTsNCisjZW5kaWYNCiAJfSBlbHNl
IHsNCiAJICAgICpmaWxlID0gZjsNCiAJfQ0KQEAgLTQzNyw3ICs0OTMsNyBA
QCBubnBmc19ibG9ja19vcGVuKHN0cnVjdCBubnBmc19ub2RlICpub2RlDQog
ICAgIC8qIHBhdGhfcmVsZWFzZSgpIGlzIHVzdWFsbHkgaGFuZGxlZCBvbiBj
bG9zZSAqLw0KIA0KICBvdXQ6DQotI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8
PSBLRVJORUxfVkVSU0lPTigyLDYsMjgpDQorI2lmIExJTlVYX1ZFUlNJT05f
Q09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwyOSkNCiAgICAgY3VycmVudC0+
ZnN1aWQgPSBzYXZldWlkOw0KICAgICBjdXJyZW50LT5mc2dpZCA9IHNhdmVn
aWQ7DQogI2Vsc2UNCmRpZmYgLXVwck4gLVhub2RpZmYgYXJsYS1jdnMtb2xk
L25ucGZzL2xpbnV4L25ucGZzX2NvbW1vbi5jIGFybGEvbm5wZnMvbGludXgv
bm5wZnNfY29tbW9uLmMNCi0tLSBhcmxhLWN2cy1vbGQvbm5wZnMvbGludXgv
bm5wZnNfY29tbW9uLmMJMjAwNi0xMi0xMSAxNzozMTo0Ni4wMDAwMDAwMDAg
KzAxMDANCisrKyBhcmxhL25ucGZzL2xpbnV4L25ucGZzX2NvbW1vbi5jCTIw
MTYtMDEtMTQgMTY6MTU6MDAuMDAwMDAwMDAwICswMTAwDQpAQCAtMTEyLDEw
ICsxMTIsMTUgQEAgbm5wZnNfcHJpbnRfYWxpYXNlcyhjb25zdCBzdHJ1Y3Qg
aW5vZGUgKg0KIHZvaWQNCiBubnBmc19wcmludF9hbGlhc2VzX3JlYWwoY29u
c3Qgc3RydWN0IGlub2RlICppbm9kZSkNCiB7DQorI2lmIExJTlVYX1ZFUlNJ
T05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsNiwwKQ0KICAgICBzdHJ1Y3Qg
bGlzdF9oZWFkICphbGlhczsNCisjZWxpZiBMSU5VWF9WRVJTSU9OX0NPREUg
PCBLRVJORUxfVkVSU0lPTigzLDksMCkNCisgICAgc3RydWN0IGhsaXN0X25v
ZGUgKmFsaWFzOw0KKyNlbmRpZg0KICAgICBzdHJ1Y3QgZGVudHJ5ICpkZW50
cnk7DQogICAgIGludCBiYWlsb3V0ID0gMTAwOw0KIA0KKyNpZiBMSU5VWF9W
RVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDYsMCkNCiAgICAgYWxp
YXMgPSBpbm9kZS0+aV9kZW50cnkubmV4dDsNCiAgICAgd2hpbGUgKGFsaWFz
ICE9ICZpbm9kZS0+aV9kZW50cnkpIHsNCiAJaWYgKC0tYmFpbG91dCA8IDAp
IHsNCkBAIC0xMzEsNiArMTM2LDI2IEBAIG5ucGZzX3ByaW50X2FsaWFzZXNf
cmVhbChjb25zdCBzdHJ1Y3QgaW4NCiAJfQ0KIAlhbGlhcyA9IGFsaWFzLT5u
ZXh0Ow0KICAgICB9DQorI2Vsc2UNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RF
IDwgS0VSTkVMX1ZFUlNJT04oMyw5LDApDQorICAgIGhsaXN0X2Zvcl9lYWNo
X2VudHJ5KGRlbnRyeSwgYWxpYXMsICZpbm9kZS0+aV9kZW50cnksIGRfYWxp
YXMpIHsNCisjZWxpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVS
U0lPTigzLDE5LDApDQorICAgIGhsaXN0X2Zvcl9lYWNoX2VudHJ5KGRlbnRy
eSwgJmlub2RlLT5pX2RlbnRyeSwgZF9hbGlhcykgew0KKyNlbHNlDQorICAg
IGhsaXN0X2Zvcl9lYWNoX2VudHJ5KGRlbnRyeSwgJmlub2RlLT5pX2RlbnRy
eSwgZF91LmRfYWxpYXMpIHsNCisjZW5kaWYNCisJaWYgKC0tYmFpbG91dCA8
IDApIHsNCisJICAgIHByaW50aygiIC4uLiIpOw0KKwkgICAgYnJlYWs7DQor
CX0NCisJaWYgKGRlbnRyeSkgew0KKwkgICAgcHJpbnRrKCIgJS4qcyglcCki
LCAoaW50KWRlbnRyeS0+ZF9uYW1lLmxlbiwNCisJCSAgIGRlbnRyeS0+ZF9u
YW1lLm5hbWUsIGRlbnRyeSk7DQorCSAgICBpZiAobm5wZnNfZF9lbnRyeV91
bmhhc2hlZCgmZGVudHJ5LT5kX2hhc2gpKQ0KKwkJcHJpbnRrKCIodW5oYXNo
ZWQpIik7DQorCX0NCisgICAgfQ0KKyNlbmRpZg0KICAgICBwcmludGsoIlxu
Iik7DQogfQ0KIA0KQEAgLTE0Niw3ICsxNzEsMTEgQEAgbm5wZnNfcHJpbnRf
Y2hpbGRyZW4oY29uc3Qgc3RydWN0IGRlbnRyeQ0KIA0KICAgICB3aGlsZSAo
c3ViZGlycyAhPSAmZGVudHJ5LT5kX3N1YmRpcnMpIHsNCiAJc3RydWN0IGxp
c3RfaGVhZCAqdG1wID0gc3ViZGlyczsNCisjaWYgTElOVVhfVkVSU0lPTl9D
T0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0KIAlzdHJ1Y3QgZGVudHJ5
ICpjaGlsZCA9IGxpc3RfZW50cnkodG1wLCBzdHJ1Y3QgZGVudHJ5LCBkX3Uu
ZF9jaGlsZCk7DQorI2Vsc2UNCisJc3RydWN0IGRlbnRyeSAqY2hpbGQgPSBs
aXN0X2VudHJ5KHRtcCwgc3RydWN0IGRlbnRyeSwgZF9jaGlsZCk7DQorI2Vu
ZGlmDQogDQogCXByaW50aygiICUuKnMoJXApIiwgKGludCljaGlsZC0+ZF9u
YW1lLmxlbiwNCiAJICAgICAgIGNoaWxkLT5kX25hbWUubmFtZSwgY2hpbGQp
Ow0KZGlmZiAtdXByTiAtWG5vZGlmZiBhcmxhLWN2cy1vbGQvbm5wZnMvbGlu
dXgvbm5wZnNfZGV2LmMgYXJsYS9ubnBmcy9saW51eC9ubnBmc19kZXYuYw0K
LS0tIGFybGEtY3ZzLW9sZC9ubnBmcy9saW51eC9ubnBmc19kZXYuYwkyMDA2
LTEwLTI0IDE4OjMzOjM2LjAwMDAwMDAwMCArMDIwMA0KKysrIGFybGEvbm5w
ZnMvbGludXgvbm5wZnNfZGV2LmMJMjAxNi0wMS0xNCAxNjoyODoxOS4wMDAw
MDAwMDAgKzAxMDANCkBAIC0zMDAsNyArMzAwLDkgQEAgbm5wZnNfaW52YWxp
ZGF0ZV9hbGwoc3RydWN0IG5ucGZzICpubnBmcw0KICAgICBOTlBGU0RFQihY
REVCTk9ERSwgKCJmcmVlX2FsbF9ubnBmc19ub2RlcyBzdGFydGluZ1xuIikp
Ow0KIA0KICAgICBzaHJpbmtfZGNhY2hlX3NiKG5ucGZzLT5zYik7DQorI2lm
IExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwzNykN
CiAgICAgaW52YWxpZGF0ZV9pbm9kZXMobm5wZnMtPnNiKTsNCisjZW5kaWYN
CiAgICAgDQogICAgIE5OUEZTREVCKFhERUJOT0RFLCAoImZyZWVfYWxsX25u
cGZzX25vZGVzIGRvbmVcbiIpKTsNCiB9DQpAQCAtMzc0LDcgKzM3NiwxMSBA
QCBubnBmc19kZXZjbG9zZShzdHJ1Y3QgaW5vZGUgKiBpbm9kZSwgc3RyDQog
c3RhdGljIHNzaXplX3QNCiBubnBmc19kZXZyZWFkKHN0cnVjdCBmaWxlICpm
aWxlLCBjaGFyICpidWYsIHNpemVfdCBjb3VudCwgbG9mZl90ICpwcG9zKQ0K
IHsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04o
MywxOSwwKQ0KICAgICBubnBmc19kZXZfdCBkZXYgPSBmaWxlLT5mX2RlbnRy
eS0+ZF9pbm9kZS0+aV9yZGV2Ow0KKyNlbHNlDQorICAgIG5ucGZzX2Rldl90
IGRldiA9IGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUtPmlfcmRldjsN
CisjZW5kaWYNCiAgICAgc3RydWN0IG5ucGZzICpubnBmc3AgPSAmbm5wZnNb
TUlOT1IoZGV2KV07DQogICAgIHN0cnVjdCBubnBmc19saW5rICpmaXJzdDsN
CiAgICAgaW50IHJldCA9IDAsIGVycm9yID0gMDsNCkBAIC00MzksOCArNDQ1
LDEyIEBAIG5ucGZzX2RldndyaXRlKHN0cnVjdCBmaWxlICpmaWxlLCBjb25z
dCANCiANCiAgICAgTk5QRlNERUIoWERFQkRFViwgKCJubnBmc19kZXZ3cml0
ZVxuIikpOw0KICAgICANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VS
TkVMX1ZFUlNJT04oMywxOSwwKQ0KICAgICBkZXYgPSBmaWxlLT5mX2RlbnRy
eS0+ZF9pbm9kZS0+aV9yZGV2Ow0KLSAgICBubnBmc3AgPSAmbm5wZnNbTUlO
T1IoZGV2KV07DQorI2Vsc2UNCisgICAgZGV2ID0gZmlsZS0+Zl9wYXRoLmRl
bnRyeS0+ZF9pbm9kZS0+aV9yZGV2Ow0KKyNlbmRpZg0KKyAgICAgbm5wZnNw
ID0gJm5ucGZzW01JTk9SKGRldildOw0KIA0KICAgICBkb3duKCZubnBmc3At
PmNoYW5uZWxfc2VtKTsNCiAgICAgaWYgKG5ucGZzcC0+c3RhdHVzICYgTk5Q
RlNfREVWV1JJVEUpIHsNCkBAIC01MDUsMTkgKzUxNSwzNyBAQCBubnBmc19k
ZXZ3cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwgY29uc3QgDQogLyoNCiAgKiBO
b3QgdXNlZC4NCiAgKi8NCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VS
TkVMX1ZFUlNJT04oMiw2LDM2KQ0KIHN0YXRpYyBpbnQNCiBubnBmc19kZXZp
b2N0bChzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmlsZSAqZmlsZSwN
CiAJICAgICAgIHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJn
KQ0KKyNlbHNlDQorc3RhdGljIGxvbmcNCitubnBmc191bmxvY2tlZF9kZXZp
b2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwNCisJICAgICAgIHVuc2lnbmVkIGlu
dCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQ0KKyNlbmRpZg0KIHsNCisjaWYg
TElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDM2KQ0K
ICAgICBOTlBGU0RFQihYREVCREVWLCAoIm5ucGZzX2RldmlvY3RsIGRldiA9
ICVkLCBmbGFncyA9ICVkXG4iLA0KIAkJICAgICAgIGlub2RlLT5pX3JkZXYs
IGZpbGUtPmZfZmxhZ3MpKTsNCisjZWxpZiBMSU5VWF9WRVJTSU9OX0NPREUg
PCBLRVJORUxfVkVSU0lPTigzLDE5LDApDQorICAgIE5OUEZTREVCKFhERUJE
RVYsICgibm5wZnNfZGV2aW9jdGwgZGV2ID0gJWQsIGZsYWdzID0gJWRcbiIs
DQorCQkgICAgICAgZmlsZS0+Zl9kZW50cnktPmRfaW5vZGUtPmlfcmRldiwg
ZmlsZS0+Zl9mbGFncykpOw0KKyNlbHNlDQorICAgIE5OUEZTREVCKFhERUJE
RVYsICgibm5wZnNfZGV2aW9jdGwgZGV2ID0gJWQsIGZsYWdzID0gJWRcbiIs
DQorCQkgICAgICAgZmlsZS0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZS0+aV9y
ZGV2LCBmaWxlLT5mX2ZsYWdzKSk7DQorI2VuZGlmDQogICAgIHJldHVybiAt
RUlOVkFMOw0KIH0NCiANCiBzdGF0aWMgdW5zaWduZWQgaW50DQogbm5wZnNf
ZGV2cG9sbChzdHJ1Y3QgZmlsZSAqZmlsZSwgcG9sbF90YWJsZSAqd2FpdCkN
CiB7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9O
KDMsMTksMCkNCiAgICAgbm5wZnNfZGV2X3QgZGV2ID0gZmlsZS0+Zl9kZW50
cnktPmRfaW5vZGUtPmlfcmRldjsNCisjZWxzZQ0KKyAgICBubnBmc19kZXZf
dCBkZXYgPSBmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlLT5pX3JkZXY7
DQorI2VuZGlmDQogICAgIHN0cnVjdCBubnBmcyAqbm5wZnNwID0gJm5ucGZz
W01JTk9SKGRldildOw0KICAgICBpbnQgcmV0ID0gMDsNCiAgICAgDQpAQCAt
OTUzLDcgKzk4MSwxMSBAQCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIG5ucGZz
X2ZvcHMgPSB7DQogICAgIHJlYWQ6CQlubnBmc19kZXZyZWFkLA0KICAgICB3
cml0ZToJCW5ucGZzX2RldndyaXRlLA0KICAgICBwb2xsOgkJbm5wZnNfZGV2
cG9sbCwNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJ
T04oMiw2LDM2KQ0KICAgICBpb2N0bDoJCW5ucGZzX2RldmlvY3RsLA0KKyNl
bHNlDQorICAgIHVubG9ja2VkX2lvY3RsOglubnBmc191bmxvY2tlZF9kZXZp
b2N0bCwNCisjZW5kaWYNCiAgICAgcmVsZWFzZToJCW5ucGZzX2RldmNsb3Nl
LA0KICAgICBvcGVuOgkJbm5wZnNfZGV2b3BlbiwNCiB9Ow0KQEAgLTk2OCw4
ICsxMDAwLDEzIEBAIG5ucGZzX2luaXRfZGV2aWNlKHZvaWQpDQogCWluaXRf
d2FpdHF1ZXVlX2hlYWQoJihubnBmc1tpXS53YWl0X3F1ZXVlKSk7DQogCW5u
cGZzX2luaXRxKCZubnBmc1tpXS5tZXNzYWdlcSk7DQogCW5ucGZzX2luaXRx
KCZubnBmc1tpXS5zbGVlcHEpOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUg
PCBLRVJORUxfVkVSU0lPTigyLDYsMzcpDQogCWluaXRfTVVURVgoJm5ucGZz
W2ldLmluYWN0aXZlX3NlbSk7DQogCWluaXRfTVVURVgoJm5ucGZzW2ldLmNo
YW5uZWxfc2VtKTsNCisjZWxzZQ0KKwlzZW1hX2luaXQoJm5ucGZzW2ldLmlu
YWN0aXZlX3NlbSwgMSk7DQorCXNlbWFfaW5pdCgmbm5wZnNbaV0uY2hhbm5l
bF9zZW0sIDEpOw0KKyNlbmRpZg0KIAlJTklUX0xJU1RfSEVBRCgmbm5wZnNb
aV0uaW5hY3RpdmVfbGlzdCk7DQogCW5ucGZzW2ldLm5ub2RlcyA9IDA7DQog
ICAgIH0NCmRpZmYgLXVwck4gLVhub2RpZmYgYXJsYS1jdnMtb2xkL25ucGZz
L2xpbnV4L25ucGZzX2lub2Rlb3BzLmMgYXJsYS9ubnBmcy9saW51eC9ubnBm
c19pbm9kZW9wcy5jDQotLS0gYXJsYS1jdnMtb2xkL25ucGZzL2xpbnV4L25u
cGZzX2lub2Rlb3BzLmMJMjAxMC0wOC0wOCAyMjo0MzowNC4wMDAwMDAwMDAg
KzAyMDANCisrKyBhcmxhL25ucGZzL2xpbnV4L25ucGZzX2lub2Rlb3BzLmMJ
MjAxNi0wMS0yNCAxNToyODo0NS4wMDAwMDAwMDAgKzAxMDANCkBAIC00MCwx
MCArNDAsMTQgQEANCiAjaW5jbHVkZSA8bm5wZnMvbm5wZnNfZGV2Lmg+DQog
I2luY2x1ZGUgPG5ucGZzL25ucGZzX2RpcmVudC5oPg0KICNpbmNsdWRlIDxu
bnBmcy9ubnBmc19zeXNjYWxscy5oPg0KKyNpbmNsdWRlIDxsaW51eC9haW8u
aD4NCiAjaW5jbHVkZSA8bGludXgvYmluZm10cy5oPg0KICNpbmNsdWRlIDxs
aW51eC9maWxlLmg+DQogI2luY2x1ZGUgPGxpbnV4L3BhZ2VtYXAuaD4NCiAj
aW5jbHVkZSA8bGludXgvcGFnZS1mbGFncy5oPg0KKyNpZiBMSU5VWF9WRVJT
SU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCwxLDApDQorI2luY2x1ZGUg
PGxpbnV4L3Vpby5oPg0KKyNlbmRpZg0KICNpbmNsdWRlIDxsaW51eC93cml0
ZWJhY2suaD4NCiAjaW5jbHVkZSA8YXNtL2ZjbnRsLmg+DQogDQpAQCAtNTQs
MTEgKzU4LDIzIEBAIFJDU0lEKCIkSWQ6IG5ucGZzX2lub2Rlb3BzLmMsdiAx
LjIyNiAyMDENCiBzdGF0aWMgaW50DQogbm5wZnNfZnN5bmNfaW50KHN0cnVj
dCBmaWxlICpmaWxlLCB1X2ludCBmbGFnKTsNCiANCisjaWYgTElOVVhfVkVS
U0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw2LDApDQogc3RhdGljIGlu
dA0KIG5ucGZzX2RfcmV2YWxpZGF0ZShzdHJ1Y3QgZGVudHJ5ICpkZW50cnks
IHN0cnVjdCBuYW1laWRhdGEgKm5kKTsNCi0NCisjZWxzZQ0KIHN0YXRpYyBp
bnQNCitubnBmc19kX3JldmFsaWRhdGUoc3RydWN0IGRlbnRyeSAqZGVudHJ5
LCB1bnNpZ25lZCBpbnQgZmxhZ3MpOw0KKyNlbmRpZg0KKw0KKyNpZiBMSU5V
WF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMzgpDQorc3Rh
dGljDQoraW50DQogbm5wZnNfZF9kZWxldGUoc3RydWN0IGRlbnRyeSAqZGVu
dHJ5KTsNCisjZWxzZQ0KK3N0YXRpYw0KK2ludA0KK25ucGZzX2RfZGVsZXRl
KGNvbnN0IHN0cnVjdCBkZW50cnkgKmRlbnRyeSk7DQorI2VuZGlmDQogDQog
c3RhdGljIHZvaWQNCiBubnBmc19kX3JlbGVhc2Uoc3RydWN0IGRlbnRyeSAq
ZGVudHJ5KTsNCkBAIC0yMTQsOCArMjMwLDEzIEBAIG5ucGZzX2lub2RlX3Zh
bGlkKHN0cnVjdCBpbm9kZSAqaW5vZGUpDQogICogbm5wZnNfbG9va3VwIG5v
dyByZXR1cm5zIGEgZGVudHJ5Lg0KICAqLw0KIA0KKyNpZiBMSU5VWF9WRVJT
SU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDYsMCkNCiBzdGF0aWMgc3Ry
dWN0IGRlbnRyeSAqDQogbm5wZnNfbG9va3VwIChzdHJ1Y3QgaW5vZGUgKmRp
ciwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgbmFtZWlkYXRhICpu
ZCkNCisjZWxzZQ0KK3N0YXRpYyBzdHJ1Y3QgZGVudHJ5ICoNCitubnBmc19s
b29rdXAgKHN0cnVjdCBpbm9kZSAqZGlyLCBzdHJ1Y3QgZGVudHJ5ICpkZW50
cnksIHVuc2lnbmVkIGludCBmbGFncykNCisjZW5kaWYNCiB7DQogICAgIHN0
cnVjdCBubnBmc19tZXNzYWdlX2dldG5vZGUgbXNnOw0KICAgICBzdHJ1Y3Qg
bm5wZnMgKm5ucGZzcDsNCkBAIC00MDcsNyArNDI4LDExIEBAIGZpbmRfZmly
c3RfYmxvY2soc3RydWN0IG5ucGZzX25vZGUgKm5vZGUNCiBzdGF0aWMgaW50
DQogbm5wZnNfZnN5bmNfaW50KHN0cnVjdCBmaWxlICpmaWxlLCB1X2ludCBm
bGFnKQ0KIHsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZF
UlNJT04oMywxOSwwKQ0KICAgICBzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZmls
ZS0+Zl9kZW50cnktPmRfaW5vZGU7DQorI2Vsc2UNCisgICAgc3RydWN0IGlu
b2RlICppbm9kZSA9IGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGU7DQor
I2VuZGlmDQogICAgIHN0cnVjdCBubnBmcyAqbm5wZnNwID0gTk5QRlNfRlJP
TV9WTk9ERShpbm9kZSk7DQogICAgIHN0cnVjdCBubnBmc19ub2RlICp4biA9
IFZOT0RFX1RPX1hOT0RFKGlub2RlKTsNCiAgICAgbG9mZl90IGxlbiA9IGlf
c2l6ZV9yZWFkKGlub2RlKTsNCkBAIC00NzQsMTUgKzQ5OSwxOCBAQCBubnBm
c19mc3luY19pbnQoc3RydWN0IGZpbGUgKmZpbGUsIHVfaW50DQogICoNCiAg
Ki8NCiANCi0jaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJ
T04oMiwgNiwgMzUpDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5F
TF9WRVJTSU9OKDIsNiwzNSkNCiBzdGF0aWMgaW50DQogbm5wZnNfZnN5bmMo
c3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgaW50
IGRhdGFzeW5jKQ0KLSNlbHNlDQorI2VsaWYgTElOVVhfVkVSU0lPTl9DT0RF
IDwgS0VSTkVMX1ZFUlNJT04oMywxLDApDQogc3RhdGljIGludA0KIG5ucGZz
X2ZzeW5jKHN0cnVjdCBmaWxlICpmaWxlLCBpbnQgZGF0YXN5bmMpDQorI2Vs
c2UNCitzdGF0aWMgaW50DQorbm5wZnNfZnN5bmMoc3RydWN0IGZpbGUgKmZp
bGUsIGxvZmZfdCBzdGFydCwgbG9mZl90IGVuZCwgaW50IGRhdGFzeW5jKQ0K
ICNlbmRpZg0KIHsNCi0jaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5F
TF9WRVJTSU9OKDIsIDYsIDM1KQ0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUg
Pj0gS0VSTkVMX1ZFUlNJT04oMiw2LDM1KQ0KICAgICBzdHJ1Y3QgZGVudHJ5
ICpkZW50cnkgPSBmaWxlLT5mX3BhdGguZGVudHJ5Ow0KICNlbmRpZg0KICAg
ICBzdHJ1Y3QgaW5vZGUgKmlub2RlID0gREVOVFJZX1RPX0lOT0RFKGRlbnRy
eSk7DQpAQCAtNDkwLDYgKzUxOCw4IEBAIG5ucGZzX2ZzeW5jKHN0cnVjdCBm
aWxlICpmaWxlLCBpbnQgZGF0YXMNCiAgICAgc3RydWN0IG5ucGZzX25vZGUg
KnhuOw0KICAgICBpbnQgZXJyb3IgPSAwOw0KIA0KKyAgICAodm9pZClubnBm
c3A7DQorDQogICAgIGVycm9yID0gbm5wZnNfaW5vZGVfdmFsaWQoaW5vZGUp
Ow0KICAgICBpZiAoZXJyb3IpDQogCXJldHVybiBlcnJvcjsNCkBAIC02MjIs
MTEgKzY1MiwyNSBAQCBjaGVja19yaWdodHMgKG5ucGZzX3JpZ2h0cyByaWdo
dHMsIGludCBtDQogICogV2UgZG9uJ3QgaG9sZCBpX211dGV4Lg0KICAqLw0K
IA0KKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04o
Miw2LDM4KSB8fCBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJ
T04oMywxLDApKQ0KIHN0YXRpYyBpbnQNCiBubnBmc19wZXJtaXNzaW9uKHN0
cnVjdCBpbm9kZSAqaW5vZGUsIGludCBtb2RlKQ0KKyNlbHNlDQorc3RhdGlj
IGludA0KK25ucGZzX3Blcm1pc3Npb24oc3RydWN0IGlub2RlICppbm9kZSwg
aW50IG1vZGUsIHVuc2lnbmVkIGludCBmbGFncykNCisjZW5kaWYNCiB7DQog
ICAgIGludCBlcnJvciA9IDA7DQotICAgIG5ucGZzX3BhZ190IHBhZyA9IG5u
cGZzX2dldF9wYWcoKTsNCisgICAgbm5wZnNfcGFnX3QgcGFnOw0KKyNpZiBM
SU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywxLDApDQor
ICAgIGlmIChtb2RlICYgTUFZX05PVF9CTE9DSykNCisgICAgICAgIHJldHVy
biAtRUNISUxEOw0KKyNlbGlmIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJO
RUxfVkVSU0lPTigyLDYsMzgpDQorICAgIGlmIChmbGFncyAmIElQRVJNX0ZM
QUdfUkNVKQ0KKyAgICAgICAgcmV0dXJuIC1FQ0hJTEQ7DQorI2VuZGlmDQor
DQorICAgIHBhZyA9IG5ucGZzX2dldF9wYWcoKTsNCiAgICAgDQogICAgIE5O
UEZTREVCKFhERUJWTk9QUywgKCJubnBmc19hY2Nlc3MgKCVwKSBtb2RlID0g
MCVvIGFsaWFzZXM6IiwgaW5vZGUsIG1vZGUpKTsNCiAgICAgbm5wZnNfcHJp
bnRfYWxpYXNlcyhpbm9kZSk7DQpAQCAtNzg0LDExICs4MjgsMTkgQEAgbm5w
ZnNfZGF0YV92YWxpZChzdHJ1Y3QgaW5vZGUgKmlub2RlLCB1Xw0KIGludCBu
bnBmc19maWxlX21tYXAoc3RydWN0IGZpbGUgKiBmaWxlLCBzdHJ1Y3Qgdm1f
YXJlYV9zdHJ1Y3QgKiB2bWEpDQogew0KICAgICBpbnQgZmxhZ3MsIGVycm9y
ID0gMDsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJ
T04oMywxOSwwKQ0KICAgICBzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZmlsZS0+
Zl9kZW50cnktPmRfaW5vZGU7DQorI2Vsc2UNCisgICAgc3RydWN0IGlub2Rl
ICppbm9kZSA9IGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGU7DQorI2Vu
ZGlmDQogICAgIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nID0gZmls
ZS0+Zl9tYXBwaW5nOw0KIA0KICAgICBOTlBGU0RFQihYREVCVk5PUFMsICgi
bm5wZnNfbW1hcCBpbm9kZTogJXBcbiIsIGlub2RlKSk7DQorI2lmIExJTlVY
X1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTksMCkNCiAgICAg
bm5wZnNfcHJpbnRfcGF0aChmaWxlLT5mX2RlbnRyeSk7DQorI2Vsc2UNCisg
ICAgbm5wZnNfcHJpbnRfcGF0aChmaWxlLT5mX3BhdGguZGVudHJ5KTsNCisj
ZW5kaWYNCiAgICAgTk5QRlNERUIoWERFQlZOT1BTLCAoIm5ucGZzX21tYXAg
YWxpYXNlczoiKSk7DQogICAgIG5ucGZzX3ByaW50X2FsaWFzZXMoaW5vZGUp
Ow0KICAgICANCkBAIC04MjMsMjggKzg3NSw1MSBAQCBpbnQgbm5wZnNfZmls
ZV9tbWFwKHN0cnVjdCBmaWxlICogZmlsZSwgDQogICoNCiAgKi8NCiANCisj
aWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxNiww
KQ0KIHN0YXRpYyBzc2l6ZV90DQogbm5wZnNfYWlvX3JlYWQoc3RydWN0IGtp
b2NiICppb2NiLA0KIAkgICAgICAgY29uc3Qgc3RydWN0IGlvdmVjICppb3Ys
IHVuc2lnbmVkIGxvbmcgbnJfc2VncywNCiAJICAgICAgIGxvZmZfdCBwb3Mp
DQorI2Vsc2UNCitzdGF0aWMgc3NpemVfdA0KK25ucGZzX3JlYWRfaXRlcihz
dHJ1Y3Qga2lvY2IgKmlvY2IsIHN0cnVjdCBpb3ZfaXRlciAqdG8pDQorI2Vu
ZGlmDQogew0KICAgICBpbnQgZXJyb3IgPSAwOw0KICAgICBzdHJ1Y3QgZmls
ZSAqZmlsZSA9IGlvY2ItPmtpX2ZpbHA7DQorI2lmIExJTlVYX1ZFUlNJT05f
Q09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTIsMCkNCiAgICAgc3NpemVfdCBj
b3VudCA9IGlvY2ItPmtpX2xlZnQ7DQorI2VsaWYgTElOVVhfVkVSU0lPTl9D
T0RFIDwgS0VSTkVMX1ZFUlNJT04oNCwxLDApDQorICAgIHNzaXplX3QgY291
bnQgPSBpb2NiLT5raV9uYnl0ZXM7DQorI2Vsc2UNCisgICAgc3NpemVfdCBj
b3VudCA9IGlvdl9pdGVyX2NvdW50KHRvKTsNCisjZW5kaWYNCisjaWYgTElO
VVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0KICAg
ICBzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZmlsZS0+Zl9kZW50cnktPmRfaW5v
ZGU7DQorI2Vsc2UNCisgICAgc3RydWN0IGlub2RlICppbm9kZSA9IGZpbGUt
PmZfcGF0aC5kZW50cnktPmRfaW5vZGU7DQorI2VuZGlmDQogICAgIHN0cnVj
dCBubnBmc19ub2RlICp4biA9IFZOT0RFX1RPX1hOT0RFKGlub2RlKTsNCiAg
ICAgDQogICAgIGlmICh4biAhPSBOVUxMKQ0KIAlOTlBGU0RFQihYREVCVk5P
UFMsICgibm5wZnNfcmVhZF9maWxlKCVwKTogdG9rZW5zOiAweCV4XG4iLA0K
IAkJCSAgICAgaW5vZGUsIHhuLT50b2tlbnMpKTsNCiANCisjaWYgTElOVVhf
VkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxNiwwKQ0KICAgICBl
cnJvciA9IG5ucGZzX2RhdGFfdmFsaWQoaW5vZGUsIE5OUEZTX0RBVEFfUiwg
cG9zLCBwb3MgKyBjb3VudCk7DQorI2Vsc2UNCisgICAgZXJyb3IgPSBubnBm
c19kYXRhX3ZhbGlkKGlub2RlLCBOTlBGU19EQVRBX1IsIGlvY2ItPmtpX3Bv
cywgaW9jYi0+a2lfcG9zICsgY291bnQpOw0KKyNlbmRpZg0KICAgICBpZiAo
ZXJyb3IpIHsNCiAJTk5QRlNERUIoWERFQlZOT1BTLCAoIm5ucGZzX3JlYWRf
ZmlsZTogZGF0YSBub3QgdmFsaWQgJWRcbiIsIGVycm9yKSk7DQogCXJldHVy
biBlcnJvcjsNCiAgICAgfQ0KICAgICANCisjaWYgTElOVVhfVkVSU0lPTl9D
T0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxNiwwKQ0KICAgICBlcnJvciA9IGdl
bmVyaWNfZmlsZV9haW9fcmVhZChpb2NiLCBpb3YsIG5yX3NlZ3MsIHBvcyk7
DQorI2Vsc2UNCisgICAgZXJyb3IgPSBnZW5lcmljX2ZpbGVfcmVhZF9pdGVy
KGlvY2IsIHRvKTsNCisjZW5kaWYNCiAgICAgTk5QRlNERUIoWERFQlZOT1BT
LCAoIm5ucGZzX3JlYWRfZmlsZTogZXJyb3IgPSAlZFxuIiwgZXJyb3IpKTsN
CiAgICAgcmV0dXJuIGVycm9yOw0KIH0NCkBAIC04NTMsMTcgKzkyOCwzNiBA
QCBubnBmc19haW9fcmVhZChzdHJ1Y3Qga2lvY2IgKmlvY2IsDQogICoNCiAg
Ki8NCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJ
T04oMywxNiwwKQ0KIHN0YXRpYyBzc2l6ZV90DQogbm5wZnNfYWlvX3dyaXRl
KHN0cnVjdCBraW9jYiAqaW9jYiwNCiAJCWNvbnN0IHN0cnVjdCBpb3ZlYyAq
aW92LCB1bnNpZ25lZCBsb25nIG5yX3NlZ3MsDQogCQlsb2ZmX3QgcG9zKQ0K
KyNlbHNlDQorc3RhdGljIHNzaXplX3QNCitubnBmc193cml0ZV9pdGVyKHN0
cnVjdCBraW9jYiAqaW9jYiwgc3RydWN0IGlvdl9pdGVyICpmcm9tKQ0KKyNl
bmRpZg0KIHsNCiAgICAgaW50IGVycm9yID0gMDsNCiAgICAgc3RydWN0IGZp
bGUgKmZpbGUgPSBpb2NiLT5raV9maWxwOw0KKyNpZiBMSU5VWF9WRVJTSU9O
X0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDEyLDApDQogICAgIHNzaXplX3Qg
Y291bnQgPSBpb2NiLT5raV9sZWZ0Ow0KKyNlbGlmIExJTlVYX1ZFUlNJT05f
Q09ERSA8IEtFUk5FTF9WRVJTSU9OKDQsMSwwKQ0KKyAgICBzc2l6ZV90IGNv
dW50ID0gaW9jYi0+a2lfbmJ5dGVzOw0KKyNlbHNlDQorICAgIHNzaXplX3Qg
Y291bnQgPSBpb3ZfaXRlcl9jb3VudChmcm9tKTsNCisjZW5kaWYNCisjaWYg
TElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0K
ICAgICBzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZmlsZS0+Zl9kZW50cnktPmRf
aW5vZGU7DQorI2Vsc2UNCisgICAgc3RydWN0IGlub2RlICppbm9kZSA9IGZp
bGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGU7DQorI2VuZGlmDQogICAgIHN0
cnVjdCBubnBmc19ub2RlICp4biA9IFZOT0RFX1RPX1hOT0RFKGlub2RlKTsN
CisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywx
NiwwKQ0KICAgICBsb2ZmX3QgcmVhbHBvcyA9IHBvczsNCisjZWxzZQ0KKyAg
ICBsb2ZmX3QgcmVhbHBvcyA9IGlvY2ItPmtpX3BvczsNCisjZW5kaWYNCiAg
ICAgDQogICAgIE5OUEZTREVCKFhERUJWTk9QUywgKCJubnBmc19haW9fd3Jp
dGUoJXApOiB0b2tlbnM6IDB4JXhcbiIsDQogCQkJIGlub2RlLCB4bi0+dG9r
ZW5zKSk7DQpAQCAtODc3LDcgKzk3MSwxMSBAQCBubnBmc19haW9fd3JpdGUo
c3RydWN0IGtpb2NiICppb2NiLA0KIAlyZXR1cm4gZXJyb3I7DQogICAgIH0N
CiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04o
MywxNiwwKQ0KICAgICBlcnJvciA9IGdlbmVyaWNfZmlsZV9haW9fd3JpdGUo
aW9jYiwgaW92LCBucl9zZWdzLCBwb3MpOw0KKyNlbHNlDQorICAgIGVycm9y
ID0gZ2VuZXJpY19maWxlX3dyaXRlX2l0ZXIoaW9jYiwgZnJvbSk7DQorI2Vu
ZGlmDQogICAgIGlmICghSVNfRVJSX1ZBTFVFKGVycm9yKSkNCiAJeG4tPmZs
YWdzIHw9IE5OUEZTX0RBVEFfRElSVFk7IC8qIFhYWCByYWNlICovDQogDQpA
QCAtODg1LDkgKzk4MywxOSBAQCBubnBmc19haW9fd3JpdGUoc3RydWN0IGtp
b2NiICppb2NiLA0KICAgICByZXR1cm4gZXJyb3I7DQogfQ0KIA0KKyNpZiBM
SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDMsMCkNCiBz
dGF0aWMgaW50DQogbm5wZnNfY3JlYXRlKHN0cnVjdCBpbm9kZSAqZGlyLCBz
dHJ1Y3QgZGVudHJ5ICpkZW50cnksDQogCSAgICAgaW50IG1vZGUsIHN0cnVj
dCBuYW1laWRhdGEgKm5kKQ0KKyNlbGlmIExJTlVYX1ZFUlNJT05fQ09ERSA8
IEtFUk5FTF9WRVJTSU9OKDMsNiwwKQ0KK3N0YXRpYyBpbnQNCitubnBmc19j
cmVhdGUoc3RydWN0IGlub2RlICpkaXIsIHN0cnVjdCBkZW50cnkgKmRlbnRy
eSwNCisJICAgICB1bW9kZV90IG1vZGUsIHN0cnVjdCBuYW1laWRhdGEgKm5k
KQ0KKyNlbHNlDQorc3RhdGljIGludA0KK25ucGZzX2NyZWF0ZShzdHJ1Y3Qg
aW5vZGUgKmRpciwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LA0KKwkgICAgIHVt
b2RlX3QgbW9kZSwgYm9vbCBleGNsKQ0KKyNlbmRpZg0KIHsNCiAgICAgc3Ry
dWN0IG5ucGZzICpubnBmc3A7DQogICAgIHN0cnVjdCBubnBmc19ub2RlICp4
bjsNCkBAIC0xMDM4LDggKzExNDYsMTMgQEAgbm5wZnNfcmVuYW1lIChzdHJ1
Y3QgaW5vZGUgKiBvbGRfZGlyLCBzdA0KICAgICByZXR1cm4gZXJyb3I7DQog
fQ0KIA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lP
TigzLDMsMCkNCiBzdGF0aWMgaW50DQogbm5wZnNfbWtkaXIoc3RydWN0IGlu
b2RlICogZGlyLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIGludCBtb2RlKQ0K
KyNlbHNlDQorc3RhdGljIGludA0KK25ucGZzX21rZGlyKHN0cnVjdCBpbm9k
ZSAqIGRpciwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LCB1bW9kZV90IG1vZGUp
DQorI2VuZGlmDQogew0KICAgICBzdHJ1Y3Qgbm5wZnMgKm5ucGZzcDsNCiAg
ICAgc3RydWN0IG5ucGZzX25vZGUgKnhuOw0KQEAgLTEyNTIsMTIgKzEzNjUs
MjEgQEAgc3RhdGljIGludCBubnBmc19zeW1saW5rKHN0cnVjdCBpbm9kZSAq
ZA0KIC8qDQogICogV2UgaG9sZCBpX211dGV4Lg0KICAqLw0KKyNpZiBMSU5V
WF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDExLDApDQogc3Rh
dGljIGludA0KIG5ucGZzX3JlYWRkaXIoc3RydWN0IGZpbGUgKiBmaWxlLCB2
b2lkICogZGlyZW50LCBmaWxsZGlyX3QgZmlsbGRpcikNCisjZWxzZQ0KK3N0
YXRpYyBpbnQNCitubnBmc19pdGVyYXRlKHN0cnVjdCBmaWxlICogZmlsZSwg
c3RydWN0IGRpcl9jb250ZXh0ICpjdHgpDQorI2VuZGlmDQogew0KICAgICBp
bnQgZXJyb3I7DQogICAgIGxvZmZfdCBvZmZzZXQsIGJlZ2luX29mZnNldDsN
CisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywx
OSwwKQ0KICAgICBzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZmlsZS0+Zl9kZW50
cnktPmRfaW5vZGU7DQorI2Vsc2UNCisgICAgc3RydWN0IGlub2RlICppbm9k
ZSA9IGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGU7DQorI2VuZGlmDQog
ICAgIHN0cnVjdCBpbm9kZSAqY2FjaGVfaW5vZGU7DQogICAgIHN0cnVjdCBu
bnBmc19ub2RlICp4biA9IFZOT0RFX1RPX1hOT0RFKGlub2RlKTsNCiAgICAg
Y2hhciAqYnVmOw0KQEAgLTEzMjgsNiArMTQ1MCw3IEBAIG5ucGZzX3JlYWRk
aXIoc3RydWN0IGZpbGUgKiBmaWxlLCB2b2lkICoNCiAJCSAgICAoaW50KSB4
ZGlyZW50LT5kX25hbWxlbiwNCiAJCSAgICAoaW50KSAob2Zmc2V0K2JlZ2lu
X29mZnNldCkpKTsNCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VS
TkVMX1ZFUlNJT04oMywxMSwwKQ0KIAkgICAgaWYgKHhkaXJlbnQtPmRfZmls
ZW5vICE9IDANCiAJCSYmIChmaWxsZGlyX2Vycm9yID0gZmlsbGRpciAoZGly
ZW50LA0KIAkJCQkgICAgIHhkaXJlbnQtPmRfbmFtZSwNCkBAIC0xMzM5LDYg
KzE0NjIsMTggQEAgbm5wZnNfcmVhZGRpcihzdHJ1Y3QgZmlsZSAqIGZpbGUs
IHZvaWQgKg0KIAkJCSAoIm5ucGZzX3JlYWRkaXIgZmlsbGRpcjogJWRcbiIs
IGZpbGxkaXJfZXJyb3IpKTsNCiAJCWJyZWFrOw0KIAkgICAgfQ0KKyNlbHNl
DQorCSAgICBpZiAoeGRpcmVudC0+ZF9maWxlbm8gIT0gMA0KKwkJJiYgKGZp
bGxkaXJfZXJyb3IgPSBkaXJfZW1pdCAoY3R4LA0KKwkJCQkgICAgIHhkaXJl
bnQtPmRfbmFtZSwNCisJCQkJICAgICB4ZGlyZW50LT5kX25hbWxlbiwNCisJ
CQkJICAgICB4ZGlyZW50LT5kX2ZpbGVubywNCisJCQkJICAgICBEVF9VTktO
T1dOKSkgPCAwKSB7DQorCQlOTlBGU0RFQihYREVCUkVBRERJUiwNCisJCQkg
KCJubnBmc19yZWFkZGlyIGZpbGxkaXI6ICVkXG4iLCBmaWxsZGlyX2Vycm9y
KSk7DQorCQlicmVhazsNCisJICAgIH0NCisjZW5kaWYNCiAJICAgIG9mZnNl
dCArPSB4ZGlyZW50LT5kX3JlY2xlbjsNCiANCiAJICAgIGlmICh4ZGlyZW50
LT5kX3JlY2xlbiA9PSAwKSB7DQpAQCAtMTM5NSw5ICsxNTMwLDE1IEBAIG5u
cGZzX3JlYWRsaW5rIChzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIGMNCiAgKiBX
ZSBkb24ndCBob2xkIGlfbXV0ZXguDQogICovDQogDQorI2lmIExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDQsMiwwKQ0KIHN0YXRpYyB2
b2lkICoNCiBubnBmc19mb2xsb3dfbGluayAoc3RydWN0IGRlbnRyeSAqZGVu
dHJ5LA0KIAkJIHN0cnVjdCBuYW1laWRhdGEgKm5kKQ0KKyNlbHNlDQorc3Rh
dGljIGNvbnN0IGNoYXIgKg0KK25ucGZzX2ZvbGxvd19saW5rIChzdHJ1Y3Qg
ZGVudHJ5ICpkZW50cnksDQorCQkgdm9pZCAqKnBhZ2UpDQorI2VuZGlmDQog
ew0KICAgICBpbnQgZXJyb3IgPSAwOw0KICAgICBzdHJ1Y3QgaW5vZGUgKmlu
b2RlID0gREVOVFJZX1RPX0lOT0RFKGRlbnRyeSk7DQpAQCAtMTQwOCw3ICsx
NTQ5LDExIEBAIG5ucGZzX2ZvbGxvd19saW5rIChzdHJ1Y3QgZGVudHJ5ICpk
ZW50cnkNCiAgICAgaWYgKGVycm9yKQ0KICAgICAgICByZXR1cm4gRVJSX1BU
UihlcnJvcik7DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5F
TF9WRVJTSU9OKDQsMiwwKQ0KICAgICByZXR1cm4gcGFnZV9mb2xsb3dfbGlu
a19saWdodChkZW50cnksIG5kKTsNCisjZWxzZQ0KKyAgICByZXR1cm4gcGFn
ZV9mb2xsb3dfbGlua19saWdodChkZW50cnksIHBhZ2UpOw0KKyNlbmRpZg0K
IH0NCiANCiAvKg0KQEAgLTE0OTAsNiArMTYzNSw4IEBAIG5ucGZzX3JlbGVh
c2VfZmlsZSAoc3RydWN0IGlub2RlICppbm9kZSwNCiAgICAgc3RydWN0IG5u
cGZzX25vZGUgKnhuOw0KICAgICBpbnQgZXJyb3IgPSAwOw0KIA0KKyAgICAo
dm9pZClubnBmc3A7DQorDQogICAgIE5OUEZTREVCKFhERUJWTk9QUywgKCJu
bnBmc19yZWxlYXNlX2ZpbGVcbiIpKTsNCiANCiAgICAgZXJyb3IgPSBubnBm
c19pbm9kZV92YWxpZChpbm9kZSk7DQpAQCAtMTUyMyw4ICsxNjcwLDEzIEBA
IG5ucGZzX2ZsdXNoKHN0cnVjdCBmaWxlICpmaWxlLCBmbF9vd25lcl8NCiB7
DQogICAgIE5OUEZTREVCKFhERUJWTk9QUywgKCJubnBmc19mbHVzaFxuIikp
Ow0KIA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lP
TigzLDE5LDApDQogICAgIGlmIChmaWxlICYmIGZpbGUtPmZfZGVudHJ5ICYm
IGZpbGUtPmZfZGVudHJ5LT5kX2lub2RlKQ0KIAlyZXR1cm4gbm5wZnNfcmVs
ZWFzZV9maWxlKGZpbGUtPmZfZGVudHJ5LT5kX2lub2RlLCBmaWxlKTsNCisj
ZWxzZQ0KKyAgICBpZiAoZmlsZSAmJiBmaWxlLT5mX3BhdGguZGVudHJ5ICYm
IGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUpDQorCXJldHVybiBubnBm
c19yZWxlYXNlX2ZpbGUoZmlsZS0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZSwg
ZmlsZSk7DQorI2VuZGlmDQogICAgIGVsc2UNCiAJcmV0dXJuIDA7DQogfQ0K
QEAgLTE1MzMsMTAgKzE2ODUsMjQgQEAgbm5wZnNfZmx1c2goc3RydWN0IGZp
bGUgKmZpbGUsIGZsX293bmVyXw0KICAqIFJldHVybiAxIGlmIGBkZW50cnkn
IGlzIHN0aWxsIHZhbGlkLCBvdGhlcndpc2UgMC4NCiAgKi8NCiANCisjaWYg
TElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw2LDApDQog
c3RhdGljIGludA0KLW5ucGZzX2RfcmV2YWxpZGF0ZShzdHJ1Y3QgZGVudHJ5
ICpkZW50cnksIHN0cnVjdCBuYW1laWRhdGEgKm5kKSANCitubnBmc19kX3Jl
dmFsaWRhdGUoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgbmFtZWlk
YXRhICpuZCkNCisjZWxzZQ0KK3N0YXRpYyBpbnQNCitubnBmc19kX3JldmFs
aWRhdGUoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCB1bnNpZ25lZCBpbnQgZmxh
Z3MpDQorI2VuZGlmDQogew0KICAgICBzdHJ1Y3QgaW5vZGUgKmlub2RlID0g
REVOVFJZX1RPX0lOT0RFKGRlbnRyeSk7DQorDQorI2lmIExJTlVYX1ZFUlNJ
T05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigzLDYsMCkNCisgICAgaWYgKGZs
YWdzICYgTE9PS1VQX1JDVSkNCisgICAgICAgIHJldHVybiAtRUNISUxEOw0K
KyNlbGlmIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigy
LDYsMzgpDQorICAgIGlmIChuZCAmJiBuZC0+ZmxhZ3MgJiBMT09LVVBfUkNV
KQ0KKyAgICAgICAgcmV0dXJuIC1FQ0hJTEQ7DQorI2VuZGlmDQorDQogICAg
IE5OUEZTREVCKFhERUJWTk9QUywgKCJubnBmc19kX3JldmFsaWRhdGUgJXAg
XCIlLipzXCIgKGlub2RlICVwKVxuIiwNCiAJCSAgICAgICBkZW50cnksDQog
CQkgICAgICAgKGludClkZW50cnktPmRfbmFtZS5sZW4sDQpAQCAtMTU4Miw5
ICsxNzQ4LDE1IEBAIG5ucGZzX2RfcmV2YWxpZGF0ZShzdHJ1Y3QgZGVudHJ5
ICpkZW50cnkNCiAgICAgcmV0dXJuIDA7DQogfQ0KIA0KKyNpZiBMSU5VWF9W
RVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMzgpDQogc3RhdGlj
DQogaW50DQogbm5wZnNfZF9kZWxldGUoc3RydWN0IGRlbnRyeSAqZGVudHJ5
KQ0KKyNlbHNlDQorc3RhdGljDQoraW50DQorbm5wZnNfZF9kZWxldGUoY29u
c3Qgc3RydWN0IGRlbnRyeSAqZGVudHJ5KQ0KKyNlbmRpZg0KIHsNCiAgICAg
c3RydWN0IGlub2RlICppbm9kZTsNCiAgICAgc3RydWN0IG5ucGZzX25vZGUg
KnhuOw0KQEAgLTE2MTQsNyArMTc4NiwxMSBAQCBubnBmc19zcGxpY2VfcmVh
ZChzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9mDQogCQkgIHVuc2lnbmVkIGludCBm
bGFncykNCiB7DQogICAgIGludCBlcnJvciA9IDA7DQorI2lmIExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTksMCkNCiAgICAgc3Ry
dWN0IGlub2RlICppbm9kZSA9IGZpbGUtPmZfZGVudHJ5LT5kX2lub2RlOw0K
KyNlbHNlDQorICAgIHN0cnVjdCBpbm9kZSAqaW5vZGUgPSBmaWxlLT5mX3Bh
dGguZGVudHJ5LT5kX2lub2RlOw0KKyNlbmRpZg0KICAgICBzdHJ1Y3Qgbm5w
ZnNfbm9kZSAqeG4gPSBWTk9ERV9UT19YTk9ERShpbm9kZSk7DQogICAgIA0K
ICAgICBpZiAoeG4gIT0gTlVMTCkNCkBAIC0xNzA3LDYgKzE4ODMsOCBAQCBu
bnBmc193cml0ZV9iYWNrcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwgDQogDQog
CWludCBlcnJvcjsNCiAJDQorCSh2b2lkKW9mZnNldDsNCisNCiAJZG8gew0K
IAkJZXJyb3IgPSBwYWdlY2FjaGVfd3JpdGVfYmVnaW4oYmFja2ZpbGUsIG1h
cHBpbmcsIDAsIGxlbiwNCiAJCQkJCSAgICAgIEFPUF9GTEFHX1VOSU5URVJS
VVBUSUJMRSwNCkBAIC0xNzQ3LDYgKzE5MjUsOCBAQCBubnBmc19yZWFkX2Jh
Y2twYWdlKHN0cnVjdCBwYWdlICpwYWdlLCBzDQogCXN0cnVjdCBwYWdlICpi
YWNrcGFnZTsNCiAJdW5zaWduZWQgbG9uZyBvZmZzZXQ7DQogDQorCSh2b2lk
KW9mZnNldDsNCisNCiAJYmFja3BhZ2UgPSByZWFkX21hcHBpbmdfcGFnZSht
YXBwaW5nLCBuLCBiYWNrZmlsZSk7DQogCWlmICghSVNfRVJSKGJhY2twYWdl
KSkgew0KIAkJd2FpdF9vbl9wYWdlX2xvY2tlZChiYWNrcGFnZSk7DQpAQCAt
MTg5NCwxMSArMjA3NCwxNyBAQCBubnBmc19wcmVwYXJlX3dyaXRlKHN0cnVj
dCBmaWxlICpmaWxlLCBzDQogDQogCWlmIChtb2RzaXplID4gaV9zaXplX3Jl
YWQoaW5vZGUpKSB7DQogCQlpbnQgZXJyb3I7DQorI2lmIExJTlVYX1ZFUlNJ
T05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsOCwwKQ0KIAkJZXJyb3IgPSB2
bXRydW5jYXRlKGlub2RlLCBtb2RzaXplKTsNCisjZWxzZQ0KKwkJZXJyb3Ig
PSBpbm9kZV9uZXdzaXplX29rKGlub2RlLCBtb2RzaXplKTsNCisJCWlmKCFl
cnJvcikNCisJCQl0cnVuY2F0ZV9zZXRzaXplKGlub2RlLCBtb2RzaXplKTsN
CisjZW5kaWYNCiAJCWlmIChlcnJvcikgew0KIAkJCXByaW50aygibm5wZnNf
cHJlcGFyZV93cml0ZTogdHJ1bmNhdGUoJWxsdSkgLT4gJWRcbiIsDQogCQkJ
ICAgICAgIG1vZHNpemUsIC1lcnJvcik7DQotCQkJQlVHKCk7IC8qIFhYWCBu
b3QgY29ycmVjdCAqLw0KKwkJCS8qQlVHKCk7Ki8gLyogWFhYIG5vdCBjb3Jy
ZWN0ICovDQogCQl9DQogCX0NCiANCkBAIC0xOTkzLDEwICsyMTc5LDE4IEBA
IG5ucGZzX3dyaXRlX2VuZChzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWMNCiAN
CiAJLyogemVybyB0aGUgc3RhbGUgcGFydCBvZiB0aGUgcGFnZSBpZiB3ZSBk
aWQgYSBzaG9ydCBjb3B5ICovDQogCWlmIChjb3BpZWQgPCBsZW4pIHsNCisj
aWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw2LDAp
DQogCQl2b2lkICprYWRkciA9IGttYXBfYXRvbWljKHBhZ2UsIEtNX1VTRVIw
KTsNCisjZWxzZQ0KKwkJdm9pZCAqa2FkZHIgPSBrbWFwX2F0b21pYyhwYWdl
KTsNCisjZW5kaWYNCiAJCW1lbXNldChrYWRkciArIGZyb20gKyBjb3BpZWQs
IDAsIGxlbiAtIGNvcGllZCk7DQogCQlmbHVzaF9kY2FjaGVfcGFnZShwYWdl
KTsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04o
Myw2LDApDQogCQlrdW5tYXBfYXRvbWljKGthZGRyLCBLTV9VU0VSMCk7DQor
I2Vsc2UNCisJCWt1bm1hcF9hdG9taWMoa2FkZHIpOw0KKyNlbmRpZg0KIAl9
DQogDQogCW5ucGZzX2NvbW1pdF93cml0ZShmaWxlLCBwYWdlLCBmcm9tLCBm
cm9tICsgY29waWVkKTsNCkBAIC0yMDI3LDggKzIyMjEsMTMgQEAgc3RydWN0
IGFkZHJlc3Nfc3BhY2Vfb3BlcmF0aW9ucyBubnBmc19hbw0KICAqLw0KIA0K
IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgbm5wZnNfZmlsZV9vcGVyYXRpb25z
ID0gew0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lP
TigzLDE2LDApDQogICAgIC5haW9fcmVhZAk9IG5ucGZzX2Fpb19yZWFkLA0K
ICAgICAuYWlvX3dyaXRlCT0gbm5wZnNfYWlvX3dyaXRlLA0KKyNlbHNlDQor
ICAgIC5yZWFkX2l0ZXIJPSBubnBmc19yZWFkX2l0ZXIsDQorICAgIC53cml0
ZV9pdGVyCT0gbm5wZnNfd3JpdGVfaXRlciwNCisjZW5kaWYNCiAgICAgLm1t
YXAJPSBubnBmc19maWxlX21tYXAsDQogICAgIC5vcGVuCT0gbm5wZnNfb3Bl
biwNCiAgICAgLmZsdXNoCT0gbm5wZnNfZmx1c2gsDQpAQCAtMjA0MSw3ICsy
MjQwLDExIEBAIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgbm5wZnNfZGVhZF9v
cGVyYXQNCiB9Ow0KIA0KIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgbm5wZnNf
ZGlyX29wZXJhdGlvbnMgPSB7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8
IEtFUk5FTF9WRVJTSU9OKDMsMTEsMCkNCiAgICAgLnJlYWRkaXIJPSBubnBm
c19yZWFkZGlyLA0KKyNlbHNlDQorICAgIC5pdGVyYXRlICAgID0gbm5wZnNf
aXRlcmF0ZSwNCisjZW5kaWYNCiAgICAgLmZsdXNoCT0gbm5wZnNfZmx1c2gs
DQogfTsNCiANCmRpZmYgLXVwck4gLVhub2RpZmYgYXJsYS1jdnMtb2xkL25u
cGZzL2xpbnV4L25ucGZzX2xvYWQuYyBhcmxhL25ucGZzL2xpbnV4L25ucGZz
X2xvYWQuYw0KLS0tIGFybGEtY3ZzLW9sZC9ubnBmcy9saW51eC9ubnBmc19s
b2FkLmMJMjAwNi0xMC0zMSAxMTowMjo0MS4wMDAwMDAwMDAgKzAxMDANCisr
KyBhcmxhL25ucGZzL2xpbnV4L25ucGZzX2xvYWQuYwkyMDE2LTAxLTEzIDIw
OjE0OjAyLjAwMDAwMDAwMCArMDEwMA0KQEAgLTU0LDcgKzU0LDExIEBAIGV4
dGVybiBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIG5ucGZzX2ZvcHMNCiANCiBz
dHJ1Y3QgZmlsZV9zeXN0ZW1fdHlwZSBubnBmc19mc190eXBlID0gew0KICAg
ICAgICBuYW1lOiAgICAgICAgICAgIm5ucGZzIiwNCisjaWYgTElOVVhfVkVS
U0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDM5KQ0KICAgICAgICBn
ZXRfc2I6ICAgICAgICAgbm5wZnNfZ2V0X3NiLA0KKyNlbHNlDQorICAgICAg
IG1vdW50OiAgICAgICAgICBubnBmc19tb3VudCwNCisjZW5kaWYNCiAgICAg
ICAga2lsbF9zYjogICAgICAgIGtpbGxfbGl0dGVyX3N1cGVyLA0KICAgICAg
ICBvd25lcjogICAgICAgICAgVEhJU19NT0RVTEUsDQogfTsNCmRpZmYgLXVw
ck4gLVhub2RpZmYgYXJsYS1jdnMtb2xkL25ucGZzL2xpbnV4L25ucGZzX21l
c3NhZ2UuYyBhcmxhL25ucGZzL2xpbnV4L25ucGZzX21lc3NhZ2UuYw0KLS0t
IGFybGEtY3ZzLW9sZC9ubnBmcy9saW51eC9ubnBmc19tZXNzYWdlLmMJMjAx
MC0wOC0wOCAyMjo0MzowNS4wMDAwMDAwMDAgKzAyMDANCisrKyBhcmxhL25u
cGZzL2xpbnV4L25ucGZzX21lc3NhZ2UuYwkyMDE2LTAxLTI0IDE4OjUyOjI4
LjAwMDAwMDAwMCArMDEwMA0KQEAgLTU1LDkgKzU1LDE1IEBAIHN0YXRpYyB2
b2lkDQogbm5wZnNfZF9yZW1vdmUoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQ0K
IHsNCiAgICAgTk5QRlNERUIoWERFQk1TRywgKCJubnBmc19kX3JlbW92ZSAl
cFxuIiwgZGVudHJ5KSk7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtF
Uk5FTF9WRVJTSU9OKDIsNiwzOCkNCiAgICAgc3Bpbl9sb2NrKCZkY2FjaGVf
bG9jayk7DQogICAgIGRnZXRfbG9ja2VkKGRlbnRyeSk7DQogICAgIHNwaW5f
dW5sb2NrKCZkY2FjaGVfbG9jayk7DQorI2Vsc2UNCisgICAgc3Bpbl9sb2Nr
KCZkZW50cnktPmRfbG9jayk7DQorICAgIGRnZXRfZGxvY2soZGVudHJ5KTsN
CisgICAgc3Bpbl91bmxvY2soJmRlbnRyeS0+ZF9sb2NrKTsNCisjZW5kaWYN
CiAgICAgZF9kcm9wKGRlbnRyeSk7DQogICAgIGRwdXQoZGVudHJ5KTsNCiB9
DQpAQCAtMTIxLDcgKzEyNywxMSBAQCBubnBmc19tZXNzYWdlX2luc3RhbGxu
b2RlKHN0cnVjdCBubnBmcyAqDQogICAgIHN0cnVjdCBpbm9kZSAqZGksICpp
bm9kZTsNCiAgICAgc3RydWN0IGRlbnRyeSAqcGFyZW50ID0gTlVMTDsNCiAg
ICAgc3RydWN0IHFzdHIgc3FzdHI7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09E
RSA8IEtFUk5FTF9WRVJTSU9OKDMsNiwwKQ0KICAgICBzdHJ1Y3QgbGlzdF9o
ZWFkICphbGlhczsNCisjZWxpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJO
RUxfVkVSU0lPTigzLDksMCkNCisgICAgc3RydWN0IGhsaXN0X25vZGUgKmFs
aWFzOw0KKyNlbmRpZg0KICAgICANCiAgICAgTk5QRlNERUIoWERFQk1TRywg
KCJubnBmc19tZXNzYWdlX2luc3RhbGxub2RlXG4iKSk7DQogICAgIA0KQEAg
LTE3NiwxMiArMTg2LDI2IEBAIG5ucGZzX21lc3NhZ2VfaW5zdGFsbG5vZGUo
c3RydWN0IG5ucGZzICoNCiAgICAgICoNCiAgICAgICovDQogICAgIA0KKyNp
ZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDYsMCkN
CiAgICAgYWxpYXMgPSBkaS0+aV9kZW50cnkubmV4dDsNCiAgICAgd2hpbGUg
KGFsaWFzICE9ICZkaS0+aV9kZW50cnkpIHsNCiAJcGFyZW50ID0gbGlzdF9l
bnRyeShhbGlhcywgc3RydWN0IGRlbnRyeSwgZF9hbGlhcyk7DQotCXNwaW5f
bG9jaygmZGNhY2hlX2xvY2spOw0KLQlkZ2V0X2xvY2tlZChwYXJlbnQpOw0K
LQlzcGluX3VubG9jaygmZGNhY2hlX2xvY2spOw0KKyNlbGlmIExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsOSwwKQ0KKyAgICBobGlz
dF9mb3JfZWFjaF9lbnRyeShwYXJlbnQsIGFsaWFzLCAmZGktPmlfZGVudHJ5
LCBkX2FsaWFzKSB7DQorI2VsaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VS
TkVMX1ZFUlNJT04oMywxOSwwKQ0KKyAgICBobGlzdF9mb3JfZWFjaF9lbnRy
eShwYXJlbnQsICZkaS0+aV9kZW50cnksIGRfYWxpYXMpIHsNCisjZWxzZQ0K
KyAgICBobGlzdF9mb3JfZWFjaF9lbnRyeShwYXJlbnQsICZkaS0+aV9kZW50
cnksIGRfdS5kX2FsaWFzKSB7DQorI2VuZGlmDQorI2lmIExJTlVYX1ZFUlNJ
T05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwzOCkNCisgICAgc3Bpbl9s
b2NrKCZkY2FjaGVfbG9jayk7DQorICAgIGRnZXRfbG9ja2VkKHBhcmVudCk7
DQorICAgIHNwaW5fdW5sb2NrKCZkY2FjaGVfbG9jayk7DQorI2Vsc2UNCisg
ICAgc3Bpbl9sb2NrKCZwYXJlbnQtPmRfbG9jayk7DQorICAgIGRnZXRfZGxv
Y2socGFyZW50KTsNCisgICAgc3Bpbl91bmxvY2soJnBhcmVudC0+ZF9sb2Nr
KTsNCisjZW5kaWYNCiAJZGVudHJ5ID0gZF9sb29rdXAocGFyZW50LCAmc3Fz
dHIpOw0KIAlOTlBGU0RFQihYREVCTVNHLA0KIAkJICgibm5wZnNfbWVzc2Fn
ZV9pbnN0YWxsbm9kZTogYWxpYXMgJXAsIGxvb2t1cCAlcFxuIiwNCkBAIC0y
MzMsNyArMjU3LDkgQEAgbm5wZnNfbWVzc2FnZV9pbnN0YWxsbm9kZShzdHJ1
Y3Qgbm5wZnMgKg0KIAkNCiAJZHB1dChkZW50cnkpOw0KIAlkZW50cnkgPSBO
VUxMOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lP
TigzLDYsMCkNCiAJYWxpYXMgPSBhbGlhcy0+bmV4dDsNCisjZW5kaWYNCiAJ
ZHB1dChwYXJlbnQpOw0KICAgICB9DQogICAgIE5OUEZTREVCKFhERUJNU0cs
ICgibm5wZnNfbWVzc2FnZV9pbnN0YWxsbm9kZTogZG9uZSBpbnN0YWxsaW5n
XG4iKSk7DQpAQCAtMjY4LDcgKzI5NCwxMyBAQCBubnBmc19tZXNzYWdlX2lu
c3RhbGxhdHRyKHN0cnVjdCBubnBmcyAqDQogICAgIH0NCiANCiAgICAgaW5v
ZGUgPSBYTk9ERV9UT19WTk9ERSh0KTsNCisjaWYgTElOVVhfVkVSU0lPTl9D
T0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw2LDApDQogICAgIGRlbnRyeSA9IGxp
c3RfZW50cnkoaW5vZGUtPmlfZGVudHJ5Lm5leHQsIHN0cnVjdCBkZW50cnks
IGRfYWxpYXMpOw0KKyNlbGlmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5F
TF9WRVJTSU9OKDMsMTksMCkNCisgICAgZGVudHJ5ID0gaGxpc3RfZW50cnko
aW5vZGUtPmlfZGVudHJ5LmZpcnN0LCBzdHJ1Y3QgZGVudHJ5LCBkX2FsaWFz
KTsNCisjZWxzZQ0KKyAgICBkZW50cnkgPSBobGlzdF9lbnRyeShpbm9kZS0+
aV9kZW50cnkuZmlyc3QsIHN0cnVjdCBkZW50cnksIGRfdS5kX2FsaWFzKTsN
CisjZW5kaWYNCiAgICAgDQogICAgIE5OUEZTREVCKFhERUJNU0csICgibm5w
ZnNfbWVzc2FnZV9pbnN0YWxsYXR0ciBuYW1lOiVzXG4iLA0KIAkJICAgICAg
IGRlbnRyeS0+ZF9uYW1lLm5hbWUpKTsNCkBAIC0zOTYsMTcgKzQyOCwzNSBA
QCBubnBmc19tZXNzYWdlX2luc3RhbGxkYXRhKHN0cnVjdCBubnBmcyAqDQog
c3RhdGljIHZvaWQNCiBjbGVhcl9hbGxfY2hpbGRyZW4gKHN0cnVjdCBpbm9k
ZSAqaW5vZGUsIGludCBwYXJlbnQpDQogew0KKyAgICBzdHJ1Y3QgZGVudHJ5
ICpkZW50cnk7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9W
RVJTSU9OKDMsNiwwKQ0KICAgICBzdHJ1Y3QgbGlzdF9oZWFkICphbGlhczsN
CisjZWxpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigz
LDksMCkNCisgICAgc3RydWN0IGhsaXN0X25vZGUgKmFsaWFzOw0KKyNlbmRp
Zg0KIA0KICBhZ2FpbjoNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VS
TkVMX1ZFUlNJT04oMiw2LDM4KQ0KICAgICBzcGluX2xvY2soJmRjYWNoZV9s
b2NrKTsNCisjZWxzZQ0KKyAgICBzcGluX2xvY2soJmlub2RlLT5pX2xvY2sp
Ow0KKyNlbmRpZg0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxf
VkVSU0lPTigzLDYsMCkNCiAgICAgYWxpYXMgPSBpbm9kZS0+aV9kZW50cnku
bmV4dDsNCiAgICAgd2hpbGUgKGFsaWFzICE9ICZpbm9kZS0+aV9kZW50cnkp
IHsNCi0Jc3RydWN0IGRlbnRyeSAqZGVudHJ5Ow0KKyNlbGlmIExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsOSwwKQ0KKyAgICBobGlz
dF9mb3JfZWFjaF9lbnRyeShkZW50cnksIGFsaWFzLCAmaW5vZGUtPmlfZGVu
dHJ5LCBkX2FsaWFzKSB7DQorI2VsaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwg
S0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0KKyAgICBobGlzdF9mb3JfZWFjaF9l
bnRyeShkZW50cnksICZpbm9kZS0+aV9kZW50cnksIGRfYWxpYXMpIHsNCisj
ZWxzZQ0KKyAgICBobGlzdF9mb3JfZWFjaF9lbnRyeShkZW50cnksICZpbm9k
ZS0+aV9kZW50cnksIGRfdS5kX2FsaWFzKSB7DQorI2VuZGlmDQogCXN0cnVj
dCBsaXN0X2hlYWQgKnN1YmRpcnM7DQogCXN0cnVjdCBubnBmc19kZW50cnlf
ZGF0YSAqeGQ7DQogCQ0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJO
RUxfVkVSU0lPTigzLDYsMCkNCiAJZGVudHJ5ID0gbGlzdF9lbnRyeShhbGlh
cywgc3RydWN0IGRlbnRyeSwgZF9hbGlhcyk7DQorI2VuZGlmDQogCWlmIChk
ZW50cnkgPT0gTlVMTCkgew0KIAkgICAgcHJpbnRrKEtFUk5fRU1FUkcgIk5O
UEZTIFBhbmljOiBkZW50cnkgaW4gYWxpYXMgbGlzdCBpcyBudWxsXG4iKTsN
CiAJICAgIGJyZWFrOw0KQEAgLTQyMiw3ICs0NzIsMTEgQEAgY2xlYXJfYWxs
X2NoaWxkcmVuIChzdHJ1Y3QgaW5vZGUgKmlub2RlLA0KIAlzdWJkaXJzID0g
ZGVudHJ5LT5kX3N1YmRpcnMubmV4dDsNCiAJd2hpbGUgKHN1YmRpcnMgIT0g
JmRlbnRyeS0+ZF9zdWJkaXJzKSB7DQogCSAgICBzdHJ1Y3QgbGlzdF9oZWFk
ICp0bXAgPSBzdWJkaXJzOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBL
RVJORUxfVkVSU0lPTigzLDE5LDApDQogCSAgICBzdHJ1Y3QgZGVudHJ5ICpj
aGlsZCA9IGxpc3RfZW50cnkodG1wLCBzdHJ1Y3QgZGVudHJ5LCBkX3UuZF9j
aGlsZCk7DQorI2Vsc2UNCisJICAgIHN0cnVjdCBkZW50cnkgKmNoaWxkID0g
bGlzdF9lbnRyeSh0bXAsIHN0cnVjdCBkZW50cnksIGRfY2hpbGQpOw0KKyNl
bmRpZg0KIAkgICAgc3ViZGlycyA9IHRtcC0+bmV4dDsNCiAJICAgIE5OUEZT
REVCKFhERUJNU0csICgiY2xlYXJfYWxsX2NoaWxkcmVuIGNoaWxkOiAlLipz
IGlub2RlOiAlcC8lcCAiDQogCQkJICAgICAgICJkY291bnQ6ICVkIGFsaWFz
ZXM6XG4iLA0KQEAgLTQ0MiwxNCArNDk2LDI0IEBAIGNsZWFyX2FsbF9jaGls
ZHJlbiAoc3RydWN0IGlub2RlICppbm9kZSwNCiANCiAJICAgIC8qIFRocm93
IGltbWVkaWF0ZWx5ICovDQogCSAgICBpZiAobm5wZnNfZGNvdW50KGNoaWxk
KSA9PSAwKSB7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9W
RVJTSU9OKDIsNiwzOCkNCiAJICAgICAgICBzcGluX3VubG9jaygmZGNhY2hl
X2xvY2spOw0KKyNlbHNlDQorCSAgICAgICAgc3Bpbl91bmxvY2soJmlub2Rl
LT5pX2xvY2spOw0KKyNlbmRpZg0KIAkJbm5wZnNfZF9yZW1vdmUoY2hpbGQp
Ow0KIAkJZ290byBhZ2FpbjsNCiAJICAgIH0NCiAJfQ0KKyNpZiBMSU5VWF9W
RVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDYsMCkNCiAJYWxpYXMg
PSBhbGlhcy0+bmV4dDsNCisjZW5kaWYNCiAgICAgfQ0KKyNpZiBMSU5VWF9W
RVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMzgpDQogICAgIHNw
aW5fdW5sb2NrKCZkY2FjaGVfbG9jayk7DQorI2Vsc2UNCisgICAgc3Bpbl91
bmxvY2soJmlub2RlLT5pX2xvY2spOw0KKyNlbmRpZg0KIH0NCiANCiBzdGF0
aWMgdm9pZA0KQEAgLTcxOSwxMiArNzgzLDIyIEBAIG5ucGZzX21lc3NhZ2Vf
dmVyc2lvbihzdHJ1Y3Qgbm5wZnMgKm5ucGYNCiANCiAgICAgLyogc2FuaXR5
IGNoZWNrIGJlZm9yZSB3ZSBsb29rIGF0IGl0ICovDQogICAgIGlmIChzaXpl
ID09IHNpemVvZigqbWVzc2FnZSkgJiYgbWVzc2FnZS0+dmVyc2lvbiA9PSBO
TlBGU19WRVJTSU9OKSB7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtF
Uk5FTF9WRVJTSU9OKDMsMTksMCkNCiAJc3RydWN0IG5hbWVpZGF0YSBuZDsN
CisjZWxzZQ0KKwlzdHJ1Y3QgcGF0aCBwYXRoOw0KKyNlbmRpZg0KIAlpbnQg
ZXJyb3I7DQogDQogCXVpbnQ2NF90IGJsb2Nrc2l6ZSA9IG1lc3NhZ2UtPmJs
b2Nrc2l6ZTsNCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVM
X1ZFUlNJT04oMiw2LDM5KQ0KIAllcnJvciA9IHBhdGhfbG9va3VwKCIuIiwg
MCwgJm5kKTsNCisjZWxpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxf
VkVSU0lPTigzLDE5LDApDQorCWVycm9yID0ga2Vybl9wYXRoKCIuIiwgMCwg
Jm5kLnBhdGgpOw0KKyNlbHNlDQorCWVycm9yID0ga2Vybl9wYXRoKCIuIiwg
MCwgJnBhdGgpOw0KKyNlbmRpZg0KIAlpZiAoZXJyb3IpIHsNCiAJICAgIC8q
DQogCSAgICAgKiBCYWQgY2FjaGUgcm9vdCwganVzdCByZXR1cm4uDQpAQCAt
NzM1LDExICs4MDksMTcgQEAgbm5wZnNfbWVzc2FnZV92ZXJzaW9uKHN0cnVj
dCBubnBmcyAqbm5wZg0KIAkJICAgIm5ucGZzX21lc3NhZ2VfdmVyc2lvbiBm
YWlsZWQgcGF0aF9sb29rdXAsICINCiAJCSAgICJlcnJubzogJWRcbiIsIGVy
cm9yKTsNCiAJfSBlbHNlIHsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwg
S0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0KIAkgICAgbm5wZnNwLT5jYWNoZXJv
b3QgPSBtbnRnZXQobmQucGF0aC5tbnQpOw0KIAkgICAgbm5wZnNwLT5jYWNo
ZWRpciA9IGRnZXQobmQucGF0aC5kZW50cnkpOw0KIAkgICAgcGF0aF9wdXQo
Jm5kLnBhdGgpOw0KKyNlbHNlDQorCSAgICBubnBmc3AtPmNhY2hlcm9vdCA9
IG1udGdldChwYXRoLm1udCk7DQorCSAgICBubnBmc3AtPmNhY2hlZGlyID0g
ZGdldChwYXRoLmRlbnRyeSk7DQorCSAgICBwYXRoX3B1dCgmcGF0aCk7DQor
I2VuZGlmDQogCSAgICANCi0jaWYgTElOVVhfVkVSU0lPTl9DT0RFIDw9IEtF
Uk5FTF9WRVJTSU9OKDIsNiwyOCkNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RF
IDwgS0VSTkVMX1ZFUlNJT04oMiw2LDI5KQ0KIAkgICAgbm5wZnNwLT51aWQg
PSBjdXJyZW50LT5mc3VpZDsNCiAJICAgIG5ucGZzcC0+Z2lkID0gY3VycmVu
dC0+ZnNnaWQ7DQogI2Vsc2UNCmRpZmYgLXVwck4gLVhub2RpZmYgYXJsYS1j
dnMtb2xkL25ucGZzL2xpbnV4L25ucGZzX25vZGUuYyBhcmxhL25ucGZzL2xp
bnV4L25ucGZzX25vZGUuYw0KLS0tIGFybGEtY3ZzLW9sZC9ubnBmcy9saW51
eC9ubnBmc19ub2RlLmMJMjAwNy0wMS0wMyAxNDo1MjowMi4wMDAwMDAwMDAg
KzAxMDANCisrKyBhcmxhL25ucGZzL2xpbnV4L25ucGZzX25vZGUuYwkyMDE2
LTAxLTE0IDE2OjUxOjExLjAwMDAwMDAwMCArMDEwMA0KQEAgLTEzMiw3ICsx
MzIsMTIgQEAgbm5wZnNfc2V0c2l6ZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCB1
aW50Ng0KIAlwcmludGsoIm5ucGZzX3NldHNpemU6IHRydW5jYXRpbmcgQDB4
JWxsdVxuIiwNCiAJICAgICAgICh1bnNpZ25lZCBsb25nIGxvbmcpc2l6ZSk7
DQogI2VuZGlmDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9W
RVJTSU9OKDMsOCwwKQ0KIAl2bXRydW5jYXRlKGlub2RlLCBzaXplKTsgLyog
WFhYIHJldHZhbCAqLw0KKyNlbHNlDQorCWlmKCFpbm9kZV9uZXdzaXplX29r
KGlub2RlLCBzaXplKSkNCisJICAgIHRydW5jYXRlX3NldHNpemUoaW5vZGUs
IHNpemUpOw0KKyNlbmRpZg0KIAlubnBmc19ibG9ja190cnVuY2F0ZSh4biwg
c2l6ZSk7DQogICAgIH0NCiB9DQpAQCAtMTUwLDkgKzE1NSwxOCBAQCBubnBm
c19hdHRyMmlub2RlKGNvbnN0IHN0cnVjdCBubnBmc19hdHRyDQogCXN0cnVj
dCB0aW1lc3BlYyBub3RpbWUgPSB7MH07DQogDQogCWlub2RlLT5pX21vZGUg
ICA9IDA7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJT
SU9OKDMsMTQsMCkNCiAJaW5vZGUtPmlfdWlkICAgID0gMDsNCiAJaW5vZGUt
PmlfZ2lkICAgID0gMDsNCisjZWxzZQ0KKwlpbm9kZS0+aV91aWQgICAgPSBL
VUlEVF9JTklUKDApOw0KKwlpbm9kZS0+aV9naWQgICAgPSBLR0lEVF9JTklU
KDApOw0KKyNlbmRpZg0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJO
RUxfVkVSU0lPTigzLDIsMCkNCiAJaW5vZGUtPmlfbmxpbmsgID0gMTsNCisj
ZWxzZQ0KKwlzZXRfbmxpbmsoaW5vZGUsIDEpOw0KKyNlbmRpZg0KIAlpbm9k
ZS0+aV9hdGltZSAgPSBub3RpbWU7DQogCWlub2RlLT5pX210aW1lICA9IG5v
dGltZTsNCiAJaW5vZGUtPmlfY3RpbWUgID0gbm90aW1lOw0KQEAgLTE2OSw3
ICsxODMsMTEgQEAgbm5wZnNfYXR0cjJpbm9kZShjb25zdCBzdHJ1Y3Qgbm5w
ZnNfYXR0cg0KICAgICBpZiAoWEFfVkFMSURfR0lEKGF0dHIpKQ0KIAlpbm9k
ZS0+aV9naWQgICAgPSBhdHRyLT54YV9naWQ7DQogICAgIGlmIChYQV9WQUxJ
RF9OTElOSyhhdHRyKSkNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VS
TkVMX1ZFUlNJT04oMywyLDApDQogCWlub2RlLT5pX25saW5rICA9IGF0dHIt
PnhhX25saW5rOw0KKyNlbHNlDQorCXNldF9ubGluayhpbm9kZSwgYXR0ci0+
eGFfbmxpbmspOw0KKyNlbmRpZg0KICAgICANCiAgICAgaWYgKFhBX1ZBTElE
X1NJWkUoYXR0cikpIHsNCiAJbm5wZnNfc2V0c2l6ZShpbm9kZSwgYXR0ci0+
eGFfc2l6ZSk7DQpAQCAtNTEwLDEyICs1MjgsMjQgQEAgbm5wZnNfaGFzX3Bh
Zyhjb25zdCBzdHJ1Y3Qgbm5wZnNfbm9kZSAqeA0KIGludA0KIG5ucGZzX25v
ZGVfdXNlcnMoc3RydWN0IGlub2RlICppbm9kZSkNCiB7DQorI2lmIExJTlVY
X1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsNiwwKQ0KICAgICBz
dHJ1Y3QgbGlzdF9oZWFkICpwb3M7DQorI2Vsc2UNCisgICAgc3RydWN0IGhs
aXN0X25vZGUgKnBvczsNCisjZW5kaWYNCiAgICAgaW50IHVzZXJzID0gMDsN
CiAgICAgDQogICAgIC8qIFhYWCB0aGlzIHNob3VsZCBwcm9iYWJseSBiZSBw
cm90ZWN0ZWQgc29tZWhvdyAqLw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUg
PCBLRVJORUxfVkVSU0lPTigzLDYsMCkNCiAgICAgbGlzdF9mb3JfZWFjaChw
b3MsICZpbm9kZS0+aV9kZW50cnkpIHsNCisjZWxzZQ0KKyAgICBobGlzdF9m
b3JfZWFjaChwb3MsICZpbm9kZS0+aV9kZW50cnkpIHsNCisjZW5kaWYNCisj
aWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSww
KQ0KIAlzdHJ1Y3QgZGVudHJ5ICpkZW50cnkgPSBsaXN0X2VudHJ5KHBvcywg
c3RydWN0IGRlbnRyeSwgZF9hbGlhcyk7DQorI2Vsc2UNCisJc3RydWN0IGRl
bnRyeSAqZGVudHJ5ID0gbGlzdF9lbnRyeShwb3MsIHN0cnVjdCBkZW50cnks
IGRfdS5kX2FsaWFzKTsNCisjZW5kaWYNCiAJaWYgKG5ucGZzX2Rjb3VudChk
ZW50cnkpID4gMSkNCiAJICAgIHVzZXJzKys7DQogICAgIH0NCmRpZmYgLXVw
ck4gLVhub2RpZmYgYXJsYS1jdnMtb2xkL25ucGZzL2xpbnV4L25ucGZzX3N5
c2NhbGxzLmMgYXJsYS9ubnBmcy9saW51eC9ubnBmc19zeXNjYWxscy5jDQot
LS0gYXJsYS1jdnMtb2xkL25ucGZzL2xpbnV4L25ucGZzX3N5c2NhbGxzLmMJ
MjAxMC0wOC0wOCAyMjo0MzowNi4wMDAwMDAwMDAgKzAyMDANCisrKyBhcmxh
L25ucGZzL2xpbnV4L25ucGZzX3N5c2NhbGxzLmMJMjAxNi0wMS0xNCAxNzow
MDoyMC4wMDAwMDAwMDAgKzAxMDANCkBAIC00Miw3ICs0Miw5IEBADQogI2lu
Y2x1ZGUgPG5ucGZzL25ucGZzX3N5c2NhbGxzLmg+DQogI2luY2x1ZGUgPG5u
cGZzL25ucGZzX2NvbW1vbi5oPg0KICNpbmNsdWRlIDxsaW51eC9maWxlLmg+
DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIs
NiwzOSkNCiAjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4NCisjZW5kaWYN
CiAjaW5jbHVkZSA8bGludXgvc21wLmg+DQogI2luY2x1ZGUgPGxpbnV4L3By
b2NfZnMuaD4NCiANCkBAIC01MCw2ICs1MiwxMSBAQA0KICNpbmNsdWRlIDxs
aW51eC9zZWN1cml0eS5oPg0KICNlbmRpZg0KIA0KKyNpZiBMSU5VWF9WRVJT
SU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMyw3LDApDQorI3VuZGVmIFNZ
U0NBTExIQUNLDQorLyogdGhlIG1ldGhvZCB0byByZWFkICdsb3dlcl9ib3Vu
ZCcgZG9lcyBub3Qgd29yayBvbiBrZXJuZWwgMy43IGFuZCBsYXRlciwgc2Ug
bm5wZnNfc3lzY2FsbHMtbG9zc2FnZS5jICovDQorI2VuZGlmDQorDQogI2lm
IDANCiAjaWZkZWYgQ09ORklHX0NPTVBBVA0KICNpbmNsdWRlIDxsaW51eC9p
b2N0bDMyLmg+DQpAQCAtODIsMTIgKzg5LDIyIEBAIHR5cGVkZWYgc3RydWN0
IGFmc3Byb2NkYXRhIHsNCiAgICAgdW5zaWduZWQgbG9uZyBzeXNjYWxsOw0K
IH0gYWZzcHJvY2RhdGE7DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8
IEtFUk5FTF9WRVJTSU9OKDIsNiwzNikNCiBzdGF0aWMgaW50DQogbm5wZnNf
cHJvY2ZzX2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxl
ICpmaWxlLA0KIAkJICAgdW5zaWduZWQgaW50IGNtZCwgdW5zaWduZWQgbG9u
ZyBhcmcpOw0KKyNlbHNlDQorc3RhdGljIGxvbmcNCitubnBmc19wcm9jZnNf
aW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsDQorCQkgICB1bnNpZ25lZCBpbnQg
Y21kLCB1bnNpZ25lZCBsb25nIGFyZyk7DQorI2VuZGlmDQogDQogc3RhdGlj
IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgbm5wZnNfcHJvY2ZzX2ZvcHMgPSB7
DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIs
NiwzNikNCiAgICAgLmlvY3RsID0gbm5wZnNfcHJvY2ZzX2lvY3RsLA0KKyNl
bHNlDQorICAgIC51bmxvY2tlZF9pb2N0bCA9IG5ucGZzX3Byb2Nmc19pb2N0
bCwNCisjZW5kaWYNCiB9Ow0KIA0KIA0KQEAgLTE2MCw4ICsxNzcsMTAgQEAg
bm5wZnNfZ2V0X3BhZ19zZWModm9pZCkNCiANCiAjaWYgTElOVVhfVkVSU0lP
Tl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCiAgICAgcmV0dXJu
IGN1cnJlbnQtPnVpZDsNCi0jZWxzZQ0KKyNlbGlmIExJTlVYX1ZFUlNJT05f
Q09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTQsMCkNCiAgICAgcmV0dXJuIGN1
cnJlbnRfdWlkKCk7DQorI2Vsc2UNCisgICAgeyBrdWlkX3Qga3VpZCA9IGN1
cnJlbnRfdWlkKCk7IHJldHVybiBrdWlkLnZhbDsgfQ0KICNlbmRpZg0KIH0N
CiANCkBAIC0xOTksNyArMjE4LDEyIEBAIGZpbmRfcGFnKHN0cnVjdCBncm91
cF9pbmZvICpnaSkNCiAgICAgTk5QRlNERUIoWERFQlNZUywgKCJmaW5kX3Bh
Zzogbmdyb3VwcyA9ICVkXG4iLCBnaS0+bmdyb3VwcykpOw0KIA0KICAgICBm
b3IgKGkgPSBnaS0+bmdyb3VwcyAtIDE7IGkgPj0gMDsgaS0tKSB7DQorI2lm
IExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTQsMCkN
CiAJZ2lkX3QgZ3JvdXAgPSBHUk9VUF9BVChnaSwgaSk7DQorI2Vsc2UNCisJ
a2dpZF90IGtncm91cCA9IEdST1VQX0FUKGdpLCBpKTsNCisJZ2lkX3QgZ3Jv
dXAgPSBrZ3JvdXAudmFsOw0KKyNlbmRpZg0KIAlpZiAoKG5ucGZzX3BhZ190
KWdyb3VwID49IE5OUEZTX1BBR19MTElNICYmIChubnBmc19wYWdfdClncm91
cCA8IE5OUEZTX1BBR19VTElNKSB7DQogCSAgICBOTlBGU0RFQihYREVCU1lT
LA0KIAkJICAgICAoImZpbmRfcGFnOiBFeGlzdGluZyBwYWcgJXUgYXQgcG9z
ICV1XG4iLCBncm91cCwgaSkpOw0KQEAgLTIyMCw3ICsyNDQsMTIgQEAgbm5w
ZnNfZ2V0X3BhZ19ncm91cCh2b2lkKQ0KICAgICBubnBmc19wYWdfdCByZXQg
PSBjdXJyZW50LT51aWQ7DQogI2Vsc2UNCiAgICAgc3RydWN0IGdyb3VwX2lu
Zm8gKmdpID0gZ2V0X2N1cnJlbnRfZ3JvdXBzKCk7DQorI2lmIExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTQsMCkNCiAgICAgbm5w
ZnNfcGFnX3QgcmV0ID0gY3VycmVudF91aWQoKTsNCisjZWxzZQ0KKyAgICBr
dWlkX3Qga3VpZCA9IGN1cnJlbnRfdWlkKCk7DQorICAgIG5ucGZzX3BhZ190
IHJldCA9IGt1aWQudmFsOw0KKyNlbmRpZg0KICNlbmRpZg0KICAgICBpbnQg
aTsNCiANCkBAIC0yMzAsNyArMjU5LDExIEBAIG5ucGZzX2dldF9wYWdfZ3Jv
dXAodm9pZCkNCiANCiAgICAgaSA9IGZpbmRfcGFnKGdpKTsNCiAgICAgaWYg
KGkgIT0gTk5QRlNfUEFHX05PVEZPVU5EKQ0KKyNpZiBMSU5VWF9WRVJTSU9O
X0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDE0LDApDQogCXJldCA9IEdST1VQ
X0FUKGdpLCBpKTsNCisjZWxzZQ0KKwl7IGtnaWRfdCBrZ2lkID0gR1JPVVBf
QVQoZ2ksIGkpOyByZXQgPSBrZ2lkLnZhbDsgfQ0KKyNlbmRpZg0KIA0KICAg
ICBwdXRfZ3JvdXBfaW5mbyhnaSk7DQogDQpAQCAtMjgwLDEwICszMTMsMTcg
QEAgc3RvcmVfcGFnKG5ucGZzX3BhZ190IHBhZ251bSkNCiAJY291bnQgLT0g
TkdST1VQU19QRVJfQkxPQ0s7DQogICAgIH0NCiANCisjaWYgTElOVVhfVkVS
U0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxNCwwKQ0KICAgICBpZiAo
Zm91bmQpDQogCUdST1VQX0FUKG5ld19naSwgaSkgPSBwYWdudW07DQogICAg
IGVsc2UNCiAJR1JPVVBfQVQobmV3X2dpLCBuZXdfZ2ktPm5ncm91cHMgLSAx
KSA9IHBhZ251bTsNCisjZWxzZQ0KKyAgICBpZiAoZm91bmQpDQorCXsga2dp
ZF90IGtnaWQgPSBLR0lEVF9JTklUKHBhZ251bSk7IEdST1VQX0FUKG5ld19n
aSwgaSkgPSBrZ2lkOyB9DQorICAgIGVsc2UNCisJeyBrZ2lkX3Qga2dpZCA9
IEtHSURUX0lOSVQocGFnbnVtKTsgR1JPVVBfQVQobmV3X2dpLCBuZXdfZ2kt
Pm5ncm91cHMgLSAxKSA9IGtnaWQ7IH0NCisjZW5kaWYNCiAgICAgDQogICAg
IHNldF9jdXJyZW50X2dyb3VwcyhuZXdfZ2kpOw0KICAgICBwdXRfZ3JvdXBf
aW5mbyhuZXdfZ2kpOw0KQEAgLTMyNSw4ICszNjUsMTAgQEAgbm5wZnNfZ2V0
X3BhZygpDQogDQogI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxf
VkVSU0lPTigyLDYsMjgpDQogICAgIHJldHVybiBjdXJyZW50LT51aWQ7DQot
I2Vsc2UNCisjZWxpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVS
U0lPTigzLDE0LDApDQogICAgIHJldHVybiBjdXJyZW50X3VpZCgpOw0KKyNl
bHNlDQorICAgIHsga3VpZF90IGt1aWQgPSBjdXJyZW50X3VpZCgpOyByZXR1
cm4ga3VpZC52YWw7IH0NCiAjZW5kaWYNCiB9DQogDQpAQCAtNDMyLDcgKzQ3
NCw3IEBAIG5ucGZzX3NldGdyb3VwczE2IChpbnQgZ2lkc2V0c2l6ZSwgb2xk
X2cNCiAjZW5kaWYgLyogU1lTQ0FMTEhBQ0sgKi8NCiAjZW5kaWYgLyogR1JP
VVBQQUdTICovDQogDQotc3RydWN0IGZpbGVfaGFuZGxlIHsNCitzdHJ1Y3Qg
bm5wZnNfZmlsZV9oYW5kbGUgew0KICAgICBubnBmc19kZXZfdCBkZXY7DQog
ICAgIGlub190IGlub2RlOw0KICAgICBfX3UzMiBnZW47DQpAQCAtNTE5LDE0
ICs1NjEsMjcgQEAgbm5wZnNfZGVidWdfcHJpbnQgKHN0cnVjdCBhcmxhVmlj
ZUlvY3RsIA0KICAqIGZvbGxvdyBzeW1saW5rcyBpZmYgYGZvbGxvdycNCiAg
Ki8NCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJ
T04oMywxOSwwKQ0KIHN0YXRpYyBzdHJ1Y3QgZGVudHJ5ICoNCiB1c2VyX3Bh
dGgyZGVudHJ5IChzdHJ1Y3QgbmFtZWlkYXRhICpuZCwgY2hhciAqdXNlcl9w
YXRoLCBpbnQgZm9sbG93KQ0KKyNlbHNlDQorc3RhdGljIHN0cnVjdCBkZW50
cnkgKg0KK3VzZXJfcGF0aDJkZW50cnkgKHN0cnVjdCBwYXRoICpwYXRoLCBj
aGFyICp1c2VyX3BhdGgsIGludCBmb2xsb3cpDQorI2VuZGlmDQogew0KLSAg
ICBjaGFyICprbmFtZTsNCiAgICAgaW50IGZsYWdzID0gMDsNCiAgICAgaW50
IGVycm9yID0gMDsNCiANCi0gICAga25hbWUgPSBnZXRuYW1lICh1c2VyX3Bh
dGgpOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lP
TigzLDcsMCkNCisgICAgY2hhciAqa25hbWU7DQorICAgIGtuYW1lID0gZ2V0
bmFtZSh1c2VyX3BhdGgpOw0KKyNlbHNlDQorICAgIGNvbnN0IGNoYXIgKmtu
YW1lOw0KKyAgICBzdHJ1Y3QgZmlsZW5hbWUgKmZuYW1lOw0KKyAgICBmbmFt
ZSA9IGdldG5hbWUodXNlcl9wYXRoKTsNCisgICAga25hbWUgPSBmbmFtZS0+
bmFtZTsNCisjZW5kaWYNCisNCiAgICAgaWYgKElTX0VSUihrbmFtZSkpDQog
CXJldHVybiBFUlJfUFRSKFBUUl9FUlIoa25hbWUpKTsNCiAgICAgaWYgKGZv
bGxvdykNCkBAIC01MzQsMTEgKzU4OSwyNSBAQCB1c2VyX3BhdGgyZGVudHJ5
IChzdHJ1Y3QgbmFtZWlkYXRhICpuZCwgDQogDQogICAgIE5OUEZTREVCKFhE
RUJNU0csICgibm5wZnNfc3lzY2FsbDogbG9va2luZyB1cDogJXNcbiIsIGtu
YW1lKSk7DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9W
RVJTSU9OKDIsNiwzOSkNCiAgICAgZXJyb3IgPSBwYXRoX2xvb2t1cChrbmFt
ZSwgZmxhZ3MsIG5kKTsNCisjZWxpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBL
RVJORUxfVkVSU0lPTigzLDE5LDApDQorICAgIGVycm9yID0ga2Vybl9wYXRo
KGtuYW1lLCBmbGFncywgJihuZC0+cGF0aCkpOw0KKyNlbHNlDQorICAgIGVy
cm9yID0ga2Vybl9wYXRoKGtuYW1lLCBmbGFncywgcGF0aCk7DQorI2VuZGlm
DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMs
NywwKQ0KICAgICBwdXRuYW1lKGtuYW1lKTsNCisjZWxzZQ0KKyAgICBrbWVt
X2NhY2hlX2ZyZWUobmFtZXNfY2FjaGVwLCAodm9pZCAqKWtuYW1lKTsNCisj
ZW5kaWYNCiAgICAgaWYgKGVycm9yKQ0KIAlyZXR1cm4gRVJSX1BUUihlcnJv
cik7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9O
KDMsMTksMCkNCiAgICAgcmV0dXJuIG5kLT5wYXRoLmRlbnRyeTsNCisjZWxz
ZQ0KKyAgICByZXR1cm4gcGF0aC0+ZGVudHJ5Ow0KKyNlbmRpZg0KIH0NCiAN
CiBhc21saW5rYWdlIGxvbmcNCkBAIC01NTMsMTMgKzYyMiwyMSBAQCBzeXNf
YWZzX2ludCAoaW50IG9wZXJhdGlvbiwNCiAgICAgc3RydWN0IG5ucGZzX21l
c3NhZ2VfcGlvY3RsICptc2cgPSBOVUxMOw0KICAgICBzdHJ1Y3Qgbm5wZnNf
bWVzc2FnZV93YWtldXAgKm1zZzI7DQogICAgIHN0cnVjdCBkZW50cnkgKmRl
bnRyeSA9IE5VTEw7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5F
TF9WRVJTSU9OKDMsMTksMCkNCiAgICAgc3RydWN0IG5hbWVpZGF0YSBuZDsN
CisjZWxzZQ0KKyAgICBzdHJ1Y3QgcGF0aCBwYXRoOw0KKyNlbmRpZg0KICAg
ICANCiAgICAgbXNnID0ga21hbGxvYyhzaXplb2YoKm1zZyksIEdGUF9LRVJO
RUwpOw0KICAgICBpZiAobXNnID09IE5VTEwpDQogICAgICAgcmV0dXJuIC1F
Tk9NRU07DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9W
RVJTSU9OKDIsNiwzOSkNCiAgICAgbG9ja19rZXJuZWwoKTsNCisjZWxzZQ0K
KyAgICAvKiBUT0RPOiBsb2NrX2tlcm5lbCgpIGlzIHJlbW92ZWQsIGNvbnNp
ZGVyIGFkZGluZyBhbiBwcml2YXRlIGxvY2sgKi8NCisjZW5kaWYNCiANCiAg
ICAgTk5QRlNERUIoWERFQlNZUywgKCJzeXNfYWZzIGtlcm5lbCBsb2NrZWRc
biIpKTsNCiANCkBAIC01OTcsNyArNjc0LDExIEBAIHN5c19hZnNfaW50IChp
bnQgb3BlcmF0aW9uLA0KIAkgICAgfQ0KIAl9DQogCWlmIChhX3BhdGhQICE9
IE5VTEwpIHsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZF
UlNJT04oMywxOSwwKQ0KIAkgICAgZGVudHJ5ID0gdXNlcl9wYXRoMmRlbnRy
eSAoJm5kLCBhX3BhdGhQLCBhX2ZvbGxvd1N5bWxpbmtzKTsNCisjZWxzZQ0K
KwkgICAgZGVudHJ5ID0gdXNlcl9wYXRoMmRlbnRyeSAoJnBhdGgsIGFfcGF0
aFAsIGFfZm9sbG93U3ltbGlua3MpOw0KKyNlbmRpZg0KIAkgICAgaWYgKCFk
ZW50cnkpIHsNCiAJCWVycm9yID0gLUVJTlZBTDsNCiAJCWdvdG8gdW5sb2Nr
Ow0KQEAgLTY5MywxMyArNzc0LDIxIEBAIHN5c19hZnNfaW50IChpbnQgb3Bl
cmF0aW9uLA0KICAgICANCiAgdW5sb2NrOg0KICAgICBpZiAoZGVudHJ5KQ0K
KyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDE5
LDApDQogCXBhdGhfcHV0KCZuZC5wYXRoKTsNCisjZWxzZQ0KKwlwYXRoX3B1
dCgmcGF0aCk7DQorI2VuZGlmDQogDQogICAgIE5OUEZTREVCKFhERUJTWVMs
ICgibm5wZnNfc3lzY2FsbCByZXR1cm5zIGVycm9yOiAlbGRcbiIsIGVycm9y
KSk7DQogDQogICAgIE5OUEZTREVCKFhERUJTWVMsICgic3lzX2FmcyBrZXJu
ZWwgdW5sb2NrXG4iKSk7DQogICAgIGtmcmVlKG1zZyk7DQorI2lmIExJTlVY
X1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwzOSkNCiAgICAg
dW5sb2NrX2tlcm5lbCgpOw0KKyNlbHNlDQorICAgIC8qIFRPRE86IHNlZSB0
aGUgY29tbWVudCBhdCBsb2NrX2tlcm5lbCgpIGFib3ZlICovDQorI2VuZGlm
DQogDQogICAgIHJldHVybiBlcnJvcjsNCiB9DQpAQCAtNzQ4LDkgKzgzNywx
NSBAQCBzeXNfYWZzIChpbnQgb3BlcmF0aW9uLA0KIAkJICAgICAgIGFfZm9s
bG93U3ltbGlua3MpOw0KIH0NCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RF
IDwgS0VSTkVMX1ZFUlNJT04oMiw2LDM2KQ0KIHN0YXRpYyBpbnQNCiBubnBm
c19wcm9jZnNfaW9jdGwoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZp
bGUgKmZpbGUsDQogCQkgICB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBs
b25nIGFyZykNCisjZWxzZQ0KK3N0YXRpYyBsb25nDQorbm5wZnNfcHJvY2Zz
X2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLA0KKwkJICAgdW5zaWduZWQgaW50
IGNtZCwgdW5zaWduZWQgbG9uZyBhcmcpDQorI2VuZGlmDQogew0KICAgICBh
ZnNwcm9jZGF0YSBhcmdzOw0KICAgICBsb25nIHJldDsNCkBAIC04MDcsNyAr
OTAyLDExIEBAIHN0YXRpYyBpbnQgbm5wZnNfaW5pdF9wcm9jZnModm9pZCkN
CiAgICAgbm5wZnNfcHJvY2ZzX2Rpci0+b3duZXIgPSBUSElTX01PRFVMRTsN
CiAjZW5kaWYNCiAgICAgDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtF
Uk5FTF9WRVJTSU9OKDMsMTAsMCkNCiAgICAgZW50cnkgPSBjcmVhdGVfcHJv
Y19lbnRyeShOTlBGU19QUk9DX05PREUsIDA2NjYsIG5ucGZzX3Byb2Nmc19k
aXIpOw0KKyNlbHNlDQorICAgIGVudHJ5ID0gcHJvY19jcmVhdGUoTk5QRlNf
UFJPQ19OT0RFLCAwNjY2LCBOVUxMLCAmbm5wZnNfcHJvY2ZzX2ZvcHMpOw0K
KyNlbmRpZg0KICAgICBpZiAoZW50cnkgPT0gTlVMTCkgew0KIAlOTlBGU0RF
QihYREVCU1lTLCAoIm5ucGZzX2luaXRfcHJvY2ZzOiBubyBub2RlXG4iKSk7
DQogCXJlbW92ZV9wcm9jX2VudHJ5KCJmcy8iIE5OUEZTX1BST0NfRElSLCBO
VUxMKTsNCkBAIC04MTcsNyArOTE2LDkgQEAgc3RhdGljIGludCBubnBmc19p
bml0X3Byb2Nmcyh2b2lkKQ0KICNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBL
RVJORUxfVkVSU0lPTigyLDYsMzApDQogICAgIGVudHJ5LT5vd25lciA9IFRI
SVNfTU9EVUxFOw0KICNlbmRpZg0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUg
PCBLRVJORUxfVkVSU0lPTigzLDEwLDApDQogICAgIGVudHJ5LT5wcm9jX2Zv
cHMgPSAmbm5wZnNfcHJvY2ZzX2ZvcHM7DQorI2VuZGlmDQogDQogI2lmZGVm
IFNZU0NBTExDT01QQVQNCiAgICAgaWYgKHJlZ2lzdGVyX2lvY3RsMzJfY29u
dmVyc2lvbihBUkxBX1ZJT0NfU1lTQ0FMTDMyLCBubnBmc19wcm9jZnNfaW9j
dGwzMikpIHsNCmRpZmYgLXVwck4gLVhub2RpZmYgYXJsYS1jdnMtb2xkL25u
cGZzL2xpbnV4L25ucGZzX3N5c2NhbGxzLWxvc3NhZ2UuYyBhcmxhL25ucGZz
L2xpbnV4L25ucGZzX3N5c2NhbGxzLWxvc3NhZ2UuYw0KLS0tIGFybGEtY3Zz
LW9sZC9ubnBmcy9saW51eC9ubnBmc19zeXNjYWxscy1sb3NzYWdlLmMJMjAx
MC0wOC0wOCAyMjo0MzowNS4wMDAwMDAwMDAgKzAyMDANCisrKyBhcmxhL25u
cGZzL2xpbnV4L25ucGZzX3N5c2NhbGxzLWxvc3NhZ2UuYwkyMDE2LTAxLTEz
IDIxOjUxOjQ5LjAwMDAwMDAwMCArMDEwMA0KQEAgLTUwLDggKzUwLDE3IEBA
DQogUkNTSUQoIiRJZDogbm5wZnNfc3lzY2FsbHMtbG9zc2FnZS5jLHYgMS4x
OSAyMDEwLzA4LzA4IDIwOjQzOjA1IHRvbCBFeHAgJCIpOw0KICNlbmRpZg0K
IA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04o
Myw3LDApDQorLyogdGhlIG1ldGhvZCB0byByZWFkICdsb3dlcl9ib3VuZCcg
ZG9lcyBub3Qgd29yayBvbiBrZXJuZWwgMy43IGFuZCBsYXRlciAqLw0KKyN1
bmRlZiBTWVNDQUxMSEFDSw0KKyNlbmRpZg0KKw0KICNpbmNsdWRlIDxsaW51
eC9rYWxsc3ltcy5oPg0KKyNpZmRlZiBTWVNDQUxMSEFDSw0KKyNpZiBMSU5V
WF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDcsMCkNCiBzdGF0
aWMgdm9pZCAqbG93ZXJfYm91bmQgPSAma2VybmVsX3RocmVhZDsNCisjZW5k
aWYNCisjZW5kaWYNCiANCiB2b2lkICogX19hdHRyaWJ1dGVfXygod2Vhaykp
IHN5c19jYWxsX3RhYmxlKHZvaWQpOw0KIG5ucGZzX3N5c19jYWxsX2Z1bmN0
aW9uICpubnBmc19zeXNfY2FsbF90YWJsZSA9DQpAQCAtNjYsNiArNzUsOCBA
QCBjb25zdCBjaGFyICogX19hdHRyaWJ1dGVfXygod2VhaykpDQogI2lmZGVm
IF9feDg2XzY0X18NCiBleHRlcm4gcndsb2NrX3QgdGFza2xpc3RfbG9jayBf
X2F0dHJpYnV0ZV9fKCh3ZWFrKSk7DQogI2VuZGlmDQorDQorI2lmZGVmIFNZ
U0NBTExIQUNLDQogc3RhdGljIHZvaWQgKioNCiBnZXRfc3RhcnRfYWRkcih2
b2lkKSB7DQogI2lmZGVmIF9feDg2XzY0X18NCkBAIC03NCw2ICs4NSw3IEBA
IGdldF9zdGFydF9hZGRyKHZvaWQpIHsNCiAgICAgcmV0dXJuICh2b2lkICoq
KSZtdXRleF9sb2NrOw0KICNlbmRpZg0KIH0NCisjZW5kaWYNCiANCiBzdGF0
aWMgaW5saW5lIGludCANCiBrYWxsc3ltX2lzX2VxdWFsKHVuc2lnbmVkIGxv
bmcgYWRkciwgY29uc3QgY2hhciAqbmFtZSkNCkBAIC0xNDIsNiArMTU0LDgg
QEAgdmVyaWZ5KHZvaWQgKipwKSB7DQogICAgIHJldHVybiAxOw0KIH0NCiAN
CisjaWZkZWYgU1lTQ0FMTEhBQ0sNCisNCiBzdGF0aWMgaW5saW5lIGludCBs
b29rc19nb29kKHZvaWQgKipwKQ0KIHsNCiAgICAgaWYgKCpwIDw9ICh2b2lk
Kilsb3dlcl9ib3VuZCB8fCAqcCA+PSAodm9pZCopcCkNCkBAIC0xOTEsMyAr
MjA1LDUgQEAgbm5wZnNfZml4dXBfc3lzY2FsbF9sb3NzYWdlKHZvaWQpDQog
DQogICAgIHJldHVybiAwOw0KIH0NCisNCisjZW5kaWYNCmRpZmYgLXVwck4g
LVhub2RpZmYgYXJsYS1jdnMtb2xkL25ucGZzL2xpbnV4L25ucGZzX3Zmc29w
cy5jIGFybGEvbm5wZnMvbGludXgvbm5wZnNfdmZzb3BzLmMNCi0tLSBhcmxh
LWN2cy1vbGQvbm5wZnMvbGludXgvbm5wZnNfdmZzb3BzLmMJMjAxMC0wOC0w
OCAyMjo0MzowNi4wMDAwMDAwMDAgKzAyMDANCisrKyBhcmxhL25ucGZzL2xp
bnV4L25ucGZzX3Zmc29wcy5jCTIwMTYtMDEtMTQgMTc6MTM6MTguMDAwMDAw
MDAwICswMTAwDQpAQCAtNTAsNyArNTAsOSBAQCBSQ1NJRCgiJElkOiBubnBm
c192ZnNvcHMuYyx2IDEuMTExIDIwMTAvDQogc3RydWN0IG5ucGZzIG5ucGZz
W05OTlBGU107DQogDQogc3RhdGljIHZvaWQgbm5wZnNfcHV0X3N1cGVyKHN0
cnVjdCBzdXBlcl9ibG9jayAqc2IpOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NP
REUgPCBLRVJORUxfVkVSU0lPTigzLDYsMCkNCiBzdGF0aWMgdm9pZCBubnBm
c193cml0ZV9zdXBlcihzdHJ1Y3Qgc3VwZXJfYmxvY2sgKiBzYik7DQorI2Vu
ZGlmDQogDQogc3RhdGljIGludCBubnBmc19zdGF0ZnMoc3RydWN0IGRlbnRy
eSAqZGVudHJ5LCBzdHJ1Y3Qga3N0YXRmcyAqYnVmKTsNCiANCkBAIC01OSw3
ICs2MSw5IEBAIHN0YXRpYyBzdHJ1Y3Qgc3VwZXJfb3BlcmF0aW9ucyBubnBm
c19zb3ANCiAgICAgZGVzdHJveV9pbm9kZQk6IG5ucGZzX25vZGVfZnJlZSwN
CiAgICAgZHJvcF9pbm9kZQkJOiBnZW5lcmljX2RlbGV0ZV9pbm9kZSwNCiAg
ICAgcHV0X3N1cGVyCQk6IG5ucGZzX3B1dF9zdXBlciwNCisjaWYgTElOVVhf
VkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw2LDApDQogICAgIHdy
aXRlX3N1cGVyCQk6IG5ucGZzX3dyaXRlX3N1cGVyLA0KKyNlbmRpZg0KICAg
ICBzdGF0ZnMJCTogbm5wZnNfc3RhdGZzLA0KIH07DQogDQpAQCAtODYsNyAr
OTAsMTEgQEAgbm5wZnNfZmV0Y2hfcm9vdChzdHJ1Y3QgaW5vZGUgKmkpDQog
CSAqIHJvb3QncyBwcml2aWxpZ2VzICh1c3VhbGx5IG5vbmUsIGFuZCBub25l
IGlzIG5lZWRlZCkuDQogCSAqLw0KIAkNCisjaWYgTElOVVhfVkVSU0lPTl9D
T0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxNCwwKQ0KIAltc2cuY3JlZC51aWQg
PSAwOw0KKyNlbHNlDQorCW1zZy5jcmVkLnVpZCA9IEtVSURUX0lOSVQoMCk7
DQorI2VuZGlmDQogCW1zZy5jcmVkLnBhZyA9IDA7DQogCQ0KIAllcnJvciA9
IG5ucGZzX21lc3NhZ2VfcnBjKG5ucGZzcCwgJm1zZy5oZWFkZXIsIHNpemVv
Zihtc2cpKTsNCkBAIC0xMjEsOCArMTI5LDEzIEBAIG1ha2Vfcm9vdF9pbm9k
ZShzdHJ1Y3Qgbm5wZnMgKm5ucGZzcCkNCiAgICAgWEFfU0VUX01PREUoJm5v
ZGUuYXR0ciwgU19JRkRJUiB8IDA3NzcpOw0KICAgICBYQV9TRVRfTkxJTkso
Jm5vZGUuYXR0ciwgMTAwKTsNCiAgICAgWEFfU0VUX1NJWkUoJm5vZGUuYXR0
ciwgMCk7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJT
SU9OKDMsMTQsMCkNCiAgICAgWEFfU0VUX1VJRCgmbm9kZS5hdHRyLCAwKTsN
CiAgICAgWEFfU0VUX0dJRCgmbm9kZS5hdHRyLCAwKTsNCisjZWxzZQ0KKyAg
ICBYQV9TRVRfVUlEKCZub2RlLmF0dHIsIEtVSURUX0lOSVQoMCkpOw0KKyAg
ICBYQV9TRVRfR0lEKCZub2RlLmF0dHIsIEtHSURUX0lOSVQoMCkpOw0KKyNl
bmRpZg0KICAgICBYQV9TRVRfQVRJTUUoJm5vZGUuYXR0ciwgMCk7DQogICAg
IFhBX1NFVF9NVElNRSgmbm9kZS5hdHRyLCAwKTsNCiAgICAgWEFfU0VUX0NU
SU1FKCZub2RlLmF0dHIsIDApOw0KQEAgLTE1MSw3ICsxNjQsMTEgQEAgbWFr
ZV9yb290IChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQ0KICAgICBubnBmcy0+
cm9vdCA9IGlub2RlOw0KIA0KICAgICAvKiBYWFggZXJyb3IgaGFuZGxpbmcg
Ki8NCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04o
Myw0LDApDQogICAgIGRwID0gZF9hbGxvY19yb290KGlub2RlKTsNCisjZWxz
ZQ0KKyAgICBkcCA9IGRfbWFrZV9yb290KGlub2RlKTsNCisjZW5kaWYNCiAg
ICAgbm5wZnNfZF9pbml0KGRwKTsNCiAgICAgc2ItPnNfcm9vdCA9IGRwOw0K
ICAgICByZXR1cm4gMDsNCkBAIC0xNzUsMTMgKzE5MiwyNyBAQCBubnBmc19y
ZWFkX3N1cGVyIChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKiBzDQogICAgIE5OUEZT
REVCKFhERUJWRk9QUywgKCJubnBmc19yZWFkX3N1cGVyOiBiZWdpbiBzZXR0
aW5nIHZhcmlhYmxlc1xuIikpOw0KIA0KICAgICBpZiAoZGF0YSAhPSBOVUxM
KSB7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9O
KDMsMTksMCkNCiAJc3RydWN0IG5hbWVpZGF0YSBuZDsNCisjZWxzZQ0KKwlz
dHJ1Y3QgcGF0aCBwYXRoOw0KKyNlbmRpZg0KIAkNCisjaWYgTElOVVhfVkVS
U0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDM5KQ0KIAllcnJvciA9
IHBhdGhfbG9va3VwKGRhdGEsIDAsICZuZCk7DQorI2VsaWYgTElOVVhfVkVS
U0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0KKwllcnJvciA9
IGtlcm5fcGF0aChkYXRhLCAwLCAmbmQucGF0aCk7DQorI2Vsc2UNCisJZXJy
b3IgPSBrZXJuX3BhdGgoZGF0YSwgMCwgJnBhdGgpOw0KKyNlbmRpZg0KIAlp
ZiAoZXJyb3IpDQogCSAgICBkZGV2ID0gRVJSX1BUUihlcnJvcik7DQogCWVs
c2UNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04o
MywxOSwwKQ0KIAkgICAgZGRldiA9IG5kLnBhdGguZGVudHJ5Ow0KKyNlbHNl
DQorCSAgICBkZGV2ID0gcGF0aC5kZW50cnk7DQorI2VuZGlmDQogDQogCWlm
ICghSVNfRVJSKGRkZXYpKSB7DQogCSAgICBtaW5vcmRldmljZSA9IE1JTk9S
KGRkZXYtPmRfaW5vZGUtPmlfcmRldik7DQpAQCAtMjI1LDYgKzI1Niw3IEBA
IG5ucGZzX2ZpbGxfc3VwZXIgKHN0cnVjdCBzdXBlcl9ibG9jayAqc2INCiAg
ICAgcmV0dXJuIDA7DQogfQ0KIA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUg
PCBLRVJORUxfVkVSU0lPTigyLDYsMzkpDQogaW50DQogbm5wZnNfZ2V0X3Ni
KHN0cnVjdCBmaWxlX3N5c3RlbV90eXBlICpmc190eXBlLA0KIAkgICAgIGlu
dCBmbGFncywgY29uc3QgY2hhciAqZGV2X25hbWUsDQpAQCAtMjMyLDEyICsy
NjQsMjMgQEAgbm5wZnNfZ2V0X3NiKHN0cnVjdCBmaWxlX3N5c3RlbV90eXBl
ICpmcw0KIHsNCiAgICAgcmV0dXJuIGdldF9zYl9ub2Rldihmc190eXBlLCBm
bGFncywgZGF0YSwgbm5wZnNfZmlsbF9zdXBlciwgbW50KTsNCiB9DQorI2Vs
c2UNCitzdHJ1Y3QgZGVudHJ5Kg0KK25ucGZzX21vdW50KHN0cnVjdCBmaWxl
X3N5c3RlbV90eXBlICpmc190eXBlLA0KKwkgICAgIGludCBmbGFncywgY29u
c3QgY2hhciAqZGV2X25hbWUsDQorCSAgICAgdm9pZCAqZGF0YSkgDQorew0K
KyAgICByZXR1cm4gbW91bnRfbm9kZXYoZnNfdHlwZSwgZmxhZ3MsIGRhdGEs
IG5ucGZzX2ZpbGxfc3VwZXIpOw0KK30NCisjZW5kaWYNCiANCisjaWYgTElO
VVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw2LDApDQogc3Rh
dGljIHZvaWQNCiBubnBmc193cml0ZV9zdXBlcihzdHJ1Y3Qgc3VwZXJfYmxv
Y2sgKiBzYikNCiB7DQogICAgIHNiLT5zX2RpcnQgPSAwOw0KIH0NCisjZW5k
aWYNCiANCiAvKg0KICAqIFhYWCBpcyB0aGlzIGdvb2Q/IA0K

---276651502-1213922705-1453675964=:24998
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-1213922705-1453675964=:24998--

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