[5056] in arla-drinkers

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

Re: PATCH: Arla CVS Current on Linux 2.6.34 to 3.18

daemon@ATHENA.MIT.EDU (Bo Branten)
Tue Jan 12 21:01:31 2016

From arla-drinkers-bounces@stacken.kth.se Wed Jan 13 02:01:31 2016
Return-Path: <arla-drinkers-bounces@stacken.kth.se>
Delivered-To: arla-drinkers-mtg@bloom-picayune.mit.edu
Received: (qmail 25966 invoked from network); 13 Jan 2016 02:01:30 -0000
Received: from mx5.kth.se (130.237.32.10)
  by charon.mit.edu with SMTP; 13 Jan 2016 02:01:30 -0000
Received: from mx5.kth.se (localhost [127.0.0.1])
	by mx5.kth.se (Postfix) with ESMTP id 0F6542400B3;
	Wed, 13 Jan 2016 03:01:30 +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 vhagRYaMxhNu; Wed, 13 Jan 2016 03:01:13 +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;
	Wed, 13 Jan 2016 03:01:13 +0100 (CET)
Received: from vingummi.stacken.kth.se (localhost [IPv6:::1])
	by vingummi.stacken.kth.se (Postfix) with ESMTP id 2A8F414CABC;
	Wed, 13 Jan 2016 03:01:13 +0100 (CET)
Received: by vingummi.stacken.kth.se (Postfix)
 id 71E8B14CAC2; Wed, 13 Jan 2016 03:01:11 +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 6F13614CAC0
 for <arla-drinkers@stacken.kth.se>; Wed, 13 Jan 2016 03:01:11 +0100 (CET)
Received: from mx7.kth.se (localhost [127.0.0.1])
 by mx7.kth.se (Postfix) with ESMTP id 5779914010C
 for <arla-drinkers@stacken.kth.se>; Wed, 13 Jan 2016 03:01:11 +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]:47321
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 jnHgM6OFs_HB for <arla-drinkers@stacken.kth.se>;
 Wed, 13 Jan 2016 03:01:09 +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>; Wed, 13 Jan 2016 03:01:09 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by amavisd-new (Postfix) with ESMTP id 6EA67A22
 for <arla-drinkers@stacken.kth.se>; Wed, 13 Jan 2016 03:01:09 +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 89828A21
 for <arla-drinkers@stacken.kth.se>; Wed, 13 Jan 2016 03:01:05 +0100 (MET)
Received: by suiko.acc.umu.se (Postfix, from userid 10005)
 id 7EF9644B8C; Wed, 13 Jan 2016 03:01:05 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by suiko.acc.umu.se (Postfix) with ESMTP id 7D5E644B8B
 for <arla-drinkers@stacken.kth.se>; Wed, 13 Jan 2016 03:01:05 +0100 (CET)
Date: Wed, 13 Jan 2016 03:01:05 +0100 (CET)
From: Bo Branten <bosse@acc.umu.se>
To: arla-drinkers@stacken.kth.se
Subject: Re: PATCH: Arla CVS Current on Linux 2.6.34 to 3.18
In-Reply-To: <alpine.DEB.2.10.1601110319280.18025@suiko.acc.umu.se>
Message-ID: <alpine.DEB.2.10.1601130300140.13035@suiko.acc.umu.se>
References: <alpine.DEB.2.10.1601110319280.18025@suiko.acc.umu.se>
User-Agent: Alpine 2.10 (DEB 1266 2009-07-14)
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED;
 BOUNDARY="-276651502-1479828704-1452650465=:13035"
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-1479828704-1452650465=:13035
Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII

PATCH: Arla CVS Current on Linux 2.6.34 to 3.18

---276651502-1479828704-1452650465=:13035
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=patch-arla-cvs-for-linux-3.18
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.DEB.2.10.1601130301050.13035@suiko.acc.umu.se>
Content-Description: 
Content-Disposition: attachment; filename=patch-arla-cvs-for-linux-3.18

