[4925] in arla-drinkers
PATCH: Arla 0.90 on Linux 2.6.24-2.6.32
daemon@ATHENA.MIT.EDU (=?ISO-8859-1?Q?Bo_Brant=E9n?=)
Fri Jun 4 09:31:00 2010
From arla-drinkers-bounces@stacken.kth.se Fri Jun 04 13:31:00 2010
Return-Path: <arla-drinkers-bounces@stacken.kth.se>
Delivered-To: arla-drinkers-mtg@bloom-picayune.mit.edu
Received: (qmail 9057 invoked from network); 4 Jun 2010 13:30:59 -0000
Received: from mx1.kth.se (130.237.32.140)
by charon.mit.edu with SMTP; 4 Jun 2010 13:30:59 -0000
X-KTH-mail-from: arla-drinkers-bounces@stacken.kth.se
Received: from mx4.kth.se (mx4.kth.se [130.237.48.62])
by mx1.kth.se (Postfix) with ESMTP id 837FE16C15F;
Fri, 4 Jun 2010 15:30:35 +0200 (CEST)
X-Virus-Scanned: by amavisd-new at kth.se
Received: from mx1.kth.se ([130.237.32.140])
by mx4.kth.se (mx4.kth.se [130.237.48.62]) (amavisd-new, port 10024)
with LMTP id 5mOvfj-1cnsT; Fri, 4 Jun 2010 15:30:34 +0200 (CEST)
X-KTH-mail-from: arla-drinkers-bounces@stacken.kth.se
Received: from tapas.stacken.kth.se (tapas.stacken.kth.se [130.237.234.140])
by mx1.kth.se (Postfix) with ESMTP id C516216C14C;
Fri, 4 Jun 2010 15:28:04 +0200 (CEST)
Received: from tapas.stacken.kth.se (localhost [127.0.0.1])
by tapas.stacken.kth.se (Postfix) with ESMTP id B984351EAC;
Fri, 4 Jun 2010 15:28:03 +0200 (CEST)
X-Original-To: arla-drinkers@tapas.stacken.kth.se
Delivered-To: arla-drinkers@tapas.stacken.kth.se
Received: from brev.stacken.kth.se (brev.stacken.kth.se [130.237.234.84])
by tapas.stacken.kth.se (Postfix) with ESMTP id 1A1BB51EAC
for <arla-drinkers@tapas.stacken.kth.se>;
Fri, 4 Jun 2010 15:28:01 +0200 (CEST)
Received: from mx2.kth.se (mx2.kth.se [130.237.48.98])
by brev.stacken.kth.se (8.12.10/8.12.10) with ESMTP id o54DS0Ce010945
for <arla-drinkers@stacken.kth.se>;
Fri, 4 Jun 2010 15:28:00 +0200 (MET DST)
X-KTH-mail-from: bosse@acc.umu.se
X-KTH-rcpt-to: arla-drinkers@stacken.kth.se
Received: from mx4.kth.se (mx4.kth.se [130.237.48.62])
by mx2.kth.se (Postfix) with ESMTP id 4A05C109841
for <arla-drinkers@stacken.kth.se>;
Fri, 4 Jun 2010 15:27:55 +0200 (CEST)
X-Virus-Scanned: by amavisd-new at kth.se
Received: from mx2.kth.se ([130.237.48.98])
by mx4.kth.se (mx4.kth.se [130.237.48.62]) (amavisd-new, port 10024)
with LMTP id qVb4l5Rpwo81 for <arla-drinkers@stacken.kth.se>;
Fri, 4 Jun 2010 15:27:53 +0200 (CEST)
X-KTH-mail-from: bosse@acc.umu.se
X-KTH-rcpt-to: arla-drinkers@stacken.kth.se
Received: from mail.acc.umu.se (mail.acc.umu.se [IPv6:2001:6b0:e:2018::156])
by mx2.kth.se (Postfix) with ESMTP id BF0E9108031
for <arla-drinkers@stacken.kth.se>;
Fri, 4 Jun 2010 15:27:52 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
by amavisd-new (Postfix) with ESMTP id A609A6A6
for <arla-drinkers@stacken.kth.se>;
Fri, 4 Jun 2010 15:27:52 +0200 (MEST)
X-Virus-Scanned: amavisd-new at acc.umu.se
Received: from stalin.acc.umu.se (stalin.acc.umu.se [130.239.18.135])
by mail.acc.umu.se (Postfix) with ESMTP id C17D66A2
for <arla-drinkers@stacken.kth.se>;
Fri, 4 Jun 2010 15:27:49 +0200 (MEST)
Received: by stalin.acc.umu.se (Postfix, from userid 10005)
id A128E2D; Fri, 4 Jun 2010 15:27:49 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
by stalin.acc.umu.se (Postfix) with ESMTP id 9115D2C
for <arla-drinkers@stacken.kth.se>;
Fri, 4 Jun 2010 15:27:49 +0200 (CEST)
Date: Fri, 4 Jun 2010 15:27:49 +0200 (CEST)
From: =?ISO-8859-1?Q?Bo_Brant=E9n?= <bosse@acc.umu.se>
To: arla-drinkers@stacken.kth.se
Subject: PATCH: Arla 0.90 on Linux 2.6.24-2.6.32
Message-ID: <Pine.A41.4.64.1006041524370.819408@stalin.acc.umu.se>
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED;
BOUNDARY="-2098261369-1203694919-1275658069=:819408"
X-BeenThere: arla-drinkers@stacken.kth.se
X-Mailman-Version: 2.1.6
Precedence: list
List-Id: Arla discussions <arla-drinkers.stacken.kth.se>
List-Unsubscribe: <https://lists.stacken.kth.se/mailman/listinfo/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>
Sender: arla-drinkers-bounces@stacken.kth.se
Errors-To: 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.
---2098261369-1203694919-1275658069=:819408
Content-Type: TEXT/PLAIN; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8BIT
Hello,
I have updated my patch for the latest kernels of Linux.
Bo Brantén
---2098261369-1203694919-1275658069=:819408
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=patch-arla-0.90-Linux
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.A41.4.64.1006041527490.819408@stalin.acc.umu.se>
Content-Description:
Content-Disposition: attachment; filename=patch-arla-0.90-Linux
ZGlmZiAtdXByTiBhcmxhLTAuOTAvbm5wZnMvbGludXgvbm5wZnNfYmxvY2tz
LmMgYXJsYS0wLjkwLW5ldy9ubnBmcy9saW51eC9ubnBmc19ibG9ja3MuYw0K
LS0tIGFybGEtMC45MC9ubnBmcy9saW51eC9ubnBmc19ibG9ja3MuYwkyMDA3
LTAxLTA4IDE0OjI0OjI0LjAwMDAwMDAwMCArMDEwMA0KKysrIGFybGEtMC45
MC1uZXcvbm5wZnMvbGludXgvbm5wZnNfYmxvY2tzLmMJMjAxMC0wNi0wMyAy
MzozMTowNi4zOTI2MTIwMDYgKzAyMDANCkBAIC0zNCw3ICszNCw3IEBADQog
ICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQogICovDQogDQotLyog
JElkOiBubnBmc19ibG9ja3MuYyx2IDEuMyAyMDA3LzAxLzA4IDEzOjI0OjI0
IHRvbCBFeHAgJCAqLw0KKy8qICRJZDogbm5wZnNfYmxvY2tzLmMsdiAxLjQg
MjAwOC8wMy8wOCAyMTozODoxNiB0b2wgRXhwICQgKi8NCiANCiAjaW5jbHVk
ZSA8bm5wZnMvbm5wZnNfbG9jbC5oPg0KICNpbmNsdWRlIDxubnBmcy9ubnBm
c19mcy5oPg0KQEAgLTMwMiw2ICszMDIsMjQgQEAgbm5wZnNfYmxvY2tfZXh0
ZW5kKHN0cnVjdCBubnBmc19ub2RlICpubw0KICAgICByZXR1cm4gcmV0Ow0K
IH0NCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJ
T04oMiwgNiwgMjMpDQorLyoNCisgKiBIZWxwZXIgdG8gZW11bGF0ZSB2ZnNf
cGF0aF9sb29rdXAoKSBvbiBsaW51eCA8IDIuNi4yMw0KKyAqLw0KK3N0YXRp
YyBpbnQNCit2ZnNfcGF0aF9sb29rdXAoc3RydWN0IGRlbnRyeSAqZGVudHJ5
LCBzdHJ1Y3QgdmZzbW91bnQgKm1udCwNCisJCWNvbnN0IGNoYXIgKmNhY2hl
bmFtZSwgdW5zaWduZWQgaW50IGZsYWdzLA0KKwkJc3RydWN0IG5hbWVpZGF0
YSAqbmQpDQorew0KKyAgICBuZC0+ZGVudHJ5ID0gZGdldChkZW50cnkpOw0K
KyAgICBuZC0+bW50ID0gbW50Z2V0KG1udCk7DQorICAgIG5kLT5sYXN0X3R5
cGUgPSBMQVNUX1JPT1Q7DQorICAgIG5kLT5kZXB0aCA9IDA7DQorICAgIG5k
LT5mbGFncyA9IGZsYWdzOw0KKyAgICByZXR1cm4gcGF0aF93YWxrKGNhY2hl
bmFtZSwgbmQpOw0KK30NCisjZW5kaWYgLyogTElOVVhfVkVSU0lPTl9DT0RF
IDwgS0VSTkVMX1ZFUlNJT04oMiwgNiwgMjMpICovDQorDQogLyoNCiAgKiBv
cGVuIGluZGljYXRlZCBjYWNoZSBibG9jayBmaWxlLiBuZWVkcyB0byBiZSBj
bG9zZWQgYnkgY2FsbGVyLg0KICAqDQpAQCAtMzIyLDYgKzM0MCwxMCBAQCBu
bnBmc19ibG9ja19vcGVuKHN0cnVjdCBubnBmc19ub2RlICpub2RlDQogICAg
IHVpZF90IHNhdmV1aWQ7DQogICAgIGdpZF90IHNhdmVnaWQ7DQogICAgIGlu
dCByZXQ7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVS
U0lPTigyLDYsMjkpDQorICAgIGNvbnN0IHN0cnVjdCBjcmVkICpvbGRfY3Jl
ZDsNCisgICAgc3RydWN0IGNyZWQgKm92ZXJyaWRlX2NyZWQ7DQorI2VuZGlm
DQogDQogICAgIEJVR19PTighbm5wZnNwKTsNCiAgICAgQlVHX09OKGZsYWdz
ICYgT19DUkVBVCAmJiBmaWxlICE9IE5VTEwpOw0KQEAgLTM0NiwyMSArMzY4
LDI2IEBAIG5ucGZzX2Jsb2NrX29wZW4oc3RydWN0IG5ucGZzX25vZGUgKm5v
ZGUNCiAgICAgQlVHX09OKCFubnBmc3AtPmNhY2hlZGlyIHx8ICFubnBmc3At
PmNhY2hlcm9vdCk7DQogICAgIA0KICAgICAvKiB1c2UgdGhlIG5mc2QgdHJp
Y2sgdG8gZ2l2ZSB1cyBhY2Nlc3MgKi8NCisjaWYgTElOVVhfVkVSU0lPTl9D
T0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCiAgICAgc2F2ZXVpZCA9
IGN1cnJlbnQtPmZzdWlkOw0KICAgICBzYXZlZ2lkID0gY3VycmVudC0+ZnNn
aWQ7DQogICAgIGN1cnJlbnQtPmZzdWlkID0gbm5wZnNwLT51aWQ7DQogICAg
IGN1cnJlbnQtPmZzZ2lkID0gbm5wZnNwLT5naWQ7DQotDQotICAgIG5kLmRl
bnRyeSA9IGRnZXQobm5wZnNwLT5jYWNoZWRpcik7DQotICAgIG5kLm1udCA9
IG1udGdldChubnBmc3AtPmNhY2hlcm9vdCk7DQotICAgIG5kLmxhc3RfdHlw
ZSA9IExBU1RfTk9STTsNCi0gICAgbmQuZGVwdGggPSAwOw0KLSAgICBuZC5m
bGFncyA9IDA7DQotICAgIA0KLSAgICBpZiAoZmxhZ3MgJiBPX0NSRUFUKQ0K
LQluZC5mbGFncyA9IExPT0tVUF9QQVJFTlQ7DQotICAgIA0KLSAgICByZXQg
PSBwYXRoX3dhbGsoY2FjaGVuYW1lLCAmbmQpOw0KKyNlbHNlDQorICAgIHNh
dmV1aWQgPSBjdXJyZW50X2ZzdWlkKCk7DQorICAgIHNhdmVnaWQgPSBjdXJy
ZW50X2ZzZ2lkKCk7DQorICAgIG92ZXJyaWRlX2NyZWQgPSBwcmVwYXJlX2Ny
ZWRzKCk7DQorICAgIGlmICghb3ZlcnJpZGVfY3JlZCkNCisgICAgICAgIHJl
dHVybiAtRU5PTUVNOw0KKyAgICBvdmVycmlkZV9jcmVkLT5mc3VpZCA9IG5u
cGZzcC0+dWlkOw0KKyAgICBvdmVycmlkZV9jcmVkLT5mc2dpZCA9IG5ucGZz
cC0+Z2lkOw0KKyAgICBvbGRfY3JlZCA9IG92ZXJyaWRlX2NyZWRzKG92ZXJy
aWRlX2NyZWQpOw0KKyNlbmRpZg0KKw0KKyAgICByZXQgPSB2ZnNfcGF0aF9s
b29rdXAobm5wZnNwLT5jYWNoZWRpciwgbm5wZnNwLT5jYWNoZXJvb3QsDQor
CQkJICBjYWNoZW5hbWUsDQorCQkJICBmbGFncyAmIE9fQ1JFQVQgPyBMT09L
VVBfUEFSRU5UIDogMCwNCisJCQkgICZuZCk7DQogICAgIGlmIChyZXQpIHsN
CiAJdWludDMyX3Qgbm1hc2tzID0gbm9kZS0+ZGF0YS5ubWFza3M7DQogCXVp
bnQzMl90IG1hc2s7DQpAQCAtMzkxLDEyICs0MTgsMjEgQEAgbm5wZnNfYmxv
Y2tfb3BlbihzdHJ1Y3Qgbm5wZnNfbm9kZSAqbm9kZQ0KIAlpZiAoSVNfRVJS
KGRlbnRyeSkpIHsNCiAJICAgIHJldCA9IFBUUl9FUlIoZGVudHJ5KTsNCiAJ
fSBlbHNlIHsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZF
UlNJT04oMiw2LDI1KQ0KIAkgICAgcmV0ID0gdmZzX2NyZWF0ZShuZC5kZW50
cnktPmRfaW5vZGUsIGRlbnRyeSwgU19JUlVTUnxTX0lXVVNSLCAmbmQpOw0K
KyNlbHNlDQorCSAgICByZXQgPSB2ZnNfY3JlYXRlKG5kLnBhdGguZGVudHJ5
LT5kX2lub2RlLCBkZW50cnksIFNfSVJVU1J8U19JV1VTUiwgJm5kKTsNCisj
ZW5kaWYNCiAJICAgIGRwdXQoZGVudHJ5KTsNCiAJfQ0KIA0KKyNpZiBMSU5V
WF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjUpDQogCW11
dGV4X3VubG9jaygmbmQuZGVudHJ5LT5kX2lub2RlLT5pX211dGV4KTsNCiAJ
cGF0aF9yZWxlYXNlKCZuZCk7DQorI2Vsc2UNCisJbXV0ZXhfdW5sb2NrKCZu
ZC5wYXRoLmRlbnRyeS0+ZF9pbm9kZS0+aV9tdXRleCk7DQorCXBhdGhfcHV0
KCZuZC5wYXRoKTsNCisjZW5kaWYNCiANCiAJaWYgKHJldCkgew0KIAkgICAg
cHJpbnRrKCJubnBmc19ibG9ja19vcGVuKCVzKSBjcmVhdGUgZmFpbGVkOiAl
ZFxuIiwgY2FjaGVuYW1lLCAtcmV0KTsNCkBAIC00MTAsMTIgKzQ0NiwyMiBA
QCBubnBmc19ibG9ja19vcGVuKHN0cnVjdCBubnBmc19ub2RlICpub2RlDQog
CSAgICByZXQgPSBubnBmc19ibG9ja19leHRlbmQobm9kZSwgb2Zmc2V0KTsN
CiAJfQ0KICAgICB9IGVsc2Ugew0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUg
PCBLRVJORUxfVkVSU0lPTigyLDYsMjUpDQogCXN0cnVjdCBmaWxlICpmID0g
ZGVudHJ5X29wZW4obmQuZGVudHJ5LCBuZC5tbnQsIGZsYWdzKTsNCisjZWxp
ZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjkp
DQorCXN0cnVjdCBmaWxlICpmID0gZGVudHJ5X29wZW4obmQucGF0aC5kZW50
cnksIG5kLnBhdGgubW50LCBmbGFncyk7DQorI2Vsc2UNCisgICAgICAgIHN0
cnVjdCBmaWxlICpmID0gZGVudHJ5X29wZW4obmQucGF0aC5kZW50cnksIG5k
LnBhdGgubW50LCBmbGFncywgY3VycmVudF9jcmVkKCkpOw0KKyNlbmRpZg0K
IAlpZiAoSVNfRVJSKGYpKSB7DQogCSAgICByZXQgPSBQVFJfRVJSKGYpOw0K
IAkgICAgcHJpbnRrKCJubnBmc19ibG9ja19vcGVuKCVzKSBvcGVuIGZhaWxl
ZDogJWRcbiIsIGNhY2hlbmFtZSwgLXJldCk7DQogCSAgICBubnBmc19kZWJ1
Z19vb3BzKCk7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9W
RVJTSU9OKDIsNiwyNSkNCiAJICAgIHBhdGhfcmVsZWFzZSgmbmQpOw0KKyNl
bHNlDQorCSAgICBwYXRoX3B1dCgmbmQucGF0aCk7DQorI2VuZGlmDQogCX0g
ZWxzZSB7DQogCSAgICAqZmlsZSA9IGY7DQogCX0NCkBAIC00MjQsOCArNDcw
LDEzIEBAIG5ucGZzX2Jsb2NrX29wZW4oc3RydWN0IG5ucGZzX25vZGUgKm5v
ZGUNCiAgICAgLyogcGF0aF9yZWxlYXNlKCkgaXMgdXN1YWxseSBoYW5kbGVk
IG9uIGNsb3NlICovDQogDQogIG91dDoNCisjaWYgTElOVVhfVkVSU0lPTl9D
T0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCiAgICAgY3VycmVudC0+
ZnN1aWQgPSBzYXZldWlkOw0KICAgICBjdXJyZW50LT5mc2dpZCA9IHNhdmVn
aWQ7DQorI2Vsc2UNCisgICAgcmV2ZXJ0X2NyZWRzKG9sZF9jcmVkKTsNCisg
ICAgcHV0X2NyZWQob3ZlcnJpZGVfY3JlZCk7DQorI2VuZGlmDQogDQogICAg
IHJldHVybiByZXQ7DQogfQ0KZGlmZiAtdXByTiBhcmxhLTAuOTAvbm5wZnMv
bGludXgvbm5wZnNfaW5vZGVvcHMuYyBhcmxhLTAuOTAtbmV3L25ucGZzL2xp
bnV4L25ucGZzX2lub2Rlb3BzLmMNCi0tLSBhcmxhLTAuOTAvbm5wZnMvbGlu
dXgvbm5wZnNfaW5vZGVvcHMuYwkyMDA2LTEyLTExIDE3OjM1OjI2LjAwMDAw
MDAwMCArMDEwMA0KKysrIGFybGEtMC45MC1uZXcvbm5wZnMvbGludXgvbm5w
ZnNfaW5vZGVvcHMuYwkyMDEwLTA2LTA0IDAxOjE3OjM4LjQ1Njg0NTI1OSAr
MDIwMA0KQEAgLTQ4LDcgKzQ4LDcgQEANCiAjaW5jbHVkZSA8YXNtL2ZjbnRs
Lmg+DQogDQogI2lmZGVmIFJDU0lEDQotUkNTSUQoIiRJZDogbm5wZnNfaW5v
ZGVvcHMuYyx2IDEuMjIzIDIwMDYvMTIvMTEgMTY6MzU6MjYgdG9sIEV4cCAk
Iik7DQorUkNTSUQoIiRJZDogbm5wZnNfaW5vZGVvcHMuYyx2IDEuMjI0IDIw
MDgvMDMvMDggMjE6NDA6MTAgdG9sIEV4cCAkIik7DQogI2VuZGlmDQogDQog
c3RhdGljIGludA0KQEAgLTEwNSw3ICsxMDUsMTEgQEAgbm5wZnNfdm1hX2Ns
b3NlIChzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKg0KIH0NCiANCiBzdGF0aWMg
c3RydWN0IHZtX29wZXJhdGlvbnNfc3RydWN0IG5ucGZzX2ZpbGVfdm1fb3Bz
ID0gew0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lP
TigyLCA2LCAyMykNCiAgICAgLm5vcGFnZQk9IGZpbGVtYXBfbm9wYWdlLA0K
KyNlbHNlDQorICAgIC5mYXVsdCAgICAgID0gZmlsZW1hcF9mYXVsdCwNCisj
ZW5kaWYNCiAgICAgLmNsb3NlCT0gbm5wZnNfdm1hX2Nsb3NlLA0KIH07DQog
DQpAQCAtMTM0LDEyICsxMzgsMTQgQEAgbm5wZnNfcHJpbnRfcGF0aChzdHJ1
Y3QgZGVudHJ5ICpkZW50cnkpDQogICoNCiAgKi8NCiANCisjaWYgMA0KIHZv
aWQNCiBubnBmc19wcmludF9sb2NrKGNoYXIgKnMsIHN0cnVjdCBzZW1hcGhv
cmUgKnNlbSkNCiB7DQogICAgIE5OUEZTREVCKFhERUJMT0NLLCAoImxvY2s6
ICVzIHNlbTogJXAgY291bnQ6ICVkXG4iLA0KIAkJICAgICAgcywgc2VtLCAo
aW50KWF0b21pY19yZWFkKCZzZW0tPmNvdW50KSkpOw0KIH0NCisjZW5kaWYN
CiANCiAvKg0KICAqDQpAQCAtMjQwLDcgKzI0NiwxMSBAQCBubnBmc19sb29r
dXAgKHN0cnVjdCBpbm9kZSAqZGlyLCBzdHJ1Y3QgDQogDQogCW1zZy5oZWFk
ZXIub3Bjb2RlID0gTk5QRlNfTVNHX0dFVE5PREU7DQogICAgICAgICANCisj
aWYgTElOVVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwy
OCkNCiAJbXNnLmNyZWQudWlkID0gY3VycmVudC0+dWlkOw0KKyNlbHNlDQor
ICAgICAgICBtc2cuY3JlZC51aWQgPSBjdXJyZW50X3VpZCgpOw0KKyNlbmRp
Zg0KIAltc2cuY3JlZC5wYWcgPSBubnBmc19nZXRfcGFnKCk7DQogCW1zZy5w
YXJlbnRfaGFuZGxlID0gZC0+aGFuZGxlOw0KICAgICAgICAgDQpAQCAtMzEw
LDcgKzMyMCwxMSBAQCBubnBmc19vcGVuX3ZhbGlkKHN0cnVjdCBpbm9kZSAq
dnAsIHVfaW50DQogICAgICAgew0KIAlzdHJ1Y3Qgbm5wZnNfbWVzc2FnZV9v
cGVuIG1zZzsNCiAJbXNnLmhlYWRlci5vcGNvZGUgPSBOTlBGU19NU0dfT1BF
TjsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9O
KDIsNiwyOCkNCiAJbXNnLmNyZWQudWlkID0gY3VycmVudC0+dWlkOw0KKyNl
bHNlDQorICAgICAgICBtc2cuY3JlZC51aWQgPSBjdXJyZW50X3VpZCgpOw0K
KyNlbmRpZg0KIAltc2cuY3JlZC5wYWcgPSBubnBmc19nZXRfcGFnKCk7DQog
CW1zZy5oYW5kbGUgPSB4bi0+aGFuZGxlOw0KIAltc2cudG9rZW5zID0gdG9r
Ow0KQEAgLTQyNSw3ICs0MzksMTEgQEAgbm5wZnNfZnN5bmNfaW50KHN0cnVj
dCBmaWxlICpmaWxlLCB1X2ludA0KIA0KIAltc2cuaGVhZGVyLm9wY29kZSA9
IE5OUEZTX01TR19QVVREQVRBOw0KIAltc2cuY3JlZC5wYWcgPSBubnBmc19n
ZXRfcGFnKCk7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxf
VkVSU0lPTigyLDYsMjgpDQogCW1zZy5jcmVkLnVpZCA9IGN1cnJlbnQtPnVp
ZDsNCisjZWxzZQ0KKyAgICAgICAgbXNnLmNyZWQudWlkID0gY3VycmVudF91
aWQoKTsNCisjZW5kaWYNCiAJbXNnLmhhbmRsZSA9IHhuLT5oYW5kbGU7DQog
CW1zZy5mbGFnICAgPSBmbGFnOw0KIAltc2cub2Zmc2V0ID0gb2ZmOw0KQEAg
LTUxMSw3ICs1MjksMTEgQEAgbm5wZnNfYXR0cl92YWxpZChzdHJ1Y3QgaW5v
ZGUgKiB2cCwgdV9pbg0KICAgICAgICAgICAgIHN0cnVjdCBubnBmc19tZXNz
YWdlX2dldGF0dHIgbXNnOw0KIA0KICAgICAgICAgICAgIG1zZy5oZWFkZXIu
b3Bjb2RlID0gTk5QRlNfTVNHX0dFVEFUVFI7DQorI2lmIExJTlVYX1ZFUlNJ
T05fQ09ERSA8PSBLRVJORUxfVkVSU0lPTigyLDYsMjgpDQogICAgICAgICAg
ICAgbXNnLmNyZWQudWlkID0gY3VycmVudC0+dWlkOw0KKyNlbHNlDQorICAg
ICAgICAgICAgbXNnLmNyZWQudWlkID0gY3VycmVudF91aWQoKTsNCisjZW5k
aWYNCiAgICAgICAgICAgICBtc2cuY3JlZC5wYWcgPSBwYWc7DQogICAgICAg
ICAgICAgbXNnLmhhbmRsZSA9IHhuLT5oYW5kbGU7DQogICAgICAgICAgICAg
ZXJyb3IgPSBubnBmc19tZXNzYWdlX3JwYyhubnBmc3AsICZtc2cuaGVhZGVy
LCBzaXplb2YobXNnKSk7DQpAQCAtNTUxLDcgKzU3MywxMSBAQCBubnBmc19y
aWdodHNfdmFsaWQoc3RydWN0IGlub2RlICogdnAsIG5uDQogICAgICAgICAg
ICAgc3RydWN0IG5ucGZzX21lc3NhZ2VfZ2V0YXR0ciBtc2c7DQogDQogICAg
ICAgICAgICAgbXNnLmhlYWRlci5vcGNvZGUgPSBOTlBGU19NU0dfR0VUQVRU
UjsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9O
KDIsNiwyOCkNCiAgICAgICAgICAgICBtc2cuY3JlZC51aWQgPSBjdXJyZW50
LT51aWQ7DQorI2Vsc2UNCisgICAgICAgICAgICBtc2cuY3JlZC51aWQgPSBj
dXJyZW50X3VpZCgpOw0KKyNlbmRpZg0KICAgICAgICAgICAgIG1zZy5jcmVk
LnBhZyA9IHBhZzsNCiAgICAgICAgICAgICBtc2cuaGFuZGxlID0geG4tPmhh
bmRsZTsNCiAgICAgICAgICAgICBlcnJvciA9IG5ucGZzX21lc3NhZ2VfcnBj
KG5ucGZzcCwgJm1zZy5oZWFkZXIsIHNpemVvZihtc2cpKTsNCkBAIC01OTIs
OCArNjE4LDEzIEBAIGNoZWNrX3JpZ2h0cyAobm5wZnNfcmlnaHRzIHJpZ2h0
cywgaW50IG0NCiAgKiBXZSBkb24ndCBob2xkIGlfbXV0ZXguDQogICovDQog
DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIs
NiwyNykNCiBzdGF0aWMgaW50DQogbm5wZnNfcGVybWlzc2lvbihzdHJ1Y3Qg
aW5vZGUgKmlub2RlLCBpbnQgbW9kZSwgc3RydWN0IG5hbWVpZGF0YSAqbmQp
DQorI2Vsc2UNCitzdGF0aWMgaW50DQorbm5wZnNfcGVybWlzc2lvbihzdHJ1
Y3QgaW5vZGUgKmlub2RlLCBpbnQgbW9kZSkNCisjZW5kaWYNCiB7DQogICAg
IGludCBlcnJvciA9IDA7DQogICAgIG5ucGZzX3BhZ190IHBhZyA9IG5ucGZz
X2dldF9wYWcoKTsNCkBAIC02MzYsNyArNjY3LDExIEBAIG5ucGZzX2RvX2dl
dGRhdGEoc3RydWN0IG5ucGZzX25vZGUgKnhuLCANCiAgICAgaW50IGVycm9y
Ow0KIA0KICAgICBtc2cuaGVhZGVyLm9wY29kZSA9IE5OUEZTX01TR19HRVRE
QVRBOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPD0gS0VSTkVMX1ZFUlNJ
T04oMiw2LDI4KQ0KICAgICBtc2cuY3JlZC51aWQgPSBjdXJyZW50LT51aWQ7
DQorI2Vsc2UNCisgICAgbXNnLmNyZWQudWlkID0gY3VycmVudF91aWQoKTsN
CisjZW5kaWYNCiAgICAgbXNnLmNyZWQucGFnID0gbm5wZnNfZ2V0X3BhZygp
Ow0KICAgICBtc2cuaGFuZGxlID0geG4tPmhhbmRsZTsNCiAgICAgbXNnLnRv
a2VucyA9IHRvazsNCkBAIC05MDMsOSArOTM4LDE4IEBAIG5ucGZzX2NyZWF0
ZShzdHJ1Y3QgaW5vZGUgKmRpciwgc3RydWN0IGQNCiAgICAgWEFfQ0xFQVIo
Jm1zZy5hdHRyKTsNCiAgICAgWEFfU0VUX01PREUoJm1zZy5hdHRyLCBtb2Rl
KTsNCiAgICAgWEFfU0VUX1RZUEUoJm1zZy5hdHRyLCBOTlBGU19GSUxFX1JF
Ryk7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxfVkVSU0lP
TigyLDYsMjgpDQogICAgIFhBX1NFVF9HSUQoJm1zZy5hdHRyLCBjdXJyZW50
LT5mc2dpZCk7DQorI2Vsc2UNCisgICAgWEFfU0VUX0dJRCgmbXNnLmF0dHIs
IGN1cnJlbnRfZnNnaWQoKSk7DQorI2VuZGlmDQogICAgIG1zZy5tb2RlID0g
MDsJCS8qIFhYWCAqLw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPD0gS0VS
TkVMX1ZFUlNJT04oMiw2LDI4KQ0KICAgICBtc2cuY3JlZC51aWQgPSBjdXJy
ZW50LT51aWQ7DQorI2Vsc2UNCisgICAgbXNnLmNyZWQudWlkID0gY3VycmVu
dF91aWQoKTsNCisjZW5kaWYNCisNCiAgICAgbXNnLmNyZWQucGFnID0gbm5w
ZnNfZ2V0X3BhZygpOw0KICAgICBlcnJvciA9IG5ucGZzX21lc3NhZ2VfcnBj
KG5ucGZzcCwgJm1zZy5oZWFkZXIsIHNpemVvZihtc2cpKTsNCiAgICAgaWYg
KGVycm9yID09IDApDQpAQCAtOTQ2LDcgKzk5MCwxMSBAQCBubnBmc191bmxp
bmsgKHN0cnVjdCBpbm9kZSAqIGRpciwgc3RydWN0DQogICAgIGlmIChzdHJs
Y3B5KG1zZy5uYW1lLCBkZW50cnktPmRfbmFtZS5uYW1lLCBzaXplb2YobXNn
Lm5hbWUpKSA+PSBOTlBGU19NQVhfTkFNRSkNCiAJcmV0dXJuIC1FTkFNRVRP
T0xPTkc7DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxf
VkVSU0lPTigyLDYsMjgpDQogICAgIG1zZy5jcmVkLnVpZCA9IGN1cnJlbnQt
PnVpZDsNCisjZWxzZQ0KKyAgICBtc2cuY3JlZC51aWQgPSBjdXJyZW50X3Vp
ZCgpOw0KKyNlbmRpZg0KICAgICBtc2cuY3JlZC5wYWcgPSBubnBmc19nZXRf
cGFnKCk7DQogICAgIGVycm9yID0gbm5wZnNfbWVzc2FnZV9ycGMobm5wZnNw
LCAmbXNnLmhlYWRlciwgc2l6ZW9mKG1zZykpOw0KICAgICBpZiAoZXJyb3Ig
PT0gMCkNCkBAIC05OTEsNyArMTAzOSwxMSBAQCBubnBmc19yZW5hbWUgKHN0
cnVjdCBpbm9kZSAqIG9sZF9kaXIsIHN0DQogICAgIGlmIChzdHJsY3B5KG1z
Zy5uZXdfbmFtZSwgbmV3X2RlbnRyeS0+ZF9uYW1lLm5hbWUsIHNpemVvZiht
c2cubmV3X25hbWUpKSA+PSBOTlBGU19NQVhfTkFNRSkNCiAJcmV0dXJuIC1F
TkFNRVRPT0xPTkc7DQogCQ0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPD0g
S0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KICAgICBtc2cuY3JlZC51aWQgPSBj
dXJyZW50LT51aWQ7DQorI2Vsc2UNCisgICAgbXNnLmNyZWQudWlkID0gY3Vy
cmVudF91aWQoKTsNCisjZW5kaWYNCiAgICAgbXNnLmNyZWQucGFnID0gbm5w
ZnNfZ2V0X3BhZygpOw0KICAgICBlcnJvciA9IG5ucGZzX21lc3NhZ2VfcnBj
KG5ucGZzcCwgJm1zZy5oZWFkZXIsIHNpemVvZihtc2cpKTsNCiAgICAgaWYg
KGVycm9yID09IDApDQpAQCAtMTA0MCw5ICsxMDkyLDE3IEBAIG5ucGZzX21r
ZGlyKHN0cnVjdCBpbm9kZSAqIGRpciwgc3RydWN0IGQNCiAJWEFfQ0xFQVIo
Jm1zZy5hdHRyKTsNCiAJWEFfU0VUX01PREUoJm1zZy5hdHRyLCBtb2RlKTsN
CiAJWEFfU0VUX1RZUEUoJm1zZy5hdHRyLCBOTlBGU19GSUxFX0RJUik7DQor
I2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxfVkVSU0lPTigyLDYs
MjgpDQogCVhBX1NFVF9HSUQoJm1zZy5hdHRyLCBjdXJyZW50LT5mc2dpZCk7
DQorI2Vsc2UNCisgICAgICAgIFhBX1NFVF9HSUQoJm1zZy5hdHRyLCBjdXJy
ZW50X2ZzZ2lkKCkpOw0KKyNlbmRpZg0KIA0KKyNpZiBMSU5VWF9WRVJTSU9O
X0NPREUgPD0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KIAltc2cuY3JlZC51
aWQgPSBjdXJyZW50LT51aWQ7DQorI2Vsc2UNCisgICAgICAgIG1zZy5jcmVk
LnVpZCA9IGN1cnJlbnRfdWlkKCk7DQorI2VuZGlmDQogCW1zZy5jcmVkLnBh
ZyA9IG5ucGZzX2dldF9wYWcoKTsNCiAJZXJyb3IgPSBubnBmc19tZXNzYWdl
X3JwYyhubnBmc3AsICZtc2cuaGVhZGVyLCBzaXplb2YobXNnKSk7DQogCWlm
IChlcnJvciA9PSAwKQ0KQEAgLTEwODMsNyArMTE0MywxMSBAQCBubnBmc19y
bWRpcihzdHJ1Y3QgaW5vZGUgKiBkaXIsIHN0cnVjdCBkDQogICAgIG1zZy5w
YXJlbnRfaGFuZGxlID0geG4tPmhhbmRsZTsNCiAgICAgaWYgKHN0cmxjcHko
bXNnLm5hbWUsIGRlbnRyeS0+ZF9uYW1lLm5hbWUsIHNpemVvZihtc2cubmFt
ZSkpID49IE5OUEZTX01BWF9OQU1FKQ0KIAkgICAgcmV0dXJuIC1FTkFNRVRP
T0xPTkc7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxfVkVS
U0lPTigyLDYsMjgpDQogICAgIG1zZy5jcmVkLnVpZCA9IGN1cnJlbnQtPnVp
ZDsNCisjZWxzZQ0KKyAgICBtc2cuY3JlZC51aWQgPSBjdXJyZW50X3VpZCgp
Ow0KKyNlbmRpZg0KICAgICBtc2cuY3JlZC5wYWcgPSBubnBmc19nZXRfcGFn
KCk7DQogICAgIGVycm9yID0gbm5wZnNfbWVzc2FnZV9ycGMobm5wZnNwLCAm
bXNnLmhlYWRlciwgc2l6ZW9mKG1zZykpOw0KICAgICBpZiAoZXJyb3IgPT0g
MCkNCkBAIC0xMTI4LDcgKzExOTIsMTEgQEAgc3RhdGljIGludCBubnBmc19s
aW5rKHN0cnVjdCBkZW50cnkgKm9sZA0KIAlpZiAoc3RybGNweShtc2cubmFt
ZSwgbmFtZSwgc2l6ZW9mKG1zZy5uYW1lKSkgPj0gTk5QRlNfTUFYX05BTUUp
DQogCSAgICByZXR1cm4gLUVOQU1FVE9PTE9ORzsNCiANCisjaWYgTElOVVhf
VkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCiAJbXNn
LmNyZWQudWlkID0gY3VycmVudC0+dWlkOw0KKyNlbHNlDQorICAgICAgICBt
c2cuY3JlZC51aWQgPSBjdXJyZW50X3VpZCgpOw0KKyNlbmRpZg0KIAltc2cu
Y3JlZC5wYWcgPSBubnBmc19nZXRfcGFnKCk7DQogCWVycm9yID0gbm5wZnNf
bWVzc2FnZV9ycGMobm5wZnNwLCAmbXNnLmhlYWRlciwgc2l6ZW9mKG1zZykp
Ow0KIAlpZiAoZXJyb3IgPT0gMCkNCkBAIC0xMTU3LDIyICsxMjI1LDM5IEBA
IHN0YXRpYyBpbnQgbm5wZnNfc3ltbGluayhzdHJ1Y3QgaW5vZGUgKmQNCiAg
ICAgeG4gPSBWTk9ERV9UT19YTk9ERShkaXIpOw0KIA0KICAgICB7DQotCXN0
cnVjdCBubnBmc19tZXNzYWdlX3N5bWxpbmsgbXNnOw0KKwlzdHJ1Y3Qgbm5w
ZnNfbWVzc2FnZV9zeW1saW5rICptc2cgPSBOVUxMOw0KIA0KLQltc2cuaGVh
ZGVyLm9wY29kZSA9IE5OUEZTX01TR19TWU1MSU5LOw0KLQltc2cucGFyZW50
X2hhbmRsZSA9IHhuLT5oYW5kbGU7DQotCWlmIChzdHJsY3B5KG1zZy5uYW1l
LCBuYW1lLCBzaXplb2YobXNnLm5hbWUpKSA+PSBOTlBGU19NQVhfTkFNRSkN
Ci0JICAgIHJldHVybiAtRU5BTUVUT09MT05HOw0KLQlpZiAoc3RybGNweSht
c2cuY29udGVudHMsIHN5bW5hbWUsIHNpemVvZihtc2cuY29udGVudHMpKSA+
PSBOTlBGU19NQVhfU1lNTElOS19DT05URU5UKQ0KLQkgICAgcmV0dXJuIC1F
TkFNRVRPT0xPTkc7DQotCVhBX0NMRUFSKCZtc2cuYXR0cik7DQotCVhBX1NF
VF9NT0RFKCZtc2cuYXR0ciwgMDc3Nyk7DQotCVhBX1NFVF9UWVBFKCZtc2cu
YXR0ciwgTk5QRlNfRklMRV9MTkspOw0KLQlYQV9TRVRfR0lEKCZtc2cuYXR0
ciwgY3VycmVudC0+ZnNnaWQpOw0KKwltc2cgPSBrbWFsbG9jKHNpemVvZihz
dHJ1Y3Qgbm5wZnNfbWVzc2FnZV9zeW1saW5rKSwgR0ZQX0tFUk5FTCk7DQog
DQotCW1zZy5jcmVkLnVpZCA9IGN1cnJlbnQtPnVpZDsNCi0JbXNnLmNyZWQu
cGFnID0gbm5wZnNfZ2V0X3BhZygpOw0KLQllcnJvciA9IG5ucGZzX21lc3Nh
Z2VfcnBjKG5ucGZzcCwgJm1zZy5oZWFkZXIsIHNpemVvZihtc2cpKTsNCisJ
aWYgKCFtc2cpDQorCSAgcmV0dXJuIC1FTk9NRU07DQorDQorCW1zZy0+aGVh
ZGVyLm9wY29kZSA9IE5OUEZTX01TR19TWU1MSU5LOw0KKwltc2ctPnBhcmVu
dF9oYW5kbGUgPSB4bi0+aGFuZGxlOw0KKwlpZiAoc3RybGNweShtc2ctPm5h
bWUsIG5hbWUsIHNpemVvZihtc2ctPm5hbWUpKSA+PSBOTlBGU19NQVhfTkFN
RSkgew0KKwkgIGtmcmVlKG1zZyk7DQorCSAgcmV0dXJuIC1FTkFNRVRPT0xP
Tkc7DQorCX0NCisJaWYgKHN0cmxjcHkobXNnLT5jb250ZW50cywgc3ltbmFt
ZSwgc2l6ZW9mKG1zZy0+Y29udGVudHMpKSA+PSBOTlBGU19NQVhfU1lNTElO
S19DT05URU5UKSB7DQorCSAga2ZyZWUobXNnKTsNCisJICByZXR1cm4gLUVO
QU1FVE9PTE9ORzsNCisJfQ0KKwlYQV9DTEVBUigmbXNnLT5hdHRyKTsNCisJ
WEFfU0VUX01PREUoJm1zZy0+YXR0ciwgMDc3Nyk7DQorCVhBX1NFVF9UWVBF
KCZtc2ctPmF0dHIsIE5OUEZTX0ZJTEVfTE5LKTsNCisjaWYgTElOVVhfVkVS
U0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCisJWEFfU0VU
X0dJRCgmbXNnLT5hdHRyLCBjdXJyZW50LT5mc2dpZCk7DQorI2Vsc2UNCisg
ICAgICAgIFhBX1NFVF9HSUQoJm1zZy0+YXR0ciwgY3VycmVudF9mc2dpZCgp
KTsNCisjZW5kaWYNCisNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDw9IEtF
Uk5FTF9WRVJTSU9OKDIsNiwyOCkNCisJbXNnLT5jcmVkLnVpZCA9IGN1cnJl
bnQtPnVpZDsNCisjZWxzZQ0KKyAgICAgICAgbXNnLT5jcmVkLnVpZCA9IGN1
cnJlbnRfdWlkKCk7DQorI2VuZGlmDQorCW1zZy0+Y3JlZC5wYWcgPSBubnBm
c19nZXRfcGFnKCk7DQorCWVycm9yID0gbm5wZnNfbWVzc2FnZV9ycGMobm5w
ZnNwLCAmbXNnLT5oZWFkZXIsIHNpemVvZihzdHJ1Y3Qgbm5wZnNfbWVzc2Fn
ZV9zeW1saW5rKSk7DQogCWlmIChlcnJvciA9PSAwKQ0KIAkgICAgZXJyb3Ig
PSBOTlBGU19NU0dfV0FLRVVQX0VSUk9SKCZtc2cpOw0KIA0KQEAgLTExODAs
NiArMTI2NSw3IEBAIHN0YXRpYyBpbnQgbm5wZnNfc3ltbGluayhzdHJ1Y3Qg
aW5vZGUgKmQNCiAJaWYgKERFTlRSWV9UT19YREVOVFJZKGRlbnRyeSktPnhk
X2ZsYWdzID09IDApIHsNCiAJICAgIHByaW50ayhLRVJOX0VNRVJHICJOTlBG
UyBQYW5pYzogbm5wZnNfc3ltbGluazogZGVudHJ5IG5vdCB2YWxpZFxuIik7
DQogCX0NCisJa2ZyZWUobXNnKTsNCiAgICAgfQ0KIA0KICAgICByZXR1cm4g
ZXJyb3I7DQpAQCAtMTM5OCw3ICsxNDg0LDExIEBAIG5ucGZzX3NldGF0dHIg
KHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgc3QNCiAgICAgICAgIHN0cnVjdCBu
bnBmc19tZXNzYWdlX3B1dGF0dHIgbXNnOw0KIA0KICAgICAgICAgbXNnLmhl
YWRlci5vcGNvZGUgPSBOTlBGU19NU0dfUFVUQVRUUjsNCisjaWYgTElOVVhf
VkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCiAJbXNn
LmNyZWQudWlkID0gY3VycmVudC0+dWlkOw0KKyNlbHNlDQorICAgICAgICBt
c2cuY3JlZC51aWQgPSBjdXJyZW50X3VpZCgpOw0KKyNlbmRpZg0KIAltc2cu
Y3JlZC5wYWcgPSBubnBmc19nZXRfcGFnKCk7DQogICAgICAgICBtc2cuaGFu
ZGxlID0geG4tPmhhbmRsZTsNCiAgICAgICAgIG5ucGZzX2lhdHRyMmF0dHIo
eG4sIGF0dHIsICZtc2cuYXR0cik7DQpAQCAtMTU0NSw2ICsxNjM1LDggQEAg
bm5wZnNfZF9kZWxldGUoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQ0KICAgICBy
ZXR1cm4gMDsNCiB9DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtF
Uk5FTF9WRVJTSU9OKDIsIDYsIDIzKQ0KKw0KIHN0YXRpYyBzc2l6ZV90DQog
bm5wZnNfc2VuZGZpbGUoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZfdCAqcHBv
cywgc2l6ZV90IGNvdW50LA0KIAkgICAgICAgcmVhZF9hY3Rvcl90IGFjdG9y
LCB2b2lkICp0YXJnZXQpDQpAQCAtMTU2OCw2ICsxNjYwLDMzIEBAIG5ucGZz
X3NlbmRmaWxlKHN0cnVjdCBmaWxlICpmaWxlLCBsb2ZmX3QNCiAgICAgcmV0
dXJuIGVycm9yOw0KIH0NCiANCisjZWxzZQ0KKw0KK3N0YXRpYyBzc2l6ZV90
DQorbm5wZnNfc3BsaWNlX3JlYWQoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZf
dCAqcHBvcywNCisJCSAgc3RydWN0IHBpcGVfaW5vZGVfaW5mbyAqcGlwZSwg
c2l6ZV90IGNvdW50LA0KKwkJICB1bnNpZ25lZCBpbnQgZmxhZ3MpDQorew0K
KyAgICBpbnQgZXJyb3IgPSAwOw0KKyAgICBzdHJ1Y3QgaW5vZGUgKmlub2Rl
ID0gZmlsZS0+Zl9kZW50cnktPmRfaW5vZGU7DQorICAgIHN0cnVjdCBubnBm
c19ub2RlICp4biA9IFZOT0RFX1RPX1hOT0RFKGlub2RlKTsNCisgICAgDQor
ICAgIGlmICh4biAhPSBOVUxMKQ0KKwlOTlBGU0RFQihYREVCVk5PUFMsICgi
bm5wZnNfc2VuZGZpbGU6IHRva2VuczogMHgleFxuIiwgeG4tPnRva2Vucykp
Ow0KKw0KKyAgICBlcnJvciA9IG5ucGZzX2RhdGFfdmFsaWQoaW5vZGUsIE5O
UEZTX0RBVEFfUiwgKnBwb3MsICpwcG9zICsgY291bnQpOw0KKyAgICBpZiAo
ZXJyb3IpIHsNCisJTk5QRlNERUIoWERFQlZOT1BTLCAoIm5ucGZzX3NlbmRm
aWxlOiBkYXRhIG5vdCB2YWxpZCAlZFxuIiwgZXJyb3IpKTsNCisJcmV0dXJu
IGVycm9yOw0KKyAgICB9DQorICAgIGVycm9yID0gZmlsZS0+Zl9vcC0+c3Bs
aWNlX3JlYWQoZmlsZSwgcHBvcywgcGlwZSwgY291bnQsIGZsYWdzKTsNCisN
CisgICAgTk5QRlNERUIoWERFQlZOT1BTLCAoIm5ucGZzX3NlbmRmaWxlOiBl
cnJvciA9ICVkXG4iLCBlcnJvcikpOw0KKyAgICByZXR1cm4gZXJyb3I7DQor
fQ0KKw0KKyNlbmRpZiAvKiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxf
VkVSU0lPTigyLCA2LCAyMykgKi8NCisNCiAvKg0KICAqDQogICoNCkBAIC0x
NjM5LDExICsxNzU4LDE1IEBAIG5ucGZzX3dyaXRlX2JhY2twYWdlKHN0cnVj
dCBwYWdlICpwYWdlLCANCiAJc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBp
bmcgPSBiYWNrZmlsZS0+Zl9tYXBwaW5nOw0KIAl1bnNpZ25lZCBsZW4gPSBQ
QUdFX0NBQ0hFX1NJWkU7DQogCXN0cnVjdCBwYWdlICpiYWNrcGFnZTsNCisj
aWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDIsNiwy
NCkNCisJdm9pZCAqZnNkYXRhOw0KKyNlbmRpZg0KIAl1bnNpZ25lZCBsb25n
IG9mZnNldDsNCiANCiAJaW50IGVycm9yOw0KIAkNCiAJZG8gew0KKyNpZiBM
SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjQpDQog
CQliYWNrcGFnZSA9IGdyYWJfY2FjaGVfcGFnZShtYXBwaW5nLCBubnBmc19n
ZXRfYmFja2luZGV4KHBhZ2UpKTsNCiAJCWlmICghYmFja3BhZ2UpIHsNCiAJ
CQlwcmludGsoIm5ucGZzX3dyaXRlX2JhY2twYWdlOiBubyBwYWdlXG4iKTsN
CkBAIC0xNjUyLDIxICsxNzc1LDM2IEBAIG5ucGZzX3dyaXRlX2JhY2twYWdl
KHN0cnVjdCBwYWdlICpwYWdlLCANCiANCiAJCWVycm9yID0gbWFwcGluZy0+
YV9vcHMtPnByZXBhcmVfd3JpdGUoYmFja2ZpbGUsIGJhY2twYWdlLA0KIAkJ
CQkJCSAgICAgIDAsIGxlbik7DQorI2Vsc2UNCisJCWVycm9yID0gcGFnZWNh
Y2hlX3dyaXRlX2JlZ2luKGJhY2tmaWxlLCBtYXBwaW5nLCAwLCBsZW4sDQor
CQkJCUFPUF9GTEFHX1VOSU5URVJSVVBUSUJMRSwgJmJhY2twYWdlLCAmZnNk
YXRhKTsNCisjZW5kaWYNCiAJCWlmICghZXJyb3IpIHsNCiAJCQljb3B5X2hp
Z2hwYWdlKGJhY2twYWdlLCBwYWdlKTsNCiAJCQlmbHVzaF9kY2FjaGVfcGFn
ZShiYWNrcGFnZSk7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5F
TF9WRVJTSU9OKDIsNiwyNCkNCiAJCQllcnJvciA9IG1hcHBpbmctPmFfb3Bz
LT5jb21taXRfd3JpdGUoYmFja2ZpbGUsIGJhY2twYWdlLA0KIAkJCQkJCQkg
ICAgIDAsIGxlbik7DQorI2Vsc2UNCisJCQllcnJvciA9IHBhZ2VjYWNoZV93
cml0ZV9lbmQoYmFja2ZpbGUsIG1hcHBpbmcsIDAsIGxlbiwNCisJCQkJCWxl
biwgYmFja3BhZ2UsIGZzZGF0YSk7DQorCQkJaWYgKGVycm9yID4gMCkNCisJ
CQkJZXJyb3IgPSAwOw0KKyNlbmRpZg0KIAkJfQ0KIAkJaWYgKGVycm9yID09
IEFPUF9UUlVOQ0FURURfUEFHRSkgew0KKyNpZiBMSU5VWF9WRVJTSU9OX0NP
REUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjQpDQogCQkJcGFnZV9jYWNoZV9y
ZWxlYXNlKGJhY2twYWdlKTsNCisjZW5kaWYNCiAJCQljb250aW51ZTsNCiAJ
CX0NCiAJfSB3aGlsZSAoMCk7DQogDQogCW9mZnNldCA9IHBhZ2Vfb2Zmc2V0
KGJhY2twYWdlKTsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVM
X1ZFUlNJT04oMiw2LDI0KQ0KIAl1bmxvY2tfcGFnZShiYWNrcGFnZSk7DQog
CXBhZ2VfY2FjaGVfcmVsZWFzZShiYWNrcGFnZSk7DQorI2VuZGlmDQogDQog
CWlmIChlcnJvcikNCiAJCXByaW50aygibm5wZnNfd3JpdGVfYmFja3BhZ2U6
IEVJT1xuIik7DQpAQCAtMTg3Miw2ICsyMDEwLDM0IEBAIG5ucGZzX3ByZXBh
cmVfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsIHMNCiAJcmV0dXJuIHJldDsN
CiB9DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVS
U0lPTigyLDYsMjgpDQorDQorc3RhdGljIGludA0KK25ucGZzX3dyaXRlX2Jl
Z2luKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAq
bWFwcGluZywgbG9mZl90IHBvcywNCit1bnNpZ25lZCBsZW4sIHVuc2lnbmVk
IGZsYWdzLCBzdHJ1Y3QgcGFnZSAqKnBhZ2VwLCB2b2lkICoqZnNkYXRhKQ0K
K3sNCisJc3RydWN0IHBhZ2UgKnBhZ2U7DQorCXBnb2ZmX3QgaW5kZXg7DQor
CXVuc2lnbmVkIGZyb207DQorDQorCWluZGV4ID0gcG9zID4+IFBBR0VfQ0FD
SEVfU0hJRlQ7DQorCWZyb20gPSBwb3MgJiAoUEFHRV9DQUNIRV9TSVpFIC0g
MSk7DQorDQorI2lmbmRlZiBBT1BfRkxBR19OT0ZTDQorCXBhZ2UgPSBfX2dy
YWJfY2FjaGVfcGFnZShtYXBwaW5nLCBpbmRleCk7DQorI2Vsc2UNCisJcGFn
ZSA9IGdyYWJfY2FjaGVfcGFnZV93cml0ZV9iZWdpbihtYXBwaW5nLCBpbmRl
eCwgZmxhZ3MpOw0KKyNlbmRpZg0KKwlpZiAoIXBhZ2UpDQorCQlyZXR1cm4g
LUVOT01FTTsNCisNCisJKnBhZ2VwID0gcGFnZTsNCisNCisJcmV0dXJuIG5u
cGZzX3ByZXBhcmVfd3JpdGUoZmlsZSwgcGFnZSwgZnJvbSwgZnJvbStsZW4p
Ow0KK30NCisNCisjZW5kaWYNCisNCiBzdGF0aWMgaW50DQogbm5wZnNfY29t
bWl0X3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgcGFnZSAqcGFn
ZSwgdW5zaWduZWQgZnJvbSwgdW5zaWduZWQgdG8pDQogew0KQEAgLTE5MDIs
MTQgKzIwNjgsNDUgQEAgbm5wZnNfY29tbWl0X3dyaXRlKHN0cnVjdCBmaWxl
ICpmaWxlLCBzdA0KICAgICByZXR1cm4gMDsNCiB9DQogDQorI2lmIExJTlVY
X1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigyLDYsMjgpDQorDQor
c3RhdGljIGludA0KK25ucGZzX3dyaXRlX2VuZChzdHJ1Y3QgZmlsZSAqZmls
ZSwgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsIGxvZmZfdCBwb3Ms
DQordW5zaWduZWQgbGVuLCB1bnNpZ25lZCBjb3BpZWQsIHN0cnVjdCBwYWdl
ICpwYWdlLCB2b2lkICpmc2RhdGEpDQorew0KKwl1bnNpZ25lZCBmcm9tID0g
cG9zICYgKFBBR0VfQ0FDSEVfU0laRSAtIDEpOw0KKw0KKwkvKiB6ZXJvIHRo
ZSBzdGFsZSBwYXJ0IG9mIHRoZSBwYWdlIGlmIHdlIGRpZCBhIHNob3J0IGNv
cHkgKi8NCisJaWYgKGNvcGllZCA8IGxlbikgew0KKwkJdm9pZCAqa2FkZHIg
PSBrbWFwX2F0b21pYyhwYWdlLCBLTV9VU0VSMCk7DQorCQltZW1zZXQoa2Fk
ZHIgKyBmcm9tICsgY29waWVkLCAwLCBsZW4gLSBjb3BpZWQpOw0KKwkJZmx1
c2hfZGNhY2hlX3BhZ2UocGFnZSk7DQorCQlrdW5tYXBfYXRvbWljKGthZGRy
LCBLTV9VU0VSMCk7DQorCX0NCisNCisJbm5wZnNfY29tbWl0X3dyaXRlKGZp
bGUsIHBhZ2UsIGZyb20sIGZyb20rY29waWVkKTsNCisNCisJdW5sb2NrX3Bh
Z2UocGFnZSk7DQorCXBhZ2VfY2FjaGVfcmVsZWFzZShwYWdlKTsNCisNCisJ
cmV0dXJuIGNvcGllZDsNCit9DQorDQorI2VuZGlmDQorDQogI2lmIExJTlVY
X1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigyLDYsMTgpDQogY29u
c3QNCiAjZW5kaWYNCiBzdHJ1Y3QgYWRkcmVzc19zcGFjZV9vcGVyYXRpb25z
IG5ucGZzX2FvcHMgPSB7DQogCS5yZWFkcGFnZSA9IG5ucGZzX3JlYWRwYWdl
LA0KIAkud3JpdGVwYWdlID0gbm5wZnNfd3JpdGVwYWdlLA0KKyNpZiBMSU5V
WF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjgpDQogCS5w
cmVwYXJlX3dyaXRlID0gbm5wZnNfcHJlcGFyZV93cml0ZSwNCiAJLmNvbW1p
dF93cml0ZSA9IG5ucGZzX2NvbW1pdF93cml0ZSwNCisjZWxzZQ0KKwkud3Jp
dGVfYmVnaW4gPSBubnBmc193cml0ZV9iZWdpbiwNCisJLndyaXRlX2VuZCA9
IG5ucGZzX3dyaXRlX2VuZCwNCisjZW5kaWYNCiB9Ow0KIA0KIC8qDQpAQCAt
MTkyNCw3ICsyMTIxLDExIEBAIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgbm5w
ZnNfZmlsZV9vcGVyYXQNCiAgICAgLmZsdXNoCT0gbm5wZnNfZmx1c2gsDQog
ICAgIC5yZWxlYXNlCT0gbm5wZnNfcmVsZWFzZV9maWxlLA0KICAgICAuZnN5
bmMJPSBubnBmc19mc3luYywNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwg
S0VSTkVMX1ZFUlNJT04oMiwgNiwgMjMpDQogICAgIC5zZW5kZmlsZQk9IG5u
cGZzX3NlbmRmaWxlLA0KKyNlbHNlDQorICAgIC5zcGxpY2VfcmVhZCA9IG5u
cGZzX3NwbGljZV9yZWFkLA0KKyNlbmRpZg0KIH07DQogDQogc3RydWN0IGZp
bGVfb3BlcmF0aW9ucyBubnBmc19kZWFkX29wZXJhdGlvbnMgPSB7DQpkaWZm
IC11cHJOIGFybGEtMC45MC9ubnBmcy9saW51eC9ubnBmc19tZXNzYWdlLmMg
YXJsYS0wLjkwLW5ldy9ubnBmcy9saW51eC9ubnBmc19tZXNzYWdlLmMNCi0t
LSBhcmxhLTAuOTAvbm5wZnMvbGludXgvbm5wZnNfbWVzc2FnZS5jCTIwMDct
MDEtMDkgMTc6MzM6MzEuMDAwMDAwMDAwICswMTAwDQorKysgYXJsYS0wLjkw
LW5ldy9ubnBmcy9saW51eC9ubnBmc19tZXNzYWdlLmMJMjAxMC0wNi0wMyAy
MzozMTowNi4zOTI2MTIwMDYgKzAyMDANCkBAIC00NSw3ICs0NSw3IEBADQog
I2luY2x1ZGUgPGxpbnV4L21vdW50Lmg+DQogDQogI2lmZGVmIFJDU0lEDQot
UkNTSUQoIiRJZDogbm5wZnNfbWVzc2FnZS5jLHYgMS4xNDMuMi4xIDIwMDcv
MDEvMDkgMTY6MzM6MzEgdG9sIEV4cCAkIik7DQorUkNTSUQoIiRJZDogbm5w
ZnNfbWVzc2FnZS5jLHYgMS4xNDMgMjAwNi8xMi8xMSAxNjo0MDoyNCB0b2wg
RXhwICQiKTsNCiAjZW5kaWYNCiANCiBzdGF0aWMgdm9pZA0KQEAgLTYwNSwx
MiArNjA1LDEwIEBAIGdjX2Jsb2NrKHN0cnVjdCBubnBmcyAqbm5wZnNwLA0K
ICAgICB9DQogDQogICAgIGlmICghbm5wZnNfYmxvY2tfaGF2ZV9wKHhuLCBv
ZmZzZXQpKSB7DQotI2lmIDAgICAvKiBoYXBwZW5zIHdoZW4gZGFlbW9uIHNl
bmRzIHNldmVyYWwgbWVzc2FnZXMgZm9yIHNhbWUgYmxvY2sgKi8NCiAJcHJp
bnRrKEtFUk5fRU1FUkcgIk5OUEZTL2djX2Jsb2NrOiAiDQogCSAgICAgICAi
RU5PRU5UICglZCwlZCwlZCwlZCkgMHglbGx4XG4iLCANCiAJICAgICAgIHhu
LT5oYW5kbGUuYSwgeG4tPmhhbmRsZS5iLCB4bi0+aGFuZGxlLmMsIHhuLT5o
YW5kbGUuZCwgDQogCSAgICAgICAodW5zaWduZWQgbG9uZyBsb25nKW9mZnNl
dCk7DQotI2VuZGlmDQogCXJldHVybiAtRU5PRU5UOw0KICAgICB9DQogDQpA
QCAtNzM3LDEyICs3MzUsMjMgQEAgbm5wZnNfbWVzc2FnZV92ZXJzaW9uKHN0
cnVjdCBubnBmcyAqbm5wZg0KIAkJICAgIm5ucGZzX21lc3NhZ2VfdmVyc2lv
biBmYWlsZWQgcGF0aF9sb29rdXAsICINCiAJCSAgICJlcnJubzogJWRcbiIs
IGVycm9yKTsNCiAJfSBlbHNlIHsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RF
IDwgS0VSTkVMX1ZFUlNJT04oMiw2LDI1KQ0KIAkgICAgbm5wZnNwLT5jYWNo
ZXJvb3QgPSBtbnRnZXQobmQubW50KTsNCiAJICAgIG5ucGZzcC0+Y2FjaGVk
aXIgPSBkZ2V0KG5kLmRlbnRyeSk7DQogCSAgICBwYXRoX3JlbGVhc2UoJm5k
KTsNCisjZWxzZQ0KKwkgICAgbm5wZnNwLT5jYWNoZXJvb3QgPSBtbnRnZXQo
bmQucGF0aC5tbnQpOw0KKwkgICAgbm5wZnNwLT5jYWNoZWRpciA9IGRnZXQo
bmQucGF0aC5kZW50cnkpOw0KKwkgICAgcGF0aF9wdXQoJm5kLnBhdGgpOw0K
KyNlbmRpZg0KIAkgICAgDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBL
RVJORUxfVkVSU0lPTigyLDYsMjgpDQogCSAgICBubnBmc3AtPnVpZCA9IGN1
cnJlbnQtPmZzdWlkOw0KIAkgICAgbm5wZnNwLT5naWQgPSBjdXJyZW50LT5m
c2dpZDsNCisjZWxzZQ0KKyAgICAgICAgICAgIG5ucGZzcC0+dWlkID0gY3Vy
cmVudF9mc3VpZCgpOw0KKyAgICAgICAgICAgIG5ucGZzcC0+Z2lkID0gY3Vy
cmVudF9mc2dpZCgpOw0KKyNlbmRpZg0KIA0KIAkgICAgLyogWFhYIHdlIHNo
b3VsZCB2YWxpZGF0ZSB0aGVzZSB2YWx1ZXMgKi8NCiAJICAgIG5ucGZzX2Js
b2Nrc2l6ZSA9IGJsb2Nrc2l6ZTsNCmRpZmYgLXVwck4gYXJsYS0wLjkwL25u
cGZzL2xpbnV4L25ucGZzX3N5c2NhbGxzLmMgYXJsYS0wLjkwLW5ldy9ubnBm
cy9saW51eC9ubnBmc19zeXNjYWxscy5jDQotLS0gYXJsYS0wLjkwL25ucGZz
L2xpbnV4L25ucGZzX3N5c2NhbGxzLmMJMjAwNy0wMS0wMyAxNToyNjoyNy4w
MDAwMDAwMDAgKzAxMDANCisrKyBhcmxhLTAuOTAtbmV3L25ucGZzL2xpbnV4
L25ucGZzX3N5c2NhbGxzLmMJMjAxMC0wNi0wNCAwMToxOToyMi44MzI2MDk0
MzcgKzAyMDANCkBAIC0xNDcsMTAgKzE0NywxNiBAQCBzdGF0aWMgaW50IG5u
cGZzX3NlY19yZWdpc3RlcmVkID0gMDsNCiAjZGVmaW5lIFNFQzJQQUcocykg
KG5ucGZzX3BhZ190KSh1bnNpZ25lZCBsb25nKShzKQ0KICNkZWZpbmUgUEFH
MlNFQyhwKSAodm9pZCAqKSh1bnNpZ25lZCBsb25nKShwKQ0KIA0KKyNpZiBM
SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjQpDQor
DQogc3RhdGljIGludA0KIG5ucGZzX3NlY190YXNrX2FsbG9jKHN0cnVjdCB0
YXNrX3N0cnVjdCAqcCkNCiB7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8
PSBLRVJORUxfVkVSU0lPTigyLDYsMjgpDQogICAgIG5ucGZzX3BhZ190IHBh
ZyA9IFNFQzJQQUcoY3VycmVudC0+c2VjdXJpdHkpOw0KKyNlbHNlDQorICAg
IG5ucGZzX3BhZ190IHBhZyA9IFNFQzJQQUcoY3VycmVudF9zZWN1cml0eSgp
KTsNCisjZW5kaWYNCiAgICAgaWYgKHBhZykNCiAJcC0+c2VjdXJpdHkgPSBQ
QUcyU0VDKHBhZyk7DQogICAgIHJldHVybiAwOw0KQEAgLTE2NCwzNSArMTcw
LDU1IEBAIG5ucGZzX3NlY190YXNrX2ZyZWUoc3RydWN0IHRhc2tfc3RydWN0
ICoNCiAJcC0+c2VjdXJpdHkgPSBOVUxMOw0KIH0NCiANCisjZW5kaWYNCisN
CiBzdGF0aWMgbm5wZnNfcGFnX3QNCiBubnBmc19nZXRfcGFnX3NlYyh2b2lk
KQ0KIHsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJT
SU9OKDIsNiwyOCkNCiAgICAgbm5wZnNfcGFnX3QgcGFnID0gU0VDMlBBRyhj
dXJyZW50LT5zZWN1cml0eSk7DQorI2Vsc2UNCisgICAgbm5wZnNfcGFnX3Qg
cGFnID0gU0VDMlBBRyhjdXJyZW50X3NlY3VyaXR5KCkpOw0KKyNlbmRpZg0K
ICAgICBpZiAocGFnKQ0KIAlyZXR1cm4gcGFnOw0KIA0KKyNpZiBMSU5VWF9W
RVJTSU9OX0NPREUgPD0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KICAgICBy
ZXR1cm4gY3VycmVudC0+dWlkOw0KKyNlbHNlDQorICAgIHJldHVybiBjdXJy
ZW50X3VpZCgpOw0KKyNlbmRpZg0KIH0NCiANCiBzdGF0aWMgaW50DQogbm5w
ZnNfc2V0X3BhZ19zZWModm9pZCkNCiB7DQogICAgIHN0YXRpYyBubnBmc19w
YWdfdCBwYWdudW0gPSBOTlBGU19QQUdfTExJTTsNCisjaWYgTElOVVhfVkVS
U0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDIsNiwyOSkNCisgICAgc3Ry
dWN0IGNyZWQgKmNyZWQ7DQorI2VuZGlmDQogDQogICAgIGlmIChwYWdudW0g
PT0gTk5QRlNfUEFHX1VMSU0pDQogCXJldHVybiAtRU5PTUVNOw0KICAgICAv
KiBwYWdudW0gPSBOTlBGU19QQUdfTExJTTsgKi8NCiAgICAgDQorI2lmIExJ
TlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxfVkVSU0lPTigyLDYsMjgpDQog
ICAgIGN1cnJlbnQtPnNlY3VyaXR5ID0gUEFHMlNFQyhwYWdudW0pOw0KKyNl
bHNlDQorICAgIGNyZWQgPSAoc3RydWN0IGNyZWQgKikgY3VycmVudC0+Y3Jl
ZDsNCisgICAgY3JlZC0+c2VjdXJpdHkgPSBQQUcyU0VDKHBhZ251bSk7DQor
I2VuZGlmDQogICAgIHBhZ251bSsrOw0KICAgICByZXR1cm4gMDsNCiB9DQog
DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIs
NiwyNCkNCiBzdGF0aWMgc3RydWN0IHNlY3VyaXR5X29wZXJhdGlvbnMgbm5w
ZnNfc2VjX29wcyA9IHsNCiAgICAgLnRhc2tfYWxsb2Nfc2VjdXJpdHkgPSBu
bnBmc19zZWNfdGFza19hbGxvYywNCiAgICAgLnRhc2tfZnJlZV9zZWN1cml0
eSA9IG5ucGZzX3NlY190YXNrX2ZyZWUsDQogLy8gICAgLnRhc2tfcmVwYXJl
bnRfdG9faW5pdCA9IG5ucGZzX3NlY19yZXBhcmVudF90b19pbml0LA0KIH07
DQorI2VuZGlmDQogDQogI2VuZGlmIC8qIENPTkZJR19TRUNVUklUWSAqLw0K
IA0KQEAgLTIyMiw4ICsyNDgsMTMgQEAgZmluZF9wYWcoc3RydWN0IGdyb3Vw
X2luZm8gKmdpKQ0KIHN0YXRpYyBubnBmc19wYWdfdA0KIG5ucGZzX2dldF9w
YWdfZ3JvdXAodm9pZCkNCiB7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8
PSBLRVJORUxfVkVSU0lPTigyLDYsMjgpDQogICAgIHN0cnVjdCBncm91cF9p
bmZvICpnaSA9IGN1cnJlbnQtPmdyb3VwX2luZm87DQogICAgIG5ucGZzX3Bh
Z190IHJldCA9IGN1cnJlbnQtPnVpZDsNCisjZWxzZQ0KKyAgICBzdHJ1Y3Qg
Z3JvdXBfaW5mbyAqZ2kgPSBnZXRfY3VycmVudF9ncm91cHMoKTsNCisgICAg
bm5wZnNfcGFnX3QgcmV0ID0gY3VycmVudF91aWQoKTsNCisjZW5kaWYNCiAg
ICAgaW50IGk7DQogDQogICAgIGdldF9ncm91cF9pbmZvKGdpKTsNCkBAIC0y
NDIsOSArMjczLDE3IEBAIG5ucGZzX2dldF9wYWdfZ3JvdXAodm9pZCkNCiBz
dGF0aWMgaW50DQogc3RvcmVfcGFnKG5ucGZzX3BhZ190IHBhZ251bSkNCiB7
DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxfVkVSU0lPTigy
LDYsMjgpDQogICAgIHN0cnVjdCBncm91cF9pbmZvICpvbGRfZ2kgPSBjdXJy
ZW50LT5ncm91cF9pbmZvOw0KKyNlbHNlDQorICAgc3RydWN0IGdyb3VwX2lu
Zm8gKm9sZF9naSA9IGdldF9jdXJyZW50X2dyb3VwcygpOw0KKyNlbmRpZg0K
ICAgICBzdHJ1Y3QgZ3JvdXBfaW5mbyAqbmV3X2dpOw0KKyNpZiBMSU5VWF9W
RVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjUpDQogICAgIGlu
dCBuYmxvY2tzLCBjb3VudDsNCisjZWxzZQ0KKyAgICB1bnNpZ25lZCBpbnQg
bmJsb2NrcywgY291bnQ7DQorI2VuZGlmDQogICAgIGludCBmb3VuZCA9IDA7
DQogICAgIGludCBpLCBrOw0KICAgICANCkBAIC0zMTcsNyArMzU2LDExIEBA
IG5ucGZzX2dldF9wYWcoKQ0KICAgICByZXR1cm4gbm5wZnNfZ2V0X3BhZ19n
cm91cCgpOw0KICNlbmRpZiAvKiBHUk9VUFBBR1MgKi8NCiANCisjaWYgTElO
VVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCiAg
ICAgcmV0dXJuIGN1cnJlbnQtPnVpZDsNCisjZWxzZQ0KKyAgICByZXR1cm4g
Y3VycmVudF91aWQoKTsNCisjZW5kaWYNCiB9DQogDQogc3RhdGljIGlubGlu
ZSBpbnQNCkBAIC01MjgsNyArNTcxLDExIEBAIHVzZXJfcGF0aDJkZW50cnkg
KHN0cnVjdCBuYW1laWRhdGEgKm5kLCANCiAgICAgcHV0bmFtZShrbmFtZSk7
DQogICAgIGlmIChlcnJvcikNCiAJcmV0dXJuIEVSUl9QVFIoZXJyb3IpOw0K
KyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYs
MjUpDQogICAgIHJldHVybiBuZC0+ZGVudHJ5Ow0KKyNlbHNlDQorICAgIHJl
dHVybiBuZC0+cGF0aC5kZW50cnk7DQorI2VuZGlmDQogfQ0KIA0KIGFzbWxp
bmthZ2UgbG9uZw0KQEAgLTU0MCwxMSArNTg3LDE2IEBAIHN5c19hZnNfaW50
IChpbnQgb3BlcmF0aW9uLA0KIHsNCiAgICAgbG9uZyBlcnJvciA9IDA7DQog
ICAgIHN0cnVjdCBhcmxhVmljZUlvY3RsIHZpY2VfaW9jdGw7IA0KLSAgICBz
dHJ1Y3Qgbm5wZnNfbWVzc2FnZV9waW9jdGwgbXNnOw0KKyAgICBzdHJ1Y3Qg
bm5wZnNfbWVzc2FnZV9waW9jdGwgKm1zZyA9IE5VTEw7DQogICAgIHN0cnVj
dCBubnBmc19tZXNzYWdlX3dha2V1cCAqbXNnMjsNCiAgICAgc3RydWN0IGRl
bnRyeSAqZGVudHJ5ID0gTlVMTDsNCiAgICAgc3RydWN0IG5hbWVpZGF0YSBu
ZDsNCi0gICAgDQorDQorICAgIG1zZyA9IGttYWxsb2Moc2l6ZW9mKHN0cnVj
dCBubnBmc19tZXNzYWdlX3Bpb2N0bCksIEdGUF9LRVJORUwpOw0KKw0KKyAg
ICBpZiAoIW1zZykNCisgICAgICByZXR1cm4gLUVOT01FTTsNCisNCiAgICAg
bG9ja19rZXJuZWwoKTsNCiANCiAgICAgTk5QRlNERUIoWERFQlNZUywgKCJz
eXNfYWZzIGtlcm5lbCBsb2NrZWRcbiIpKTsNCkBAIC01NzUsNyArNjI3LDcg
QEAgc3lzX2Fmc19pbnQgKGludCBvcGVyYXRpb24sDQogCSAgICBnb3RvIHVu
bG9jazsNCiAJfQ0KIAlpZiAodmljZV9pb2N0bC5pbl9zaXplICE9IDApIHsN
Ci0JICAgIGlmKGNvcHlfZnJvbV91c2VyKCZtc2cubXNnLA0KKwkgICAgaWYo
Y29weV9mcm9tX3VzZXIoJm1zZy0+bXNnLA0KIAkJCSAgICAgIHZpY2VfaW9j
dGwuaW4sDQogCQkJICAgICAgdmljZV9pb2N0bC5pbl9zaXplKSAhPSAwKSB7
DQogCQllcnJvciA9IC1FRkFVTFQ7DQpAQCAtNjI4LDE5ICs2ODAsMjMgQEAg
c3lzX2Fmc19pbnQgKGludCBvcGVyYXRpb24sDQogCQllcnJvciA9IC1FSU5W
QUw7DQogCQlnb3RvIHVubG9jazsNCiAJICAgIH0NCi0JICAgIG1zZy5oYW5k
bGUgPSB4bi0+aGFuZGxlOw0KKwkgICAgbXNnLT5oYW5kbGUgPSB4bi0+aGFu
ZGxlOw0KIAl9DQogDQotCW1zZy5oZWFkZXIub3Bjb2RlID0gTk5QRlNfTVNH
X1BJT0NUTDsNCi0JbXNnLm9wY29kZSA9IGFfb3Bjb2RlOw0KKwltc2ctPmhl
YWRlci5vcGNvZGUgPSBOTlBGU19NU0dfUElPQ1RMOw0KKwltc2ctPm9wY29k
ZSA9IGFfb3Bjb2RlOw0KIAkNCi0JbXNnLmluc2l6ZSAgID0gdmljZV9pb2N0
bC5pbl9zaXplOw0KLQltc2cub3V0c2l6ZSAgPSB2aWNlX2lvY3RsLm91dF9z
aXplOw0KLQltc2cuY3JlZC51aWQgPSBjdXJyZW50LT51aWQ7DQotCW1zZy5j
cmVkLnBhZyA9IG5ucGZzX2dldF9wYWcoKTsNCisJbXNnLT5pbnNpemUgICA9
IHZpY2VfaW9jdGwuaW5fc2l6ZTsNCisJbXNnLT5vdXRzaXplICA9IHZpY2Vf
aW9jdGwub3V0X3NpemU7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBL
RVJORUxfVkVSU0lPTigyLDYsMjgpDQorCW1zZy0+Y3JlZC51aWQgPSBjdXJy
ZW50LT51aWQ7DQorI2Vsc2UNCisgICAgICAgIG1zZy0+Y3JlZC51aWQgPSBj
dXJyZW50X3VpZCgpOw0KKyNlbmRpZg0KKwltc2ctPmNyZWQucGFnID0gbm5w
ZnNfZ2V0X3BhZygpOw0KIAkNCi0JZXJyb3IgPSBubnBmc19tZXNzYWdlX3Jw
Yygmbm5wZnNbMF0sICZtc2cuaGVhZGVyLCBzaXplb2YobXNnKSk7IC8qIFhY
WCAqLw0KLQltc2cyID0gKHN0cnVjdCBubnBmc19tZXNzYWdlX3dha2V1cCAq
KSAmbXNnOw0KKwllcnJvciA9IG5ucGZzX21lc3NhZ2VfcnBjKCZubnBmc1sw
XSwgJm1zZy0+aGVhZGVyLCBzaXplb2Yoc3RydWN0IG5ucGZzX21lc3NhZ2Vf
cGlvY3RsKSk7IC8qIFhYWCAqLw0KKwltc2cyID0gKHN0cnVjdCBubnBmc19t
ZXNzYWdlX3dha2V1cCAqKSBtc2c7DQogCWlmIChlcnJvciA9PSAwKQ0KIAkg
ICAgZXJyb3IgPSBtc2cyLT5lcnJvcjsNCiANCkBAIC02NzUsMTEgKzczMSwx
NiBAQCBzeXNfYWZzX2ludCAoaW50IG9wZXJhdGlvbiwNCiAgICAgDQogIHVu
bG9jazoNCiAgICAgaWYgKGRlbnRyeSkNCisjaWYgTElOVVhfVkVSU0lPTl9D
T0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDI1KQ0KIAlwYXRoX3JlbGVhc2Uo
Jm5kKTsNCisjZWxzZQ0KKwlwYXRoX3B1dCgmbmQucGF0aCk7DQorI2VuZGlm
DQogDQogICAgIE5OUEZTREVCKFhERUJTWVMsICgibm5wZnNfc3lzY2FsbCBy
ZXR1cm5zIGVycm9yOiAlbGRcbiIsIGVycm9yKSk7DQogDQogICAgIE5OUEZT
REVCKFhERUJTWVMsICgic3lzX2FmcyBrZXJuZWwgdW5sb2NrXG4iKSk7DQor
ICAgIGtmcmVlKG1zZyk7DQogICAgIHVubG9ja19rZXJuZWwoKTsNCiANCiAg
ICAgcmV0dXJuIGVycm9yOw0KQEAgLTc4MCwyMCArODQxLDMyIEBAIHN0YXRp
YyBpbnQgbm5wZnNfaW5pdF9wcm9jZnModm9pZCkNCiB7DQogICAgIHN0cnVj
dCBwcm9jX2Rpcl9lbnRyeSAqZW50cnk7DQogICAgIA0KKyNpZiBMSU5VWF9W
RVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjYpDQogICAgIG5u
cGZzX3Byb2Nmc19kaXIgPSBwcm9jX21rZGlyKE5OUEZTX1BST0NfRElSLCBw
cm9jX3Jvb3RfZnMpOw0KKyNlbHNlDQorICAgIG5ucGZzX3Byb2Nmc19kaXIg
PSBwcm9jX21rZGlyKCJmcy8iIE5OUEZTX1BST0NfRElSLCBOVUxMKTsNCisj
ZW5kaWYNCiAgICAgaWYgKG5ucGZzX3Byb2Nmc19kaXIgPT0gTlVMTCkNCiAJ
cmV0dXJuIC1FTk9NRU07DQogICAgIA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NP
REUgPCBLRVJORUxfVkVSU0lPTigyLDYsMzApDQogICAgIG5ucGZzX3Byb2Nm
c19kaXItPm93bmVyID0gVEhJU19NT0RVTEU7DQorI2VuZGlmDQogICAgIA0K
ICAgICBlbnRyeSA9IGNyZWF0ZV9wcm9jX2VudHJ5KE5OUEZTX1BST0NfTk9E
RSwgMDY2Niwgbm5wZnNfcHJvY2ZzX2Rpcik7DQogICAgIGlmIChlbnRyeSA9
PSBOVUxMKSB7DQogCU5OUEZTREVCKFhERUJTWVMsICgibm5wZnNfaW5pdF9w
cm9jZnM6IG5vIG5vZGVcbiIpKTsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RF
IDwgS0VSTkVMX1ZFUlNJT04oMiw2LDI2KQ0KIAlyZW1vdmVfcHJvY19lbnRy
eShOTlBGU19QUk9DX0RJUiwgcHJvY19yb290X2ZzKTsNCisjZWxzZQ0KKwly
ZW1vdmVfcHJvY19lbnRyeSgiZnMvIiBOTlBGU19QUk9DX0RJUiwgTlVMTCk7
DQorI2VuZGlmDQogCXJldHVybiAtRU5PTUVNOw0KICAgICB9DQogICAgIA0K
KyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYs
MzApDQogICAgIGVudHJ5LT5vd25lciA9IFRISVNfTU9EVUxFOw0KKyNlbmRp
Zg0KICAgICBlbnRyeS0+cHJvY19mb3BzID0gJm5ucGZzX3Byb2Nmc19mb3Bz
Ow0KIA0KICNpZmRlZiBTWVNDQUxMQ09NUEFUDQpAQCAtODE1LDcgKzg4OCwx
MSBAQCBzdGF0aWMgdm9pZCBubnBmc19leGl0X3Byb2Nmcyh2b2lkKQ0KICAg
ICB9DQogI2VuZGlmIC8qIFNZU0NBTExDT01QQVQgKi8NCiAgICAgcmVtb3Zl
X3Byb2NfZW50cnkoTk5QRlNfUFJPQ19OT0RFLCBubnBmc19wcm9jZnNfZGly
KTsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04o
Miw2LDI2KQ0KICAgICByZW1vdmVfcHJvY19lbnRyeShOTlBGU19QUk9DX0RJ
UiwgcHJvY19yb290X2ZzKTsNCisjZWxzZQ0KKyAgICByZW1vdmVfcHJvY19l
bnRyeSgiZnMvIiBOTlBGU19QUk9DX0RJUiwgTlVMTCk7DQorI2VuZGlmDQog
fQ0KIA0KICNpZmRlZiBHUk9VUFBBR1MNCkBAIC04NDAsMTIgKzkxNywxNCBA
QCB2b2lkDQogaW5zdGFsbF9hZnNfc3lzY2FsbCh2b2lkKQ0KIHsNCiAjaWZk
ZWYgQ09ORklHX1NFQ1VSSVRZDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8
IEtFUk5FTF9WRVJTSU9OKDIsNiwyNCkNCiAgICAgaWYgKHJlZ2lzdGVyX3Nl
Y3VyaXR5KCZubnBmc19zZWNfb3BzKSkNCiAJTk5QRlNERUIoWERFQlNZUywN
CiAJCSAoImluc3RhbGxfYWZzX3N5c2NhbGw6IG5ucGZzX2luaXRfc2VjIGZh
aWxlZFxuIikpOw0KICAgICBlbHNlDQogCW5ucGZzX3NlY19yZWdpc3RlcmVk
ID0gMTsNCiAjZW5kaWYNCisjZW5kaWYNCiANCiAgICAgbm5wZnNfaW5pdF9w
cm9jZnMoKTsNCiANCkBAIC04ODgsOSArOTY3LDExIEBAIHJlc3RvcmVfYWZz
X3N5c2NhbGwgKHZvaWQpDQogI2VuZGlmIC8qIFNZU0NBTExIQUNLICovDQog
DQogI2lmZGVmIENPTkZJR19TRUNVUklUWQ0KKyNpZiBMSU5VWF9WRVJTSU9O
X0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjQpDQogICAgIGlmIChubnBm
c19zZWNfcmVnaXN0ZXJlZCkNCiAJaWYgKHVucmVnaXN0ZXJfc2VjdXJpdHko
Jm5ucGZzX3NlY19vcHMpKQ0KIAkgICAgcHJpbnRrKEtFUk5fRU1FUkcgIm5u
cGZzX2V4aXRfc2VjOiBjb3VsZG4ndCB1bnJlZ2lzdGVyXG4iKTsNCisjZW5k
aWYNCiAjZW5kaWYgLyogIUNPTkZJR19TRUNVUklUWSAqLw0KIA0KICNpZmRl
ZiBHUk9VUFBBR1MNCmRpZmYgLXVwck4gYXJsYS0wLjkwL25ucGZzL2xpbnV4
L25ucGZzX3N5c2NhbGxzLWxvc3NhZ2UuYyBhcmxhLTAuOTAtbmV3L25ucGZz
L2xpbnV4L25ucGZzX3N5c2NhbGxzLWxvc3NhZ2UuYw0KLS0tIGFybGEtMC45
MC9ubnBmcy9saW51eC9ubnBmc19zeXNjYWxscy1sb3NzYWdlLmMJMjAwNi0x
Mi0xMSAxNzozMTo0NS4wMDAwMDAwMDAgKzAxMDANCisrKyBhcmxhLTAuOTAt
bmV3L25ucGZzL2xpbnV4L25ucGZzX3N5c2NhbGxzLWxvc3NhZ2UuYwkyMDEw
LTA2LTAzIDIzOjMxOjA2LjM5MjYxMjAwNiArMDIwMA0KQEAgLTYzLDYgKzYz
LDExIEBAIGNvbnN0IGNoYXIgKiBfX2F0dHJpYnV0ZV9fKCh3ZWFrKSkNCiAJ
CSAgICB1bnNpZ25lZCBsb25nICpvZmZzZXQsDQogCQkgICAgY2hhciAqKm1v
ZG5hbWUsIGNoYXIgKm5hbWVidWYpOw0KIA0KKyNpZiBMSU5VWF9WRVJTSU9O
X0NPREUgPiBLRVJORUxfVkVSU0lPTigyLDYsMTgpDQorI2lmZGVmIF9feDg2
XzY0X18NCitleHRlcm4gcndsb2NrX3QgdGFza2xpc3RfbG9jayBfX2F0dHJp
YnV0ZV9fKCh3ZWFrKSk7DQorI2VuZGlmDQorI2VuZGlmDQogc3RhdGljIHZv
aWQgKioNCiBnZXRfc3RhcnRfYWRkcih2b2lkKSB7DQogI2lmZGVmIF9feDg2
XzY0X18NCmRpZmYgLXVwck4gYXJsYS0wLjkwL25ucGZzL2xpbnV4L25ucGZz
X3Zmc29wcy5jIGFybGEtMC45MC1uZXcvbm5wZnMvbGludXgvbm5wZnNfdmZz
b3BzLmMNCi0tLSBhcmxhLTAuOTAvbm5wZnMvbGludXgvbm5wZnNfdmZzb3Bz
LmMJMjAwNi0xMi0xMSAxNzo0MzozNS4wMDAwMDAwMDAgKzAxMDANCisrKyBh
cmxhLTAuOTAtbmV3L25ucGZzL2xpbnV4L25ucGZzX3Zmc29wcy5jCTIwMTAt
MDYtMDMgMjM6MzE6MDYuMzkyNjEyMDA2ICswMjAwDQpAQCAtNDksOSArNDks
MTMgQEAgUkNTSUQoIiRJZDogbm5wZnNfdmZzb3BzLmMsdiAxLjEwOSAyMDA2
Lw0KIA0KIHN0cnVjdCBubnBmcyBubnBmc1tOTk5QRlNdOw0KIA0KKyNpZiBM
SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjUpDQog
c3RhdGljIHZvaWQgbm5wZnNfcmVhZF9pbm9kZShzdHJ1Y3QgaW5vZGUgKmlu
b2RlKTsNCisjZW5kaWYNCiBzdGF0aWMgdm9pZCBubnBmc19wdXRfc3VwZXIo
c3RydWN0IHN1cGVyX2Jsb2NrICpzYik7DQorI2lmIExJTlVYX1ZFUlNJT05f
Q09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwyNSkNCiBzdGF0aWMgdm9pZCBu
bnBmc19wdXRfaW5vZGUoc3RydWN0IGlub2RlICppbm9kZSk7DQorI2VuZGlm
DQogc3RhdGljIHZvaWQgbm5wZnNfd3JpdGVfc3VwZXIoc3RydWN0IHN1cGVy
X2Jsb2NrICogc2IpOw0KIA0KICNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPj0g
S0VSTkVMX1ZFUlNJT04oMiw2LDE4KQ0KQEAgLTYxLDggKzY1LDEwIEBAIHN0
YXRpYyBpbnQgbm5wZnNfc3RhdGZzKHN0cnVjdCBzdXBlcl9ibG8NCiAjZW5k
aWYNCiANCiBzdGF0aWMgc3RydWN0IHN1cGVyX29wZXJhdGlvbnMgbm5wZnNf
c29wcyA9IHsgDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9W
RVJTSU9OKDIsNiwyNSkNCiAgICAgcmVhZF9pbm9kZQkJOiBubnBmc19yZWFk
X2lub2RlLA0KICAgICBwdXRfaW5vZGUJCTogbm5wZnNfcHV0X2lub2RlLA0K
KyNlbmRpZg0KICAgICBhbGxvY19pbm9kZQkJOiBubnBmc19ub2RlX2FsbG9j
LA0KICAgICBkZXN0cm95X2lub2RlCTogbm5wZnNfbm9kZV9mcmVlLA0KICAg
ICBkcm9wX2lub2RlCQk6IGdlbmVyaWNfZGVsZXRlX2lub2RlLA0KQEAgLTE4
OSw3ICsxOTUsMTEgQEAgbm5wZnNfcmVhZF9zdXBlciAoc3RydWN0IHN1cGVy
X2Jsb2NrICogcw0KIAlpZiAoZXJyb3IpDQogCSAgICBkZGV2ID0gRVJSX1BU
UihlcnJvcik7DQogCWVsc2UNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwg
S0VSTkVMX1ZFUlNJT04oMiw2LDI1KQ0KIAkgICAgZGRldiA9IG5kLmRlbnRy
eTsNCisjZWxzZQ0KKwkgICAgZGRldiA9IG5kLnBhdGguZGVudHJ5Ow0KKyNl
bmRpZg0KIA0KIAlpZiAoIUlTX0VSUihkZGV2KSkgew0KIAkgICAgbWlub3Jk
ZXZpY2UgPSBNSU5PUihkZGV2LT5kX2lub2RlLT5pX3JkZXYpOw0KQEAgLTI3
Myw2ICsyODMsNyBAQCBubnBmc19wdXRfc3VwZXIoc3RydWN0IHN1cGVyX2Js
b2NrICpzYikNCiAgICAgTk5QRlNERUIoWERFQlZGT1BTLCAoIm5ucGZzX3B1
dF9zdXBlciBleGl0aW5nXG4iKSk7DQogfQ0KIA0KKyNpZiBMSU5VWF9WRVJT
SU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjUpDQogc3RhdGljIHZv
aWQNCiBubnBmc19yZWFkX2lub2RlKHN0cnVjdCBpbm9kZSAqaW5vZGUpDQog
ew0KQEAgLTMzOSw2ICszNTAsNyBAQCBubnBmc19wdXRfaW5vZGUoc3RydWN0
IGlub2RlICppbm9kZSkNCiANCiAgICAgdXAoJm5ucGZzcC0+aW5hY3RpdmVf
c2VtKTsNCiB9DQorI2VuZGlmIC8vIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtF
Uk5FTF9WRVJTSU9OKDIsNiwyNSkNCiANCiBzdGF0aWMgaW50DQogbm5wZnNf
c3RhdGZzX2ludChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCBzdHJ1Y3Qga3N0
YXRmcyAqYnVmKQ0KQEAgLTM1Miw3ICszNjQsMTUgQEAgbm5wZnNfc3RhdGZz
X2ludChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLA0KICAgICB0bXAuZl9iYXZh
aWwgID0gMTAyNCoxMDI0KjItNTA7DQogICAgIHRtcC5mX2ZpbGVzICAgPSAx
MDI0KjEwMjQ7DQogICAgIHRtcC5mX2ZmcmVlICAgPSAxMDI0KjEwMjQtMTAw
Ow0KKyAgICB0bXAuZl9mc2lkLnZhbFswXSA9IDA7DQorICAgIHRtcC5mX2Zz
aWQudmFsWzFdID0gMDsNCiAgICAgdG1wLmZfbmFtZWxlbiA9IE5BTUVfTUFY
Ow0KKyAgICB0bXAuZl9mcnNpemUgID0gMDsNCisgICAgdG1wLmZfc3BhcmVb
MF0gPSAwOw0KKyAgICB0bXAuZl9zcGFyZVsxXSA9IDA7DQorICAgIHRtcC5m
X3NwYXJlWzJdID0gMDsNCisgICAgdG1wLmZfc3BhcmVbM10gPSAwOw0KKyAg
ICB0bXAuZl9zcGFyZVs0XSA9IDA7DQogICAgICpidWYgPSB0bXA7DQogICAg
IHJldHVybiAwOw0KIH0NCg==
---2098261369-1203694919-1275658069=:819408
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
---2098261369-1203694919-1275658069=:819408--