[4926] in arla-drinkers
Re: PATCH: Arla 0.90 on Linux 2.6.24-2.6.32
daemon@ATHENA.MIT.EDU (=?ISO-8859-1?Q?Bo_Brant=E9n?=)
Sat Jun 5 05:32:11 2010
From arla-drinkers-bounces@stacken.kth.se Sat Jun 05 09:32:10 2010
Return-Path: <arla-drinkers-bounces@stacken.kth.se>
Delivered-To: arla-drinkers-mtg@bloom-picayune.mit.edu
Received: (qmail 3696 invoked from network); 5 Jun 2010 09:32:10 -0000
Received: from mx2.kth.se (130.237.48.98)
by charon.mit.edu with SMTP; 5 Jun 2010 09:32:10 -0000
X-KTH-mail-from: arla-drinkers-bounces@stacken.kth.se
Received: from mx4.kth.se (mx4.kth.se [130.237.48.62])
by mx2.kth.se (Postfix) with ESMTP id CCBDF109EE1;
Sat, 5 Jun 2010 11:32:08 +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 T6235DGxLtxH; Sat, 5 Jun 2010 11:32:07 +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 mx2.kth.se (Postfix) with ESMTP id B5029109991;
Sat, 5 Jun 2010 11:31:47 +0200 (CEST)
Received: from tapas.stacken.kth.se (localhost [127.0.0.1])
by tapas.stacken.kth.se (Postfix) with ESMTP id 6242351EAC;
Sat, 5 Jun 2010 11:31:47 +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 92B5A51EAC
for <arla-drinkers@tapas.stacken.kth.se>;
Sat, 5 Jun 2010 11:31:44 +0200 (CEST)
Received: from mx3.kth.se (mx3.kth.se [130.237.48.97])
by brev.stacken.kth.se (8.12.10/8.12.10) with ESMTP id o559ViCe015674
for <arla-drinkers@stacken.kth.se>;
Sat, 5 Jun 2010 11:31:44 +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 mx3.kth.se (Postfix) with ESMTP id 1694B6AFF4
for <arla-drinkers@stacken.kth.se>;
Sat, 5 Jun 2010 11:31:39 +0200 (CEST)
X-Virus-Scanned: by amavisd-new at kth.se
Received: from mx3.kth.se ([130.237.48.97])
by mx4.kth.se (mx4.kth.se [130.237.48.62]) (amavisd-new, port 10024)
with LMTP id d4jb7nArTR0v for <arla-drinkers@stacken.kth.se>;
Sat, 5 Jun 2010 11:31:37 +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 mx3.kth.se (Postfix) with ESMTP id 8DFAD6A6D1
for <arla-drinkers@stacken.kth.se>;
Sat, 5 Jun 2010 11:31:37 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
by amavisd-new (Postfix) with ESMTP id 099F17E9
for <arla-drinkers@stacken.kth.se>;
Sat, 5 Jun 2010 11:31:37 +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 45A7B7E8
for <arla-drinkers@stacken.kth.se>;
Sat, 5 Jun 2010 11:31:34 +0200 (MEST)
Received: by stalin.acc.umu.se (Postfix, from userid 10005)
id 251492D; Sat, 5 Jun 2010 11:31:34 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
by stalin.acc.umu.se (Postfix) with ESMTP id 138AF2C
for <arla-drinkers@stacken.kth.se>;
Sat, 5 Jun 2010 11:31:34 +0200 (CEST)
Date: Sat, 5 Jun 2010 11:31:34 +0200 (CEST)
From: =?ISO-8859-1?Q?Bo_Brant=E9n?= <bosse@acc.umu.se>
To: arla-drinkers@stacken.kth.se
Subject: Re: PATCH: Arla 0.90 on Linux 2.6.24-2.6.32
In-Reply-To: <Pine.A41.4.64.1006041524370.819408@stalin.acc.umu.se>
Message-ID: <Pine.A41.4.64.1006051129590.1097872@stalin.acc.umu.se>
References: <Pine.A41.4.64.1006041524370.819408@stalin.acc.umu.se>
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED;
BOUNDARY="-2098261369-1391241848-1275730294=:1097872"
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-1391241848-1275730294=:1097872
Content-Type: TEXT/PLAIN; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8BIT
A small correction to the patch.
Bo Brantén
---2098261369-1391241848-1275730294=:1097872
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=patch-arla-0.90-Linux2
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.A41.4.64.1006051131340.1097872@stalin.acc.umu.se>
Content-Description:
Content-Disposition: attachment; filename=patch-arla-0.90-Linux2
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
ZnNfaW5vZGVvcHMuYwkyMDEwLTA2LTA1IDExOjE1OjU3LjYzMTc2NzQ1NyAr
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
a2VucyA9IHRvazsNCkBAIC05MDMsOSArOTM4LDE3IEBAIG5ucGZzX2NyZWF0
ZShzdHJ1Y3QgaW5vZGUgKmRpciwgc3RydWN0IGQNCiAgICAgWEFfQ0xFQVIo
Jm1zZy5hdHRyKTsNCiAgICAgWEFfU0VUX01PREUoJm1zZy5hdHRyLCBtb2Rl
KTsNCiAgICAgWEFfU0VUX1RZUEUoJm1zZy5hdHRyLCBOTlBGU19GSUxFX1JF
Ryk7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxfVkVSU0lP
TigyLDYsMjgpDQogICAgIFhBX1NFVF9HSUQoJm1zZy5hdHRyLCBjdXJyZW50
LT5mc2dpZCk7DQorI2Vsc2UNCisgICAgWEFfU0VUX0dJRCgmbXNnLmF0dHIs
IGN1cnJlbnRfZnNnaWQoKSk7DQorI2VuZGlmDQogICAgIG1zZy5tb2RlID0g
MDsJCS8qIFhYWCAqLw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPD0gS0VS
TkVMX1ZFUlNJT04oMiw2LDI4KQ0KICAgICBtc2cuY3JlZC51aWQgPSBjdXJy
ZW50LT51aWQ7DQorI2Vsc2UNCisgICAgbXNnLmNyZWQudWlkID0gY3VycmVu
dF91aWQoKTsNCisjZW5kaWYNCiAgICAgbXNnLmNyZWQucGFnID0gbm5wZnNf
Z2V0X3BhZygpOw0KICAgICBlcnJvciA9IG5ucGZzX21lc3NhZ2VfcnBjKG5u
cGZzcCwgJm1zZy5oZWFkZXIsIHNpemVvZihtc2cpKTsNCiAgICAgaWYgKGVy
cm9yID09IDApDQpAQCAtOTQ2LDcgKzk4OSwxMSBAQCBubnBmc191bmxpbmsg
KHN0cnVjdCBpbm9kZSAqIGRpciwgc3RydWN0DQogICAgIGlmIChzdHJsY3B5
KG1zZy5uYW1lLCBkZW50cnktPmRfbmFtZS5uYW1lLCBzaXplb2YobXNnLm5h
bWUpKSA+PSBOTlBGU19NQVhfTkFNRSkNCiAJcmV0dXJuIC1FTkFNRVRPT0xP
Tkc7DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxfVkVS
U0lPTigyLDYsMjgpDQogICAgIG1zZy5jcmVkLnVpZCA9IGN1cnJlbnQtPnVp
ZDsNCisjZWxzZQ0KKyAgICBtc2cuY3JlZC51aWQgPSBjdXJyZW50X3VpZCgp
Ow0KKyNlbmRpZg0KICAgICBtc2cuY3JlZC5wYWcgPSBubnBmc19nZXRfcGFn
KCk7DQogICAgIGVycm9yID0gbm5wZnNfbWVzc2FnZV9ycGMobm5wZnNwLCAm
bXNnLmhlYWRlciwgc2l6ZW9mKG1zZykpOw0KICAgICBpZiAoZXJyb3IgPT0g
MCkNCkBAIC05OTEsNyArMTAzOCwxMSBAQCBubnBmc19yZW5hbWUgKHN0cnVj
dCBpbm9kZSAqIG9sZF9kaXIsIHN0DQogICAgIGlmIChzdHJsY3B5KG1zZy5u
ZXdfbmFtZSwgbmV3X2RlbnRyeS0+ZF9uYW1lLm5hbWUsIHNpemVvZihtc2cu
bmV3X25hbWUpKSA+PSBOTlBGU19NQVhfTkFNRSkNCiAJcmV0dXJuIC1FTkFN
RVRPT0xPTkc7DQogCQ0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPD0gS0VS
TkVMX1ZFUlNJT04oMiw2LDI4KQ0KICAgICBtc2cuY3JlZC51aWQgPSBjdXJy
ZW50LT51aWQ7DQorI2Vsc2UNCisgICAgbXNnLmNyZWQudWlkID0gY3VycmVu
dF91aWQoKTsNCisjZW5kaWYNCiAgICAgbXNnLmNyZWQucGFnID0gbm5wZnNf
Z2V0X3BhZygpOw0KICAgICBlcnJvciA9IG5ucGZzX21lc3NhZ2VfcnBjKG5u
cGZzcCwgJm1zZy5oZWFkZXIsIHNpemVvZihtc2cpKTsNCiAgICAgaWYgKGVy
cm9yID09IDApDQpAQCAtMTA0MCw5ICsxMDkxLDE3IEBAIG5ucGZzX21rZGly
KHN0cnVjdCBpbm9kZSAqIGRpciwgc3RydWN0IGQNCiAJWEFfQ0xFQVIoJm1z
Zy5hdHRyKTsNCiAJWEFfU0VUX01PREUoJm1zZy5hdHRyLCBtb2RlKTsNCiAJ
WEFfU0VUX1RZUEUoJm1zZy5hdHRyLCBOTlBGU19GSUxFX0RJUik7DQorI2lm
IExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxfVkVSU0lPTigyLDYsMjgp
DQogCVhBX1NFVF9HSUQoJm1zZy5hdHRyLCBjdXJyZW50LT5mc2dpZCk7DQor
I2Vsc2UNCisgICAgICAgIFhBX1NFVF9HSUQoJm1zZy5hdHRyLCBjdXJyZW50
X2ZzZ2lkKCkpOw0KKyNlbmRpZg0KIA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NP
REUgPD0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KIAltc2cuY3JlZC51aWQg
PSBjdXJyZW50LT51aWQ7DQorI2Vsc2UNCisgICAgICAgIG1zZy5jcmVkLnVp
ZCA9IGN1cnJlbnRfdWlkKCk7DQorI2VuZGlmDQogCW1zZy5jcmVkLnBhZyA9
IG5ucGZzX2dldF9wYWcoKTsNCiAJZXJyb3IgPSBubnBmc19tZXNzYWdlX3Jw
YyhubnBmc3AsICZtc2cuaGVhZGVyLCBzaXplb2YobXNnKSk7DQogCWlmIChl
cnJvciA9PSAwKQ0KQEAgLTEwODMsNyArMTE0MiwxMSBAQCBubnBmc19ybWRp
cihzdHJ1Y3QgaW5vZGUgKiBkaXIsIHN0cnVjdCBkDQogICAgIG1zZy5wYXJl
bnRfaGFuZGxlID0geG4tPmhhbmRsZTsNCiAgICAgaWYgKHN0cmxjcHkobXNn
Lm5hbWUsIGRlbnRyeS0+ZF9uYW1lLm5hbWUsIHNpemVvZihtc2cubmFtZSkp
ID49IE5OUEZTX01BWF9OQU1FKQ0KIAkgICAgcmV0dXJuIC1FTkFNRVRPT0xP
Tkc7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxfVkVSU0lP
TigyLDYsMjgpDQogICAgIG1zZy5jcmVkLnVpZCA9IGN1cnJlbnQtPnVpZDsN
CisjZWxzZQ0KKyAgICBtc2cuY3JlZC51aWQgPSBjdXJyZW50X3VpZCgpOw0K
KyNlbmRpZg0KICAgICBtc2cuY3JlZC5wYWcgPSBubnBmc19nZXRfcGFnKCk7
DQogICAgIGVycm9yID0gbm5wZnNfbWVzc2FnZV9ycGMobm5wZnNwLCAmbXNn
LmhlYWRlciwgc2l6ZW9mKG1zZykpOw0KICAgICBpZiAoZXJyb3IgPT0gMCkN
CkBAIC0xMTI4LDcgKzExOTEsMTEgQEAgc3RhdGljIGludCBubnBmc19saW5r
KHN0cnVjdCBkZW50cnkgKm9sZA0KIAlpZiAoc3RybGNweShtc2cubmFtZSwg
bmFtZSwgc2l6ZW9mKG1zZy5uYW1lKSkgPj0gTk5QRlNfTUFYX05BTUUpDQog
CSAgICByZXR1cm4gLUVOQU1FVE9PTE9ORzsNCiANCisjaWYgTElOVVhfVkVS
U0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCiAJbXNnLmNy
ZWQudWlkID0gY3VycmVudC0+dWlkOw0KKyNlbHNlDQorICAgICAgICBtc2cu
Y3JlZC51aWQgPSBjdXJyZW50X3VpZCgpOw0KKyNlbmRpZg0KIAltc2cuY3Jl
ZC5wYWcgPSBubnBmc19nZXRfcGFnKCk7DQogCWVycm9yID0gbm5wZnNfbWVz
c2FnZV9ycGMobm5wZnNwLCAmbXNnLmhlYWRlciwgc2l6ZW9mKG1zZykpOw0K
IAlpZiAoZXJyb3IgPT0gMCkNCkBAIC0xMTU3LDI5ICsxMjI0LDQ3IEBAIHN0
YXRpYyBpbnQgbm5wZnNfc3ltbGluayhzdHJ1Y3QgaW5vZGUgKmQNCiAgICAg
eG4gPSBWTk9ERV9UT19YTk9ERShkaXIpOw0KIA0KICAgICB7DQotCXN0cnVj
dCBubnBmc19tZXNzYWdlX3N5bWxpbmsgbXNnOw0KKwlzdHJ1Y3Qgbm5wZnNf
bWVzc2FnZV9zeW1saW5rICptc2cgPSBOVUxMOw0KIA0KLQltc2cuaGVhZGVy
Lm9wY29kZSA9IE5OUEZTX01TR19TWU1MSU5LOw0KLQltc2cucGFyZW50X2hh
bmRsZSA9IHhuLT5oYW5kbGU7DQotCWlmIChzdHJsY3B5KG1zZy5uYW1lLCBu
YW1lLCBzaXplb2YobXNnLm5hbWUpKSA+PSBOTlBGU19NQVhfTkFNRSkNCi0J
ICAgIHJldHVybiAtRU5BTUVUT09MT05HOw0KLQlpZiAoc3RybGNweShtc2cu
Y29udGVudHMsIHN5bW5hbWUsIHNpemVvZihtc2cuY29udGVudHMpKSA+PSBO
TlBGU19NQVhfU1lNTElOS19DT05URU5UKQ0KLQkgICAgcmV0dXJuIC1FTkFN
RVRPT0xPTkc7DQotCVhBX0NMRUFSKCZtc2cuYXR0cik7DQotCVhBX1NFVF9N
T0RFKCZtc2cuYXR0ciwgMDc3Nyk7DQotCVhBX1NFVF9UWVBFKCZtc2cuYXR0
ciwgTk5QRlNfRklMRV9MTkspOw0KLQlYQV9TRVRfR0lEKCZtc2cuYXR0ciwg
Y3VycmVudC0+ZnNnaWQpOw0KKwltc2cgPSBrbWFsbG9jKHNpemVvZihzdHJ1
Y3Qgbm5wZnNfbWVzc2FnZV9zeW1saW5rKSwgR0ZQX0tFUk5FTCk7DQogDQot
CW1zZy5jcmVkLnVpZCA9IGN1cnJlbnQtPnVpZDsNCi0JbXNnLmNyZWQucGFn
ID0gbm5wZnNfZ2V0X3BhZygpOw0KLQllcnJvciA9IG5ucGZzX21lc3NhZ2Vf
cnBjKG5ucGZzcCwgJm1zZy5oZWFkZXIsIHNpemVvZihtc2cpKTsNCisJaWYg
KCFtc2cpDQorCSAgcmV0dXJuIC1FTk9NRU07DQorDQorCW1zZy0+aGVhZGVy
Lm9wY29kZSA9IE5OUEZTX01TR19TWU1MSU5LOw0KKwltc2ctPnBhcmVudF9o
YW5kbGUgPSB4bi0+aGFuZGxlOw0KKwlpZiAoc3RybGNweShtc2ctPm5hbWUs
IG5hbWUsIHNpemVvZihtc2ctPm5hbWUpKSA+PSBOTlBGU19NQVhfTkFNRSkg
ew0KKwkgIGtmcmVlKG1zZyk7DQorCSAgcmV0dXJuIC1FTkFNRVRPT0xPTkc7
DQorCX0NCisJaWYgKHN0cmxjcHkobXNnLT5jb250ZW50cywgc3ltbmFtZSwg
c2l6ZW9mKG1zZy0+Y29udGVudHMpKSA+PSBOTlBGU19NQVhfU1lNTElOS19D
T05URU5UKSB7DQorCSAga2ZyZWUobXNnKTsNCisJICByZXR1cm4gLUVOQU1F
VE9PTE9ORzsNCisJfQ0KKwlYQV9DTEVBUigmbXNnLT5hdHRyKTsNCisJWEFf
U0VUX01PREUoJm1zZy0+YXR0ciwgMDc3Nyk7DQorCVhBX1NFVF9UWVBFKCZt
c2ctPmF0dHIsIE5OUEZTX0ZJTEVfTE5LKTsNCisjaWYgTElOVVhfVkVSU0lP
Tl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCisJWEFfU0VUX0dJ
RCgmbXNnLT5hdHRyLCBjdXJyZW50LT5mc2dpZCk7DQorI2Vsc2UNCisgICAg
ICAgIFhBX1NFVF9HSUQoJm1zZy0+YXR0ciwgY3VycmVudF9mc2dpZCgpKTsN
CisjZW5kaWYNCisNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5F
TF9WRVJTSU9OKDIsNiwyOCkNCisJbXNnLT5jcmVkLnVpZCA9IGN1cnJlbnQt
PnVpZDsNCisjZWxzZQ0KKyAgICAgICAgbXNnLT5jcmVkLnVpZCA9IGN1cnJl
bnRfdWlkKCk7DQorI2VuZGlmDQorCW1zZy0+Y3JlZC5wYWcgPSBubnBmc19n
ZXRfcGFnKCk7DQorCWVycm9yID0gbm5wZnNfbWVzc2FnZV9ycGMobm5wZnNw
LCAmbXNnLT5oZWFkZXIsIHNpemVvZihzdHJ1Y3Qgbm5wZnNfbWVzc2FnZV9z
eW1saW5rKSk7DQogCWlmIChlcnJvciA9PSAwKQ0KLQkgICAgZXJyb3IgPSBO
TlBGU19NU0dfV0FLRVVQX0VSUk9SKCZtc2cpOw0KKwkgICAgZXJyb3IgPSBO
TlBGU19NU0dfV0FLRVVQX0VSUk9SKG1zZyk7DQogDQogCS8qIFhYWCBzaG91
bGQgdGhpcyByZWFsbHkgYmUgaGVyZSAqLw0KIAlpZiAoREVOVFJZX1RPX1hE
RU5UUlkoZGVudHJ5KS0+eGRfZmxhZ3MgPT0gMCkgew0KIAkgICAgcHJpbnRr
KEtFUk5fRU1FUkcgIk5OUEZTIFBhbmljOiBubnBmc19zeW1saW5rOiBkZW50
cnkgbm90IHZhbGlkXG4iKTsNCiAJfQ0KKwlrZnJlZShtc2cpOw0KICAgICB9
DQogDQogICAgIHJldHVybiBlcnJvcjsNCkBAIC0xMzk4LDcgKzE0ODMsMTEg
QEAgbm5wZnNfc2V0YXR0ciAoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdA0K
ICAgICAgICAgc3RydWN0IG5ucGZzX21lc3NhZ2VfcHV0YXR0ciBtc2c7DQog
DQogICAgICAgICBtc2cuaGVhZGVyLm9wY29kZSA9IE5OUEZTX01TR19QVVRB
VFRSOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPD0gS0VSTkVMX1ZFUlNJ
T04oMiw2LDI4KQ0KIAltc2cuY3JlZC51aWQgPSBjdXJyZW50LT51aWQ7DQor
I2Vsc2UNCisgICAgICAgIG1zZy5jcmVkLnVpZCA9IGN1cnJlbnRfdWlkKCk7
DQorI2VuZGlmDQogCW1zZy5jcmVkLnBhZyA9IG5ucGZzX2dldF9wYWcoKTsN
CiAgICAgICAgIG1zZy5oYW5kbGUgPSB4bi0+aGFuZGxlOw0KICAgICAgICAg
bm5wZnNfaWF0dHIyYXR0cih4biwgYXR0ciwgJm1zZy5hdHRyKTsNCkBAIC0x
NTQ1LDYgKzE2MzQsOCBAQCBubnBmc19kX2RlbGV0ZShzdHJ1Y3QgZGVudHJ5
ICpkZW50cnkpDQogICAgIHJldHVybiAwOw0KIH0NCiANCisjaWYgTElOVVhf
VkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiwgNiwgMjMpDQorDQog
c3RhdGljIHNzaXplX3QNCiBubnBmc19zZW5kZmlsZShzdHJ1Y3QgZmlsZSAq
ZmlsZSwgbG9mZl90ICpwcG9zLCBzaXplX3QgY291bnQsDQogCSAgICAgICBy
ZWFkX2FjdG9yX3QgYWN0b3IsIHZvaWQgKnRhcmdldCkNCkBAIC0xNTY4LDYg
KzE2NTksMzMgQEAgbm5wZnNfc2VuZGZpbGUoc3RydWN0IGZpbGUgKmZpbGUs
IGxvZmZfdA0KICAgICByZXR1cm4gZXJyb3I7DQogfQ0KIA0KKyNlbHNlDQor
DQorc3RhdGljIHNzaXplX3QNCitubnBmc19zcGxpY2VfcmVhZChzdHJ1Y3Qg
ZmlsZSAqZmlsZSwgbG9mZl90ICpwcG9zLA0KKwkJICBzdHJ1Y3QgcGlwZV9p
bm9kZV9pbmZvICpwaXBlLCBzaXplX3QgY291bnQsDQorCQkgIHVuc2lnbmVk
IGludCBmbGFncykNCit7DQorICAgIGludCBlcnJvciA9IDA7DQorICAgIHN0
cnVjdCBpbm9kZSAqaW5vZGUgPSBmaWxlLT5mX2RlbnRyeS0+ZF9pbm9kZTsN
CisgICAgc3RydWN0IG5ucGZzX25vZGUgKnhuID0gVk5PREVfVE9fWE5PREUo
aW5vZGUpOw0KKyAgICANCisgICAgaWYgKHhuICE9IE5VTEwpDQorCU5OUEZT
REVCKFhERUJWTk9QUywgKCJubnBmc19zZW5kZmlsZTogdG9rZW5zOiAweCV4
XG4iLCB4bi0+dG9rZW5zKSk7DQorDQorICAgIGVycm9yID0gbm5wZnNfZGF0
YV92YWxpZChpbm9kZSwgTk5QRlNfREFUQV9SLCAqcHBvcywgKnBwb3MgKyBj
b3VudCk7DQorICAgIGlmIChlcnJvcikgew0KKwlOTlBGU0RFQihYREVCVk5P
UFMsICgibm5wZnNfc2VuZGZpbGU6IGRhdGEgbm90IHZhbGlkICVkXG4iLCBl
cnJvcikpOw0KKwlyZXR1cm4gZXJyb3I7DQorICAgIH0NCisgICAgZXJyb3Ig
PSBmaWxlLT5mX29wLT5zcGxpY2VfcmVhZChmaWxlLCBwcG9zLCBwaXBlLCBj
b3VudCwgZmxhZ3MpOw0KKw0KKyAgICBOTlBGU0RFQihYREVCVk5PUFMsICgi
bm5wZnNfc2VuZGZpbGU6IGVycm9yID0gJWRcbiIsIGVycm9yKSk7DQorICAg
IHJldHVybiBlcnJvcjsNCit9DQorDQorI2VuZGlmIC8qIExJTlVYX1ZFUlNJ
T05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsIDYsIDIzKSAqLw0KKw0KIC8q
DQogICoNCiAgKg0KQEAgLTE2MzksMTEgKzE3NTcsMTUgQEAgbm5wZnNfd3Jp
dGVfYmFja3BhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsIA0KIAlzdHJ1Y3QgYWRk
cmVzc19zcGFjZSAqbWFwcGluZyA9IGJhY2tmaWxlLT5mX21hcHBpbmc7DQog
CXVuc2lnbmVkIGxlbiA9IFBBR0VfQ0FDSEVfU0laRTsNCiAJc3RydWN0IHBh
Z2UgKmJhY2twYWdlOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VS
TkVMX1ZFUlNJT04oMiw2LDI0KQ0KKwl2b2lkICpmc2RhdGE7DQorI2VuZGlm
DQogCXVuc2lnbmVkIGxvbmcgb2Zmc2V0Ow0KIA0KIAlpbnQgZXJyb3I7DQog
CQ0KIAlkbyB7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9W
RVJTSU9OKDIsNiwyNCkNCiAJCWJhY2twYWdlID0gZ3JhYl9jYWNoZV9wYWdl
KG1hcHBpbmcsIG5ucGZzX2dldF9iYWNraW5kZXgocGFnZSkpOw0KIAkJaWYg
KCFiYWNrcGFnZSkgew0KIAkJCXByaW50aygibm5wZnNfd3JpdGVfYmFja3Bh
Z2U6IG5vIHBhZ2VcbiIpOw0KQEAgLTE2NTIsMjEgKzE3NzQsMzYgQEAgbm5w
ZnNfd3JpdGVfYmFja3BhZ2Uoc3RydWN0IHBhZ2UgKnBhZ2UsIA0KIA0KIAkJ
ZXJyb3IgPSBtYXBwaW5nLT5hX29wcy0+cHJlcGFyZV93cml0ZShiYWNrZmls
ZSwgYmFja3BhZ2UsDQogCQkJCQkJICAgICAgMCwgbGVuKTsNCisjZWxzZQ0K
KwkJZXJyb3IgPSBwYWdlY2FjaGVfd3JpdGVfYmVnaW4oYmFja2ZpbGUsIG1h
cHBpbmcsIDAsIGxlbiwNCisJCQkJQU9QX0ZMQUdfVU5JTlRFUlJVUFRJQkxF
LCAmYmFja3BhZ2UsICZmc2RhdGEpOw0KKyNlbmRpZg0KIAkJaWYgKCFlcnJv
cikgew0KIAkJCWNvcHlfaGlnaHBhZ2UoYmFja3BhZ2UsIHBhZ2UpOw0KIAkJ
CWZsdXNoX2RjYWNoZV9wYWdlKGJhY2twYWdlKTsNCisjaWYgTElOVVhfVkVS
U0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDI0KQ0KIAkJCWVycm9y
ID0gbWFwcGluZy0+YV9vcHMtPmNvbW1pdF93cml0ZShiYWNrZmlsZSwgYmFj
a3BhZ2UsDQogCQkJCQkJCSAgICAgMCwgbGVuKTsNCisjZWxzZQ0KKwkJCWVy
cm9yID0gcGFnZWNhY2hlX3dyaXRlX2VuZChiYWNrZmlsZSwgbWFwcGluZywg
MCwgbGVuLA0KKwkJCQkJbGVuLCBiYWNrcGFnZSwgZnNkYXRhKTsNCisJCQlp
ZiAoZXJyb3IgPiAwKQ0KKwkJCQllcnJvciA9IDA7DQorI2VuZGlmDQogCQl9
DQogCQlpZiAoZXJyb3IgPT0gQU9QX1RSVU5DQVRFRF9QQUdFKSB7DQorI2lm
IExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwyNCkN
CiAJCQlwYWdlX2NhY2hlX3JlbGVhc2UoYmFja3BhZ2UpOw0KKyNlbmRpZg0K
IAkJCWNvbnRpbnVlOw0KIAkJfQ0KIAl9IHdoaWxlICgwKTsNCiANCiAJb2Zm
c2V0ID0gcGFnZV9vZmZzZXQoYmFja3BhZ2UpOw0KKyNpZiBMSU5VWF9WRVJT
SU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjQpDQogCXVubG9ja19w
YWdlKGJhY2twYWdlKTsNCiAJcGFnZV9jYWNoZV9yZWxlYXNlKGJhY2twYWdl
KTsNCisjZW5kaWYNCiANCiAJaWYgKGVycm9yKQ0KIAkJcHJpbnRrKCJubnBm
c193cml0ZV9iYWNrcGFnZTogRUlPXG4iKTsNCkBAIC0xODcyLDYgKzIwMDks
MzQgQEAgbm5wZnNfcHJlcGFyZV93cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwg
cw0KIAlyZXR1cm4gcmV0Ow0KIH0NCiANCisjaWYgTElOVVhfVkVSU0lPTl9D
T0RFID49IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCisNCitzdGF0aWMgaW50
DQorbm5wZnNfd3JpdGVfYmVnaW4oc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVj
dCBhZGRyZXNzX3NwYWNlICptYXBwaW5nLCBsb2ZmX3QgcG9zLA0KK3Vuc2ln
bmVkIGxlbiwgdW5zaWduZWQgZmxhZ3MsIHN0cnVjdCBwYWdlICoqcGFnZXAs
IHZvaWQgKipmc2RhdGEpDQorew0KKwlzdHJ1Y3QgcGFnZSAqcGFnZTsNCisJ
cGdvZmZfdCBpbmRleDsNCisJdW5zaWduZWQgZnJvbTsNCisNCisJaW5kZXgg
PSBwb3MgPj4gUEFHRV9DQUNIRV9TSElGVDsNCisJZnJvbSA9IHBvcyAmIChQ
QUdFX0NBQ0hFX1NJWkUgLSAxKTsNCisNCisjaWZuZGVmIEFPUF9GTEFHX05P
RlMNCisJcGFnZSA9IF9fZ3JhYl9jYWNoZV9wYWdlKG1hcHBpbmcsIGluZGV4
KTsNCisjZWxzZQ0KKwlwYWdlID0gZ3JhYl9jYWNoZV9wYWdlX3dyaXRlX2Jl
Z2luKG1hcHBpbmcsIGluZGV4LCBmbGFncyk7DQorI2VuZGlmDQorCWlmICgh
cGFnZSkNCisJCXJldHVybiAtRU5PTUVNOw0KKw0KKwkqcGFnZXAgPSBwYWdl
Ow0KKw0KKwlyZXR1cm4gbm5wZnNfcHJlcGFyZV93cml0ZShmaWxlLCBwYWdl
LCBmcm9tLCBmcm9tK2xlbik7DQorfQ0KKw0KKyNlbmRpZg0KKw0KIHN0YXRp
YyBpbnQNCiBubnBmc19jb21taXRfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUs
IHN0cnVjdCBwYWdlICpwYWdlLCB1bnNpZ25lZCBmcm9tLCB1bnNpZ25lZCB0
bykNCiB7DQpAQCAtMTkwMiwxNCArMjA2Nyw0NSBAQCBubnBmc19jb21taXRf
d3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsIHN0DQogICAgIHJldHVybiAwOw0K
IH0NCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJT
SU9OKDIsNiwyOCkNCisNCitzdGF0aWMgaW50DQorbm5wZnNfd3JpdGVfZW5k
KHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFw
cGluZywgbG9mZl90IHBvcywNCit1bnNpZ25lZCBsZW4sIHVuc2lnbmVkIGNv
cGllZCwgc3RydWN0IHBhZ2UgKnBhZ2UsIHZvaWQgKmZzZGF0YSkNCit7DQor
CXVuc2lnbmVkIGZyb20gPSBwb3MgJiAoUEFHRV9DQUNIRV9TSVpFIC0gMSk7
DQorDQorCS8qIHplcm8gdGhlIHN0YWxlIHBhcnQgb2YgdGhlIHBhZ2UgaWYg
d2UgZGlkIGEgc2hvcnQgY29weSAqLw0KKwlpZiAoY29waWVkIDwgbGVuKSB7
DQorCQl2b2lkICprYWRkciA9IGttYXBfYXRvbWljKHBhZ2UsIEtNX1VTRVIw
KTsNCisJCW1lbXNldChrYWRkciArIGZyb20gKyBjb3BpZWQsIDAsIGxlbiAt
IGNvcGllZCk7DQorCQlmbHVzaF9kY2FjaGVfcGFnZShwYWdlKTsNCisJCWt1
bm1hcF9hdG9taWMoa2FkZHIsIEtNX1VTRVIwKTsNCisJfQ0KKw0KKwlubnBm
c19jb21taXRfd3JpdGUoZmlsZSwgcGFnZSwgZnJvbSwgZnJvbStjb3BpZWQp
Ow0KKw0KKwl1bmxvY2tfcGFnZShwYWdlKTsNCisJcGFnZV9jYWNoZV9yZWxl
YXNlKHBhZ2UpOw0KKw0KKwlyZXR1cm4gY29waWVkOw0KK30NCisNCisjZW5k
aWYNCisNCiAjaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJT
SU9OKDIsNiwxOCkNCiBjb25zdA0KICNlbmRpZg0KIHN0cnVjdCBhZGRyZXNz
X3NwYWNlX29wZXJhdGlvbnMgbm5wZnNfYW9wcyA9IHsNCiAJLnJlYWRwYWdl
ID0gbm5wZnNfcmVhZHBhZ2UsDQogCS53cml0ZXBhZ2UgPSBubnBmc193cml0
ZXBhZ2UsDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJT
SU9OKDIsNiwyOCkNCiAJLnByZXBhcmVfd3JpdGUgPSBubnBmc19wcmVwYXJl
X3dyaXRlLA0KIAkuY29tbWl0X3dyaXRlID0gbm5wZnNfY29tbWl0X3dyaXRl
LA0KKyNlbHNlDQorCS53cml0ZV9iZWdpbiA9IG5ucGZzX3dyaXRlX2JlZ2lu
LA0KKwkud3JpdGVfZW5kID0gbm5wZnNfd3JpdGVfZW5kLA0KKyNlbmRpZg0K
IH07DQogDQogLyoNCkBAIC0xOTI0LDcgKzIxMjAsMTEgQEAgc3RydWN0IGZp
bGVfb3BlcmF0aW9ucyBubnBmc19maWxlX29wZXJhdA0KICAgICAuZmx1c2gJ
PSBubnBmc19mbHVzaCwNCiAgICAgLnJlbGVhc2UJPSBubnBmc19yZWxlYXNl
X2ZpbGUsDQogICAgIC5mc3luYwk9IG5ucGZzX2ZzeW5jLA0KKyNpZiBMSU5V
WF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLCA2LCAyMykNCiAg
ICAgLnNlbmRmaWxlCT0gbm5wZnNfc2VuZGZpbGUsDQorI2Vsc2UNCisgICAg
LnNwbGljZV9yZWFkID0gbm5wZnNfc3BsaWNlX3JlYWQsDQorI2VuZGlmDQog
fTsNCiANCiBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIG5ucGZzX2RlYWRfb3Bl
cmF0aW9ucyA9IHsNCmRpZmYgLXVwck4gYXJsYS0wLjkwL25ucGZzL2xpbnV4
L25ucGZzX21lc3NhZ2UuYyBhcmxhLTAuOTAtbmV3L25ucGZzL2xpbnV4L25u
cGZzX21lc3NhZ2UuYw0KLS0tIGFybGEtMC45MC9ubnBmcy9saW51eC9ubnBm
c19tZXNzYWdlLmMJMjAwNy0wMS0wOSAxNzozMzozMS4wMDAwMDAwMDAgKzAx
MDANCisrKyBhcmxhLTAuOTAtbmV3L25ucGZzL2xpbnV4L25ucGZzX21lc3Nh
Z2UuYwkyMDEwLTA2LTAzIDIzOjMxOjA2LjM5MjYxMjAwNiArMDIwMA0KQEAg
LTQ1LDcgKzQ1LDcgQEANCiAjaW5jbHVkZSA8bGludXgvbW91bnQuaD4NCiAN
CiAjaWZkZWYgUkNTSUQNCi1SQ1NJRCgiJElkOiBubnBmc19tZXNzYWdlLmMs
diAxLjE0My4yLjEgMjAwNy8wMS8wOSAxNjozMzozMSB0b2wgRXhwICQiKTsN
CitSQ1NJRCgiJElkOiBubnBmc19tZXNzYWdlLmMsdiAxLjE0MyAyMDA2LzEy
LzExIDE2OjQwOjI0IHRvbCBFeHAgJCIpOw0KICNlbmRpZg0KIA0KIHN0YXRp
YyB2b2lkDQpAQCAtNjA1LDEyICs2MDUsMTAgQEAgZ2NfYmxvY2soc3RydWN0
IG5ucGZzICpubnBmc3AsDQogICAgIH0NCiANCiAgICAgaWYgKCFubnBmc19i
bG9ja19oYXZlX3AoeG4sIG9mZnNldCkpIHsNCi0jaWYgMCAgIC8qIGhhcHBl
bnMgd2hlbiBkYWVtb24gc2VuZHMgc2V2ZXJhbCBtZXNzYWdlcyBmb3Igc2Ft
ZSBibG9jayAqLw0KIAlwcmludGsoS0VSTl9FTUVSRyAiTk5QRlMvZ2NfYmxv
Y2s6ICINCiAJICAgICAgICJFTk9FTlQgKCVkLCVkLCVkLCVkKSAweCVsbHhc
biIsIA0KIAkgICAgICAgeG4tPmhhbmRsZS5hLCB4bi0+aGFuZGxlLmIsIHhu
LT5oYW5kbGUuYywgeG4tPmhhbmRsZS5kLCANCiAJICAgICAgICh1bnNpZ25l
ZCBsb25nIGxvbmcpb2Zmc2V0KTsNCi0jZW5kaWYNCiAJcmV0dXJuIC1FTk9F
TlQ7DQogICAgIH0NCiANCkBAIC03MzcsMTIgKzczNSwyMyBAQCBubnBmc19t
ZXNzYWdlX3ZlcnNpb24oc3RydWN0IG5ucGZzICpubnBmDQogCQkgICAibm5w
ZnNfbWVzc2FnZV92ZXJzaW9uIGZhaWxlZCBwYXRoX2xvb2t1cCwgIg0KIAkJ
ICAgImVycm5vOiAlZFxuIiwgZXJyb3IpOw0KIAl9IGVsc2Ugew0KKyNpZiBM
SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjUpDQog
CSAgICBubnBmc3AtPmNhY2hlcm9vdCA9IG1udGdldChuZC5tbnQpOw0KIAkg
ICAgbm5wZnNwLT5jYWNoZWRpciA9IGRnZXQobmQuZGVudHJ5KTsNCiAJICAg
IHBhdGhfcmVsZWFzZSgmbmQpOw0KKyNlbHNlDQorCSAgICBubnBmc3AtPmNh
Y2hlcm9vdCA9IG1udGdldChuZC5wYXRoLm1udCk7DQorCSAgICBubnBmc3At
PmNhY2hlZGlyID0gZGdldChuZC5wYXRoLmRlbnRyeSk7DQorCSAgICBwYXRo
X3B1dCgmbmQucGF0aCk7DQorI2VuZGlmDQogCSAgICANCisjaWYgTElOVVhf
VkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCiAJICAg
IG5ucGZzcC0+dWlkID0gY3VycmVudC0+ZnN1aWQ7DQogCSAgICBubnBmc3At
PmdpZCA9IGN1cnJlbnQtPmZzZ2lkOw0KKyNlbHNlDQorICAgICAgICAgICAg
bm5wZnNwLT51aWQgPSBjdXJyZW50X2ZzdWlkKCk7DQorICAgICAgICAgICAg
bm5wZnNwLT5naWQgPSBjdXJyZW50X2ZzZ2lkKCk7DQorI2VuZGlmDQogDQog
CSAgICAvKiBYWFggd2Ugc2hvdWxkIHZhbGlkYXRlIHRoZXNlIHZhbHVlcyAq
Lw0KIAkgICAgbm5wZnNfYmxvY2tzaXplID0gYmxvY2tzaXplOw0KZGlmZiAt
dXByTiBhcmxhLTAuOTAvbm5wZnMvbGludXgvbm5wZnNfc3lzY2FsbHMuYyBh
cmxhLTAuOTAtbmV3L25ucGZzL2xpbnV4L25ucGZzX3N5c2NhbGxzLmMNCi0t
LSBhcmxhLTAuOTAvbm5wZnMvbGludXgvbm5wZnNfc3lzY2FsbHMuYwkyMDA3
LTAxLTAzIDE1OjI2OjI3LjAwMDAwMDAwMCArMDEwMA0KKysrIGFybGEtMC45
MC1uZXcvbm5wZnMvbGludXgvbm5wZnNfc3lzY2FsbHMuYwkyMDEwLTA2LTA0
IDAxOjE5OjIyLjgzMjYwOTQzNyArMDIwMA0KQEAgLTE0NywxMCArMTQ3LDE2
IEBAIHN0YXRpYyBpbnQgbm5wZnNfc2VjX3JlZ2lzdGVyZWQgPSAwOw0KICNk
ZWZpbmUgU0VDMlBBRyhzKSAobm5wZnNfcGFnX3QpKHVuc2lnbmVkIGxvbmcp
KHMpDQogI2RlZmluZSBQQUcyU0VDKHApICh2b2lkICopKHVuc2lnbmVkIGxv
bmcpKHApDQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9W
RVJTSU9OKDIsNiwyNCkNCisNCiBzdGF0aWMgaW50DQogbm5wZnNfc2VjX3Rh
c2tfYWxsb2Moc3RydWN0IHRhc2tfc3RydWN0ICpwKQ0KIHsNCisjaWYgTElO
VVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCiAg
ICAgbm5wZnNfcGFnX3QgcGFnID0gU0VDMlBBRyhjdXJyZW50LT5zZWN1cml0
eSk7DQorI2Vsc2UNCisgICAgbm5wZnNfcGFnX3QgcGFnID0gU0VDMlBBRyhj
dXJyZW50X3NlY3VyaXR5KCkpOw0KKyNlbmRpZg0KICAgICBpZiAocGFnKQ0K
IAlwLT5zZWN1cml0eSA9IFBBRzJTRUMocGFnKTsNCiAgICAgcmV0dXJuIDA7
DQpAQCAtMTY0LDM1ICsxNzAsNTUgQEAgbm5wZnNfc2VjX3Rhc2tfZnJlZShz
dHJ1Y3QgdGFza19zdHJ1Y3QgKg0KIAlwLT5zZWN1cml0eSA9IE5VTEw7DQog
fQ0KIA0KKyNlbmRpZg0KKw0KIHN0YXRpYyBubnBmc19wYWdfdA0KIG5ucGZz
X2dldF9wYWdfc2VjKHZvaWQpDQogew0KKyNpZiBMSU5VWF9WRVJTSU9OX0NP
REUgPD0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KICAgICBubnBmc19wYWdf
dCBwYWcgPSBTRUMyUEFHKGN1cnJlbnQtPnNlY3VyaXR5KTsNCisjZWxzZQ0K
KyAgICBubnBmc19wYWdfdCBwYWcgPSBTRUMyUEFHKGN1cnJlbnRfc2VjdXJp
dHkoKSk7DQorI2VuZGlmDQogICAgIGlmIChwYWcpDQogCXJldHVybiBwYWc7
DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxfVkVSU0lP
TigyLDYsMjgpDQogICAgIHJldHVybiBjdXJyZW50LT51aWQ7DQorI2Vsc2UN
CisgICAgcmV0dXJuIGN1cnJlbnRfdWlkKCk7DQorI2VuZGlmDQogfQ0KIA0K
IHN0YXRpYyBpbnQNCiBubnBmc19zZXRfcGFnX3NlYyh2b2lkKQ0KIHsNCiAg
ICAgc3RhdGljIG5ucGZzX3BhZ190IHBhZ251bSA9IE5OUEZTX1BBR19MTElN
Ow0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04o
Miw2LDI5KQ0KKyAgICBzdHJ1Y3QgY3JlZCAqY3JlZDsNCisjZW5kaWYNCiAN
CiAgICAgaWYgKHBhZ251bSA9PSBOTlBGU19QQUdfVUxJTSkNCiAJcmV0dXJu
IC1FTk9NRU07DQogICAgIC8qIHBhZ251bSA9IE5OUEZTX1BBR19MTElNOyAq
Lw0KICAgICANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9W
RVJTSU9OKDIsNiwyOCkNCiAgICAgY3VycmVudC0+c2VjdXJpdHkgPSBQQUcy
U0VDKHBhZ251bSk7DQorI2Vsc2UNCisgICAgY3JlZCA9IChzdHJ1Y3QgY3Jl
ZCAqKSBjdXJyZW50LT5jcmVkOw0KKyAgICBjcmVkLT5zZWN1cml0eSA9IFBB
RzJTRUMocGFnbnVtKTsNCisjZW5kaWYNCiAgICAgcGFnbnVtKys7DQogICAg
IHJldHVybiAwOw0KIH0NCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwg
S0VSTkVMX1ZFUlNJT04oMiw2LDI0KQ0KIHN0YXRpYyBzdHJ1Y3Qgc2VjdXJp
dHlfb3BlcmF0aW9ucyBubnBmc19zZWNfb3BzID0gew0KICAgICAudGFza19h
bGxvY19zZWN1cml0eSA9IG5ucGZzX3NlY190YXNrX2FsbG9jLA0KICAgICAu
dGFza19mcmVlX3NlY3VyaXR5ID0gbm5wZnNfc2VjX3Rhc2tfZnJlZSwNCiAv
LyAgICAudGFza19yZXBhcmVudF90b19pbml0ID0gbm5wZnNfc2VjX3JlcGFy
ZW50X3RvX2luaXQsDQogfTsNCisjZW5kaWYNCiANCiAjZW5kaWYgLyogQ09O
RklHX1NFQ1VSSVRZICovDQogDQpAQCAtMjIyLDggKzI0OCwxMyBAQCBmaW5k
X3BhZyhzdHJ1Y3QgZ3JvdXBfaW5mbyAqZ2kpDQogc3RhdGljIG5ucGZzX3Bh
Z190DQogbm5wZnNfZ2V0X3BhZ19ncm91cCh2b2lkKQ0KIHsNCisjaWYgTElO
VVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCiAg
ICAgc3RydWN0IGdyb3VwX2luZm8gKmdpID0gY3VycmVudC0+Z3JvdXBfaW5m
bzsNCiAgICAgbm5wZnNfcGFnX3QgcmV0ID0gY3VycmVudC0+dWlkOw0KKyNl
bHNlDQorICAgIHN0cnVjdCBncm91cF9pbmZvICpnaSA9IGdldF9jdXJyZW50
X2dyb3VwcygpOw0KKyAgICBubnBmc19wYWdfdCByZXQgPSBjdXJyZW50X3Vp
ZCgpOw0KKyNlbmRpZg0KICAgICBpbnQgaTsNCiANCiAgICAgZ2V0X2dyb3Vw
X2luZm8oZ2kpOw0KQEAgLTI0Miw5ICsyNzMsMTcgQEAgbm5wZnNfZ2V0X3Bh
Z19ncm91cCh2b2lkKQ0KIHN0YXRpYyBpbnQNCiBzdG9yZV9wYWcobm5wZnNf
cGFnX3QgcGFnbnVtKQ0KIHsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDw9
IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCiAgICAgc3RydWN0IGdyb3VwX2lu
Zm8gKm9sZF9naSA9IGN1cnJlbnQtPmdyb3VwX2luZm87DQorI2Vsc2UNCisg
ICBzdHJ1Y3QgZ3JvdXBfaW5mbyAqb2xkX2dpID0gZ2V0X2N1cnJlbnRfZ3Jv
dXBzKCk7DQorI2VuZGlmDQogICAgIHN0cnVjdCBncm91cF9pbmZvICpuZXdf
Z2k7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9O
KDIsNiwyNSkNCiAgICAgaW50IG5ibG9ja3MsIGNvdW50Ow0KKyNlbHNlDQor
ICAgIHVuc2lnbmVkIGludCBuYmxvY2tzLCBjb3VudDsNCisjZW5kaWYNCiAg
ICAgaW50IGZvdW5kID0gMDsNCiAgICAgaW50IGksIGs7DQogICAgIA0KQEAg
LTMxNyw3ICszNTYsMTEgQEAgbm5wZnNfZ2V0X3BhZygpDQogICAgIHJldHVy
biBubnBmc19nZXRfcGFnX2dyb3VwKCk7DQogI2VuZGlmIC8qIEdST1VQUEFH
UyAqLw0KIA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPD0gS0VSTkVMX1ZF
UlNJT04oMiw2LDI4KQ0KICAgICByZXR1cm4gY3VycmVudC0+dWlkOw0KKyNl
bHNlDQorICAgIHJldHVybiBjdXJyZW50X3VpZCgpOw0KKyNlbmRpZg0KIH0N
CiANCiBzdGF0aWMgaW5saW5lIGludA0KQEAgLTUyOCw3ICs1NzEsMTEgQEAg
dXNlcl9wYXRoMmRlbnRyeSAoc3RydWN0IG5hbWVpZGF0YSAqbmQsIA0KICAg
ICBwdXRuYW1lKGtuYW1lKTsNCiAgICAgaWYgKGVycm9yKQ0KIAlyZXR1cm4g
RVJSX1BUUihlcnJvcik7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtF
Uk5FTF9WRVJTSU9OKDIsNiwyNSkNCiAgICAgcmV0dXJuIG5kLT5kZW50cnk7
DQorI2Vsc2UNCisgICAgcmV0dXJuIG5kLT5wYXRoLmRlbnRyeTsNCisjZW5k
aWYNCiB9DQogDQogYXNtbGlua2FnZSBsb25nDQpAQCAtNTQwLDExICs1ODcs
MTYgQEAgc3lzX2Fmc19pbnQgKGludCBvcGVyYXRpb24sDQogew0KICAgICBs
b25nIGVycm9yID0gMDsNCiAgICAgc3RydWN0IGFybGFWaWNlSW9jdGwgdmlj
ZV9pb2N0bDsgDQotICAgIHN0cnVjdCBubnBmc19tZXNzYWdlX3Bpb2N0bCBt
c2c7DQorICAgIHN0cnVjdCBubnBmc19tZXNzYWdlX3Bpb2N0bCAqbXNnID0g
TlVMTDsNCiAgICAgc3RydWN0IG5ucGZzX21lc3NhZ2Vfd2FrZXVwICptc2cy
Ow0KICAgICBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkgPSBOVUxMOw0KICAgICBz
dHJ1Y3QgbmFtZWlkYXRhIG5kOw0KLSAgICANCisNCisgICAgbXNnID0ga21h
bGxvYyhzaXplb2Yoc3RydWN0IG5ucGZzX21lc3NhZ2VfcGlvY3RsKSwgR0ZQ
X0tFUk5FTCk7DQorDQorICAgIGlmICghbXNnKQ0KKyAgICAgIHJldHVybiAt
RU5PTUVNOw0KKw0KICAgICBsb2NrX2tlcm5lbCgpOw0KIA0KICAgICBOTlBG
U0RFQihYREVCU1lTLCAoInN5c19hZnMga2VybmVsIGxvY2tlZFxuIikpOw0K
QEAgLTU3NSw3ICs2MjcsNyBAQCBzeXNfYWZzX2ludCAoaW50IG9wZXJhdGlv
biwNCiAJICAgIGdvdG8gdW5sb2NrOw0KIAl9DQogCWlmICh2aWNlX2lvY3Rs
LmluX3NpemUgIT0gMCkgew0KLQkgICAgaWYoY29weV9mcm9tX3VzZXIoJm1z
Zy5tc2csDQorCSAgICBpZihjb3B5X2Zyb21fdXNlcigmbXNnLT5tc2csDQog
CQkJICAgICAgdmljZV9pb2N0bC5pbiwNCiAJCQkgICAgICB2aWNlX2lvY3Rs
LmluX3NpemUpICE9IDApIHsNCiAJCWVycm9yID0gLUVGQVVMVDsNCkBAIC02
MjgsMTkgKzY4MCwyMyBAQCBzeXNfYWZzX2ludCAoaW50IG9wZXJhdGlvbiwN
CiAJCWVycm9yID0gLUVJTlZBTDsNCiAJCWdvdG8gdW5sb2NrOw0KIAkgICAg
fQ0KLQkgICAgbXNnLmhhbmRsZSA9IHhuLT5oYW5kbGU7DQorCSAgICBtc2ct
PmhhbmRsZSA9IHhuLT5oYW5kbGU7DQogCX0NCiANCi0JbXNnLmhlYWRlci5v
cGNvZGUgPSBOTlBGU19NU0dfUElPQ1RMOw0KLQltc2cub3Bjb2RlID0gYV9v
cGNvZGU7DQorCW1zZy0+aGVhZGVyLm9wY29kZSA9IE5OUEZTX01TR19QSU9D
VEw7DQorCW1zZy0+b3Bjb2RlID0gYV9vcGNvZGU7DQogCQ0KLQltc2cuaW5z
aXplICAgPSB2aWNlX2lvY3RsLmluX3NpemU7DQotCW1zZy5vdXRzaXplICA9
IHZpY2VfaW9jdGwub3V0X3NpemU7DQotCW1zZy5jcmVkLnVpZCA9IGN1cnJl
bnQtPnVpZDsNCi0JbXNnLmNyZWQucGFnID0gbm5wZnNfZ2V0X3BhZygpOw0K
Kwltc2ctPmluc2l6ZSAgID0gdmljZV9pb2N0bC5pbl9zaXplOw0KKwltc2ct
Pm91dHNpemUgID0gdmljZV9pb2N0bC5vdXRfc2l6ZTsNCisjaWYgTElOVVhf
VkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCisJbXNn
LT5jcmVkLnVpZCA9IGN1cnJlbnQtPnVpZDsNCisjZWxzZQ0KKyAgICAgICAg
bXNnLT5jcmVkLnVpZCA9IGN1cnJlbnRfdWlkKCk7DQorI2VuZGlmDQorCW1z
Zy0+Y3JlZC5wYWcgPSBubnBmc19nZXRfcGFnKCk7DQogCQ0KLQllcnJvciA9
IG5ucGZzX21lc3NhZ2VfcnBjKCZubnBmc1swXSwgJm1zZy5oZWFkZXIsIHNp
emVvZihtc2cpKTsgLyogWFhYICovDQotCW1zZzIgPSAoc3RydWN0IG5ucGZz
X21lc3NhZ2Vfd2FrZXVwICopICZtc2c7DQorCWVycm9yID0gbm5wZnNfbWVz
c2FnZV9ycGMoJm5ucGZzWzBdLCAmbXNnLT5oZWFkZXIsIHNpemVvZihzdHJ1
Y3Qgbm5wZnNfbWVzc2FnZV9waW9jdGwpKTsgLyogWFhYICovDQorCW1zZzIg
PSAoc3RydWN0IG5ucGZzX21lc3NhZ2Vfd2FrZXVwICopIG1zZzsNCiAJaWYg
KGVycm9yID09IDApDQogCSAgICBlcnJvciA9IG1zZzItPmVycm9yOw0KIA0K
QEAgLTY3NSwxMSArNzMxLDE2IEBAIHN5c19hZnNfaW50IChpbnQgb3BlcmF0
aW9uLA0KICAgICANCiAgdW5sb2NrOg0KICAgICBpZiAoZGVudHJ5KQ0KKyNp
ZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjUp
DQogCXBhdGhfcmVsZWFzZSgmbmQpOw0KKyNlbHNlDQorCXBhdGhfcHV0KCZu
ZC5wYXRoKTsNCisjZW5kaWYNCiANCiAgICAgTk5QRlNERUIoWERFQlNZUywg
KCJubnBmc19zeXNjYWxsIHJldHVybnMgZXJyb3I6ICVsZFxuIiwgZXJyb3Ip
KTsNCiANCiAgICAgTk5QRlNERUIoWERFQlNZUywgKCJzeXNfYWZzIGtlcm5l
bCB1bmxvY2tcbiIpKTsNCisgICAga2ZyZWUobXNnKTsNCiAgICAgdW5sb2Nr
X2tlcm5lbCgpOw0KIA0KICAgICByZXR1cm4gZXJyb3I7DQpAQCAtNzgwLDIw
ICs4NDEsMzIgQEAgc3RhdGljIGludCBubnBmc19pbml0X3Byb2Nmcyh2b2lk
KQ0KIHsNCiAgICAgc3RydWN0IHByb2NfZGlyX2VudHJ5ICplbnRyeTsNCiAg
ICAgDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9O
KDIsNiwyNikNCiAgICAgbm5wZnNfcHJvY2ZzX2RpciA9IHByb2NfbWtkaXIo
Tk5QRlNfUFJPQ19ESVIsIHByb2Nfcm9vdF9mcyk7DQorI2Vsc2UNCisgICAg
bm5wZnNfcHJvY2ZzX2RpciA9IHByb2NfbWtkaXIoImZzLyIgTk5QRlNfUFJP
Q19ESVIsIE5VTEwpOw0KKyNlbmRpZg0KICAgICBpZiAobm5wZnNfcHJvY2Zz
X2RpciA9PSBOVUxMKQ0KIAlyZXR1cm4gLUVOT01FTTsNCiAgICAgDQorI2lm
IExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwzMCkN
CiAgICAgbm5wZnNfcHJvY2ZzX2Rpci0+b3duZXIgPSBUSElTX01PRFVMRTsN
CisjZW5kaWYNCiAgICAgDQogICAgIGVudHJ5ID0gY3JlYXRlX3Byb2NfZW50
cnkoTk5QRlNfUFJPQ19OT0RFLCAwNjY2LCBubnBmc19wcm9jZnNfZGlyKTsN
CiAgICAgaWYgKGVudHJ5ID09IE5VTEwpIHsNCiAJTk5QRlNERUIoWERFQlNZ
UywgKCJubnBmc19pbml0X3Byb2Nmczogbm8gbm9kZVxuIikpOw0KKyNpZiBM
SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjYpDQog
CXJlbW92ZV9wcm9jX2VudHJ5KE5OUEZTX1BST0NfRElSLCBwcm9jX3Jvb3Rf
ZnMpOw0KKyNlbHNlDQorCXJlbW92ZV9wcm9jX2VudHJ5KCJmcy8iIE5OUEZT
X1BST0NfRElSLCBOVUxMKTsNCisjZW5kaWYNCiAJcmV0dXJuIC1FTk9NRU07
DQogICAgIH0NCiAgICAgDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtF
Uk5FTF9WRVJTSU9OKDIsNiwzMCkNCiAgICAgZW50cnktPm93bmVyID0gVEhJ
U19NT0RVTEU7DQorI2VuZGlmDQogICAgIGVudHJ5LT5wcm9jX2ZvcHMgPSAm
bm5wZnNfcHJvY2ZzX2ZvcHM7DQogDQogI2lmZGVmIFNZU0NBTExDT01QQVQN
CkBAIC04MTUsNyArODg4LDExIEBAIHN0YXRpYyB2b2lkIG5ucGZzX2V4aXRf
cHJvY2ZzKHZvaWQpDQogICAgIH0NCiAjZW5kaWYgLyogU1lTQ0FMTENPTVBB
VCAqLw0KICAgICByZW1vdmVfcHJvY19lbnRyeShOTlBGU19QUk9DX05PREUs
IG5ucGZzX3Byb2Nmc19kaXIpOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUg
PCBLRVJORUxfVkVSU0lPTigyLDYsMjYpDQogICAgIHJlbW92ZV9wcm9jX2Vu
dHJ5KE5OUEZTX1BST0NfRElSLCBwcm9jX3Jvb3RfZnMpOw0KKyNlbHNlDQor
ICAgIHJlbW92ZV9wcm9jX2VudHJ5KCJmcy8iIE5OUEZTX1BST0NfRElSLCBO
VUxMKTsNCisjZW5kaWYNCiB9DQogDQogI2lmZGVmIEdST1VQUEFHUw0KQEAg
LTg0MCwxMiArOTE3LDE0IEBAIHZvaWQNCiBpbnN0YWxsX2Fmc19zeXNjYWxs
KHZvaWQpDQogew0KICNpZmRlZiBDT05GSUdfU0VDVVJJVFkNCisjaWYgTElO
VVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDI0KQ0KICAg
ICBpZiAocmVnaXN0ZXJfc2VjdXJpdHkoJm5ucGZzX3NlY19vcHMpKQ0KIAlO
TlBGU0RFQihYREVCU1lTLA0KIAkJICgiaW5zdGFsbF9hZnNfc3lzY2FsbDog
bm5wZnNfaW5pdF9zZWMgZmFpbGVkXG4iKSk7DQogICAgIGVsc2UNCiAJbm5w
ZnNfc2VjX3JlZ2lzdGVyZWQgPSAxOw0KICNlbmRpZg0KKyNlbmRpZg0KIA0K
ICAgICBubnBmc19pbml0X3Byb2NmcygpOw0KIA0KQEAgLTg4OCw5ICs5Njcs
MTEgQEAgcmVzdG9yZV9hZnNfc3lzY2FsbCAodm9pZCkNCiAjZW5kaWYgLyog
U1lTQ0FMTEhBQ0sgKi8NCiANCiAjaWZkZWYgQ09ORklHX1NFQ1VSSVRZDQor
I2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwy
NCkNCiAgICAgaWYgKG5ucGZzX3NlY19yZWdpc3RlcmVkKQ0KIAlpZiAodW5y
ZWdpc3Rlcl9zZWN1cml0eSgmbm5wZnNfc2VjX29wcykpDQogCSAgICBwcmlu
dGsoS0VSTl9FTUVSRyAibm5wZnNfZXhpdF9zZWM6IGNvdWxkbid0IHVucmVn
aXN0ZXJcbiIpOw0KKyNlbmRpZg0KICNlbmRpZiAvKiAhQ09ORklHX1NFQ1VS
SVRZICovDQogDQogI2lmZGVmIEdST1VQUEFHUw0KZGlmZiAtdXByTiBhcmxh
LTAuOTAvbm5wZnMvbGludXgvbm5wZnNfc3lzY2FsbHMtbG9zc2FnZS5jIGFy
bGEtMC45MC1uZXcvbm5wZnMvbGludXgvbm5wZnNfc3lzY2FsbHMtbG9zc2Fn
ZS5jDQotLS0gYXJsYS0wLjkwL25ucGZzL2xpbnV4L25ucGZzX3N5c2NhbGxz
LWxvc3NhZ2UuYwkyMDA2LTEyLTExIDE3OjMxOjQ1LjAwMDAwMDAwMCArMDEw
MA0KKysrIGFybGEtMC45MC1uZXcvbm5wZnMvbGludXgvbm5wZnNfc3lzY2Fs
bHMtbG9zc2FnZS5jCTIwMTAtMDYtMDMgMjM6MzE6MDYuMzkyNjEyMDA2ICsw
MjAwDQpAQCAtNjMsNiArNjMsMTEgQEAgY29uc3QgY2hhciAqIF9fYXR0cmli
dXRlX18oKHdlYWspKQ0KIAkJICAgIHVuc2lnbmVkIGxvbmcgKm9mZnNldCwN
CiAJCSAgICBjaGFyICoqbW9kbmFtZSwgY2hhciAqbmFtZWJ1Zik7DQogDQor
I2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+IEtFUk5FTF9WRVJTSU9OKDIsNiwx
OCkNCisjaWZkZWYgX194ODZfNjRfXw0KK2V4dGVybiByd2xvY2tfdCB0YXNr
bGlzdF9sb2NrIF9fYXR0cmlidXRlX18oKHdlYWspKTsNCisjZW5kaWYNCisj
ZW5kaWYNCiBzdGF0aWMgdm9pZCAqKg0KIGdldF9zdGFydF9hZGRyKHZvaWQp
IHsNCiAjaWZkZWYgX194ODZfNjRfXw0KZGlmZiAtdXByTiBhcmxhLTAuOTAv
bm5wZnMvbGludXgvbm5wZnNfdmZzb3BzLmMgYXJsYS0wLjkwLW5ldy9ubnBm
cy9saW51eC9ubnBmc192ZnNvcHMuYw0KLS0tIGFybGEtMC45MC9ubnBmcy9s
aW51eC9ubnBmc192ZnNvcHMuYwkyMDA2LTEyLTExIDE3OjQzOjM1LjAwMDAw
MDAwMCArMDEwMA0KKysrIGFybGEtMC45MC1uZXcvbm5wZnMvbGludXgvbm5w
ZnNfdmZzb3BzLmMJMjAxMC0wNi0wMyAyMzozMTowNi4zOTI2MTIwMDYgKzAy
MDANCkBAIC00OSw5ICs0OSwxMyBAQCBSQ1NJRCgiJElkOiBubnBmc192ZnNv
cHMuYyx2IDEuMTA5IDIwMDYvDQogDQogc3RydWN0IG5ucGZzIG5ucGZzW05O
TlBGU107DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9W
RVJTSU9OKDIsNiwyNSkNCiBzdGF0aWMgdm9pZCBubnBmc19yZWFkX2lub2Rl
KHN0cnVjdCBpbm9kZSAqaW5vZGUpOw0KKyNlbmRpZg0KIHN0YXRpYyB2b2lk
IG5ucGZzX3B1dF9zdXBlcihzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKTsNCisj
aWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDI1
KQ0KIHN0YXRpYyB2b2lkIG5ucGZzX3B1dF9pbm9kZShzdHJ1Y3QgaW5vZGUg
Kmlub2RlKTsNCisjZW5kaWYNCiBzdGF0aWMgdm9pZCBubnBmc193cml0ZV9z
dXBlcihzdHJ1Y3Qgc3VwZXJfYmxvY2sgKiBzYik7DQogDQogI2lmIExJTlVY
X1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigyLDYsMTgpDQpAQCAt
NjEsOCArNjUsMTAgQEAgc3RhdGljIGludCBubnBmc19zdGF0ZnMoc3RydWN0
IHN1cGVyX2Jsbw0KICNlbmRpZg0KIA0KIHN0YXRpYyBzdHJ1Y3Qgc3VwZXJf
b3BlcmF0aW9ucyBubnBmc19zb3BzID0geyANCisjaWYgTElOVVhfVkVSU0lP
Tl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDI1KQ0KICAgICByZWFkX2lu
b2RlCQk6IG5ucGZzX3JlYWRfaW5vZGUsDQogICAgIHB1dF9pbm9kZQkJOiBu
bnBmc19wdXRfaW5vZGUsDQorI2VuZGlmDQogICAgIGFsbG9jX2lub2RlCQk6
IG5ucGZzX25vZGVfYWxsb2MsDQogICAgIGRlc3Ryb3lfaW5vZGUJOiBubnBm
c19ub2RlX2ZyZWUsDQogICAgIGRyb3BfaW5vZGUJCTogZ2VuZXJpY19kZWxl
dGVfaW5vZGUsDQpAQCAtMTg5LDcgKzE5NSwxMSBAQCBubnBmc19yZWFkX3N1
cGVyIChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKiBzDQogCWlmIChlcnJvcikNCiAJ
ICAgIGRkZXYgPSBFUlJfUFRSKGVycm9yKTsNCiAJZWxzZQ0KKyNpZiBMSU5V
WF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjUpDQogCSAg
ICBkZGV2ID0gbmQuZGVudHJ5Ow0KKyNlbHNlDQorCSAgICBkZGV2ID0gbmQu
cGF0aC5kZW50cnk7DQorI2VuZGlmDQogDQogCWlmICghSVNfRVJSKGRkZXYp
KSB7DQogCSAgICBtaW5vcmRldmljZSA9IE1JTk9SKGRkZXYtPmRfaW5vZGUt
PmlfcmRldik7DQpAQCAtMjczLDYgKzI4Myw3IEBAIG5ucGZzX3B1dF9zdXBl
cihzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQ0KICAgICBOTlBGU0RFQihYREVC
VkZPUFMsICgibm5wZnNfcHV0X3N1cGVyIGV4aXRpbmdcbiIpKTsNCiB9DQog
DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIs
NiwyNSkNCiBzdGF0aWMgdm9pZA0KIG5ucGZzX3JlYWRfaW5vZGUoc3RydWN0
IGlub2RlICppbm9kZSkNCiB7DQpAQCAtMzM5LDYgKzM1MCw3IEBAIG5ucGZz
X3B1dF9pbm9kZShzdHJ1Y3QgaW5vZGUgKmlub2RlKQ0KIA0KICAgICB1cCgm
bm5wZnNwLT5pbmFjdGl2ZV9zZW0pOw0KIH0NCisjZW5kaWYgLy8gTElOVVhf
VkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDI1KQ0KIA0KIHN0
YXRpYyBpbnQNCiBubnBmc19zdGF0ZnNfaW50KHN0cnVjdCBzdXBlcl9ibG9j
ayAqc2IsIHN0cnVjdCBrc3RhdGZzICpidWYpDQpAQCAtMzUyLDcgKzM2NCwx
NSBAQCBubnBmc19zdGF0ZnNfaW50KHN0cnVjdCBzdXBlcl9ibG9jayAqc2Is
DQogICAgIHRtcC5mX2JhdmFpbCAgPSAxMDI0KjEwMjQqMi01MDsNCiAgICAg
dG1wLmZfZmlsZXMgICA9IDEwMjQqMTAyNDsNCiAgICAgdG1wLmZfZmZyZWUg
ICA9IDEwMjQqMTAyNC0xMDA7DQorICAgIHRtcC5mX2ZzaWQudmFsWzBdID0g
MDsNCisgICAgdG1wLmZfZnNpZC52YWxbMV0gPSAwOw0KICAgICB0bXAuZl9u
YW1lbGVuID0gTkFNRV9NQVg7DQorICAgIHRtcC5mX2Zyc2l6ZSAgPSAwOw0K
KyAgICB0bXAuZl9zcGFyZVswXSA9IDA7DQorICAgIHRtcC5mX3NwYXJlWzFd
ID0gMDsNCisgICAgdG1wLmZfc3BhcmVbMl0gPSAwOw0KKyAgICB0bXAuZl9z
cGFyZVszXSA9IDA7DQorICAgIHRtcC5mX3NwYXJlWzRdID0gMDsNCiAgICAg
KmJ1ZiA9IHRtcDsNCiAgICAgcmV0dXJuIDA7DQogfQ0K
---2098261369-1391241848-1275730294=:1097872
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-1391241848-1275730294=:1097872--