ZGlmZiAtdXByTiAtWG5vZGlmZi50eHQgYXJsYS1jdnMvbm5wZnMvbGludXgv
bm5wZnMvbm5wZnNfZnMuaCBhcmxhLWZvci1saW51eC0zLjE4L25ucGZzL2xp
bnV4L25ucGZzL25ucGZzX2ZzLmgNCi0tLSBhcmxhLWN2cy9ubnBmcy9saW51
eC9ubnBmcy9ubnBmc19mcy5oCTIwMDYtMTAtMjQgMTg6MzM6NDguMDAwMDAw
MDAwICswMjAwDQorKysgYXJsYS1mb3ItbGludXgtMy4xOC9ubnBmcy9saW51
eC9ubnBmcy9ubnBmc19mcy5oCTIwMTYtMDEtMTIgMTk6MDY6MzQuNTE4MDI1
NjA5ICswMTAwDQpAQCAtODQsOCArODQsMTMgQEAgc3RydWN0IG5ucGZzIHsN
CiAgICAgc3RydWN0IHZmc21vdW50ICpjYWNoZXJvb3Q7IC8qIHNpbXBsaWZ5
IG9wZW4gb2YgY2FjaGUgYmxvY2tzICovDQogICAgIHN0cnVjdCBkZW50cnkg
KmNhY2hlZGlyOw0KIA0KKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VS
TkVMX1ZFUlNJT04oMywxNCwwKSkNCiAgICAgdWlkX3QgdWlkOyAvKiBrZWVw
IHRyYWNrIG9mIGRhZW1vbidzIGlkZW50aXR5ICovDQogICAgIGdpZF90IGdp
ZDsNCisjZWxzZQ0KKyAgICBrdWlkX3QgdWlkOyAvKiBrZWVwIHRyYWNrIG9m
IGRhZW1vbidzIGlkZW50aXR5ICovDQorICAgIGtnaWRfdCBnaWQ7DQorI2Vu
ZGlmDQogDQogICAgIHN0cnVjdCB7DQogCWludCByZWN1cnNlOw0KZGlmZiAt
dXByTiAtWG5vZGlmZi50eHQgYXJsYS1jdnMvbm5wZnMvbGludXgvbm5wZnMv
bm5wZnNfbG9jbC5oIGFybGEtZm9yLWxpbnV4LTMuMTgvbm5wZnMvbGludXgv
bm5wZnMvbm5wZnNfbG9jbC5oDQotLS0gYXJsYS1jdnMvbm5wZnMvbGludXgv
bm5wZnMvbm5wZnNfbG9jbC5oCTIwMTAtMDgtMDggMjI6NDM6MDYuMDAwMDAw
MDAwICswMjAwDQorKysgYXJsYS1mb3ItbGludXgtMy4xOC9ubnBmcy9saW51
eC9ubnBmcy9ubnBmc19sb2NsLmgJMjAxNi0wMS0xMSAyMToxNzo0Mi44Nzgz
MjYxMjQgKzAxMDANCkBAIC01MSw3ICs1MSw5IEBADQogI2luY2x1ZGUgPGxp
bnV4L3N0YXQuaD4NCiAjaW5jbHVkZSA8bGludXgvc3RyaW5nLmg+DQogI2lu
Y2x1ZGUgPGxpbnV4L25hbWVpLmg+DQorI2lmIChMSU5VWF9WRVJTSU9OX0NP
REUgPCBLRVJORUxfVkVSU0lPTigyLDYsMzkpKQ0KICNpbmNsdWRlIDxsaW51
eC9zbXBfbG9jay5oPg0KKyNlbmRpZg0KICNpbmNsdWRlIDxsaW51eC93YWl0
Lmg+DQogDQogLyoNCkBAIC0xMzgsMTAgKzE0MCwxNyBAQCB0eXBlZGVmIF9f
dTMyICB1aW50MzJfdDsNCiBpbnQNCiBubnBmc19mZXRjaF9yb290KHN0cnVj
dCBpbm9kZSAqaSk7DQogDQorI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBL
RVJORUxfVkVSU0lPTigyLDYsMzkpKQ0KIGludA0KIG5ucGZzX2dldF9zYihz
dHJ1Y3QgZmlsZV9zeXN0ZW1fdHlwZSAqZnNfdHlwZSwNCiAJICAgICBpbnQg
ZmxhZ3MsIGNvbnN0IGNoYXIgKmRldl9uYW1lLA0KIAkgICAgIHZvaWQgKmRh
dGEsIHN0cnVjdCB2ZnNtb3VudCAqbW50KTsNCisjZWxzZQ0KK3N0cnVjdCBk
ZW50cnkqDQorbm5wZnNfbW91bnQoc3RydWN0IGZpbGVfc3lzdGVtX3R5cGUg
KmZzX3R5cGUsDQorCSAgICAgaW50IGZsYWdzLCBjb25zdCBjaGFyICpkZXZf
bmFtZSwNCisJICAgICB2b2lkICpkYXRhKTsNCisjZW5kaWYNCiANCiBleHRl
cm4gc3RydWN0IGRlbnRyeV9vcGVyYXRpb25zIG5ucGZzX2RlbnRyeV9vcGVy
YXRpb25zOw0KIA0KQEAgLTE5NCwxMCArMjAzLDIzIEBAIG5ucGZzX2l3cml0
ZWNvdW50IChzdHJ1Y3QgaW5vZGUgKmlub2RlKQ0KICAqIEhlbHAgZnVuY3Rp
b24gdG8gcmVhZCB0aGUgZGVudHJ5LT5kX2NvdW50IGEgcG9ydGFibGUgd2F5
DQogICovDQogDQorLyojaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5F
TF9WRVJTSU9OKDIsNiwzOCkpKi8NCiBzdGF0aWMgaW5saW5lIGludA0KIG5u
cGZzX2Rjb3VudCAoY29uc3Qgc3RydWN0IGRlbnRyeSAqZGVudHJ5KQ0KKy8q
I2Vsc2UNCitzdGF0aWMgaW5saW5lIGludA0KK25ucGZzX2Rjb3VudCAoc3Ry
dWN0IGRlbnRyeSAqZGVudHJ5KQ0KKyNlbmRpZiovDQogew0KKyNpZiAoTElO
VVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDM4KSkNCiAg
ICAgcmV0dXJuIGF0b21pY19yZWFkKCZkZW50cnktPmRfY291bnQpOw0KKyNl
bHNlDQorI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lP
TigzLDExLDApKQ0KKyAgICByZXR1cm4gYXRvbWljX3JlYWQoKGNvbnN0IGF0
b21pY190KikmZGVudHJ5LT5kX2NvdW50KTsNCisjZWxzZQ0KKyAgICByZXR1
cm4gZF9jb3VudChkZW50cnkpOzsNCisjZW5kaWYNCisjZW5kaWYNCiB9DQog
DQogZXh0ZXJuIA0KQEAgLTIyOSw3ICsyNTEsMTIgQEAgbm5wZnNfZml4dXBf
c3lzY2FsbF9sb3NzYWdlKHZvaWQpOw0KICNlbmRpZg0KIA0KICNkZWZpbmUg
bm5wZnNfZGV2X3QgZGV2X3QNCisNCisjaWYgKExJTlVYX1ZFUlNJT05fQ09E
RSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwzOCkpDQogI2RlZmluZSBubnBmc19k
X2VudHJ5X3VuaGFzaGVkKGQpIGhsaXN0X3VuaGFzaGVkKGQpDQorI2Vsc2UN
CisjZGVmaW5lIG5ucGZzX2RfZW50cnlfdW5oYXNoZWQoZCkgaGxpc3RfYmxf
dW5oYXNoZWQoZCkNCisjZW5kaWYNCiANCiAjZGVmaW5lIE5OUEZTX05PT1Ag
ICAgICB3aGlsZSgwKXt9DQogDQpkaWZmIC11cHJOIC1Ybm9kaWZmLnR4dCBh
cmxhLWN2cy9ubnBmcy9saW51eC9ubnBmc19ibG9ja3MuYyBhcmxhLWZvci1s
aW51eC0zLjE4L25ucGZzL2xpbnV4L25ucGZzX2Jsb2Nrcy5jDQotLS0gYXJs
YS1jdnMvbm5wZnMvbGludXgvbm5wZnNfYmxvY2tzLmMJMjAxMC0wOC0wOCAy
Mjo0MzowNC4wMDAwMDAwMDAgKzAyMDANCisrKyBhcmxhLWZvci1saW51eC0z
LjE4L25ucGZzL2xpbnV4L25ucGZzX2Jsb2Nrcy5jCTIwMTYtMDEtMTMgMDE6
MTk6MTguNTE0NzcwMTQzICswMTAwDQpAQCAtNDMsNiArNDMsMzYgQEANCiAj
aW5jbHVkZSA8bGludXgvbW91bnQuaD4NCiAjaW5jbHVkZSA8bGludXgvbW0u
aD4NCiANCisjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVS
U0lPTigzLDEyLDApKQ0KKy8qIFRPRE86IGltcGxlbWVudCBhIHJlcGxhY2Vt
ZW50IGZvciB2ZnNfcGF0aF9sb29rdXAgb24ga2VybmVscyBsYXRlciB0aGFu
IDMuMTIgKi8NCisvKioNCisgKiB2ZnNfcGF0aF9sb29rdXAgLSBsb29rdXAg
YSBmaWxlIHBhdGggcmVsYXRpdmUgdG8gYSBkZW50cnktdmZzbW91bnQgcGFp
cg0KKyAqIEBkZW50cnk6ICBwb2ludGVyIHRvIGRlbnRyeSBvZiB0aGUgYmFz
ZSBkaXJlY3RvcnkNCisgKiBAbW50OiBwb2ludGVyIHRvIHZmcyBtb3VudCBv
ZiB0aGUgYmFzZSBkaXJlY3RvcnkNCisgKiBAbmFtZTogcG9pbnRlciB0byBm
aWxlIG5hbWUNCisgKiBAZmxhZ3M6IGxvb2t1cCBmbGFncw0KKyAqIEBwYXRo
OiBwb2ludGVyIHRvIHN0cnVjdCBwYXRoIHRvIGZpbGwNCisgKi8NCitpbnQg
dmZzX3BhdGhfbG9va3VwKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgc3RydWN0
IHZmc21vdW50ICptbnQsDQorCQkgICAgY29uc3QgY2hhciAqbmFtZSwgdW5z
aWduZWQgaW50IGZsYWdzLA0KKwkJICAgIHN0cnVjdCBwYXRoICpwYXRoKQ0K
K3sNCisjaWYgMA0KKwlzdHJ1Y3QgbmFtZWlkYXRhIG5kOw0KKwlpbnQgZXJy
Ow0KKwluZC5yb290LmRlbnRyeSA9IGRlbnRyeTsNCisJbmQucm9vdC5tbnQg
PSBtbnQ7DQorCUJVR19PTihmbGFncyAmIExPT0tVUF9QQVJFTlQpOw0KKwkv
KiB0aGUgZmlyc3QgYXJndW1lbnQgb2YgZG9fcGF0aF9sb29rdXAoKSBpcyBp
Z25vcmVkIHdpdGggTE9PS1VQX1JPT1QgKi8NCisJZXJyID0gZG9fcGF0aF9s
b29rdXAoQVRfRkRDV0QsIG5hbWUsIGZsYWdzIHwgTE9PS1VQX1JPT1QsICZu
ZCk7DQorCWlmICghZXJyKQ0KKwkJKnBhdGggPSBuZC5wYXRoOw0KKwlyZXR1
cm4gZXJyOw0KKyNlbmRpZg0KKwlyZXR1cm4gLTE7DQorfQ0KKyNlbmRpZg0K
Kw0KIC8qDQogICogcmV0dXJuIHRydWUgaWYgYmxvY2sgaXMgaW4gY2FjaGUN
CiAgKi8NCkBAIC0yOTAsNyArMzIwLDEzIEBAIG5ucGZzX2Jsb2NrX2V4dGVu
ZChzdHJ1Y3Qgbm5wZnNfbm9kZSAqbm8NCiAgICAgYmFja25vZGUgPSBiYWNr
ZmlsZS0+Zl9tYXBwaW5nLT5ob3N0Ow0KIA0KICAgICBtdXRleF9sb2NrKCZi
YWNrbm9kZS0+aV9tdXRleCk7DQorI2lmIChMSU5VWF9WRVJTSU9OX0NPREUg
PCBLRVJORUxfVkVSU0lPTigzLDgsMCkpDQogICAgIHJldCA9IHZtdHJ1bmNh
dGUoYmFja25vZGUsIG5ucGZzX2Jsb2Nrc2l6ZSk7DQorI2Vsc2UNCisgICAg
aWYoIWlub2RlX25ld3NpemVfb2soYmFja25vZGUsIG5ucGZzX2Jsb2Nrc2l6
ZSkpIHsNCisgICAgICAgIHRydW5jYXRlX3NldHNpemUoYmFja25vZGUsIG5u
cGZzX2Jsb2Nrc2l6ZSk7DQorICAgIH0NCisjZW5kaWYNCiAgICAgbXV0ZXhf
dW5sb2NrKCZiYWNrbm9kZS0+aV9tdXRleCk7DQogICAgIA0KICAgICBmaWxw
X2Nsb3NlKGJhY2tmaWxlLCBOVUxMKTsNCkBAIC0zMTksMTQgKzM1NSwyMiBA
QCBubnBmc19ibG9ja19vcGVuKHN0cnVjdCBubnBmc19ub2RlICpub2RlDQog
ICAgIHN0cnVjdCBpbm9kZSAqaW5vZGUgPSBYTk9ERV9UT19WTk9ERShub2Rl
KTsNCiAgICAgaW50IGZsYWdzID0gT19MQVJHRUZJTEUgfCBmbGFnOw0KICAg
ICBzdHJ1Y3QgbmFtZWlkYXRhIG5kOw0KKyNpZiAoTElOVVhfVkVSU0lPTl9D
T0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxNCwwKSkNCiAgICAgdWlkX3Qgc2F2
ZXVpZDsNCiAgICAgZ2lkX3Qgc2F2ZWdpZDsNCisjZWxzZQ0KKyAgICBrdWlk
X3Qgc2F2ZXVpZDsNCisgICAga2dpZF90IHNhdmVnaWQ7DQorI2VuZGlmDQog
ICAgIGludCByZXQ7DQogI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJO
RUxfVkVSU0lPTigyLDYsMjkpDQogICAgIGNvbnN0IHN0cnVjdCBjcmVkICpv
bGRfY3JlZDsNCiAgICAgc3RydWN0IGNyZWQgKm92ZXJyaWRlX2NyZWQ7DQog
I2VuZGlmDQogDQorICAgICh2b2lkKXNhdmV1aWQ7DQorICAgICh2b2lkKXNh
dmVnaWQ7DQorDQogICAgIEJVR19PTighbm5wZnNwKTsNCiAgICAgQlVHX09O
KGZsYWdzICYgT19DUkVBVCAmJiBmaWxlICE9IE5VTEwpOw0KIA0KQEAgLTM2
NiwxMSArNDEwLDE4IEBAIG5ucGZzX2Jsb2NrX29wZW4oc3RydWN0IG5ucGZz
X25vZGUgKm5vZGUNCiAgICAgb2xkX2NyZWQgPSBvdmVycmlkZV9jcmVkcyhv
dmVycmlkZV9jcmVkKTsNCiAjZW5kaWYNCiANCisjaWYgKExJTlVYX1ZFUlNJ
T05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMSwwKSkNCiAgICAgcmV0ID0g
dmZzX3BhdGhfbG9va3VwKG5ucGZzcC0+Y2FjaGVkaXIsIG5ucGZzcC0+Y2Fj
aGVyb290LA0KIAkJCSAgY2FjaGVuYW1lLA0KIAkJCSAgZmxhZ3MgJiBPX0NS
RUFUID8gTE9PS1VQX1BBUkVOVCA6IDAsDQogCQkJICAmbmQpOw0KLSAgICBp
ZiAocmV0KSB7DQorI2Vsc2UNCisgICAgcmV0ID0gdmZzX3BhdGhfbG9va3Vw
KG5ucGZzcC0+Y2FjaGVkaXIsIG5ucGZzcC0+Y2FjaGVyb290LA0KKwkJCSAg
Y2FjaGVuYW1lLA0KKwkJCSAgZmxhZ3MgJiBPX0NSRUFUID8gTE9PS1VQX1BB
UkVOVCA6IDAsDQorCQkJICAmbmQucGF0aCk7DQorI2VuZGlmDQorICAgICBp
ZiAocmV0KSB7DQogCXVpbnQzMl90IG5tYXNrcyA9IG5vZGUtPmRhdGEubm1h
c2tzOw0KIAl1aW50MzJfdCBtYXNrOw0KIA0KQEAgLTM5NiwxMSArNDQ3LDIx
IEBAIG5ucGZzX2Jsb2NrX29wZW4oc3RydWN0IG5ucGZzX25vZGUgKm5vZGUN
CiAgICAgDQogICAgIGlmIChmbGFncyAmIE9fQ1JFQVQpIHsNCiAJLyogWFhY
IG1vZGUgYml0cyBvbiBjcmVhdGUgLS0gU19JUlVTUnxTX0lXVVNSICovDQor
I2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDEs
MCkpDQogCXN0cnVjdCBkZW50cnkgKmRlbnRyeSA9IGxvb2t1cF9jcmVhdGUo
Jm5kLCAwKTsJDQorI2Vsc2UNCisJLyogVE9ETzogY2hlY2sgdGhlIGNhbGwg
dG8ga2Vybl9wYXRoX2NyZWF0ZSgpLCBpcyB0aGUgc2Vjb25kIGFyZ3VtZW50
IG9wdGlvbmFsPyAqLw0KKwlzdHJ1Y3QgZGVudHJ5ICpkZW50cnkgPSBrZXJu
X3BhdGhfY3JlYXRlKEFUX0ZEQ1dELCBOVUxMLCAmbmQucGF0aCwgMCk7CQ0K
KyNlbmRpZg0KIAlpZiAoSVNfRVJSKGRlbnRyeSkpIHsNCiAJICAgIHJldCA9
IFBUUl9FUlIoZGVudHJ5KTsNCiAJfSBlbHNlIHsNCisjaWYgKExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsNiwwKSkNCiAJICAgIHJl
dCA9IHZmc19jcmVhdGUobmQucGF0aC5kZW50cnktPmRfaW5vZGUsIGRlbnRy
eSwgU19JUlVTUnxTX0lXVVNSLCAmbmQpOw0KKyNlbHNlDQorCSAgICAvKiBU
T0RPOiBzaG91bGQgdGhlIGxhc3QgYXJndW1lbnQgdG8gdmZzX2NyZWF0ZTog
Ym9vbCB3YW50X2V4Y2wsIGJlIDAgb3IgMT8gKi8NCisJICAgIHJldCA9IHZm
c19jcmVhdGUobmQucGF0aC5kZW50cnktPmRfaW5vZGUsIGRlbnRyeSwgU19J
UlVTUnxTX0lXVVNSLCAwKTsNCisjZW5kaWYNCiAJICAgIGRwdXQoZGVudHJ5
KTsNCiAJfQ0KIA0KQEAgLTQxOSwxMCArNDgwLDE1IEBAIG5ucGZzX2Jsb2Nr
X29wZW4oc3RydWN0IG5ucGZzX25vZGUgKm5vZGUNCiAJICAgIHJldCA9IG5u
cGZzX2Jsb2NrX2V4dGVuZChub2RlLCBvZmZzZXQpOw0KIAl9DQogICAgIH0g
ZWxzZSB7DQotI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJT
SU9OKDIsNiwyOSkNCisjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5F
TF9WRVJTSU9OKDIsNiwyOSkpDQogCXN0cnVjdCBmaWxlICpmID0gZGVudHJ5
X29wZW4obmQucGF0aC5kZW50cnksIG5kLnBhdGgubW50LCBmbGFncyk7DQog
I2Vsc2UNCisjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJT
SU9OKDMsNiwwKSkNCiAgICAgICAgIHN0cnVjdCBmaWxlICpmID0gZGVudHJ5
X29wZW4obmQucGF0aC5kZW50cnksIG5kLnBhdGgubW50LCBmbGFncywgY3Vy
cmVudF9jcmVkKCkpOw0KKyNlbHNlDQorCXN0cnVjdCBwYXRoIHBhdGggPSB7
IC5tbnQgPSBuZC5wYXRoLm1udCwgLmRlbnRyeSA9IG5kLnBhdGguZGVudHJ5
IH07DQorICAgICAgICBzdHJ1Y3QgZmlsZSAqZiA9IGRlbnRyeV9vcGVuKCZw
YXRoLCBmbGFncywgY3VycmVudF9jcmVkKCkpOw0KKyNlbmRpZg0KICNlbmRp
Zg0KIAlpZiAoSVNfRVJSKGYpKSB7DQogCSAgICByZXQgPSBQVFJfRVJSKGYp
Ow0KZGlmZiAtdXByTiAtWG5vZGlmZi50eHQgYXJsYS1jdnMvbm5wZnMvbGlu
dXgvbm5wZnNfY29tbW9uLmMgYXJsYS1mb3ItbGludXgtMy4xOC9ubnBmcy9s
aW51eC9ubnBmc19jb21tb24uYw0KLS0tIGFybGEtY3ZzL25ucGZzL2xpbnV4
L25ucGZzX2NvbW1vbi5jCTIwMDYtMTItMTEgMTc6MzE6NDYuMDAwMDAwMDAw
ICswMTAwDQorKysgYXJsYS1mb3ItbGludXgtMy4xOC9ubnBmcy9saW51eC9u
bnBmc19jb21tb24uYwkyMDE2LTAxLTExIDIwOjQ3OjIyLjg3NDQwNjE3NCAr
MDEwMA0KQEAgLTExMiwxMCArMTEyLDE3IEBAIG5ucGZzX3ByaW50X2FsaWFz
ZXMoY29uc3Qgc3RydWN0IGlub2RlICoNCiB2b2lkDQogbm5wZnNfcHJpbnRf
YWxpYXNlc19yZWFsKGNvbnN0IHN0cnVjdCBpbm9kZSAqaW5vZGUpDQogew0K
KyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw2
LDApKQ0KICAgICBzdHJ1Y3QgbGlzdF9oZWFkICphbGlhczsNCisjZWxzZQ0K
KyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw5
LDApKQ0KKyAgICBzdHJ1Y3QgaGxpc3Rfbm9kZSAqYWxpYXM7DQorI2VuZGlm
DQorI2VuZGlmDQogICAgIHN0cnVjdCBkZW50cnkgKmRlbnRyeTsNCiAgICAg
aW50IGJhaWxvdXQgPSAxMDA7DQogDQorI2lmIChMSU5VWF9WRVJTSU9OX0NP
REUgPCBLRVJORUxfVkVSU0lPTigzLDYsMCkpDQogICAgIGFsaWFzID0gaW5v
ZGUtPmlfZGVudHJ5Lm5leHQ7DQogICAgIHdoaWxlIChhbGlhcyAhPSAmaW5v
ZGUtPmlfZGVudHJ5KSB7DQogCWlmICgtLWJhaWxvdXQgPCAwKSB7DQpAQCAt
MTMxLDYgKzEzOCwyNCBAQCBubnBmc19wcmludF9hbGlhc2VzX3JlYWwoY29u
c3Qgc3RydWN0IGluDQogCX0NCiAJYWxpYXMgPSBhbGlhcy0+bmV4dDsNCiAg
ICAgfQ0KKyNlbHNlDQorI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJO
RUxfVkVSU0lPTigzLDksMCkpDQorICAgIGhsaXN0X2Zvcl9lYWNoX2VudHJ5
KGRlbnRyeSwgYWxpYXMsICZpbm9kZS0+aV9kZW50cnksIGRfYWxpYXMpIHsN
CisjZWxzZQ0KKyAgICBobGlzdF9mb3JfZWFjaF9lbnRyeShkZW50cnksICZp
bm9kZS0+aV9kZW50cnksIGRfYWxpYXMpIHsNCisjZW5kaWYNCisJaWYgKC0t
YmFpbG91dCA8IDApIHsNCisJICAgIHByaW50aygiIC4uLiIpOw0KKwkgICAg
YnJlYWs7DQorCX0NCisJaWYgKGRlbnRyeSkgew0KKwkgICAgcHJpbnRrKCIg
JS4qcyglcCkiLCAoaW50KWRlbnRyeS0+ZF9uYW1lLmxlbiwNCisJCSAgIGRl
bnRyeS0+ZF9uYW1lLm5hbWUsIGRlbnRyeSk7DQorCSAgICBpZiAobm5wZnNf
ZF9lbnRyeV91bmhhc2hlZCgmZGVudHJ5LT5kX2hhc2gpKQ0KKwkJcHJpbnRr
KCIodW5oYXNoZWQpIik7DQorCX0NCisgICAgfQ0KKyNlbmRpZg0KICAgICBw
cmludGsoIlxuIik7DQogfQ0KIA0KZGlmZiAtdXByTiAtWG5vZGlmZi50eHQg
YXJsYS1jdnMvbm5wZnMvbGludXgvbm5wZnNfZGV2LmMgYXJsYS1mb3ItbGlu
dXgtMy4xOC9ubnBmcy9saW51eC9ubnBmc19kZXYuYw0KLS0tIGFybGEtY3Zz
L25ucGZzL2xpbnV4L25ucGZzX2Rldi5jCTIwMDYtMTAtMjQgMTg6MzM6MzYu
MDAwMDAwMDAwICswMjAwDQorKysgYXJsYS1mb3ItbGludXgtMy4xOC9ubnBm
cy9saW51eC9ubnBmc19kZXYuYwkyMDE2LTAxLTEzIDAxOjAwOjUxLjQ4Njcz
MzI4OCArMDEwMA0KQEAgLTMwMCw4ICszMDAsMTAgQEAgbm5wZnNfaW52YWxp
ZGF0ZV9hbGwoc3RydWN0IG5ucGZzICpubnBmcw0KICAgICBOTlBGU0RFQihY
REVCTk9ERSwgKCJmcmVlX2FsbF9ubnBmc19ub2RlcyBzdGFydGluZ1xuIikp
Ow0KIA0KICAgICBzaHJpbmtfZGNhY2hlX3NiKG5ucGZzLT5zYik7DQorI2lm
IChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMzcp
KQ0KICAgICBpbnZhbGlkYXRlX2lub2RlcyhubnBmcy0+c2IpOw0KLSAgICAN
CisjZW5kaWYNCisNCiAgICAgTk5QRlNERUIoWERFQk5PREUsICgiZnJlZV9h
bGxfbm5wZnNfbm9kZXMgZG9uZVxuIikpOw0KIH0NCiANCkBAIC01MDUsMTIg
KzUwNywyMyBAQCBubnBmc19kZXZ3cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwg
Y29uc3QNCiAvKg0KICAqIE5vdCB1c2VkLg0KICAqLw0KKyNpZiAoTElOVVhf
VkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDM2KSkNCiBzdGF0
aWMgaW50DQogbm5wZnNfZGV2aW9jdGwoc3RydWN0IGlub2RlICppbm9kZSwg
c3RydWN0IGZpbGUgKmZpbGUsDQogCSAgICAgICB1bnNpZ25lZCBpbnQgY21k
LCB1bnNpZ25lZCBsb25nIGFyZykNCisjZWxzZQ0KK3N0YXRpYyBsb25nDQor
bm5wZnNfdW5sb2NrZWRfZGV2aW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsDQor
CSAgICAgICB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZykN
CisjZW5kaWYNCiB7DQorI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJO
RUxfVkVSU0lPTigyLDYsMzYpKQ0KICAgICBOTlBGU0RFQihYREVCREVWLCAo
Im5ucGZzX2RldmlvY3RsIGRldiA9ICVkLCBmbGFncyA9ICVkXG4iLA0KIAkJ
ICAgICAgIGlub2RlLT5pX3JkZXYsIGZpbGUtPmZfZmxhZ3MpKTsNCisjZWxz
ZQ0KKyAgICBOTlBGU0RFQihYREVCREVWLCAoIm5ucGZzX2RldmlvY3RsIGRl
diA9ICVkLCBmbGFncyA9ICVkXG4iLA0KKwkJICAgICAgIGZpbGUtPmZfZGVu
dHJ5LT5kX2lub2RlLT5pX3JkZXYsIGZpbGUtPmZfZmxhZ3MpKTsNCisjZW5k
aWYNCiAgICAgcmV0dXJuIC1FSU5WQUw7DQogfQ0KIA0KQEAgLTk1Myw3ICs5
NjYsMTEgQEAgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBubnBmc19mb3BzID0g
ew0KICAgICByZWFkOgkJbm5wZnNfZGV2cmVhZCwNCiAgICAgd3JpdGU6CQlu
bnBmc19kZXZ3cml0ZSwNCiAgICAgcG9sbDoJCW5ucGZzX2RldnBvbGwsDQor
I2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYs
MzYpKQ0KICAgICBpb2N0bDoJCW5ucGZzX2RldmlvY3RsLA0KKyNlbHNlDQor
ICAgIHVubG9ja2VkX2lvY3RsOglubnBmc191bmxvY2tlZF9kZXZpb2N0bCwN
CisjZW5kaWYNCiAgICAgcmVsZWFzZToJCW5ucGZzX2RldmNsb3NlLA0KICAg
ICBvcGVuOgkJbm5wZnNfZGV2b3BlbiwNCiB9Ow0KQEAgLTk2OCw4ICs5ODUs
MTYgQEAgbm5wZnNfaW5pdF9kZXZpY2Uodm9pZCkNCiAJaW5pdF93YWl0cXVl
dWVfaGVhZCgmKG5ucGZzW2ldLndhaXRfcXVldWUpKTsNCiAJbm5wZnNfaW5p
dHEoJm5ucGZzW2ldLm1lc3NhZ2VxKTsNCiAJbm5wZnNfaW5pdHEoJm5ucGZz
W2ldLnNsZWVwcSk7DQorI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJO
RUxfVkVSU0lPTigyLDYsMzcpKQ0KIAlpbml0X01VVEVYKCZubnBmc1tpXS5p
bmFjdGl2ZV9zZW0pOw0KKyNlbHNlDQorCXNlbWFfaW5pdCgmbm5wZnNbaV0u
aW5hY3RpdmVfc2VtLCAxKTsNCisjZW5kaWYNCisjaWYgKExJTlVYX1ZFUlNJ
T05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwzNykpDQogCWluaXRfTVVU
RVgoJm5ucGZzW2ldLmNoYW5uZWxfc2VtKTsNCisjZWxzZQ0KKwlzZW1hX2lu
aXQoJm5ucGZzW2ldLmNoYW5uZWxfc2VtLCAxKTsNCisjZW5kaWYNCiAJSU5J
VF9MSVNUX0hFQUQoJm5ucGZzW2ldLmluYWN0aXZlX2xpc3QpOw0KIAlubnBm
c1tpXS5ubm9kZXMgPSAwOw0KICAgICB9DQpkaWZmIC11cHJOIC1Ybm9kaWZm
LnR4dCBhcmxhLWN2cy9ubnBmcy9saW51eC9ubnBmc19pbm9kZW9wcy5jIGFy
bGEtZm9yLWxpbnV4LTMuMTgvbm5wZnMvbGludXgvbm5wZnNfaW5vZGVvcHMu
Yw0KLS0tIGFybGEtY3ZzL25ucGZzL2xpbnV4L25ucGZzX2lub2Rlb3BzLmMJ
MjAxMC0wOC0wOCAyMjo0MzowNC4wMDAwMDAwMDAgKzAyMDANCisrKyBhcmxh
LWZvci1saW51eC0zLjE4L25ucGZzL2xpbnV4L25ucGZzX2lub2Rlb3BzLmMJ
MjAxNi0wMS0xMyAwMDo1MzoyMS43NTQ3MTgzMTYgKzAxMDANCkBAIC00MCw2
ICs0MCw3IEBADQogI2luY2x1ZGUgPG5ucGZzL25ucGZzX2Rldi5oPg0KICNp
bmNsdWRlIDxubnBmcy9ubnBmc19kaXJlbnQuaD4NCiAjaW5jbHVkZSA8bm5w
ZnMvbm5wZnNfc3lzY2FsbHMuaD4NCisjaW5jbHVkZSA8bGludXgvYWlvLmg+
DQogI2luY2x1ZGUgPGxpbnV4L2JpbmZtdHMuaD4NCiAjaW5jbHVkZSA8bGlu
dXgvZmlsZS5oPg0KICNpbmNsdWRlIDxsaW51eC9wYWdlbWFwLmg+DQpAQCAt
NTQsMTEgKzU1LDIzIEBAIFJDU0lEKCIkSWQ6IG5ucGZzX2lub2Rlb3BzLmMs
diAxLjIyNiAyMDENCiBzdGF0aWMgaW50DQogbm5wZnNfZnN5bmNfaW50KHN0
cnVjdCBmaWxlICpmaWxlLCB1X2ludCBmbGFnKTsNCiANCisjaWYgKExJTlVY
X1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsNiwwKSkNCiBzdGF0
aWMgaW50DQogbm5wZnNfZF9yZXZhbGlkYXRlKHN0cnVjdCBkZW50cnkgKmRl
bnRyeSwgc3RydWN0IG5hbWVpZGF0YSAqbmQpOw0KLQ0KKyNlbHNlDQogc3Rh
dGljIGludA0KK25ucGZzX2RfcmV2YWxpZGF0ZShzdHJ1Y3QgZGVudHJ5ICpk
ZW50cnksIHVuc2lnbmVkIGludCBmbGFncyk7DQorI2VuZGlmDQorDQorI2lm
IChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMzgp
KQ0KK3N0YXRpYw0KK2ludA0KIG5ucGZzX2RfZGVsZXRlKHN0cnVjdCBkZW50
cnkgKmRlbnRyeSk7DQorI2Vsc2UNCitzdGF0aWMNCitpbnQNCitubnBmc19k
X2RlbGV0ZShjb25zdCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpOw0KKyNlbmRp
Zg0KIA0KIHN0YXRpYyB2b2lkDQogbm5wZnNfZF9yZWxlYXNlKHN0cnVjdCBk
ZW50cnkgKmRlbnRyeSk7DQpAQCAtMjE0LDggKzIyNywxMyBAQCBubnBmc19p
bm9kZV92YWxpZChzdHJ1Y3QgaW5vZGUgKmlub2RlKQ0KICAqIG5ucGZzX2xv
b2t1cCBub3cgcmV0dXJucyBhIGRlbnRyeS4NCiAgKi8NCiANCisjaWYgKExJ
TlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsNiwwKSkNCiBz
dGF0aWMgc3RydWN0IGRlbnRyeSAqDQogbm5wZnNfbG9va3VwIChzdHJ1Y3Qg
aW5vZGUgKmRpciwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgbmFt
ZWlkYXRhICpuZCkNCisjZWxzZQ0KK3N0YXRpYyBzdHJ1Y3QgZGVudHJ5ICoN
CitubnBmc19sb29rdXAgKHN0cnVjdCBpbm9kZSAqZGlyLCBzdHJ1Y3QgZGVu
dHJ5ICpkZW50cnksIHVuc2lnbmVkIGludCBmbGFncykNCisjZW5kaWYNCiB7
DQogICAgIHN0cnVjdCBubnBmc19tZXNzYWdlX2dldG5vZGUgbXNnOw0KICAg
ICBzdHJ1Y3Qgbm5wZnMgKm5ucGZzcDsNCkBAIC00NzQsMTIgKzQ5MiwxNyBA
QCBubnBmc19mc3luY19pbnQoc3RydWN0IGZpbGUgKmZpbGUsIHVfaW50DQog
ICoNCiAgKi8NCiANCi0jaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVM
X1ZFUlNJT04oMiwgNiwgMzUpDQorI2lmIChMSU5VWF9WRVJTSU9OX0NPREUg
PCBLRVJORUxfVkVSU0lPTigyLDYsMzUpKQ0KIHN0YXRpYyBpbnQNCiBubnBm
c19mc3luYyhzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGRlbnRyeSAqZGVu
dHJ5LCBpbnQgZGF0YXN5bmMpDQogI2Vsc2UNCisjaWYgKExJTlVYX1ZFUlNJ
T05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMSwwKSkNCiBzdGF0aWMgaW50
DQogbm5wZnNfZnN5bmMoc3RydWN0IGZpbGUgKmZpbGUsIGludCBkYXRhc3lu
YykNCisjZWxzZQ0KK3N0YXRpYyBpbnQNCitubnBmc19mc3luYyhzdHJ1Y3Qg
ZmlsZSAqZmlsZSwgbG9mZl90IHN0YXJ0LCBsb2ZmX3QgZW5kLCBpbnQgZGF0
YXN5bmMpDQorI2VuZGlmDQogI2VuZGlmDQogew0KICNpZiBMSU5VWF9WRVJT
SU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMiwgNiwgMzUpDQpAQCAtNDkw
LDYgKzUxMyw4IEBAIG5ucGZzX2ZzeW5jKHN0cnVjdCBmaWxlICpmaWxlLCBp
bnQgZGF0YXMNCiAgICAgc3RydWN0IG5ucGZzX25vZGUgKnhuOw0KICAgICBp
bnQgZXJyb3IgPSAwOw0KIA0KKyAgICAodm9pZClubnBmc3A7DQorDQogICAg
IGVycm9yID0gbm5wZnNfaW5vZGVfdmFsaWQoaW5vZGUpOw0KICAgICBpZiAo
ZXJyb3IpDQogCXJldHVybiBlcnJvcjsNCkBAIC02MjIsMTEgKzY0NywyOCBA
QCBjaGVja19yaWdodHMgKG5ucGZzX3JpZ2h0cyByaWdodHMsIGludCBtDQog
ICogV2UgZG9uJ3QgaG9sZCBpX211dGV4Lg0KICAqLw0KIA0KKyNpZiAoTElO
VVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDM4KSB8fCBM
SU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywxLDApKQ0K
IHN0YXRpYyBpbnQNCiBubnBmc19wZXJtaXNzaW9uKHN0cnVjdCBpbm9kZSAq
aW5vZGUsIGludCBtb2RlKQ0KKyNlbHNlDQorc3RhdGljIGludA0KK25ucGZz
X3Blcm1pc3Npb24oc3RydWN0IGlub2RlICppbm9kZSwgaW50IG1vZGUsIHVu
c2lnbmVkIGludCBmbGFncykNCisjZW5kaWYNCiB7DQogICAgIGludCBlcnJv
ciA9IDA7DQotICAgIG5ucGZzX3BhZ190IHBhZyA9IG5ucGZzX2dldF9wYWco
KTsNCisgICAgbm5wZnNfcGFnX3QgcGFnOw0KKyAgICAvKiBUT0RPOiB2ZXJp
ZnkgdGhlIHVzZSBvZiBJUEVSTV9GTEFHX1JDVSBhbmQgTUFZX05PVF9CTE9D
SyAqLw0KKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJT
SU9OKDIsNiwzOCkpDQorI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJO
RUxfVkVSU0lPTigzLDEsMCkpDQorICAgIGlmIChmbGFncyAmIElQRVJNX0ZM
QUdfUkNVKQ0KKyAgICAgICAgcmV0dXJuIC1FQ0hJTEQ7DQorI2Vsc2UNCisg
ICAgaWYgKG1vZGUgJiBNQVlfTk9UX0JMT0NLKQ0KKyAgICAgICAgcmV0dXJu
IC1FQ0hJTEQ7DQorI2VuZGlmDQorI2VuZGlmDQorDQorICAgIHBhZyA9IG5u
cGZzX2dldF9wYWcoKTsNCiAgICAgDQogICAgIE5OUEZTREVCKFhERUJWTk9Q
UywgKCJubnBmc19hY2Nlc3MgKCVwKSBtb2RlID0gMCVvIGFsaWFzZXM6Iiwg
aW5vZGUsIG1vZGUpKTsNCiAgICAgbm5wZnNfcHJpbnRfYWxpYXNlcyhpbm9k
ZSk7DQpAQCAtODIzLDE0ICs4NjUsMjMgQEAgaW50IG5ucGZzX2ZpbGVfbW1h
cChzdHJ1Y3QgZmlsZSAqIGZpbGUsDQogICoNCiAgKi8NCiANCisjaWYgKExJ
TlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTYsMCkpDQog
c3RhdGljIHNzaXplX3QNCiBubnBmc19haW9fcmVhZChzdHJ1Y3Qga2lvY2Ig
KmlvY2IsDQogCSAgICAgICBjb25zdCBzdHJ1Y3QgaW92ZWMgKmlvdiwgdW5z
aWduZWQgbG9uZyBucl9zZWdzLA0KIAkgICAgICAgbG9mZl90IHBvcykNCisj
ZWxzZQ0KK3N0YXRpYyBzc2l6ZV90DQorbm5wZnNfcmVhZF9pdGVyKHN0cnVj
dCBraW9jYiAqaW9jYiwgc3RydWN0IGlvdl9pdGVyICp0bykNCisjZW5kaWYN
CiB7DQogICAgIGludCBlcnJvciA9IDA7DQogICAgIHN0cnVjdCBmaWxlICpm
aWxlID0gaW9jYi0+a2lfZmlscDsNCisjaWYgKExJTlVYX1ZFUlNJT05fQ09E
RSA8IEtFUk5FTF9WRVJTSU9OKDMsMTIsMCkpDQogICAgIHNzaXplX3QgY291
bnQgPSBpb2NiLT5raV9sZWZ0Ow0KKyNlbHNlDQorICAgIHNzaXplX3QgY291
bnQgPSBpb2NiLT5raV9uYnl0ZXM7DQorI2VuZGlmDQogICAgIHN0cnVjdCBp
bm9kZSAqaW5vZGUgPSBmaWxlLT5mX2RlbnRyeS0+ZF9pbm9kZTsNCiAgICAg
c3RydWN0IG5ucGZzX25vZGUgKnhuID0gVk5PREVfVE9fWE5PREUoaW5vZGUp
Ow0KICAgICANCkBAIC04MzgsMTMgKzg4OSwyMSBAQCBubnBmc19haW9fcmVh
ZChzdHJ1Y3Qga2lvY2IgKmlvY2IsDQogCU5OUEZTREVCKFhERUJWTk9QUywg
KCJubnBmc19yZWFkX2ZpbGUoJXApOiB0b2tlbnM6IDB4JXhcbiIsDQogCQkJ
ICAgICBpbm9kZSwgeG4tPnRva2VucykpOw0KIA0KKyNpZiAoTElOVVhfVkVS
U0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxNiwwKSkNCiAgICAgZXJy
b3IgPSBubnBmc19kYXRhX3ZhbGlkKGlub2RlLCBOTlBGU19EQVRBX1IsIHBv
cywgcG9zICsgY291bnQpOw0KKyNlbHNlDQorICAgIGVycm9yID0gbm5wZnNf
ZGF0YV92YWxpZChpbm9kZSwgTk5QRlNfREFUQV9SLCBpb2NiLT5raV9wb3Ms
IGlvY2ItPmtpX3BvcyArIGNvdW50KTsNCisjZW5kaWYNCiAgICAgaWYgKGVy
cm9yKSB7DQogCU5OUEZTREVCKFhERUJWTk9QUywgKCJubnBmc19yZWFkX2Zp
bGU6IGRhdGEgbm90IHZhbGlkICVkXG4iLCBlcnJvcikpOw0KIAlyZXR1cm4g
ZXJyb3I7DQogICAgIH0NCi0gICAgDQorDQorI2lmIChMSU5VWF9WRVJTSU9O
X0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDE2LDApKQ0KICAgICBlcnJvciA9
IGdlbmVyaWNfZmlsZV9haW9fcmVhZChpb2NiLCBpb3YsIG5yX3NlZ3MsIHBv
cyk7DQorI2Vsc2UNCisgICAgZXJyb3IgPSBnZW5lcmljX2ZpbGVfcmVhZF9p
dGVyKGlvY2IsIHRvKTsNCisjZW5kaWYNCiAgICAgTk5QRlNERUIoWERFQlZO
T1BTLCAoIm5ucGZzX3JlYWRfZmlsZTogZXJyb3IgPSAlZFxuIiwgZXJyb3Ip
KTsNCiAgICAgcmV0dXJuIGVycm9yOw0KIH0NCkBAIC04NTMsMTcgKzkxMiwz
MCBAQCBubnBmc19haW9fcmVhZChzdHJ1Y3Qga2lvY2IgKmlvY2IsDQogICoN
CiAgKi8NCiANCisjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9W
RVJTSU9OKDMsMTYsMCkpDQogc3RhdGljIHNzaXplX3QNCiBubnBmc19haW9f
d3JpdGUoc3RydWN0IGtpb2NiICppb2NiLA0KIAkJY29uc3Qgc3RydWN0IGlv
dmVjICppb3YsIHVuc2lnbmVkIGxvbmcgbnJfc2VncywNCiAJCWxvZmZfdCBw
b3MpDQorI2Vsc2UNCitzdGF0aWMgc3NpemVfdA0KK25ucGZzX3dyaXRlX2l0
ZXIoc3RydWN0IGtpb2NiICppb2NiLCBzdHJ1Y3QgaW92X2l0ZXIgKmZyb20p
DQorI2VuZGlmDQogew0KICAgICBpbnQgZXJyb3IgPSAwOw0KICAgICBzdHJ1
Y3QgZmlsZSAqZmlsZSA9IGlvY2ItPmtpX2ZpbHA7DQorI2lmIChMSU5VWF9W
RVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDEyLDApKQ0KICAgICBz
c2l6ZV90IGNvdW50ID0gaW9jYi0+a2lfbGVmdDsNCisjZWxzZQ0KKyAgICBz
c2l6ZV90IGNvdW50ID0gaW9jYi0+a2lfbmJ5dGVzOw0KKyNlbmRpZg0KICAg
ICBzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZmlsZS0+Zl9kZW50cnktPmRfaW5v
ZGU7DQogICAgIHN0cnVjdCBubnBmc19ub2RlICp4biA9IFZOT0RFX1RPX1hO
T0RFKGlub2RlKTsNCisjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5F
TF9WRVJTSU9OKDMsMTYsMCkpDQogICAgIGxvZmZfdCByZWFscG9zID0gcG9z
Ow0KKyNlbHNlDQorICAgIGxvZmZfdCByZWFscG9zID0gaW9jYi0+a2lfcG9z
Ow0KKyNlbmRpZg0KICAgICANCiAgICAgTk5QRlNERUIoWERFQlZOT1BTLCAo
Im5ucGZzX2Fpb193cml0ZSglcCk6IHRva2VuczogMHgleFxuIiwNCiAJCQkg
aW5vZGUsIHhuLT50b2tlbnMpKTsNCkBAIC04NzcsNyArOTQ5LDExIEBAIG5u
cGZzX2Fpb193cml0ZShzdHJ1Y3Qga2lvY2IgKmlvY2IsDQogCXJldHVybiBl
cnJvcjsNCiAgICAgfQ0KIA0KKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFIDwg
S0VSTkVMX1ZFUlNJT04oMywxNiwwKSkNCiAgICAgZXJyb3IgPSBnZW5lcmlj
X2ZpbGVfYWlvX3dyaXRlKGlvY2IsIGlvdiwgbnJfc2VncywgcG9zKTsNCisj
ZWxzZQ0KKyAgICBlcnJvciA9IGdlbmVyaWNfZmlsZV93cml0ZV9pdGVyKGlv
Y2IsIGZyb20pOw0KKyNlbmRpZg0KICAgICBpZiAoIUlTX0VSUl9WQUxVRShl
cnJvcikpDQogCXhuLT5mbGFncyB8PSBOTlBGU19EQVRBX0RJUlRZOyAvKiBY
WFggcmFjZSAqLw0KIA0KQEAgLTg4NSw5ICs5NjEsMjEgQEAgbm5wZnNfYWlv
X3dyaXRlKHN0cnVjdCBraW9jYiAqaW9jYiwNCiAgICAgcmV0dXJuIGVycm9y
Ow0KIH0NCiANCisjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9W
RVJTSU9OKDMsMywwKSkNCiBzdGF0aWMgaW50DQogbm5wZnNfY3JlYXRlKHN0
cnVjdCBpbm9kZSAqZGlyLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksDQogCSAg
ICAgaW50IG1vZGUsIHN0cnVjdCBuYW1laWRhdGEgKm5kKQ0KKyNlbHNlDQor
I2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDYs
MCkpDQorc3RhdGljIGludA0KK25ucGZzX2NyZWF0ZShzdHJ1Y3QgaW5vZGUg
KmRpciwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LA0KKwkgICAgIHVtb2RlX3Qg
bW9kZSwgc3RydWN0IG5hbWVpZGF0YSAqbmQpDQorI2Vsc2UNCitzdGF0aWMg
aW50DQorbm5wZnNfY3JlYXRlKHN0cnVjdCBpbm9kZSAqZGlyLCBzdHJ1Y3Qg
ZGVudHJ5ICpkZW50cnksDQorCSAgICAgdW1vZGVfdCBtb2RlLCBib29sIGV4
Y2wpDQorI2VuZGlmDQorI2VuZGlmDQogew0KICAgICBzdHJ1Y3Qgbm5wZnMg
Km5ucGZzcDsNCiAgICAgc3RydWN0IG5ucGZzX25vZGUgKnhuOw0KQEAgLTEw
MzgsOCArMTEyNiwxMyBAQCBubnBmc19yZW5hbWUgKHN0cnVjdCBpbm9kZSAq
IG9sZF9kaXIsIHN0DQogICAgIHJldHVybiBlcnJvcjsNCiB9DQogDQorI2lm
IChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDMsMCkp
DQogc3RhdGljIGludA0KIG5ucGZzX21rZGlyKHN0cnVjdCBpbm9kZSAqIGRp
ciwgc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBpbnQgbW9kZSkNCisjZWxzZQ0K
K3N0YXRpYyBpbnQNCitubnBmc19ta2RpcihzdHJ1Y3QgaW5vZGUgKiBkaXIs
IHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgdW1vZGVfdCBtb2RlKQ0KKyNlbmRp
Zg0KIHsNCiAgICAgc3RydWN0IG5ucGZzICpubnBmc3A7DQogICAgIHN0cnVj
dCBubnBmc19ub2RlICp4bjsNCkBAIC0xMjUyLDggKzEzNDUsMTMgQEAgc3Rh
dGljIGludCBubnBmc19zeW1saW5rKHN0cnVjdCBpbm9kZSAqZA0KIC8qDQog
ICogV2UgaG9sZCBpX211dGV4Lg0KICAqLw0KKyNpZiAoTElOVVhfVkVSU0lP
Tl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxMSwwKSkNCiBzdGF0aWMgaW50
DQogbm5wZnNfcmVhZGRpcihzdHJ1Y3QgZmlsZSAqIGZpbGUsIHZvaWQgKiBk
aXJlbnQsIGZpbGxkaXJfdCBmaWxsZGlyKQ0KKyNlbHNlDQorc3RhdGljIGlu
dA0KK25ucGZzX2l0ZXJhdGUoc3RydWN0IGZpbGUgKiBmaWxlLCBzdHJ1Y3Qg
ZGlyX2NvbnRleHQgKmN0eCkNCisjZW5kaWYNCiB7DQogICAgIGludCBlcnJv
cjsNCiAgICAgbG9mZl90IG9mZnNldCwgYmVnaW5fb2Zmc2V0Ow0KQEAgLTEz
MjgsNiArMTQyNiw3IEBAIG5ucGZzX3JlYWRkaXIoc3RydWN0IGZpbGUgKiBm
aWxlLCB2b2lkICoNCiAJCSAgICAoaW50KSB4ZGlyZW50LT5kX25hbWxlbiwN
CiAJCSAgICAoaW50KSAob2Zmc2V0K2JlZ2luX29mZnNldCkpKTsNCiANCisj
aWYgKExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTEs
MCkpDQogCSAgICBpZiAoeGRpcmVudC0+ZF9maWxlbm8gIT0gMA0KIAkJJiYg
KGZpbGxkaXJfZXJyb3IgPSBmaWxsZGlyIChkaXJlbnQsDQogCQkJCSAgICAg
eGRpcmVudC0+ZF9uYW1lLA0KQEAgLTEzMzksNiArMTQzOCwxOCBAQCBubnBm
c19yZWFkZGlyKHN0cnVjdCBmaWxlICogZmlsZSwgdm9pZCAqDQogCQkJICgi
bm5wZnNfcmVhZGRpciBmaWxsZGlyOiAlZFxuIiwgZmlsbGRpcl9lcnJvcikp
Ow0KIAkJYnJlYWs7DQogCSAgICB9DQorI2Vsc2UNCisJICAgIGlmICh4ZGly
ZW50LT5kX2ZpbGVubyAhPSAwDQorCQkmJiAoZmlsbGRpcl9lcnJvciA9IGRp
cl9lbWl0IChjdHgsDQorCQkJCSAgICAgeGRpcmVudC0+ZF9uYW1lLA0KKwkJ
CQkgICAgIHhkaXJlbnQtPmRfbmFtbGVuLA0KKwkJCQkgICAgIHhkaXJlbnQt
PmRfZmlsZW5vLA0KKwkJCQkgICAgIERUX1VOS05PV04pKSA8IDApIHsNCisJ
CU5OUEZTREVCKFhERUJSRUFERElSLA0KKwkJCSAoIm5ucGZzX3JlYWRkaXIg
ZmlsbGRpcjogJWRcbiIsIGZpbGxkaXJfZXJyb3IpKTsNCisJCWJyZWFrOw0K
KwkgICAgfQ0KKyNlbmRpZg0KIAkgICAgb2Zmc2V0ICs9IHhkaXJlbnQtPmRf
cmVjbGVuOw0KIA0KIAkgICAgaWYgKHhkaXJlbnQtPmRfcmVjbGVuID09IDAp
IHsNCkBAIC0xNDkwLDYgKzE2MDEsOCBAQCBubnBmc19yZWxlYXNlX2ZpbGUg
KHN0cnVjdCBpbm9kZSAqaW5vZGUsDQogICAgIHN0cnVjdCBubnBmc19ub2Rl
ICp4bjsNCiAgICAgaW50IGVycm9yID0gMDsNCiANCisgICAgKHZvaWQpbm5w
ZnNwOw0KKw0KICAgICBOTlBGU0RFQihYREVCVk5PUFMsICgibm5wZnNfcmVs
ZWFzZV9maWxlXG4iKSk7DQogDQogICAgIGVycm9yID0gbm5wZnNfaW5vZGVf
dmFsaWQoaW5vZGUpOw0KQEAgLTE1MzMsOCArMTY0NiwxMyBAQCBubnBmc19m
bHVzaChzdHJ1Y3QgZmlsZSAqZmlsZSwgZmxfb3duZXJfDQogICogUmV0dXJu
IDEgaWYgYGRlbnRyeScgaXMgc3RpbGwgdmFsaWQsIG90aGVyd2lzZSAwLg0K
ICAqLw0KIA0KKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZF
UlNJT04oMyw2LDApKQ0KK3N0YXRpYyBpbnQNCitubnBmc19kX3JldmFsaWRh
dGUoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgbmFtZWlkYXRhICpu
ZCkNCisjZWxzZQ0KIHN0YXRpYyBpbnQNCi1ubnBmc19kX3JldmFsaWRhdGUo
c3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3QgbmFtZWlkYXRhICpuZCkg
DQorbm5wZnNfZF9yZXZhbGlkYXRlKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwg
dW5zaWduZWQgaW50IGZsYWdzKQ0KKyNlbmRpZg0KIHsNCiAgICAgc3RydWN0
IGlub2RlICppbm9kZSA9IERFTlRSWV9UT19JTk9ERShkZW50cnkpOw0KICAg
ICBOTlBGU0RFQihYREVCVk5PUFMsICgibm5wZnNfZF9yZXZhbGlkYXRlICVw
IFwiJS4qc1wiIChpbm9kZSAlcClcbiIsDQpAQCAtMTU4Miw5ICsxNzAwLDE1
IEBAIG5ucGZzX2RfcmV2YWxpZGF0ZShzdHJ1Y3QgZGVudHJ5ICpkZW50cnkN
CiAgICAgcmV0dXJuIDA7DQogfQ0KIA0KKyNpZiAoTElOVVhfVkVSU0lPTl9D
T0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDM4KSkNCiBzdGF0aWMNCiBpbnQN
CiBubnBmc19kX2RlbGV0ZShzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpDQorI2Vs
c2UNCitzdGF0aWMNCitpbnQNCitubnBmc19kX2RlbGV0ZShjb25zdCBzdHJ1
Y3QgZGVudHJ5ICpkZW50cnkpDQorI2VuZGlmDQogew0KICAgICBzdHJ1Y3Qg
aW5vZGUgKmlub2RlOw0KICAgICBzdHJ1Y3Qgbm5wZnNfbm9kZSAqeG47DQpA
QCAtMTcwNiw3ICsxODMwLDkgQEAgbm5wZnNfd3JpdGVfYmFja3BhZ2Uoc3Ry
dWN0IHBhZ2UgKnBhZ2UsDQogCXVuc2lnbmVkIGxvbmcgb2Zmc2V0Ow0KIA0K
IAlpbnQgZXJyb3I7DQotCQ0KKw0KKwkodm9pZClvZmZzZXQ7DQorDQogCWRv
IHsNCiAJCWVycm9yID0gcGFnZWNhY2hlX3dyaXRlX2JlZ2luKGJhY2tmaWxl
LCBtYXBwaW5nLCAwLCBsZW4sDQogCQkJCQkgICAgICBBT1BfRkxBR19VTklO
VEVSUlVQVElCTEUsDQpAQCAtMTc0Nyw2ICsxODczLDggQEAgbm5wZnNfcmVh
ZF9iYWNrcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwgcw0KIAlzdHJ1Y3QgcGFn
ZSAqYmFja3BhZ2U7DQogCXVuc2lnbmVkIGxvbmcgb2Zmc2V0Ow0KIA0KKwko
dm9pZClvZmZzZXQ7DQorDQogCWJhY2twYWdlID0gcmVhZF9tYXBwaW5nX3Bh
Z2UobWFwcGluZywgbiwgYmFja2ZpbGUpOw0KIAlpZiAoIUlTX0VSUihiYWNr
cGFnZSkpIHsNCiAJCXdhaXRfb25fcGFnZV9sb2NrZWQoYmFja3BhZ2UpOw0K
QEAgLTE4OTMsMTIgKzIwMjEsMTggQEAgbm5wZnNfcHJlcGFyZV93cml0ZShz
dHJ1Y3QgZmlsZSAqZmlsZSwgcw0KIAkJbW9kc2l6ZSA9IG5ucGZzX2Jsb2Nr
c2l6ZTsNCiANCiAJaWYgKG1vZHNpemUgPiBpX3NpemVfcmVhZChpbm9kZSkp
IHsNCi0JCWludCBlcnJvcjsNCisJCWludCBlcnJvcj0wOw0KKyNpZiAoTElO
VVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw4LDApKQ0KIAkJ
ZXJyb3IgPSB2bXRydW5jYXRlKGlub2RlLCBtb2RzaXplKTsNCisjZWxzZQ0K
KwkJaWYoIWlub2RlX25ld3NpemVfb2soaW5vZGUsIG1vZHNpemUpKSB7DQor
CQkJdHJ1bmNhdGVfc2V0c2l6ZShpbm9kZSwgbW9kc2l6ZSk7DQorCQl9DQor
I2VuZGlmDQogCQlpZiAoZXJyb3IpIHsNCiAJCQlwcmludGsoIm5ucGZzX3By
ZXBhcmVfd3JpdGU6IHRydW5jYXRlKCVsbHUpIC0+ICVkXG4iLA0KIAkJCSAg
ICAgICBtb2RzaXplLCAtZXJyb3IpOw0KLQkJCUJVRygpOyAvKiBYWFggbm90
IGNvcnJlY3QgKi8NCisJCQkvKkJVRygpOyovIC8qIFhYWCBub3QgY29ycmVj
dCAqLw0KIAkJfQ0KIAl9DQogDQpAQCAtMTk5MywxMCArMjEyNywxOCBAQCBu
bnBmc193cml0ZV9lbmQoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjDQogDQog
CS8qIHplcm8gdGhlIHN0YWxlIHBhcnQgb2YgdGhlIHBhZ2UgaWYgd2UgZGlk
IGEgc2hvcnQgY29weSAqLw0KIAlpZiAoY29waWVkIDwgbGVuKSB7DQorI2lm
IChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDYsMCkp
DQogCQl2b2lkICprYWRkciA9IGttYXBfYXRvbWljKHBhZ2UsIEtNX1VTRVIw
KTsNCisjZWxzZQ0KKwkJdm9pZCAqa2FkZHIgPSBrbWFwX2F0b21pYyhwYWdl
KTsNCisjZW5kaWYNCiAJCW1lbXNldChrYWRkciArIGZyb20gKyBjb3BpZWQs
IDAsIGxlbiAtIGNvcGllZCk7DQogCQlmbHVzaF9kY2FjaGVfcGFnZShwYWdl
KTsNCisjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9O
KDMsNiwwKSkNCiAJCWt1bm1hcF9hdG9taWMoa2FkZHIsIEtNX1VTRVIwKTsN
CisjZWxzZQ0KKwkJa3VubWFwX2F0b21pYyhrYWRkcik7DQorI2VuZGlmDQog
CX0NCiANCiAJbm5wZnNfY29tbWl0X3dyaXRlKGZpbGUsIHBhZ2UsIGZyb20s
IGZyb20gKyBjb3BpZWQpOw0KQEAgLTIwMjcsOCArMjE2OSwxMyBAQCBzdHJ1
Y3QgYWRkcmVzc19zcGFjZV9vcGVyYXRpb25zIG5ucGZzX2FvDQogICovDQog
DQogc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBubnBmc19maWxlX29wZXJhdGlv
bnMgPSB7DQorI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVS
U0lPTigzLDE2LDApKQ0KICAgICAuYWlvX3JlYWQJPSBubnBmc19haW9fcmVh
ZCwNCiAgICAgLmFpb193cml0ZQk9IG5ucGZzX2Fpb193cml0ZSwNCisjZWxz
ZQ0KKyAgICAucmVhZF9pdGVyCT0gbm5wZnNfcmVhZF9pdGVyLA0KKyAgICAu
d3JpdGVfaXRlcgk9IG5ucGZzX3dyaXRlX2l0ZXIsDQorI2VuZGlmDQogICAg
IC5tbWFwCT0gbm5wZnNfZmlsZV9tbWFwLA0KICAgICAub3Blbgk9IG5ucGZz
X29wZW4sDQogICAgIC5mbHVzaAk9IG5ucGZzX2ZsdXNoLA0KQEAgLTIwNDEs
NyArMjE4OCwxMSBAQCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIG5ucGZzX2Rl
YWRfb3BlcmF0DQogfTsNCiANCiBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIG5u
cGZzX2Rpcl9vcGVyYXRpb25zID0gew0KKyNpZiAoTElOVVhfVkVSU0lPTl9D
T0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxMSwwKSkNCiAgICAgLnJlYWRkaXIJ
PSBubnBmc19yZWFkZGlyLA0KKyNlbHNlDQorICAgIC5pdGVyYXRlICAgID0g
bm5wZnNfaXRlcmF0ZSwNCisjZW5kaWYNCiAgICAgLmZsdXNoCT0gbm5wZnNf
Zmx1c2gsDQogfTsNCiANCmRpZmYgLXVwck4gLVhub2RpZmYudHh0IGFybGEt
Y3ZzL25ucGZzL2xpbnV4L25ucGZzX2xvYWQuYyBhcmxhLWZvci1saW51eC0z
LjE4L25ucGZzL2xpbnV4L25ucGZzX2xvYWQuYw0KLS0tIGFybGEtY3ZzL25u
cGZzL2xpbnV4L25ucGZzX2xvYWQuYwkyMDA2LTEwLTMxIDExOjAyOjQxLjAw
MDAwMDAwMCArMDEwMA0KKysrIGFybGEtZm9yLWxpbnV4LTMuMTgvbm5wZnMv
bGludXgvbm5wZnNfbG9hZC5jCTIwMTYtMDEtMTAgMjA6MzM6MTYuMDYyOTAx
OTU3ICswMTAwDQpAQCAtNTQsNyArNTQsMTEgQEAgZXh0ZXJuIHN0cnVjdCBm
aWxlX29wZXJhdGlvbnMgbm5wZnNfZm9wcw0KIA0KIHN0cnVjdCBmaWxlX3N5
c3RlbV90eXBlIG5ucGZzX2ZzX3R5cGUgPSB7DQogICAgICAgIG5hbWU6ICAg
ICAgICAgICAibm5wZnMiLA0KKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFIDwg
S0VSTkVMX1ZFUlNJT04oMiw2LDM5KSkNCiAgICAgICAgZ2V0X3NiOiAgICAg
ICAgIG5ucGZzX2dldF9zYiwNCisjZWxzZQ0KKyAgICAgICBtb3VudDogICAg
ICAgICAgbm5wZnNfbW91bnQsDQorI2VuZGlmDQogICAgICAgIGtpbGxfc2I6
ICAgICAgICBraWxsX2xpdHRlcl9zdXBlciwNCiAgICAgICAgb3duZXI6ICAg
ICAgICAgIFRISVNfTU9EVUxFLA0KIH07DQpkaWZmIC11cHJOIC1Ybm9kaWZm
LnR4dCBhcmxhLWN2cy9ubnBmcy9saW51eC9ubnBmc19tZXNzYWdlLmMgYXJs
YS1mb3ItbGludXgtMy4xOC9ubnBmcy9saW51eC9ubnBmc19tZXNzYWdlLmMN
Ci0tLSBhcmxhLWN2cy9ubnBmcy9saW51eC9ubnBmc19tZXNzYWdlLmMJMjAx
MC0wOC0wOCAyMjo0MzowNS4wMDAwMDAwMDAgKzAyMDANCisrKyBhcmxhLWZv
ci1saW51eC0zLjE4L25ucGZzL2xpbnV4L25ucGZzX21lc3NhZ2UuYwkyMDE2
LTAxLTExIDIwOjQ4OjE4Ljc3MDQwMzcxNSArMDEwMA0KQEAgLTU1LDkgKzU1
LDE1IEBAIHN0YXRpYyB2b2lkDQogbm5wZnNfZF9yZW1vdmUoc3RydWN0IGRl
bnRyeSAqZGVudHJ5KQ0KIHsNCiAgICAgTk5QRlNERUIoWERFQk1TRywgKCJu
bnBmc19kX3JlbW92ZSAlcFxuIiwgZGVudHJ5KSk7DQorI2lmIChMSU5VWF9W
RVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMzgpKQ0KICAgICBz
cGluX2xvY2soJmRjYWNoZV9sb2NrKTsNCiAgICAgZGdldF9sb2NrZWQoZGVu
dHJ5KTsNCiAgICAgc3Bpbl91bmxvY2soJmRjYWNoZV9sb2NrKTsNCisjZWxz
ZQ0KKyAgICBzcGluX2xvY2soJmRlbnRyeS0+ZF9sb2NrKTsNCisgICAgZGdl
dF9kbG9jayhkZW50cnkpOw0KKyAgICBzcGluX3VubG9jaygmZGVudHJ5LT5k
X2xvY2spOw0KKyNlbmRpZg0KICAgICBkX2Ryb3AoZGVudHJ5KTsNCiAgICAg
ZHB1dChkZW50cnkpOw0KIH0NCkBAIC0xMjEsOCArMTI3LDE0IEBAIG5ucGZz
X21lc3NhZ2VfaW5zdGFsbG5vZGUoc3RydWN0IG5ucGZzICoNCiAgICAgc3Ry
dWN0IGlub2RlICpkaSwgKmlub2RlOw0KICAgICBzdHJ1Y3QgZGVudHJ5ICpw
YXJlbnQgPSBOVUxMOw0KICAgICBzdHJ1Y3QgcXN0ciBzcXN0cjsNCisjaWYg
KExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsNiwwKSkN
CiAgICAgc3RydWN0IGxpc3RfaGVhZCAqYWxpYXM7DQotICAgIA0KKyNlbHNl
DQorI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigz
LDksMCkpDQorICAgIHN0cnVjdCBobGlzdF9ub2RlICphbGlhczsNCisjZW5k
aWYNCisjZW5kaWYNCisNCiAgICAgTk5QRlNERUIoWERFQk1TRywgKCJubnBm
c19tZXNzYWdlX2luc3RhbGxub2RlXG4iKSk7DQogICAgIA0KICAgICBlcnJv
ciA9IG5ucGZzX25vZGVfZmluZChubnBmc3AsICZtZXNzYWdlLT5wYXJlbnRf
aGFuZGxlLCAmZHApOw0KQEAgLTE3NiwxMiArMTg4LDI2IEBAIG5ucGZzX21l
c3NhZ2VfaW5zdGFsbG5vZGUoc3RydWN0IG5ucGZzICoNCiAgICAgICoNCiAg
ICAgICovDQogICAgIA0KKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VS
TkVMX1ZFUlNJT04oMyw2LDApKQ0KICAgICBhbGlhcyA9IGRpLT5pX2RlbnRy
eS5uZXh0Ow0KICAgICB3aGlsZSAoYWxpYXMgIT0gJmRpLT5pX2RlbnRyeSkg
ew0KIAlwYXJlbnQgPSBsaXN0X2VudHJ5KGFsaWFzLCBzdHJ1Y3QgZGVudHJ5
LCBkX2FsaWFzKTsNCi0Jc3Bpbl9sb2NrKCZkY2FjaGVfbG9jayk7DQotCWRn
ZXRfbG9ja2VkKHBhcmVudCk7DQotCXNwaW5fdW5sb2NrKCZkY2FjaGVfbG9j
ayk7DQorI2Vsc2UNCisjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5F
TF9WRVJTSU9OKDMsOSwwKSkNCisgICAgaGxpc3RfZm9yX2VhY2hfZW50cnko
cGFyZW50LCBhbGlhcywgJmRpLT5pX2RlbnRyeSwgZF9hbGlhcykgew0KKyNl
bHNlDQorICAgIGhsaXN0X2Zvcl9lYWNoX2VudHJ5KHBhcmVudCwgJmRpLT5p
X2RlbnRyeSwgZF9hbGlhcykgew0KKyNlbmRpZg0KKyNlbmRpZg0KKyNpZiAo
TElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDM4KSkN
CisgICAgc3Bpbl9sb2NrKCZkY2FjaGVfbG9jayk7DQorICAgIGRnZXRfbG9j
a2VkKHBhcmVudCk7DQorICAgIHNwaW5fdW5sb2NrKCZkY2FjaGVfbG9jayk7
DQorI2Vsc2UNCisgICAgc3Bpbl9sb2NrKCZwYXJlbnQtPmRfbG9jayk7DQor
ICAgIGRnZXRfZGxvY2socGFyZW50KTsNCisgICAgc3Bpbl91bmxvY2soJnBh
cmVudC0+ZF9sb2NrKTsNCisjZW5kaWYNCiAJZGVudHJ5ID0gZF9sb29rdXAo
cGFyZW50LCAmc3FzdHIpOw0KIAlOTlBGU0RFQihYREVCTVNHLA0KIAkJICgi
bm5wZnNfbWVzc2FnZV9pbnN0YWxsbm9kZTogYWxpYXMgJXAsIGxvb2t1cCAl
cFxuIiwNCkBAIC0yMzMsNyArMjU5LDkgQEAgbm5wZnNfbWVzc2FnZV9pbnN0
YWxsbm9kZShzdHJ1Y3Qgbm5wZnMgKg0KIAkNCiAJZHB1dChkZW50cnkpOw0K
IAlkZW50cnkgPSBOVUxMOw0KKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFIDwg
S0VSTkVMX1ZFUlNJT04oMyw2LDApKQ0KIAlhbGlhcyA9IGFsaWFzLT5uZXh0
Ow0KKyNlbmRpZg0KIAlkcHV0KHBhcmVudCk7DQogICAgIH0NCiAgICAgTk5Q
RlNERUIoWERFQk1TRywgKCJubnBmc19tZXNzYWdlX2luc3RhbGxub2RlOiBk
b25lIGluc3RhbGxpbmdcbiIpKTsNCkBAIC0yNjgsNyArMjk2LDExIEBAIG5u
cGZzX21lc3NhZ2VfaW5zdGFsbGF0dHIoc3RydWN0IG5ucGZzICoNCiAgICAg
fQ0KIA0KICAgICBpbm9kZSA9IFhOT0RFX1RPX1ZOT0RFKHQpOw0KKyNpZiAo
TElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw2LDApKQ0K
ICAgICBkZW50cnkgPSBsaXN0X2VudHJ5KGlub2RlLT5pX2RlbnRyeS5uZXh0
LCBzdHJ1Y3QgZGVudHJ5LCBkX2FsaWFzKTsNCisjZWxzZQ0KKyAgICBkZW50
cnkgPSBobGlzdF9lbnRyeShpbm9kZS0+aV9kZW50cnkuZmlyc3QsIHN0cnVj
dCBkZW50cnksIGRfYWxpYXMpOw0KKyNlbmRpZg0KICAgICANCiAgICAgTk5Q
RlNERUIoWERFQk1TRywgKCJubnBmc19tZXNzYWdlX2luc3RhbGxhdHRyIG5h
bWU6JXNcbiIsDQogCQkgICAgICAgZGVudHJ5LT5kX25hbWUubmFtZSkpOw0K
QEAgLTM5NiwxNyArNDI4LDM4IEBAIG5ucGZzX21lc3NhZ2VfaW5zdGFsbGRh
dGEoc3RydWN0IG5ucGZzICoNCiBzdGF0aWMgdm9pZA0KIGNsZWFyX2FsbF9j
aGlsZHJlbiAoc3RydWN0IGlub2RlICppbm9kZSwgaW50IHBhcmVudCkNCiB7
DQorICAgIHN0cnVjdCBkZW50cnkgKmRlbnRyeTsNCisjaWYgKExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsNiwwKSkNCiAgICAgc3Ry
dWN0IGxpc3RfaGVhZCAqYWxpYXM7DQorI2Vsc2UNCisjaWYgKExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsOSwwKSkNCisgICAgc3Ry
dWN0IGhsaXN0X25vZGUgKmFsaWFzOw0KKyNlbmRpZg0KKyNlbmRpZg0KIA0K
ICBhZ2FpbjoNCisjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9W
RVJTSU9OKDIsNiwzOCkpDQogICAgIHNwaW5fbG9jaygmZGNhY2hlX2xvY2sp
Ow0KKyNlbHNlDQorICAgIC8qIFRPRE86IGZpbmQgdGhlIGRlbnRyeSB0byBs
b2NrICovDQorICAgIC8qc3Bpbl9sb2NrKCZkZW50cnktPmRfbG9jayk7Ki8N
CisjZW5kaWYNCisjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9W
RVJTSU9OKDMsNiwwKSkNCiAgICAgYWxpYXMgPSBpbm9kZS0+aV9kZW50cnku
bmV4dDsNCiAgICAgd2hpbGUgKGFsaWFzICE9ICZpbm9kZS0+aV9kZW50cnkp
IHsNCi0Jc3RydWN0IGRlbnRyeSAqZGVudHJ5Ow0KKyNlbHNlDQorI2lmIChM
SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDksMCkpDQor
ICAgIGhsaXN0X2Zvcl9lYWNoX2VudHJ5KGRlbnRyeSwgYWxpYXMsICZpbm9k
ZS0+aV9kZW50cnksIGRfYWxpYXMpIHsNCisjZWxzZQ0KKyAgICBobGlzdF9m
b3JfZWFjaF9lbnRyeShkZW50cnksICZpbm9kZS0+aV9kZW50cnksIGRfYWxp
YXMpIHsNCisjZW5kaWYNCisjZW5kaWYNCiAJc3RydWN0IGxpc3RfaGVhZCAq
c3ViZGlyczsNCiAJc3RydWN0IG5ucGZzX2RlbnRyeV9kYXRhICp4ZDsNCiAJ
DQorI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigz
LDYsMCkpDQogCWRlbnRyeSA9IGxpc3RfZW50cnkoYWxpYXMsIHN0cnVjdCBk
ZW50cnksIGRfYWxpYXMpOw0KKyNlbmRpZg0KIAlpZiAoZGVudHJ5ID09IE5V
TEwpIHsNCiAJICAgIHByaW50ayhLRVJOX0VNRVJHICJOTlBGUyBQYW5pYzog
ZGVudHJ5IGluIGFsaWFzIGxpc3QgaXMgbnVsbFxuIik7DQogCSAgICBicmVh
azsNCkBAIC00NDIsMTQgKzQ5NSwyNiBAQCBjbGVhcl9hbGxfY2hpbGRyZW4g
KHN0cnVjdCBpbm9kZSAqaW5vZGUsDQogDQogCSAgICAvKiBUaHJvdyBpbW1l
ZGlhdGVseSAqLw0KIAkgICAgaWYgKG5ucGZzX2Rjb3VudChjaGlsZCkgPT0g
MCkgew0KKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJ
T04oMiw2LDM4KSkNCiAJICAgICAgICBzcGluX3VubG9jaygmZGNhY2hlX2xv
Y2spOw0KKyNlbHNlDQorCQkvKiBUT0RPOiB1bmxvY2sgdGhlIGRlbnRyeSAq
Lw0KKwkJLypzcGluX3VubG9jaygmZGVudHJ5LT5kX2xvY2spOyovDQorI2Vu
ZGlmDQogCQlubnBmc19kX3JlbW92ZShjaGlsZCk7DQogCQlnb3RvIGFnYWlu
Ow0KIAkgICAgfQ0KIAl9DQorI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBL
RVJORUxfVkVSU0lPTigzLDYsMCkpDQogCWFsaWFzID0gYWxpYXMtPm5leHQ7
DQorI2VuZGlmDQogICAgIH0NCisjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA8
IEtFUk5FTF9WRVJTSU9OKDIsNiwzOCkpDQogICAgIHNwaW5fdW5sb2NrKCZk
Y2FjaGVfbG9jayk7DQorI2Vsc2UNCisgICAgLyogVE9ETzogdW5sb2NrIHRo
ZSBkZW50cnkgKi8NCisgICAgLypzcGluX3VubG9jaygmZGVudHJ5LT5kX2xv
Y2spOyovDQorI2VuZGlmDQogfQ0KIA0KIHN0YXRpYyB2b2lkDQpAQCAtNzI0
LDcgKzc4OSwxMSBAQCBubnBmc19tZXNzYWdlX3ZlcnNpb24oc3RydWN0IG5u
cGZzICpubnBmDQogDQogCXVpbnQ2NF90IGJsb2Nrc2l6ZSA9IG1lc3NhZ2Ut
PmJsb2Nrc2l6ZTsNCiANCisjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA8IEtF
Uk5FTF9WRVJTSU9OKDIsNiwzOSkpDQogCWVycm9yID0gcGF0aF9sb29rdXAo
Ii4iLCAwLCAmbmQpOw0KKyNlbHNlDQorCWVycm9yID0ga2Vybl9wYXRoKCIu
IiwgMCwgJm5kLnBhdGgpOw0KKyNlbmRpZg0KIAlpZiAoZXJyb3IpIHsNCiAJ
ICAgIC8qDQogCSAgICAgKiBCYWQgY2FjaGUgcm9vdCwganVzdCByZXR1cm4u
DQpAQCAtNzM4LDcgKzgwNyw2IEBAIG5ucGZzX21lc3NhZ2VfdmVyc2lvbihz
dHJ1Y3Qgbm5wZnMgKm5ucGYNCiAJICAgIG5ucGZzcC0+Y2FjaGVyb290ID0g
bW50Z2V0KG5kLnBhdGgubW50KTsNCiAJICAgIG5ucGZzcC0+Y2FjaGVkaXIg
PSBkZ2V0KG5kLnBhdGguZGVudHJ5KTsNCiAJICAgIHBhdGhfcHV0KCZuZC5w
YXRoKTsNCi0JICAgIA0KICNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPD0gS0VS
TkVMX1ZFUlNJT04oMiw2LDI4KQ0KIAkgICAgbm5wZnNwLT51aWQgPSBjdXJy
ZW50LT5mc3VpZDsNCiAJICAgIG5ucGZzcC0+Z2lkID0gY3VycmVudC0+ZnNn
aWQ7DQpkaWZmIC11cHJOIC1Ybm9kaWZmLnR4dCBhcmxhLWN2cy9ubnBmcy9s
aW51eC9ubnBmc19ub2RlLmMgYXJsYS1mb3ItbGludXgtMy4xOC9ubnBmcy9s
aW51eC9ubnBmc19ub2RlLmMNCi0tLSBhcmxhLWN2cy9ubnBmcy9saW51eC9u
bnBmc19ub2RlLmMJMjAwNy0wMS0wMyAxNDo1MjowMi4wMDAwMDAwMDAgKzAx
MDANCisrKyBhcmxhLWZvci1saW51eC0zLjE4L25ucGZzL2xpbnV4L25ucGZz
X25vZGUuYwkyMDE2LTAxLTEyIDE5OjM1OjIxLjcxNDA4MzExMCArMDEwMA0K
QEAgLTEzMiw3ICsxMzIsMTMgQEAgbm5wZnNfc2V0c2l6ZShzdHJ1Y3QgaW5v
ZGUgKmlub2RlLCB1aW50Ng0KIAlwcmludGsoIm5ucGZzX3NldHNpemU6IHRy
dW5jYXRpbmcgQDB4JWxsdVxuIiwNCiAJICAgICAgICh1bnNpZ25lZCBsb25n
IGxvbmcpc2l6ZSk7DQogI2VuZGlmDQorI2lmIChMSU5VWF9WRVJTSU9OX0NP
REUgPCBLRVJORUxfVkVSU0lPTigzLDgsMCkpDQogCXZtdHJ1bmNhdGUoaW5v
ZGUsIHNpemUpOyAvKiBYWFggcmV0dmFsICovDQorI2Vsc2UNCisJaWYoIWlu
b2RlX25ld3NpemVfb2soaW5vZGUsIHNpemUpKSB7DQorCSAgICB0cnVuY2F0
ZV9zZXRzaXplKGlub2RlLCBzaXplKTsNCisJfQ0KKyNlbmRpZg0KIAlubnBm
c19ibG9ja190cnVuY2F0ZSh4biwgc2l6ZSk7DQogICAgIH0NCiB9DQpAQCAt
MTUwLDkgKzE1NiwxOCBAQCBubnBmc19hdHRyMmlub2RlKGNvbnN0IHN0cnVj
dCBubnBmc19hdHRyDQogCXN0cnVjdCB0aW1lc3BlYyBub3RpbWUgPSB7MH07
DQogDQogCWlub2RlLT5pX21vZGUgICA9IDA7DQorI2lmIChMSU5VWF9WRVJT
SU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDE0LDApKQ0KIAlpbm9kZS0+
aV91aWQgICAgPSAwOw0KIAlpbm9kZS0+aV9naWQgICAgPSAwOw0KKyNlbHNl
DQorCWlub2RlLT5pX3VpZCAgICA9IEtVSURUX0lOSVQoMCk7DQorCWlub2Rl
LT5pX2dpZCAgICA9IEtHSURUX0lOSVQoMCk7DQorI2VuZGlmDQorI2lmIChM
SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDIsMCkpDQog
CWlub2RlLT5pX25saW5rICA9IDE7DQorI2Vsc2UNCisJc2V0X25saW5rKGlu
b2RlLCAxKTsNCisjZW5kaWYNCiAJaW5vZGUtPmlfYXRpbWUgID0gbm90aW1l
Ow0KIAlpbm9kZS0+aV9tdGltZSAgPSBub3RpbWU7DQogCWlub2RlLT5pX2N0
aW1lICA9IG5vdGltZTsNCkBAIC0xNjksNyArMTg0LDExIEBAIG5ucGZzX2F0
dHIyaW5vZGUoY29uc3Qgc3RydWN0IG5ucGZzX2F0dHINCiAgICAgaWYgKFhB
X1ZBTElEX0dJRChhdHRyKSkNCiAJaW5vZGUtPmlfZ2lkICAgID0gYXR0ci0+
eGFfZ2lkOw0KICAgICBpZiAoWEFfVkFMSURfTkxJTksoYXR0cikpDQorI2lm
IChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDIsMCkp
DQogCWlub2RlLT5pX25saW5rICA9IGF0dHItPnhhX25saW5rOw0KKyNlbHNl
DQorCXNldF9ubGluayhpbm9kZSwgYXR0ci0+eGFfbmxpbmspOw0KKyNlbmRp
Zg0KICAgICANCiAgICAgaWYgKFhBX1ZBTElEX1NJWkUoYXR0cikpIHsNCiAJ
bm5wZnNfc2V0c2l6ZShpbm9kZSwgYXR0ci0+eGFfc2l6ZSk7DQpAQCAtNTEw
LDExICs1MjksMTkgQEAgbm5wZnNfaGFzX3BhZyhjb25zdCBzdHJ1Y3Qgbm5w
ZnNfbm9kZSAqeA0KIGludA0KIG5ucGZzX25vZGVfdXNlcnMoc3RydWN0IGlu
b2RlICppbm9kZSkNCiB7DQorI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBL
RVJORUxfVkVSU0lPTigzLDYsMCkpDQogICAgIHN0cnVjdCBsaXN0X2hlYWQg
KnBvczsNCisjZWxzZQ0KKyAgICBzdHJ1Y3QgaGxpc3Rfbm9kZSAqcG9zOw0K
KyNlbmRpZg0KICAgICBpbnQgdXNlcnMgPSAwOw0KICAgICANCiAgICAgLyog
WFhYIHRoaXMgc2hvdWxkIHByb2JhYmx5IGJlIHByb3RlY3RlZCBzb21laG93
ICovDQorI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lP
TigzLDYsMCkpDQogICAgIGxpc3RfZm9yX2VhY2gocG9zLCAmaW5vZGUtPmlf
ZGVudHJ5KSB7DQorI2Vsc2UNCisgICAgaGxpc3RfZm9yX2VhY2gocG9zLCAm
aW5vZGUtPmlfZGVudHJ5KSB7DQorI2VuZGlmDQogCXN0cnVjdCBkZW50cnkg
KmRlbnRyeSA9IGxpc3RfZW50cnkocG9zLCBzdHJ1Y3QgZGVudHJ5LCBkX2Fs
aWFzKTsNCiAJaWYgKG5ucGZzX2Rjb3VudChkZW50cnkpID4gMSkNCiAJICAg
IHVzZXJzKys7DQpkaWZmIC11cHJOIC1Ybm9kaWZmLnR4dCBhcmxhLWN2cy9u
bnBmcy9saW51eC9ubnBmc19zeXNjYWxscy5jIGFybGEtZm9yLWxpbnV4LTMu
MTgvbm5wZnMvbGludXgvbm5wZnNfc3lzY2FsbHMuYw0KLS0tIGFybGEtY3Zz
L25ucGZzL2xpbnV4L25ucGZzX3N5c2NhbGxzLmMJMjAxMC0wOC0wOCAyMjo0
MzowNi4wMDAwMDAwMDAgKzAyMDANCisrKyBhcmxhLWZvci1saW51eC0zLjE4
L25ucGZzL2xpbnV4L25ucGZzX3N5c2NhbGxzLmMJMjAxNi0wMS0xMiAyMjow
NDowNy4zMDIzODAyNTggKzAxMDANCkBAIC00Miw3ICs0Miw5IEBADQogI2lu
Y2x1ZGUgPG5ucGZzL25ucGZzX3N5c2NhbGxzLmg+DQogI2luY2x1ZGUgPG5u
cGZzL25ucGZzX2NvbW1vbi5oPg0KICNpbmNsdWRlIDxsaW51eC9maWxlLmg+
DQorI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigy
LDYsMzkpKQ0KICNpbmNsdWRlIDxsaW51eC9zbXBfbG9jay5oPg0KKyNlbmRp
Zg0KICNpbmNsdWRlIDxsaW51eC9zbXAuaD4NCiAjaW5jbHVkZSA8bGludXgv
cHJvY19mcy5oPg0KIA0KQEAgLTUwLDYgKzUyLDExIEBADQogI2luY2x1ZGUg
PGxpbnV4L3NlY3VyaXR5Lmg+DQogI2VuZGlmDQogDQorI2lmIChMSU5VWF9W
RVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMyw3LDApKQ0KKyN1bmRl
ZiBTWVNDQUxMSEFDSw0KKy8qIHRoZSBtZXRob2QgdG8gcmVhZCAnbG93ZXJf
Ym91bmQnIGRvZXMgbm90IHdvcmsgb24gbGF0ZXIga2VybmVscywgc2Ugbm5w
ZnNfc3lzY2FsbHMtbG9zc2FnZS5jICovDQorI2VuZGlmDQorDQogI2lmIDAN
CiAjaWZkZWYgQ09ORklHX0NPTVBBVA0KICNpbmNsdWRlIDxsaW51eC9pb2N0
bDMyLmg+DQpAQCAtODIsMTIgKzg5LDIyIEBAIHR5cGVkZWYgc3RydWN0IGFm
c3Byb2NkYXRhIHsNCiAgICAgdW5zaWduZWQgbG9uZyBzeXNjYWxsOw0KIH0g
YWZzcHJvY2RhdGE7DQogDQorI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBL
RVJORUxfVkVSU0lPTigyLDYsMzYpKQ0KIHN0YXRpYyBpbnQNCiBubnBmc19w
cm9jZnNfaW9jdGwoc3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUg
KmZpbGUsDQogCQkgICB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25n
IGFyZyk7DQorI2Vsc2UNCitzdGF0aWMgbG9uZw0KK25ucGZzX3Byb2Nmc19p
b2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwNCisJCSAgIHVuc2lnbmVkIGludCBj
bWQsIHVuc2lnbmVkIGxvbmcgYXJnKTsNCisjZW5kaWYNCiANCiBzdGF0aWMg
c3RydWN0IGZpbGVfb3BlcmF0aW9ucyBubnBmc19wcm9jZnNfZm9wcyA9IHsN
CisjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIs
NiwzNikpDQogICAgIC5pb2N0bCA9IG5ucGZzX3Byb2Nmc19pb2N0bCwNCisj
ZWxzZQ0KKyAgICAudW5sb2NrZWRfaW9jdGwgPSBubnBmc19wcm9jZnNfaW9j
dGwsDQorI2VuZGlmDQogfTsNCiANCiANCkBAIC0xNTgsMTAgKzE3NSwxNCBA
QCBubnBmc19nZXRfcGFnX3NlYyh2b2lkKQ0KICAgICBpZiAocGFnKQ0KIAly
ZXR1cm4gcGFnOw0KIA0KLSNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPD0gS0VS
TkVMX1ZFUlNJT04oMiw2LDI4KQ0KKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RF
IDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkpDQogICAgIHJldHVybiBjdXJy
ZW50LT51aWQ7DQogI2Vsc2UNCisjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA8
IEtFUk5FTF9WRVJTSU9OKDMsMTQsMCkpDQogICAgIHJldHVybiBjdXJyZW50
X3VpZCgpOw0KKyNlbHNlDQorICAgIHsga3VpZF90IGt1aWQgPSBjdXJyZW50
X3VpZCgpOyByZXR1cm4ga3VpZC52YWw7IH0NCisjZW5kaWYNCiAjZW5kaWYN
CiB9DQogDQpAQCAtMTk5LDcgKzIyMCwxMiBAQCBmaW5kX3BhZyhzdHJ1Y3Qg
Z3JvdXBfaW5mbyAqZ2kpDQogICAgIE5OUEZTREVCKFhERUJTWVMsICgiZmlu
ZF9wYWc6IG5ncm91cHMgPSAlZFxuIiwgZ2ktPm5ncm91cHMpKTsNCiANCiAg
ICAgZm9yIChpID0gZ2ktPm5ncm91cHMgLSAxOyBpID49IDA7IGktLSkgew0K
KyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywx
NCwwKSkNCiAJZ2lkX3QgZ3JvdXAgPSBHUk9VUF9BVChnaSwgaSk7DQorI2Vs
c2UNCisJa2dpZF90IGtncm91cCA9IEdST1VQX0FUKGdpLCBpKTsNCisJZ2lk
X3QgZ3JvdXAgPSBrZ3JvdXAudmFsOw0KKyNlbmRpZg0KIAlpZiAoKG5ucGZz
X3BhZ190KWdyb3VwID49IE5OUEZTX1BBR19MTElNICYmIChubnBmc19wYWdf
dClncm91cCA8IE5OUEZTX1BBR19VTElNKSB7DQogCSAgICBOTlBGU0RFQihY
REVCU1lTLA0KIAkJICAgICAoImZpbmRfcGFnOiBFeGlzdGluZyBwYWcgJXUg
YXQgcG9zICV1XG4iLCBncm91cCwgaSkpOw0KQEAgLTIxNSwxMiArMjQxLDE3
IEBAIGZpbmRfcGFnKHN0cnVjdCBncm91cF9pbmZvICpnaSkNCiBzdGF0aWMg
bm5wZnNfcGFnX3QNCiBubnBmc19nZXRfcGFnX2dyb3VwKHZvaWQpDQogew0K
LSNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPD0gS0VSTkVMX1ZFUlNJT04oMiw2
LDI4KQ0KKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJT
SU9OKDIsNiwyOCkpDQogICAgIHN0cnVjdCBncm91cF9pbmZvICpnaSA9IGN1
cnJlbnQtPmdyb3VwX2luZm87DQogICAgIG5ucGZzX3BhZ190IHJldCA9IGN1
cnJlbnQtPnVpZDsNCiAjZWxzZQ0KICAgICBzdHJ1Y3QgZ3JvdXBfaW5mbyAq
Z2kgPSBnZXRfY3VycmVudF9ncm91cHMoKTsNCisjaWYgKExJTlVYX1ZFUlNJ
T05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTQsMCkpDQogICAgIG5ucGZz
X3BhZ190IHJldCA9IGN1cnJlbnRfdWlkKCk7DQorI2Vsc2UNCisgICAga3Vp
ZF90IGt1aWQgPSBjdXJyZW50X3VpZCgpOw0KKyAgICBubnBmc19wYWdfdCBy
ZXQgPSBrdWlkLnZhbDsNCisjZW5kaWYNCiAjZW5kaWYNCiAgICAgaW50IGk7
DQogDQpAQCAtMjMwLDcgKzI2MSwxMSBAQCBubnBmc19nZXRfcGFnX2dyb3Vw
KHZvaWQpDQogDQogICAgIGkgPSBmaW5kX3BhZyhnaSk7DQogICAgIGlmIChp
ICE9IE5OUEZTX1BBR19OT1RGT1VORCkNCisjaWYgKExJTlVYX1ZFUlNJT05f
Q09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTQsMCkpDQogCXJldCA9IEdST1VQ
X0FUKGdpLCBpKTsNCisjZWxzZQ0KKwl7IGtnaWRfdCBrZ2lkID0gR1JPVVBf
QVQoZ2ksIGkpOyByZXQgPSBrZ2lkLnZhbDsgfQ0KKyNlbmRpZg0KIA0KICAg
ICBwdXRfZ3JvdXBfaW5mbyhnaSk7DQogDQpAQCAtMjgwLDExICszMTUsMTgg
QEAgc3RvcmVfcGFnKG5ucGZzX3BhZ190IHBhZ251bSkNCiAJY291bnQgLT0g
TkdST1VQU19QRVJfQkxPQ0s7DQogICAgIH0NCiANCisjaWYgKExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTQsMCkpDQogICAgIGlm
IChmb3VuZCkNCiAJR1JPVVBfQVQobmV3X2dpLCBpKSA9IHBhZ251bTsNCiAg
ICAgZWxzZQ0KIAlHUk9VUF9BVChuZXdfZ2ksIG5ld19naS0+bmdyb3VwcyAt
IDEpID0gcGFnbnVtOw0KLSAgICANCisjZWxzZQ0KKyAgICBpZiAoZm91bmQp
DQorCXsga2dpZF90IGtnaWQgPSBLR0lEVF9JTklUKHBhZ251bSk7IEdST1VQ
X0FUKG5ld19naSwgaSkgPSBrZ2lkOyB9DQorICAgIGVsc2UNCisJeyBrZ2lk
X3Qga2dpZCA9IEtHSURUX0lOSVQocGFnbnVtKTsgR1JPVVBfQVQobmV3X2dp
LCBuZXdfZ2ktPm5ncm91cHMgLSAxKSA9IGtnaWQ7IH0NCisjZW5kaWYNCisg
ICAgIA0KICAgICBzZXRfY3VycmVudF9ncm91cHMobmV3X2dpKTsNCiAgICAg
cHV0X2dyb3VwX2luZm8obmV3X2dpKTsNCiAgICAgcHV0X2dyb3VwX2luZm8o
b2xkX2dpKTsNCkBAIC0zMjMsMTAgKzM2NSwxNCBAQCBubnBmc19nZXRfcGFn
KCkNCiAgICAgcmV0dXJuIG5ucGZzX2dldF9wYWdfZ3JvdXAoKTsNCiAjZW5k
aWYgLyogR1JPVVBQQUdTICovDQogDQotI2lmIExJTlVYX1ZFUlNJT05fQ09E
RSA8PSBLRVJORUxfVkVSU0lPTigyLDYsMjgpDQorI2lmIChMSU5VWF9WRVJT
SU9OX0NPREUgPD0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4KSkNCiAgICAgcmV0
dXJuIGN1cnJlbnQtPnVpZDsNCiAjZWxzZQ0KKyNpZiAoTElOVVhfVkVSU0lP
Tl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxNCwwKSkNCiAgICAgcmV0dXJu
IGN1cnJlbnRfdWlkKCk7DQorI2Vsc2UNCisgICAgeyBrdWlkX3Qga3VpZCA9
IGN1cnJlbnRfdWlkKCk7IHJldHVybiBrdWlkLnZhbDsgfQ0KKyNlbmRpZg0K
ICNlbmRpZg0KIH0NCiANCkBAIC00MzIsNyArNDc4LDcgQEAgbm5wZnNfc2V0
Z3JvdXBzMTYgKGludCBnaWRzZXRzaXplLCBvbGRfZw0KICNlbmRpZiAvKiBT
WVNDQUxMSEFDSyAqLw0KICNlbmRpZiAvKiBHUk9VUFBBR1MgKi8NCiANCi1z
dHJ1Y3QgZmlsZV9oYW5kbGUgew0KK3N0cnVjdCBubnBmc19maWxlX2hhbmRs
ZSB7DQogICAgIG5ucGZzX2Rldl90IGRldjsNCiAgICAgaW5vX3QgaW5vZGU7
DQogICAgIF9fdTMyIGdlbjsNCkBAIC01MjIsMTEgKzU2OCwxOSBAQCBubnBm
c19kZWJ1Z19wcmludCAoc3RydWN0IGFybGFWaWNlSW9jdGwNCiBzdGF0aWMg
c3RydWN0IGRlbnRyeSAqDQogdXNlcl9wYXRoMmRlbnRyeSAoc3RydWN0IG5h
bWVpZGF0YSAqbmQsIGNoYXIgKnVzZXJfcGF0aCwgaW50IGZvbGxvdykNCiB7
DQotICAgIGNoYXIgKmtuYW1lOw0KICAgICBpbnQgZmxhZ3MgPSAwOw0KICAg
ICBpbnQgZXJyb3IgPSAwOw0KIA0KLSAgICBrbmFtZSA9IGdldG5hbWUgKHVz
ZXJfcGF0aCk7DQorI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxf
VkVSU0lPTigzLDcsMCkpDQorICAgIGNoYXIgKmtuYW1lOw0KKyAgICBrbmFt
ZSA9IGdldG5hbWUodXNlcl9wYXRoKTsNCisjZWxzZQ0KKyAgICBjb25zdCBj
aGFyICprbmFtZTsNCisgICAgc3RydWN0IGZpbGVuYW1lICpmbmFtZTsNCisg
ICAgZm5hbWUgPSBnZXRuYW1lKHVzZXJfcGF0aCk7DQorICAgIGtuYW1lID0g
Zm5hbWUtPm5hbWU7DQorI2VuZGlmDQorDQogICAgIGlmIChJU19FUlIoa25h
bWUpKQ0KIAlyZXR1cm4gRVJSX1BUUihQVFJfRVJSKGtuYW1lKSk7DQogICAg
IGlmIChmb2xsb3cpDQpAQCAtNTM0LDggKzU4OCwxNiBAQCB1c2VyX3BhdGgy
ZGVudHJ5IChzdHJ1Y3QgbmFtZWlkYXRhICpuZCwNCiANCiAgICAgTk5QRlNE
RUIoWERFQk1TRywgKCJubnBmc19zeXNjYWxsOiBsb29raW5nIHVwOiAlc1xu
Iiwga25hbWUpKTsNCiANCisjaWYgKExJTlVYX1ZFUlNJT05fQ09ERSA8IEtF
Uk5FTF9WRVJTSU9OKDIsNiwzOSkpDQogICAgIGVycm9yID0gcGF0aF9sb29r
dXAoa25hbWUsIGZsYWdzLCBuZCk7DQorI2Vsc2UNCisgICAgZXJyb3IgPSBr
ZXJuX3BhdGgoa25hbWUsIGZsYWdzLCAmKG5kLT5wYXRoKSk7DQorI2VuZGlm
DQorI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigz
LDcsMCkpDQogICAgIHB1dG5hbWUoa25hbWUpOw0KKyNlbHNlDQorICAgIGtt
ZW1fY2FjaGVfZnJlZShuYW1lc19jYWNoZXAsICh2b2lkICopa25hbWUpOw0K
KyNlbmRpZg0KICAgICBpZiAoZXJyb3IpDQogCXJldHVybiBFUlJfUFRSKGVy
cm9yKTsNCiAgICAgcmV0dXJuIG5kLT5wYXRoLmRlbnRyeTsNCkBAIC01NTks
NyArNjIxLDExIEBAIHN5c19hZnNfaW50IChpbnQgb3BlcmF0aW9uLA0KICAg
ICBpZiAobXNnID09IE5VTEwpDQogICAgICAgcmV0dXJuIC1FTk9NRU07DQog
DQorI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigy
LDYsMzkpKQ0KICAgICBsb2NrX2tlcm5lbCgpOw0KKyNlbHNlDQorICAgIC8q
IFRPRE86IGxvY2tfa2VybmVsKCkgaXMgcmVtb3ZlZCwgY29uc2lkZXIgYWRk
aW5nIGFuIHByaXZhdGUgbG9jayAqLw0KKyNlbmRpZg0KIA0KICAgICBOTlBG
U0RFQihYREVCU1lTLCAoInN5c19hZnMga2VybmVsIGxvY2tlZFxuIikpOw0K
IA0KQEAgLTY5OSw3ICs3NjUsMTEgQEAgc3lzX2Fmc19pbnQgKGludCBvcGVy
YXRpb24sDQogDQogICAgIE5OUEZTREVCKFhERUJTWVMsICgic3lzX2FmcyBr
ZXJuZWwgdW5sb2NrXG4iKSk7DQogICAgIGtmcmVlKG1zZyk7DQorI2lmIChM
SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMzkpKQ0K
ICAgICB1bmxvY2tfa2VybmVsKCk7DQorI2Vsc2UNCisgICAgLyogVE9ETzog
c2VlIHRoZSBjb21tZW50IGF0IGxvY2tfa2VybmVsKCkgYWJvdmUgKi8NCisj
ZW5kaWYNCiANCiAgICAgcmV0dXJuIGVycm9yOw0KIH0NCkBAIC03NDgsOSAr
ODE4LDE1IEBAIHN5c19hZnMgKGludCBvcGVyYXRpb24sDQogCQkgICAgICAg
YV9mb2xsb3dTeW1saW5rcyk7DQogfQ0KIA0KKyNpZiAoTElOVVhfVkVSU0lP
Tl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDM2KSkNCiBzdGF0aWMgaW50
DQogbm5wZnNfcHJvY2ZzX2lvY3RsKHN0cnVjdCBpbm9kZSAqaW5vZGUsIHN0
cnVjdCBmaWxlICpmaWxlLA0KIAkJICAgdW5zaWduZWQgaW50IGNtZCwgdW5z
aWduZWQgbG9uZyBhcmcpDQorI2Vsc2UNCitzdGF0aWMgbG9uZw0KK25ucGZz
X3Byb2Nmc19pb2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwNCisJCSAgIHVuc2ln
bmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQ0KKyNlbmRpZg0KIHsN
CiAgICAgYWZzcHJvY2RhdGEgYXJnczsNCiAgICAgbG9uZyByZXQ7DQpAQCAt
ODA3LDcgKzg4MywxMSBAQCBzdGF0aWMgaW50IG5ucGZzX2luaXRfcHJvY2Zz
KHZvaWQpDQogICAgIG5ucGZzX3Byb2Nmc19kaXItPm93bmVyID0gVEhJU19N
T0RVTEU7DQogI2VuZGlmDQogICAgIA0KKyNpZiAoTElOVVhfVkVSU0lPTl9D
T0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxMCwwKSkNCiAgICAgZW50cnkgPSBj
cmVhdGVfcHJvY19lbnRyeShOTlBGU19QUk9DX05PREUsIDA2NjYsIG5ucGZz
X3Byb2Nmc19kaXIpOw0KKyNlbHNlDQorICAgIGVudHJ5ID0gcHJvY19jcmVh
dGUoTk5QRlNfUFJPQ19OT0RFLCAwLCBOVUxMLCAmbm5wZnNfcHJvY2ZzX2Zv
cHMpOw0KKyNlbmRpZg0KICAgICBpZiAoZW50cnkgPT0gTlVMTCkgew0KIAlO
TlBGU0RFQihYREVCU1lTLCAoIm5ucGZzX2luaXRfcHJvY2ZzOiBubyBub2Rl
XG4iKSk7DQogCXJlbW92ZV9wcm9jX2VudHJ5KCJmcy8iIE5OUEZTX1BST0Nf
RElSLCBOVUxMKTsNCkBAIC04MTcsNyArODk3LDkgQEAgc3RhdGljIGludCBu
bnBmc19pbml0X3Byb2Nmcyh2b2lkKQ0KICNpZiBMSU5VWF9WRVJTSU9OX0NP
REUgPCBLRVJORUxfVkVSU0lPTigyLDYsMzApDQogICAgIGVudHJ5LT5vd25l
ciA9IFRISVNfTU9EVUxFOw0KICNlbmRpZg0KKyNpZiAoTElOVVhfVkVSU0lP
Tl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxMCwwKSkNCiAgICAgZW50cnkt
PnByb2NfZm9wcyA9ICZubnBmc19wcm9jZnNfZm9wczsNCisjZW5kaWYNCiAN
CiAjaWZkZWYgU1lTQ0FMTENPTVBBVA0KICAgICBpZiAocmVnaXN0ZXJfaW9j
dGwzMl9jb252ZXJzaW9uKEFSTEFfVklPQ19TWVNDQUxMMzIsIG5ucGZzX3By
b2Nmc19pb2N0bDMyKSkgew0KZGlmZiAtdXByTiAtWG5vZGlmZi50eHQgYXJs
YS1jdnMvbm5wZnMvbGludXgvbm5wZnNfc3lzY2FsbHMtbG9zc2FnZS5jIGFy
bGEtZm9yLWxpbnV4LTMuMTgvbm5wZnMvbGludXgvbm5wZnNfc3lzY2FsbHMt
bG9zc2FnZS5jDQotLS0gYXJsYS1jdnMvbm5wZnMvbGludXgvbm5wZnNfc3lz
Y2FsbHMtbG9zc2FnZS5jCTIwMTAtMDgtMDggMjI6NDM6MDUuMDAwMDAwMDAw
ICswMjAwDQorKysgYXJsYS1mb3ItbGludXgtMy4xOC9ubnBmcy9saW51eC9u
bnBmc19zeXNjYWxscy1sb3NzYWdlLmMJMjAxNi0wMS0xMiAxMzozNzowNS42
NTczNjc0NzEgKzAxMDANCkBAIC01MCw4ICs1MCwxNyBAQA0KIFJDU0lEKCIk
SWQ6IG5ucGZzX3N5c2NhbGxzLWxvc3NhZ2UuYyx2IDEuMTkgMjAxMC8wOC8w
OCAyMDo0MzowNSB0b2wgRXhwICQiKTsNCiAjZW5kaWYNCiANCisjaWYgKExJ
TlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigzLDcsMCkpDQor
LyogdGhlIG1ldGhvZCB0byByZWFkICdsb3dlcl9ib3VuZCcgZG9lcyBub3Qg
d29yayBvbiBsYXRlciBrZXJuZWxzICovDQorI3VuZGVmIFNZU0NBTExIQUNL
DQorI2VuZGlmDQorDQogI2luY2x1ZGUgPGxpbnV4L2thbGxzeW1zLmg+DQor
I2lmZGVmIFNZU0NBTExIQUNLDQorI2lmIChMSU5VWF9WRVJTSU9OX0NPREUg
PCBLRVJORUxfVkVSU0lPTigzLDcsMCkpDQogc3RhdGljIHZvaWQgKmxvd2Vy
X2JvdW5kID0gJmtlcm5lbF90aHJlYWQ7DQorI2VuZGlmDQorI2VuZGlmDQog
DQogdm9pZCAqIF9fYXR0cmlidXRlX18oKHdlYWspKSBzeXNfY2FsbF90YWJs
ZSh2b2lkKTsNCiBubnBmc19zeXNfY2FsbF9mdW5jdGlvbiAqbm5wZnNfc3lz
X2NhbGxfdGFibGUgPQ0KQEAgLTY2LDYgKzc1LDggQEAgY29uc3QgY2hhciAq
IF9fYXR0cmlidXRlX18oKHdlYWspKQ0KICNpZmRlZiBfX3g4Nl82NF9fDQog
ZXh0ZXJuIHJ3bG9ja190IHRhc2tsaXN0X2xvY2sgX19hdHRyaWJ1dGVfXygo
d2VhaykpOw0KICNlbmRpZg0KKw0KKyNpZmRlZiBTWVNDQUxMSEFDSw0KIHN0
YXRpYyB2b2lkICoqDQogZ2V0X3N0YXJ0X2FkZHIodm9pZCkgew0KICNpZmRl
ZiBfX3g4Nl82NF9fDQpAQCAtNzQsNiArODUsNyBAQCBnZXRfc3RhcnRfYWRk
cih2b2lkKSB7DQogICAgIHJldHVybiAodm9pZCAqKikmbXV0ZXhfbG9jazsN
CiAjZW5kaWYNCiB9DQorI2VuZGlmDQogDQogc3RhdGljIGlubGluZSBpbnQg
DQoga2FsbHN5bV9pc19lcXVhbCh1bnNpZ25lZCBsb25nIGFkZHIsIGNvbnN0
IGNoYXIgKm5hbWUpDQpAQCAtMTQyLDYgKzE1NCw4IEBAIHZlcmlmeSh2b2lk
ICoqcCkgew0KICAgICByZXR1cm4gMTsNCiB9DQogDQorI2lmZGVmIFNZU0NB
TExIQUNLDQorDQogc3RhdGljIGlubGluZSBpbnQgbG9va3NfZ29vZCh2b2lk
ICoqcCkNCiB7DQogICAgIGlmICgqcCA8PSAodm9pZCopbG93ZXJfYm91bmQg
fHwgKnAgPj0gKHZvaWQqKXApDQpAQCAtMTkxLDMgKzIwNSw1IEBAIG5ucGZz
X2ZpeHVwX3N5c2NhbGxfbG9zc2FnZSh2b2lkKQ0KIA0KICAgICByZXR1cm4g
MDsNCiB9DQorDQorI2VuZGlmDQpkaWZmIC11cHJOIC1Ybm9kaWZmLnR4dCBh
cmxhLWN2cy9ubnBmcy9saW51eC9ubnBmc192ZnNvcHMuYyBhcmxhLWZvci1s
aW51eC0zLjE4L25ucGZzL2xpbnV4L25ucGZzX3Zmc29wcy5jDQotLS0gYXJs
YS1jdnMvbm5wZnMvbGludXgvbm5wZnNfdmZzb3BzLmMJMjAxMC0wOC0wOCAy
Mjo0MzowNi4wMDAwMDAwMDAgKzAyMDANCisrKyBhcmxhLWZvci1saW51eC0z
LjE4L25ucGZzL2xpbnV4L25ucGZzX3Zmc29wcy5jCTIwMTYtMDEtMTIgMjA6
MjM6MDguNzM4MTc4NTU4ICswMTAwDQpAQCAtNTAsNyArNTAsOSBAQCBSQ1NJ
RCgiJElkOiBubnBmc192ZnNvcHMuYyx2IDEuMTExIDIwMTAvDQogc3RydWN0
IG5ucGZzIG5ucGZzW05OTlBGU107DQogDQogc3RhdGljIHZvaWQgbm5wZnNf
cHV0X3N1cGVyKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpOw0KKyNpZiAoTElO
VVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw2LDApKQ0KIHN0
YXRpYyB2b2lkIG5ucGZzX3dyaXRlX3N1cGVyKHN0cnVjdCBzdXBlcl9ibG9j
ayAqIHNiKTsNCisjZW5kaWYNCiANCiBzdGF0aWMgaW50IG5ucGZzX3N0YXRm
cyhzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBrc3RhdGZzICpidWYp
Ow0KIA0KQEAgLTU5LDcgKzYxLDkgQEAgc3RhdGljIHN0cnVjdCBzdXBlcl9v
cGVyYXRpb25zIG5ucGZzX3NvcA0KICAgICBkZXN0cm95X2lub2RlCTogbm5w
ZnNfbm9kZV9mcmVlLA0KICAgICBkcm9wX2lub2RlCQk6IGdlbmVyaWNfZGVs
ZXRlX2lub2RlLA0KICAgICBwdXRfc3VwZXIJCTogbm5wZnNfcHV0X3N1cGVy
LA0KKyNpZiAoTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04o
Myw2LDApKQ0KICAgICB3cml0ZV9zdXBlcgkJOiBubnBmc193cml0ZV9zdXBl
ciwNCisjZW5kaWYNCiAgICAgc3RhdGZzCQk6IG5ucGZzX3N0YXRmcywNCiB9
Ow0KIA0KQEAgLTg2LDcgKzkwLDExIEBAIG5ucGZzX2ZldGNoX3Jvb3Qoc3Ry
dWN0IGlub2RlICppKQ0KIAkgKiByb290J3MgcHJpdmlsaWdlcyAodXN1YWxs
eSBub25lLCBhbmQgbm9uZSBpcyBuZWVkZWQpLg0KIAkgKi8NCiAJDQorI2lm
IChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDE0LDAp
KQ0KIAltc2cuY3JlZC51aWQgPSAwOw0KKyNlbHNlDQorCW1zZy5jcmVkLnVp
ZCA9IEtVSURUX0lOSVQoMCk7DQorI2VuZGlmDQogCW1zZy5jcmVkLnBhZyA9
IDA7DQogCQ0KIAllcnJvciA9IG5ucGZzX21lc3NhZ2VfcnBjKG5ucGZzcCwg
Jm1zZy5oZWFkZXIsIHNpemVvZihtc2cpKTsNCkBAIC0xMjEsOCArMTI5LDEz
IEBAIG1ha2Vfcm9vdF9pbm9kZShzdHJ1Y3Qgbm5wZnMgKm5ucGZzcCkNCiAg
ICAgWEFfU0VUX01PREUoJm5vZGUuYXR0ciwgU19JRkRJUiB8IDA3NzcpOw0K
ICAgICBYQV9TRVRfTkxJTksoJm5vZGUuYXR0ciwgMTAwKTsNCiAgICAgWEFf
U0VUX1NJWkUoJm5vZGUuYXR0ciwgMCk7DQorI2lmIChMSU5VWF9WRVJTSU9O
X0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDE0LDApKQ0KICAgICBYQV9TRVRf
VUlEKCZub2RlLmF0dHIsIDApOw0KICAgICBYQV9TRVRfR0lEKCZub2RlLmF0
dHIsIDApOw0KKyNlbHNlDQorICAgIFhBX1NFVF9VSUQoJm5vZGUuYXR0ciwg
S1VJRFRfSU5JVCgwKSk7DQorICAgIFhBX1NFVF9HSUQoJm5vZGUuYXR0ciwg
S0dJRFRfSU5JVCgwKSk7DQorI2VuZGlmDQogICAgIFhBX1NFVF9BVElNRSgm
bm9kZS5hdHRyLCAwKTsNCiAgICAgWEFfU0VUX01USU1FKCZub2RlLmF0dHIs
IDApOw0KICAgICBYQV9TRVRfQ1RJTUUoJm5vZGUuYXR0ciwgMCk7DQpAQCAt
MTUxLDcgKzE2NCwxMSBAQCBtYWtlX3Jvb3QgKHN0cnVjdCBzdXBlcl9ibG9j
ayAqc2IpDQogICAgIG5ucGZzLT5yb290ID0gaW5vZGU7DQogDQogICAgIC8q
IFhYWCBlcnJvciBoYW5kbGluZyAqLw0KKyNpZiAoTElOVVhfVkVSU0lPTl9D
T0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw0LDApKQ0KICAgICBkcCA9IGRfYWxs
b2Nfcm9vdChpbm9kZSk7DQorI2Vsc2UNCisgICAgZHAgPSBkX21ha2Vfcm9v
dChpbm9kZSk7DQorI2VuZGlmDQogICAgIG5ucGZzX2RfaW5pdChkcCk7DQog
ICAgIHNiLT5zX3Jvb3QgPSBkcDsNCiAgICAgcmV0dXJuIDA7DQpAQCAtMTc3
LDcgKzE5NCwxMSBAQCBubnBmc19yZWFkX3N1cGVyIChzdHJ1Y3Qgc3VwZXJf
YmxvY2sgKiBzDQogICAgIGlmIChkYXRhICE9IE5VTEwpIHsNCiAJc3RydWN0
IG5hbWVpZGF0YSBuZDsNCiAJDQorI2lmIChMSU5VWF9WRVJTSU9OX0NPREUg
PCBLRVJORUxfVkVSU0lPTigyLDYsMzkpKQ0KIAllcnJvciA9IHBhdGhfbG9v
a3VwKGRhdGEsIDAsICZuZCk7DQorI2Vsc2UNCisJZXJyb3IgPSBrZXJuX3Bh
dGgoZGF0YSwgMCwgJm5kLnBhdGgpOw0KKyNlbmRpZg0KIAlpZiAoZXJyb3Ip
DQogCSAgICBkZGV2ID0gRVJSX1BUUihlcnJvcik7DQogCWVsc2UNCkBAIC0y
MjUsNiArMjQ2LDcgQEAgbm5wZnNfZmlsbF9zdXBlciAoc3RydWN0IHN1cGVy
X2Jsb2NrICpzYg0KICAgICByZXR1cm4gMDsNCiB9DQogDQorI2lmIChMSU5V
WF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMzkpKQ0KIGlu
dA0KIG5ucGZzX2dldF9zYihzdHJ1Y3QgZmlsZV9zeXN0ZW1fdHlwZSAqZnNf
dHlwZSwNCiAJICAgICBpbnQgZmxhZ3MsIGNvbnN0IGNoYXIgKmRldl9uYW1l
LA0KQEAgLTIzMiwxMiArMjU0LDIzIEBAIG5ucGZzX2dldF9zYihzdHJ1Y3Qg
ZmlsZV9zeXN0ZW1fdHlwZSAqZnMNCiB7DQogICAgIHJldHVybiBnZXRfc2Jf
bm9kZXYoZnNfdHlwZSwgZmxhZ3MsIGRhdGEsIG5ucGZzX2ZpbGxfc3VwZXIs
IG1udCk7DQogfQ0KKyNlbHNlDQorc3RydWN0IGRlbnRyeSoNCitubnBmc19t
b3VudChzdHJ1Y3QgZmlsZV9zeXN0ZW1fdHlwZSAqZnNfdHlwZSwNCisJICAg
ICBpbnQgZmxhZ3MsIGNvbnN0IGNoYXIgKmRldl9uYW1lLA0KKwkgICAgIHZv
aWQgKmRhdGEpIA0KK3sNCisgICAgcmV0dXJuIG1vdW50X25vZGV2KGZzX3R5
cGUsIGZsYWdzLCBkYXRhLCBubnBmc19maWxsX3N1cGVyKTsNCit9DQorI2Vu
ZGlmDQogDQorI2lmIChMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVS
U0lPTigzLDYsMCkpDQogc3RhdGljIHZvaWQNCiBubnBmc193cml0ZV9zdXBl
cihzdHJ1Y3Qgc3VwZXJfYmxvY2sgKiBzYikNCiB7DQogICAgIHNiLT5zX2Rp
cnQgPSAwOw0KIH0NCisjZW5kaWYNCiANCiAvKg0KICAqIFhYWCBpcyB0aGlz
IGdvb2Q/IA0K

---276651502-1479828704-1452650465=:13035
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-1479828704-1452650465=:13035--

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