[4928] in arla-drinkers

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

Re: PATCH: Arla 0.90 on Linux 2.6.24-2.6.35-rc1

daemon@ATHENA.MIT.EDU (=?ISO-8859-1?Q?Bo_Brant=E9n?=)
Sat Jun 5 12:35:56 2010

From arla-drinkers-bounces@stacken.kth.se Sat Jun 05 16:35:56 2010
Return-Path: <arla-drinkers-bounces@stacken.kth.se>
Delivered-To: arla-drinkers-mtg@bloom-picayune.mit.edu
Received: (qmail 28190 invoked from network); 5 Jun 2010 16:35:55 -0000
Received: from mx2.kth.se (130.237.48.98)
  by charon.mit.edu with SMTP; 5 Jun 2010 16:35:55 -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 A3FE3109F18;
	Sat,  5 Jun 2010 18:35:54 +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 CWHMjPpvfTzF; Sat,  5 Jun 2010 18:35:53 +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 7A06C109F01;
	Sat,  5 Jun 2010 18:35:40 +0200 (CEST)
Received: from tapas.stacken.kth.se (localhost [127.0.0.1])
	by tapas.stacken.kth.se (Postfix) with ESMTP id 7950651EAC;
	Sat,  5 Jun 2010 18:35:39 +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 0FA0B51EAC
	for <arla-drinkers@tapas.stacken.kth.se>;
	Sat,  5 Jun 2010 18:35:36 +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 o55GZaCe017163
	for <arla-drinkers@stacken.kth.se>;
	Sat, 5 Jun 2010 18:35:36 +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 638476AFE2
	for <arla-drinkers@stacken.kth.se>;
	Sat,  5 Jun 2010 18:35:31 +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 SrlEOqLilKJi for <arla-drinkers@stacken.kth.se>;
	Sat,  5 Jun 2010 18:35:27 +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 E88806AFD5
	for <arla-drinkers@stacken.kth.se>;
	Sat,  5 Jun 2010 18:35:26 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
	by amavisd-new (Postfix) with ESMTP id 6D8AC955
	for <arla-drinkers@stacken.kth.se>;
	Sat,  5 Jun 2010 18:35:26 +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 EBFB1954
	for <arla-drinkers@stacken.kth.se>;
	Sat,  5 Jun 2010 18:35:22 +0200 (MEST)
Received: by stalin.acc.umu.se (Postfix, from userid 10005)
	id CBD082D; Sat,  5 Jun 2010 18:35:22 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
	by stalin.acc.umu.se (Postfix) with ESMTP id BD3352C
	for <arla-drinkers@stacken.kth.se>;
	Sat,  5 Jun 2010 18:35:22 +0200 (CEST)
Date: Sat, 5 Jun 2010 18:35:22 +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.35-rc1
In-Reply-To: <Pine.A41.4.64.1006051129590.1097872@stalin.acc.umu.se>
Message-ID: <Pine.A41.4.64.1006051833420.549032@stalin.acc.umu.se>
References: <Pine.A41.4.64.1006041524370.819408@stalin.acc.umu.se>
	<Pine.A41.4.64.1006051129590.1097872@stalin.acc.umu.se>
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED;
	BOUNDARY="-2098261369-1344207341-1275755722=:549032"
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-1344207341-1275755722=:549032
Content-Type: TEXT/PLAIN; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8BIT


Updated to the latest kernel.

Bo Brantén

---2098261369-1344207341-1275755722=:549032
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=patch-arla-0.90-Linux3
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.A41.4.64.1006051835220.549032@stalin.acc.umu.se>
Content-Description: 
Content-Disposition: attachment; filename=patch-arla-0.90-Linux3

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
ZnNfaW5vZGVvcHMuYwkyMDEwLTA2LTA1IDE2OjU0OjQ3Ljg2NjE4OTA2NyAr
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
LTQ2MCw5ICs0NzgsMTcgQEAgbm5wZnNfZnN5bmNfaW50KHN0cnVjdCBmaWxl
ICpmaWxlLCB1X2ludA0KICAqDQogICovDQogDQorI2lmIExJTlVYX1ZFUlNJ
T05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsIDYsIDM1KQ0KIHN0YXRpYyBp
bnQNCiBubnBmc19mc3luYyhzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IGRl
bnRyeSAqZGVudHJ5LCBpbnQgZGF0YXN5bmMpDQorI2Vsc2UNCitzdGF0aWMg
aW50DQorbm5wZnNfZnN5bmMoc3RydWN0IGZpbGUgKmZpbGUsIGludCBkYXRh
c3luYykNCisjZW5kaWYNCiB7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+
PSBLRVJORUxfVkVSU0lPTigyLCA2LCAzNSkNCisgICAgc3RydWN0IGRlbnRy
eSAqZGVudHJ5ID0gZmlsZS0+Zl9wYXRoLmRlbnRyeTsNCisjZW5kaWYNCiAg
ICAgc3RydWN0IGlub2RlICppbm9kZSA9IERFTlRSWV9UT19JTk9ERShkZW50
cnkpOw0KICAgICBzdHJ1Y3Qgbm5wZnMgKm5ucGZzcDsNCiAgICAgc3RydWN0
IG5ucGZzX25vZGUgKnhuOw0KQEAgLTUxMSw3ICs1MzcsMTEgQEAgbm5wZnNf
YXR0cl92YWxpZChzdHJ1Y3QgaW5vZGUgKiB2cCwgdV9pbg0KICAgICAgICAg
ICAgIHN0cnVjdCBubnBmc19tZXNzYWdlX2dldGF0dHIgbXNnOw0KIA0KICAg
ICAgICAgICAgIG1zZy5oZWFkZXIub3Bjb2RlID0gTk5QRlNfTVNHX0dFVEFU
VFI7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxfVkVSU0lP
TigyLDYsMjgpDQogICAgICAgICAgICAgbXNnLmNyZWQudWlkID0gY3VycmVu
dC0+dWlkOw0KKyNlbHNlDQorICAgICAgICAgICAgbXNnLmNyZWQudWlkID0g
Y3VycmVudF91aWQoKTsNCisjZW5kaWYNCiAgICAgICAgICAgICBtc2cuY3Jl
ZC5wYWcgPSBwYWc7DQogICAgICAgICAgICAgbXNnLmhhbmRsZSA9IHhuLT5o
YW5kbGU7DQogICAgICAgICAgICAgZXJyb3IgPSBubnBmc19tZXNzYWdlX3Jw
YyhubnBmc3AsICZtc2cuaGVhZGVyLCBzaXplb2YobXNnKSk7DQpAQCAtNTUx
LDcgKzU4MSwxMSBAQCBubnBmc19yaWdodHNfdmFsaWQoc3RydWN0IGlub2Rl
ICogdnAsIG5uDQogICAgICAgICAgICAgc3RydWN0IG5ucGZzX21lc3NhZ2Vf
Z2V0YXR0ciBtc2c7DQogDQogICAgICAgICAgICAgbXNnLmhlYWRlci5vcGNv
ZGUgPSBOTlBGU19NU0dfR0VUQVRUUjsNCisjaWYgTElOVVhfVkVSU0lPTl9D
T0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCiAgICAgICAgICAgICBt
c2cuY3JlZC51aWQgPSBjdXJyZW50LT51aWQ7DQorI2Vsc2UNCisgICAgICAg
ICAgICBtc2cuY3JlZC51aWQgPSBjdXJyZW50X3VpZCgpOw0KKyNlbmRpZg0K
ICAgICAgICAgICAgIG1zZy5jcmVkLnBhZyA9IHBhZzsNCiAgICAgICAgICAg
ICBtc2cuaGFuZGxlID0geG4tPmhhbmRsZTsNCiAgICAgICAgICAgICBlcnJv
ciA9IG5ucGZzX21lc3NhZ2VfcnBjKG5ucGZzcCwgJm1zZy5oZWFkZXIsIHNp
emVvZihtc2cpKTsNCkBAIC01OTIsOCArNjI2LDEzIEBAIGNoZWNrX3JpZ2h0
cyAobm5wZnNfcmlnaHRzIHJpZ2h0cywgaW50IG0NCiAgKiBXZSBkb24ndCBo
b2xkIGlfbXV0ZXguDQogICovDQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09E
RSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwyNykNCiBzdGF0aWMgaW50DQogbm5w
ZnNfcGVybWlzc2lvbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgbW9kZSwg
c3RydWN0IG5hbWVpZGF0YSAqbmQpDQorI2Vsc2UNCitzdGF0aWMgaW50DQor
bm5wZnNfcGVybWlzc2lvbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBpbnQgbW9k
ZSkNCisjZW5kaWYNCiB7DQogICAgIGludCBlcnJvciA9IDA7DQogICAgIG5u
cGZzX3BhZ190IHBhZyA9IG5ucGZzX2dldF9wYWcoKTsNCkBAIC02MzYsNyAr
Njc1LDExIEBAIG5ucGZzX2RvX2dldGRhdGEoc3RydWN0IG5ucGZzX25vZGUg
KnhuLCANCiAgICAgaW50IGVycm9yOw0KIA0KICAgICBtc2cuaGVhZGVyLm9w
Y29kZSA9IE5OUEZTX01TR19HRVREQVRBOw0KKyNpZiBMSU5VWF9WRVJTSU9O
X0NPREUgPD0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KICAgICBtc2cuY3Jl
ZC51aWQgPSBjdXJyZW50LT51aWQ7DQorI2Vsc2UNCisgICAgbXNnLmNyZWQu
dWlkID0gY3VycmVudF91aWQoKTsNCisjZW5kaWYNCiAgICAgbXNnLmNyZWQu
cGFnID0gbm5wZnNfZ2V0X3BhZygpOw0KICAgICBtc2cuaGFuZGxlID0geG4t
PmhhbmRsZTsNCiAgICAgbXNnLnRva2VucyA9IHRvazsNCkBAIC05MDMsOSAr
OTQ2LDE3IEBAIG5ucGZzX2NyZWF0ZShzdHJ1Y3QgaW5vZGUgKmRpciwgc3Ry
dWN0IGQNCiAgICAgWEFfQ0xFQVIoJm1zZy5hdHRyKTsNCiAgICAgWEFfU0VU
X01PREUoJm1zZy5hdHRyLCBtb2RlKTsNCiAgICAgWEFfU0VUX1RZUEUoJm1z
Zy5hdHRyLCBOTlBGU19GSUxFX1JFRyk7DQorI2lmIExJTlVYX1ZFUlNJT05f
Q09ERSA8PSBLRVJORUxfVkVSU0lPTigyLDYsMjgpDQogICAgIFhBX1NFVF9H
SUQoJm1zZy5hdHRyLCBjdXJyZW50LT5mc2dpZCk7DQorI2Vsc2UNCisgICAg
WEFfU0VUX0dJRCgmbXNnLmF0dHIsIGN1cnJlbnRfZnNnaWQoKSk7DQorI2Vu
ZGlmDQogICAgIG1zZy5tb2RlID0gMDsJCS8qIFhYWCAqLw0KKyNpZiBMSU5V
WF9WRVJTSU9OX0NPREUgPD0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KICAg
ICBtc2cuY3JlZC51aWQgPSBjdXJyZW50LT51aWQ7DQorI2Vsc2UNCisgICAg
bXNnLmNyZWQudWlkID0gY3VycmVudF91aWQoKTsNCisjZW5kaWYNCiAgICAg
bXNnLmNyZWQucGFnID0gbm5wZnNfZ2V0X3BhZygpOw0KICAgICBlcnJvciA9
IG5ucGZzX21lc3NhZ2VfcnBjKG5ucGZzcCwgJm1zZy5oZWFkZXIsIHNpemVv
Zihtc2cpKTsNCiAgICAgaWYgKGVycm9yID09IDApDQpAQCAtOTQ2LDcgKzk5
NywxMSBAQCBubnBmc191bmxpbmsgKHN0cnVjdCBpbm9kZSAqIGRpciwgc3Ry
dWN0DQogICAgIGlmIChzdHJsY3B5KG1zZy5uYW1lLCBkZW50cnktPmRfbmFt
ZS5uYW1lLCBzaXplb2YobXNnLm5hbWUpKSA+PSBOTlBGU19NQVhfTkFNRSkN
CiAJcmV0dXJuIC1FTkFNRVRPT0xPTkc7DQogDQorI2lmIExJTlVYX1ZFUlNJ
T05fQ09ERSA8PSBLRVJORUxfVkVSU0lPTigyLDYsMjgpDQogICAgIG1zZy5j
cmVkLnVpZCA9IGN1cnJlbnQtPnVpZDsNCisjZWxzZQ0KKyAgICBtc2cuY3Jl
ZC51aWQgPSBjdXJyZW50X3VpZCgpOw0KKyNlbmRpZg0KICAgICBtc2cuY3Jl
ZC5wYWcgPSBubnBmc19nZXRfcGFnKCk7DQogICAgIGVycm9yID0gbm5wZnNf
bWVzc2FnZV9ycGMobm5wZnNwLCAmbXNnLmhlYWRlciwgc2l6ZW9mKG1zZykp
Ow0KICAgICBpZiAoZXJyb3IgPT0gMCkNCkBAIC05OTEsNyArMTA0NiwxMSBA
QCBubnBmc19yZW5hbWUgKHN0cnVjdCBpbm9kZSAqIG9sZF9kaXIsIHN0DQog
ICAgIGlmIChzdHJsY3B5KG1zZy5uZXdfbmFtZSwgbmV3X2RlbnRyeS0+ZF9u
YW1lLm5hbWUsIHNpemVvZihtc2cubmV3X25hbWUpKSA+PSBOTlBGU19NQVhf
TkFNRSkNCiAJcmV0dXJuIC1FTkFNRVRPT0xPTkc7DQogCQ0KKyNpZiBMSU5V
WF9WRVJTSU9OX0NPREUgPD0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KICAg
ICBtc2cuY3JlZC51aWQgPSBjdXJyZW50LT51aWQ7DQorI2Vsc2UNCisgICAg
bXNnLmNyZWQudWlkID0gY3VycmVudF91aWQoKTsNCisjZW5kaWYNCiAgICAg
bXNnLmNyZWQucGFnID0gbm5wZnNfZ2V0X3BhZygpOw0KICAgICBlcnJvciA9
IG5ucGZzX21lc3NhZ2VfcnBjKG5ucGZzcCwgJm1zZy5oZWFkZXIsIHNpemVv
Zihtc2cpKTsNCiAgICAgaWYgKGVycm9yID09IDApDQpAQCAtMTA0MCw5ICsx
MDk5LDE3IEBAIG5ucGZzX21rZGlyKHN0cnVjdCBpbm9kZSAqIGRpciwgc3Ry
dWN0IGQNCiAJWEFfQ0xFQVIoJm1zZy5hdHRyKTsNCiAJWEFfU0VUX01PREUo
Jm1zZy5hdHRyLCBtb2RlKTsNCiAJWEFfU0VUX1RZUEUoJm1zZy5hdHRyLCBO
TlBGU19GSUxFX0RJUik7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBL
RVJORUxfVkVSU0lPTigyLDYsMjgpDQogCVhBX1NFVF9HSUQoJm1zZy5hdHRy
LCBjdXJyZW50LT5mc2dpZCk7DQorI2Vsc2UNCisgICAgICAgIFhBX1NFVF9H
SUQoJm1zZy5hdHRyLCBjdXJyZW50X2ZzZ2lkKCkpOw0KKyNlbmRpZg0KIA0K
KyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPD0gS0VSTkVMX1ZFUlNJT04oMiw2
LDI4KQ0KIAltc2cuY3JlZC51aWQgPSBjdXJyZW50LT51aWQ7DQorI2Vsc2UN
CisgICAgICAgIG1zZy5jcmVkLnVpZCA9IGN1cnJlbnRfdWlkKCk7DQorI2Vu
ZGlmDQogCW1zZy5jcmVkLnBhZyA9IG5ucGZzX2dldF9wYWcoKTsNCiAJZXJy
b3IgPSBubnBmc19tZXNzYWdlX3JwYyhubnBmc3AsICZtc2cuaGVhZGVyLCBz
aXplb2YobXNnKSk7DQogCWlmIChlcnJvciA9PSAwKQ0KQEAgLTEwODMsNyAr
MTE1MCwxMSBAQCBubnBmc19ybWRpcihzdHJ1Y3QgaW5vZGUgKiBkaXIsIHN0
cnVjdCBkDQogICAgIG1zZy5wYXJlbnRfaGFuZGxlID0geG4tPmhhbmRsZTsN
CiAgICAgaWYgKHN0cmxjcHkobXNnLm5hbWUsIGRlbnRyeS0+ZF9uYW1lLm5h
bWUsIHNpemVvZihtc2cubmFtZSkpID49IE5OUEZTX01BWF9OQU1FKQ0KIAkg
ICAgcmV0dXJuIC1FTkFNRVRPT0xPTkc7DQorI2lmIExJTlVYX1ZFUlNJT05f
Q09ERSA8PSBLRVJORUxfVkVSU0lPTigyLDYsMjgpDQogICAgIG1zZy5jcmVk
LnVpZCA9IGN1cnJlbnQtPnVpZDsNCisjZWxzZQ0KKyAgICBtc2cuY3JlZC51
aWQgPSBjdXJyZW50X3VpZCgpOw0KKyNlbmRpZg0KICAgICBtc2cuY3JlZC5w
YWcgPSBubnBmc19nZXRfcGFnKCk7DQogICAgIGVycm9yID0gbm5wZnNfbWVz
c2FnZV9ycGMobm5wZnNwLCAmbXNnLmhlYWRlciwgc2l6ZW9mKG1zZykpOw0K
ICAgICBpZiAoZXJyb3IgPT0gMCkNCkBAIC0xMTI4LDcgKzExOTksMTEgQEAg
c3RhdGljIGludCBubnBmc19saW5rKHN0cnVjdCBkZW50cnkgKm9sZA0KIAlp
ZiAoc3RybGNweShtc2cubmFtZSwgbmFtZSwgc2l6ZW9mKG1zZy5uYW1lKSkg
Pj0gTk5QRlNfTUFYX05BTUUpDQogCSAgICByZXR1cm4gLUVOQU1FVE9PTE9O
RzsNCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJT
SU9OKDIsNiwyOCkNCiAJbXNnLmNyZWQudWlkID0gY3VycmVudC0+dWlkOw0K
KyNlbHNlDQorICAgICAgICBtc2cuY3JlZC51aWQgPSBjdXJyZW50X3VpZCgp
Ow0KKyNlbmRpZg0KIAltc2cuY3JlZC5wYWcgPSBubnBmc19nZXRfcGFnKCk7
DQogCWVycm9yID0gbm5wZnNfbWVzc2FnZV9ycGMobm5wZnNwLCAmbXNnLmhl
YWRlciwgc2l6ZW9mKG1zZykpOw0KIAlpZiAoZXJyb3IgPT0gMCkNCkBAIC0x
MTU3LDI5ICsxMjMyLDQ3IEBAIHN0YXRpYyBpbnQgbm5wZnNfc3ltbGluayhz
dHJ1Y3QgaW5vZGUgKmQNCiAgICAgeG4gPSBWTk9ERV9UT19YTk9ERShkaXIp
Ow0KIA0KICAgICB7DQotCXN0cnVjdCBubnBmc19tZXNzYWdlX3N5bWxpbmsg
bXNnOw0KKwlzdHJ1Y3Qgbm5wZnNfbWVzc2FnZV9zeW1saW5rICptc2cgPSBO
VUxMOw0KIA0KLQltc2cuaGVhZGVyLm9wY29kZSA9IE5OUEZTX01TR19TWU1M
SU5LOw0KLQltc2cucGFyZW50X2hhbmRsZSA9IHhuLT5oYW5kbGU7DQotCWlm
IChzdHJsY3B5KG1zZy5uYW1lLCBuYW1lLCBzaXplb2YobXNnLm5hbWUpKSA+
PSBOTlBGU19NQVhfTkFNRSkNCi0JICAgIHJldHVybiAtRU5BTUVUT09MT05H
Ow0KLQlpZiAoc3RybGNweShtc2cuY29udGVudHMsIHN5bW5hbWUsIHNpemVv
Zihtc2cuY29udGVudHMpKSA+PSBOTlBGU19NQVhfU1lNTElOS19DT05URU5U
KQ0KLQkgICAgcmV0dXJuIC1FTkFNRVRPT0xPTkc7DQotCVhBX0NMRUFSKCZt
c2cuYXR0cik7DQotCVhBX1NFVF9NT0RFKCZtc2cuYXR0ciwgMDc3Nyk7DQot
CVhBX1NFVF9UWVBFKCZtc2cuYXR0ciwgTk5QRlNfRklMRV9MTkspOw0KLQlY
QV9TRVRfR0lEKCZtc2cuYXR0ciwgY3VycmVudC0+ZnNnaWQpOw0KKwltc2cg
PSBrbWFsbG9jKHNpemVvZihzdHJ1Y3Qgbm5wZnNfbWVzc2FnZV9zeW1saW5r
KSwgR0ZQX0tFUk5FTCk7DQogDQotCW1zZy5jcmVkLnVpZCA9IGN1cnJlbnQt
PnVpZDsNCi0JbXNnLmNyZWQucGFnID0gbm5wZnNfZ2V0X3BhZygpOw0KLQll
cnJvciA9IG5ucGZzX21lc3NhZ2VfcnBjKG5ucGZzcCwgJm1zZy5oZWFkZXIs
IHNpemVvZihtc2cpKTsNCisJaWYgKCFtc2cpDQorCSAgcmV0dXJuIC1FTk9N
RU07DQorDQorCW1zZy0+aGVhZGVyLm9wY29kZSA9IE5OUEZTX01TR19TWU1M
SU5LOw0KKwltc2ctPnBhcmVudF9oYW5kbGUgPSB4bi0+aGFuZGxlOw0KKwlp
ZiAoc3RybGNweShtc2ctPm5hbWUsIG5hbWUsIHNpemVvZihtc2ctPm5hbWUp
KSA+PSBOTlBGU19NQVhfTkFNRSkgew0KKwkgIGtmcmVlKG1zZyk7DQorCSAg
cmV0dXJuIC1FTkFNRVRPT0xPTkc7DQorCX0NCisJaWYgKHN0cmxjcHkobXNn
LT5jb250ZW50cywgc3ltbmFtZSwgc2l6ZW9mKG1zZy0+Y29udGVudHMpKSA+
PSBOTlBGU19NQVhfU1lNTElOS19DT05URU5UKSB7DQorCSAga2ZyZWUobXNn
KTsNCisJICByZXR1cm4gLUVOQU1FVE9PTE9ORzsNCisJfQ0KKwlYQV9DTEVB
UigmbXNnLT5hdHRyKTsNCisJWEFfU0VUX01PREUoJm1zZy0+YXR0ciwgMDc3
Nyk7DQorCVhBX1NFVF9UWVBFKCZtc2ctPmF0dHIsIE5OUEZTX0ZJTEVfTE5L
KTsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9O
KDIsNiwyOCkNCisJWEFfU0VUX0dJRCgmbXNnLT5hdHRyLCBjdXJyZW50LT5m
c2dpZCk7DQorI2Vsc2UNCisgICAgICAgIFhBX1NFVF9HSUQoJm1zZy0+YXR0
ciwgY3VycmVudF9mc2dpZCgpKTsNCisjZW5kaWYNCisNCisjaWYgTElOVVhf
VkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCisJbXNn
LT5jcmVkLnVpZCA9IGN1cnJlbnQtPnVpZDsNCisjZWxzZQ0KKyAgICAgICAg
bXNnLT5jcmVkLnVpZCA9IGN1cnJlbnRfdWlkKCk7DQorI2VuZGlmDQorCW1z
Zy0+Y3JlZC5wYWcgPSBubnBmc19nZXRfcGFnKCk7DQorCWVycm9yID0gbm5w
ZnNfbWVzc2FnZV9ycGMobm5wZnNwLCAmbXNnLT5oZWFkZXIsIHNpemVvZihz
dHJ1Y3Qgbm5wZnNfbWVzc2FnZV9zeW1saW5rKSk7DQogCWlmIChlcnJvciA9
PSAwKQ0KLQkgICAgZXJyb3IgPSBOTlBGU19NU0dfV0FLRVVQX0VSUk9SKCZt
c2cpOw0KKwkgICAgZXJyb3IgPSBOTlBGU19NU0dfV0FLRVVQX0VSUk9SKG1z
Zyk7DQogDQogCS8qIFhYWCBzaG91bGQgdGhpcyByZWFsbHkgYmUgaGVyZSAq
Lw0KIAlpZiAoREVOVFJZX1RPX1hERU5UUlkoZGVudHJ5KS0+eGRfZmxhZ3Mg
PT0gMCkgew0KIAkgICAgcHJpbnRrKEtFUk5fRU1FUkcgIk5OUEZTIFBhbmlj
OiBubnBmc19zeW1saW5rOiBkZW50cnkgbm90IHZhbGlkXG4iKTsNCiAJfQ0K
KwlrZnJlZShtc2cpOw0KICAgICB9DQogDQogICAgIHJldHVybiBlcnJvcjsN
CkBAIC0xMzk4LDcgKzE0OTEsMTEgQEAgbm5wZnNfc2V0YXR0ciAoc3RydWN0
IGRlbnRyeSAqZGVudHJ5LCBzdA0KICAgICAgICAgc3RydWN0IG5ucGZzX21l
c3NhZ2VfcHV0YXR0ciBtc2c7DQogDQogICAgICAgICBtc2cuaGVhZGVyLm9w
Y29kZSA9IE5OUEZTX01TR19QVVRBVFRSOw0KKyNpZiBMSU5VWF9WRVJTSU9O
X0NPREUgPD0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KIAltc2cuY3JlZC51
aWQgPSBjdXJyZW50LT51aWQ7DQorI2Vsc2UNCisgICAgICAgIG1zZy5jcmVk
LnVpZCA9IGN1cnJlbnRfdWlkKCk7DQorI2VuZGlmDQogCW1zZy5jcmVkLnBh
ZyA9IG5ucGZzX2dldF9wYWcoKTsNCiAgICAgICAgIG1zZy5oYW5kbGUgPSB4
bi0+aGFuZGxlOw0KICAgICAgICAgbm5wZnNfaWF0dHIyYXR0cih4biwgYXR0
ciwgJm1zZy5hdHRyKTsNCkBAIC0xNTQ1LDYgKzE2NDIsOCBAQCBubnBmc19k
X2RlbGV0ZShzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpDQogICAgIHJldHVybiAw
Ow0KIH0NCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZF
UlNJT04oMiwgNiwgMjMpDQorDQogc3RhdGljIHNzaXplX3QNCiBubnBmc19z
ZW5kZmlsZShzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9mZl90ICpwcG9zLCBzaXpl
X3QgY291bnQsDQogCSAgICAgICByZWFkX2FjdG9yX3QgYWN0b3IsIHZvaWQg
KnRhcmdldCkNCkBAIC0xNTY4LDYgKzE2NjcsMzMgQEAgbm5wZnNfc2VuZGZp
bGUoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZfdA0KICAgICByZXR1cm4gZXJy
b3I7DQogfQ0KIA0KKyNlbHNlDQorDQorc3RhdGljIHNzaXplX3QNCitubnBm
c19zcGxpY2VfcmVhZChzdHJ1Y3QgZmlsZSAqZmlsZSwgbG9mZl90ICpwcG9z
LA0KKwkJICBzdHJ1Y3QgcGlwZV9pbm9kZV9pbmZvICpwaXBlLCBzaXplX3Qg
Y291bnQsDQorCQkgIHVuc2lnbmVkIGludCBmbGFncykNCit7DQorICAgIGlu
dCBlcnJvciA9IDA7DQorICAgIHN0cnVjdCBpbm9kZSAqaW5vZGUgPSBmaWxl
LT5mX2RlbnRyeS0+ZF9pbm9kZTsNCisgICAgc3RydWN0IG5ucGZzX25vZGUg
KnhuID0gVk5PREVfVE9fWE5PREUoaW5vZGUpOw0KKyAgICANCisgICAgaWYg
KHhuICE9IE5VTEwpDQorCU5OUEZTREVCKFhERUJWTk9QUywgKCJubnBmc19z
ZW5kZmlsZTogdG9rZW5zOiAweCV4XG4iLCB4bi0+dG9rZW5zKSk7DQorDQor
ICAgIGVycm9yID0gbm5wZnNfZGF0YV92YWxpZChpbm9kZSwgTk5QRlNfREFU
QV9SLCAqcHBvcywgKnBwb3MgKyBjb3VudCk7DQorICAgIGlmIChlcnJvcikg
ew0KKwlOTlBGU0RFQihYREVCVk5PUFMsICgibm5wZnNfc2VuZGZpbGU6IGRh
dGEgbm90IHZhbGlkICVkXG4iLCBlcnJvcikpOw0KKwlyZXR1cm4gZXJyb3I7
DQorICAgIH0NCisgICAgZXJyb3IgPSBmaWxlLT5mX29wLT5zcGxpY2VfcmVh
ZChmaWxlLCBwcG9zLCBwaXBlLCBjb3VudCwgZmxhZ3MpOw0KKw0KKyAgICBO
TlBGU0RFQihYREVCVk5PUFMsICgibm5wZnNfc2VuZGZpbGU6IGVycm9yID0g
JWRcbiIsIGVycm9yKSk7DQorICAgIHJldHVybiBlcnJvcjsNCit9DQorDQor
I2VuZGlmIC8qIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9O
KDIsIDYsIDIzKSAqLw0KKw0KIC8qDQogICoNCiAgKg0KQEAgLTE2MzksMTEg
KzE3NjUsMTUgQEAgbm5wZnNfd3JpdGVfYmFja3BhZ2Uoc3RydWN0IHBhZ2Ug
KnBhZ2UsIA0KIAlzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZyA9IGJh
Y2tmaWxlLT5mX21hcHBpbmc7DQogCXVuc2lnbmVkIGxlbiA9IFBBR0VfQ0FD
SEVfU0laRTsNCiAJc3RydWN0IHBhZ2UgKmJhY2twYWdlOw0KKyNpZiBMSU5V
WF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMiw2LDI0KQ0KKwl2
b2lkICpmc2RhdGE7DQorI2VuZGlmDQogCXVuc2lnbmVkIGxvbmcgb2Zmc2V0
Ow0KIA0KIAlpbnQgZXJyb3I7DQogCQ0KIAlkbyB7DQorI2lmIExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwyNCkNCiAJCWJhY2tw
YWdlID0gZ3JhYl9jYWNoZV9wYWdlKG1hcHBpbmcsIG5ucGZzX2dldF9iYWNr
aW5kZXgocGFnZSkpOw0KIAkJaWYgKCFiYWNrcGFnZSkgew0KIAkJCXByaW50
aygibm5wZnNfd3JpdGVfYmFja3BhZ2U6IG5vIHBhZ2VcbiIpOw0KQEAgLTE2
NTIsMjEgKzE3ODIsMzYgQEAgbm5wZnNfd3JpdGVfYmFja3BhZ2Uoc3RydWN0
IHBhZ2UgKnBhZ2UsIA0KIA0KIAkJZXJyb3IgPSBtYXBwaW5nLT5hX29wcy0+
cHJlcGFyZV93cml0ZShiYWNrZmlsZSwgYmFja3BhZ2UsDQogCQkJCQkJICAg
ICAgMCwgbGVuKTsNCisjZWxzZQ0KKwkJZXJyb3IgPSBwYWdlY2FjaGVfd3Jp
dGVfYmVnaW4oYmFja2ZpbGUsIG1hcHBpbmcsIDAsIGxlbiwNCisJCQkJQU9Q
X0ZMQUdfVU5JTlRFUlJVUFRJQkxFLCAmYmFja3BhZ2UsICZmc2RhdGEpOw0K
KyNlbmRpZg0KIAkJaWYgKCFlcnJvcikgew0KIAkJCWNvcHlfaGlnaHBhZ2Uo
YmFja3BhZ2UsIHBhZ2UpOw0KIAkJCWZsdXNoX2RjYWNoZV9wYWdlKGJhY2tw
YWdlKTsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJ
T04oMiw2LDI0KQ0KIAkJCWVycm9yID0gbWFwcGluZy0+YV9vcHMtPmNvbW1p
dF93cml0ZShiYWNrZmlsZSwgYmFja3BhZ2UsDQogCQkJCQkJCSAgICAgMCwg
bGVuKTsNCisjZWxzZQ0KKwkJCWVycm9yID0gcGFnZWNhY2hlX3dyaXRlX2Vu
ZChiYWNrZmlsZSwgbWFwcGluZywgMCwgbGVuLA0KKwkJCQkJbGVuLCBiYWNr
cGFnZSwgZnNkYXRhKTsNCisJCQlpZiAoZXJyb3IgPiAwKQ0KKwkJCQllcnJv
ciA9IDA7DQorI2VuZGlmDQogCQl9DQogCQlpZiAoZXJyb3IgPT0gQU9QX1RS
VU5DQVRFRF9QQUdFKSB7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtF
Uk5FTF9WRVJTSU9OKDIsNiwyNCkNCiAJCQlwYWdlX2NhY2hlX3JlbGVhc2Uo
YmFja3BhZ2UpOw0KKyNlbmRpZg0KIAkJCWNvbnRpbnVlOw0KIAkJfQ0KIAl9
IHdoaWxlICgwKTsNCiANCiAJb2Zmc2V0ID0gcGFnZV9vZmZzZXQoYmFja3Bh
Z2UpOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lP
TigyLDYsMjQpDQogCXVubG9ja19wYWdlKGJhY2twYWdlKTsNCiAJcGFnZV9j
YWNoZV9yZWxlYXNlKGJhY2twYWdlKTsNCisjZW5kaWYNCiANCiAJaWYgKGVy
cm9yKQ0KIAkJcHJpbnRrKCJubnBmc193cml0ZV9iYWNrcGFnZTogRUlPXG4i
KTsNCkBAIC0xODcyLDYgKzIwMTcsMzQgQEAgbm5wZnNfcHJlcGFyZV93cml0
ZShzdHJ1Y3QgZmlsZSAqZmlsZSwgcw0KIAlyZXR1cm4gcmV0Ow0KIH0NCiAN
CisjaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDIs
NiwyOCkNCisNCitzdGF0aWMgaW50DQorbm5wZnNfd3JpdGVfYmVnaW4oc3Ry
dWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5n
LCBsb2ZmX3QgcG9zLA0KK3Vuc2lnbmVkIGxlbiwgdW5zaWduZWQgZmxhZ3Ms
IHN0cnVjdCBwYWdlICoqcGFnZXAsIHZvaWQgKipmc2RhdGEpDQorew0KKwlz
dHJ1Y3QgcGFnZSAqcGFnZTsNCisJcGdvZmZfdCBpbmRleDsNCisJdW5zaWdu
ZWQgZnJvbTsNCisNCisJaW5kZXggPSBwb3MgPj4gUEFHRV9DQUNIRV9TSElG
VDsNCisJZnJvbSA9IHBvcyAmIChQQUdFX0NBQ0hFX1NJWkUgLSAxKTsNCisN
CisjaWZuZGVmIEFPUF9GTEFHX05PRlMNCisJcGFnZSA9IF9fZ3JhYl9jYWNo
ZV9wYWdlKG1hcHBpbmcsIGluZGV4KTsNCisjZWxzZQ0KKwlwYWdlID0gZ3Jh
Yl9jYWNoZV9wYWdlX3dyaXRlX2JlZ2luKG1hcHBpbmcsIGluZGV4LCBmbGFn
cyk7DQorI2VuZGlmDQorCWlmICghcGFnZSkNCisJCXJldHVybiAtRU5PTUVN
Ow0KKw0KKwkqcGFnZXAgPSBwYWdlOw0KKw0KKwlyZXR1cm4gbm5wZnNfcHJl
cGFyZV93cml0ZShmaWxlLCBwYWdlLCBmcm9tLCBmcm9tK2xlbik7DQorfQ0K
Kw0KKyNlbmRpZg0KKw0KIHN0YXRpYyBpbnQNCiBubnBmc19jb21taXRfd3Jp
dGUoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBwYWdlICpwYWdlLCB1bnNp
Z25lZCBmcm9tLCB1bnNpZ25lZCB0bykNCiB7DQpAQCAtMTkwMiwxNCArMjA3
NSw0NSBAQCBubnBmc19jb21taXRfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUs
IHN0DQogICAgIHJldHVybiAwOw0KIH0NCiANCisjaWYgTElOVVhfVkVSU0lP
Tl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCisNCitzdGF0aWMg
aW50DQorbm5wZnNfd3JpdGVfZW5kKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1
Y3QgYWRkcmVzc19zcGFjZSAqbWFwcGluZywgbG9mZl90IHBvcywNCit1bnNp
Z25lZCBsZW4sIHVuc2lnbmVkIGNvcGllZCwgc3RydWN0IHBhZ2UgKnBhZ2Us
IHZvaWQgKmZzZGF0YSkNCit7DQorCXVuc2lnbmVkIGZyb20gPSBwb3MgJiAo
UEFHRV9DQUNIRV9TSVpFIC0gMSk7DQorDQorCS8qIHplcm8gdGhlIHN0YWxl
IHBhcnQgb2YgdGhlIHBhZ2UgaWYgd2UgZGlkIGEgc2hvcnQgY29weSAqLw0K
KwlpZiAoY29waWVkIDwgbGVuKSB7DQorCQl2b2lkICprYWRkciA9IGttYXBf
YXRvbWljKHBhZ2UsIEtNX1VTRVIwKTsNCisJCW1lbXNldChrYWRkciArIGZy
b20gKyBjb3BpZWQsIDAsIGxlbiAtIGNvcGllZCk7DQorCQlmbHVzaF9kY2Fj
aGVfcGFnZShwYWdlKTsNCisJCWt1bm1hcF9hdG9taWMoa2FkZHIsIEtNX1VT
RVIwKTsNCisJfQ0KKw0KKwlubnBmc19jb21taXRfd3JpdGUoZmlsZSwgcGFn
ZSwgZnJvbSwgZnJvbStjb3BpZWQpOw0KKw0KKwl1bmxvY2tfcGFnZShwYWdl
KTsNCisJcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2UpOw0KKw0KKwlyZXR1cm4g
Y29waWVkOw0KK30NCisNCisjZW5kaWYNCisNCiAjaWYgTElOVVhfVkVSU0lP
Tl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDIsNiwxOCkNCiBjb25zdA0KICNl
bmRpZg0KIHN0cnVjdCBhZGRyZXNzX3NwYWNlX29wZXJhdGlvbnMgbm5wZnNf
YW9wcyA9IHsNCiAJLnJlYWRwYWdlID0gbm5wZnNfcmVhZHBhZ2UsDQogCS53
cml0ZXBhZ2UgPSBubnBmc193cml0ZXBhZ2UsDQorI2lmIExJTlVYX1ZFUlNJ
T05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCiAJLnByZXBhcmVf
d3JpdGUgPSBubnBmc19wcmVwYXJlX3dyaXRlLA0KIAkuY29tbWl0X3dyaXRl
ID0gbm5wZnNfY29tbWl0X3dyaXRlLA0KKyNlbHNlDQorCS53cml0ZV9iZWdp
biA9IG5ucGZzX3dyaXRlX2JlZ2luLA0KKwkud3JpdGVfZW5kID0gbm5wZnNf
d3JpdGVfZW5kLA0KKyNlbmRpZg0KIH07DQogDQogLyoNCkBAIC0xOTI0LDcg
KzIxMjgsMTEgQEAgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBubnBmc19maWxl
X29wZXJhdA0KICAgICAuZmx1c2gJPSBubnBmc19mbHVzaCwNCiAgICAgLnJl
bGVhc2UJPSBubnBmc19yZWxlYXNlX2ZpbGUsDQogICAgIC5mc3luYwk9IG5u
cGZzX2ZzeW5jLA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxf
VkVSU0lPTigyLCA2LCAyMykNCiAgICAgLnNlbmRmaWxlCT0gbm5wZnNfc2Vu
ZGZpbGUsDQorI2Vsc2UNCisgICAgLnNwbGljZV9yZWFkID0gbm5wZnNfc3Bs
aWNlX3JlYWQsDQorI2VuZGlmDQogfTsNCiANCiBzdHJ1Y3QgZmlsZV9vcGVy
YXRpb25zIG5ucGZzX2RlYWRfb3BlcmF0aW9ucyA9IHsNCmRpZmYgLXVwck4g
YXJsYS0wLjkwL25ucGZzL2xpbnV4L25ucGZzX21lc3NhZ2UuYyBhcmxhLTAu
OTAtbmV3L25ucGZzL2xpbnV4L25ucGZzX21lc3NhZ2UuYw0KLS0tIGFybGEt
MC45MC9ubnBmcy9saW51eC9ubnBmc19tZXNzYWdlLmMJMjAwNy0wMS0wOSAx
NzozMzozMS4wMDAwMDAwMDAgKzAxMDANCisrKyBhcmxhLTAuOTAtbmV3L25u
cGZzL2xpbnV4L25ucGZzX21lc3NhZ2UuYwkyMDEwLTA2LTAzIDIzOjMxOjA2
LjM5MjYxMjAwNiArMDIwMA0KQEAgLTQ1LDcgKzQ1LDcgQEANCiAjaW5jbHVk
ZSA8bGludXgvbW91bnQuaD4NCiANCiAjaWZkZWYgUkNTSUQNCi1SQ1NJRCgi
JElkOiBubnBmc19tZXNzYWdlLmMsdiAxLjE0My4yLjEgMjAwNy8wMS8wOSAx
NjozMzozMSB0b2wgRXhwICQiKTsNCitSQ1NJRCgiJElkOiBubnBmc19tZXNz
YWdlLmMsdiAxLjE0MyAyMDA2LzEyLzExIDE2OjQwOjI0IHRvbCBFeHAgJCIp
Ow0KICNlbmRpZg0KIA0KIHN0YXRpYyB2b2lkDQpAQCAtNjA1LDEyICs2MDUs
MTAgQEAgZ2NfYmxvY2soc3RydWN0IG5ucGZzICpubnBmc3AsDQogICAgIH0N
CiANCiAgICAgaWYgKCFubnBmc19ibG9ja19oYXZlX3AoeG4sIG9mZnNldCkp
IHsNCi0jaWYgMCAgIC8qIGhhcHBlbnMgd2hlbiBkYWVtb24gc2VuZHMgc2V2
ZXJhbCBtZXNzYWdlcyBmb3Igc2FtZSBibG9jayAqLw0KIAlwcmludGsoS0VS
Tl9FTUVSRyAiTk5QRlMvZ2NfYmxvY2s6ICINCiAJICAgICAgICJFTk9FTlQg
KCVkLCVkLCVkLCVkKSAweCVsbHhcbiIsIA0KIAkgICAgICAgeG4tPmhhbmRs
ZS5hLCB4bi0+aGFuZGxlLmIsIHhuLT5oYW5kbGUuYywgeG4tPmhhbmRsZS5k
LCANCiAJICAgICAgICh1bnNpZ25lZCBsb25nIGxvbmcpb2Zmc2V0KTsNCi0j
ZW5kaWYNCiAJcmV0dXJuIC1FTk9FTlQ7DQogICAgIH0NCiANCkBAIC03Mzcs
MTIgKzczNSwyMyBAQCBubnBmc19tZXNzYWdlX3ZlcnNpb24oc3RydWN0IG5u
cGZzICpubnBmDQogCQkgICAibm5wZnNfbWVzc2FnZV92ZXJzaW9uIGZhaWxl
ZCBwYXRoX2xvb2t1cCwgIg0KIAkJICAgImVycm5vOiAlZFxuIiwgZXJyb3Ip
Ow0KIAl9IGVsc2Ugew0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJO
RUxfVkVSU0lPTigyLDYsMjUpDQogCSAgICBubnBmc3AtPmNhY2hlcm9vdCA9
IG1udGdldChuZC5tbnQpOw0KIAkgICAgbm5wZnNwLT5jYWNoZWRpciA9IGRn
ZXQobmQuZGVudHJ5KTsNCiAJICAgIHBhdGhfcmVsZWFzZSgmbmQpOw0KKyNl
bHNlDQorCSAgICBubnBmc3AtPmNhY2hlcm9vdCA9IG1udGdldChuZC5wYXRo
Lm1udCk7DQorCSAgICBubnBmc3AtPmNhY2hlZGlyID0gZGdldChuZC5wYXRo
LmRlbnRyeSk7DQorCSAgICBwYXRoX3B1dCgmbmQucGF0aCk7DQorI2VuZGlm
DQogCSAgICANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9W
RVJTSU9OKDIsNiwyOCkNCiAJICAgIG5ucGZzcC0+dWlkID0gY3VycmVudC0+
ZnN1aWQ7DQogCSAgICBubnBmc3AtPmdpZCA9IGN1cnJlbnQtPmZzZ2lkOw0K
KyNlbHNlDQorICAgICAgICAgICAgbm5wZnNwLT51aWQgPSBjdXJyZW50X2Zz
dWlkKCk7DQorICAgICAgICAgICAgbm5wZnNwLT5naWQgPSBjdXJyZW50X2Zz
Z2lkKCk7DQorI2VuZGlmDQogDQogCSAgICAvKiBYWFggd2Ugc2hvdWxkIHZh
bGlkYXRlIHRoZXNlIHZhbHVlcyAqLw0KIAkgICAgbm5wZnNfYmxvY2tzaXpl
ID0gYmxvY2tzaXplOw0KZGlmZiAtdXByTiBhcmxhLTAuOTAvbm5wZnMvbGlu
dXgvbm5wZnNfc3lzY2FsbHMuYyBhcmxhLTAuOTAtbmV3L25ucGZzL2xpbnV4
L25ucGZzX3N5c2NhbGxzLmMNCi0tLSBhcmxhLTAuOTAvbm5wZnMvbGludXgv
bm5wZnNfc3lzY2FsbHMuYwkyMDA3LTAxLTAzIDE1OjI2OjI3LjAwMDAwMDAw
MCArMDEwMA0KKysrIGFybGEtMC45MC1uZXcvbm5wZnMvbGludXgvbm5wZnNf
c3lzY2FsbHMuYwkyMDEwLTA2LTA0IDAxOjE5OjIyLjgzMjYwOTQzNyArMDIw
MA0KQEAgLTE0NywxMCArMTQ3LDE2IEBAIHN0YXRpYyBpbnQgbm5wZnNfc2Vj
X3JlZ2lzdGVyZWQgPSAwOw0KICNkZWZpbmUgU0VDMlBBRyhzKSAobm5wZnNf
cGFnX3QpKHVuc2lnbmVkIGxvbmcpKHMpDQogI2RlZmluZSBQQUcyU0VDKHAp
ICh2b2lkICopKHVuc2lnbmVkIGxvbmcpKHApDQogDQorI2lmIExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwyNCkNCisNCiBzdGF0
aWMgaW50DQogbm5wZnNfc2VjX3Rhc2tfYWxsb2Moc3RydWN0IHRhc2tfc3Ry
dWN0ICpwKQ0KIHsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5F
TF9WRVJTSU9OKDIsNiwyOCkNCiAgICAgbm5wZnNfcGFnX3QgcGFnID0gU0VD
MlBBRyhjdXJyZW50LT5zZWN1cml0eSk7DQorI2Vsc2UNCisgICAgbm5wZnNf
cGFnX3QgcGFnID0gU0VDMlBBRyhjdXJyZW50X3NlY3VyaXR5KCkpOw0KKyNl
bmRpZg0KICAgICBpZiAocGFnKQ0KIAlwLT5zZWN1cml0eSA9IFBBRzJTRUMo
cGFnKTsNCiAgICAgcmV0dXJuIDA7DQpAQCAtMTY0LDM1ICsxNzAsNTUgQEAg
bm5wZnNfc2VjX3Rhc2tfZnJlZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKg0KIAlw
LT5zZWN1cml0eSA9IE5VTEw7DQogfQ0KIA0KKyNlbmRpZg0KKw0KIHN0YXRp
YyBubnBmc19wYWdfdA0KIG5ucGZzX2dldF9wYWdfc2VjKHZvaWQpDQogew0K
KyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPD0gS0VSTkVMX1ZFUlNJT04oMiw2
LDI4KQ0KICAgICBubnBmc19wYWdfdCBwYWcgPSBTRUMyUEFHKGN1cnJlbnQt
PnNlY3VyaXR5KTsNCisjZWxzZQ0KKyAgICBubnBmc19wYWdfdCBwYWcgPSBT
RUMyUEFHKGN1cnJlbnRfc2VjdXJpdHkoKSk7DQorI2VuZGlmDQogICAgIGlm
IChwYWcpDQogCXJldHVybiBwYWc7DQogDQorI2lmIExJTlVYX1ZFUlNJT05f
Q09ERSA8PSBLRVJORUxfVkVSU0lPTigyLDYsMjgpDQogICAgIHJldHVybiBj
dXJyZW50LT51aWQ7DQorI2Vsc2UNCisgICAgcmV0dXJuIGN1cnJlbnRfdWlk
KCk7DQorI2VuZGlmDQogfQ0KIA0KIHN0YXRpYyBpbnQNCiBubnBmc19zZXRf
cGFnX3NlYyh2b2lkKQ0KIHsNCiAgICAgc3RhdGljIG5ucGZzX3BhZ190IHBh
Z251bSA9IE5OUEZTX1BBR19MTElNOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NP
REUgPj0gS0VSTkVMX1ZFUlNJT04oMiw2LDI5KQ0KKyAgICBzdHJ1Y3QgY3Jl
ZCAqY3JlZDsNCisjZW5kaWYNCiANCiAgICAgaWYgKHBhZ251bSA9PSBOTlBG
U19QQUdfVUxJTSkNCiAJcmV0dXJuIC1FTk9NRU07DQogICAgIC8qIHBhZ251
bSA9IE5OUEZTX1BBR19MTElNOyAqLw0KICAgICANCisjaWYgTElOVVhfVkVS
U0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCiAgICAgY3Vy
cmVudC0+c2VjdXJpdHkgPSBQQUcyU0VDKHBhZ251bSk7DQorI2Vsc2UNCisg
ICAgY3JlZCA9IChzdHJ1Y3QgY3JlZCAqKSBjdXJyZW50LT5jcmVkOw0KKyAg
ICBjcmVkLT5zZWN1cml0eSA9IFBBRzJTRUMocGFnbnVtKTsNCisjZW5kaWYN
CiAgICAgcGFnbnVtKys7DQogICAgIHJldHVybiAwOw0KIH0NCiANCisjaWYg
TElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDI0KQ0K
IHN0YXRpYyBzdHJ1Y3Qgc2VjdXJpdHlfb3BlcmF0aW9ucyBubnBmc19zZWNf
b3BzID0gew0KICAgICAudGFza19hbGxvY19zZWN1cml0eSA9IG5ucGZzX3Nl
Y190YXNrX2FsbG9jLA0KICAgICAudGFza19mcmVlX3NlY3VyaXR5ID0gbm5w
ZnNfc2VjX3Rhc2tfZnJlZSwNCiAvLyAgICAudGFza19yZXBhcmVudF90b19p
bml0ID0gbm5wZnNfc2VjX3JlcGFyZW50X3RvX2luaXQsDQogfTsNCisjZW5k
aWYNCiANCiAjZW5kaWYgLyogQ09ORklHX1NFQ1VSSVRZICovDQogDQpAQCAt
MjIyLDggKzI0OCwxMyBAQCBmaW5kX3BhZyhzdHJ1Y3QgZ3JvdXBfaW5mbyAq
Z2kpDQogc3RhdGljIG5ucGZzX3BhZ190DQogbm5wZnNfZ2V0X3BhZ19ncm91
cCh2b2lkKQ0KIHsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5F
TF9WRVJTSU9OKDIsNiwyOCkNCiAgICAgc3RydWN0IGdyb3VwX2luZm8gKmdp
ID0gY3VycmVudC0+Z3JvdXBfaW5mbzsNCiAgICAgbm5wZnNfcGFnX3QgcmV0
ID0gY3VycmVudC0+dWlkOw0KKyNlbHNlDQorICAgIHN0cnVjdCBncm91cF9p
bmZvICpnaSA9IGdldF9jdXJyZW50X2dyb3VwcygpOw0KKyAgICBubnBmc19w
YWdfdCByZXQgPSBjdXJyZW50X3VpZCgpOw0KKyNlbmRpZg0KICAgICBpbnQg
aTsNCiANCiAgICAgZ2V0X2dyb3VwX2luZm8oZ2kpOw0KQEAgLTI0Miw5ICsy
NzMsMTcgQEAgbm5wZnNfZ2V0X3BhZ19ncm91cCh2b2lkKQ0KIHN0YXRpYyBp
bnQNCiBzdG9yZV9wYWcobm5wZnNfcGFnX3QgcGFnbnVtKQ0KIHsNCisjaWYg
TElOVVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkN
CiAgICAgc3RydWN0IGdyb3VwX2luZm8gKm9sZF9naSA9IGN1cnJlbnQtPmdy
b3VwX2luZm87DQorI2Vsc2UNCisgICBzdHJ1Y3QgZ3JvdXBfaW5mbyAqb2xk
X2dpID0gZ2V0X2N1cnJlbnRfZ3JvdXBzKCk7DQorI2VuZGlmDQogICAgIHN0
cnVjdCBncm91cF9pbmZvICpuZXdfZ2k7DQorI2lmIExJTlVYX1ZFUlNJT05f
Q09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwyNSkNCiAgICAgaW50IG5ibG9j
a3MsIGNvdW50Ow0KKyNlbHNlDQorICAgIHVuc2lnbmVkIGludCBuYmxvY2tz
LCBjb3VudDsNCisjZW5kaWYNCiAgICAgaW50IGZvdW5kID0gMDsNCiAgICAg
aW50IGksIGs7DQogICAgIA0KQEAgLTMxNyw3ICszNTYsMTEgQEAgbm5wZnNf
Z2V0X3BhZygpDQogICAgIHJldHVybiBubnBmc19nZXRfcGFnX2dyb3VwKCk7
DQogI2VuZGlmIC8qIEdST1VQUEFHUyAqLw0KIA0KKyNpZiBMSU5VWF9WRVJT
SU9OX0NPREUgPD0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KICAgICByZXR1
cm4gY3VycmVudC0+dWlkOw0KKyNlbHNlDQorICAgIHJldHVybiBjdXJyZW50
X3VpZCgpOw0KKyNlbmRpZg0KIH0NCiANCiBzdGF0aWMgaW5saW5lIGludA0K
QEAgLTUyOCw3ICs1NzEsMTEgQEAgdXNlcl9wYXRoMmRlbnRyeSAoc3RydWN0
IG5hbWVpZGF0YSAqbmQsIA0KICAgICBwdXRuYW1lKGtuYW1lKTsNCiAgICAg
aWYgKGVycm9yKQ0KIAlyZXR1cm4gRVJSX1BUUihlcnJvcik7DQorI2lmIExJ
TlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwyNSkNCiAg
ICAgcmV0dXJuIG5kLT5kZW50cnk7DQorI2Vsc2UNCisgICAgcmV0dXJuIG5k
LT5wYXRoLmRlbnRyeTsNCisjZW5kaWYNCiB9DQogDQogYXNtbGlua2FnZSBs
b25nDQpAQCAtNTQwLDExICs1ODcsMTYgQEAgc3lzX2Fmc19pbnQgKGludCBv
cGVyYXRpb24sDQogew0KICAgICBsb25nIGVycm9yID0gMDsNCiAgICAgc3Ry
dWN0IGFybGFWaWNlSW9jdGwgdmljZV9pb2N0bDsgDQotICAgIHN0cnVjdCBu
bnBmc19tZXNzYWdlX3Bpb2N0bCBtc2c7DQorICAgIHN0cnVjdCBubnBmc19t
ZXNzYWdlX3Bpb2N0bCAqbXNnID0gTlVMTDsNCiAgICAgc3RydWN0IG5ucGZz
X21lc3NhZ2Vfd2FrZXVwICptc2cyOw0KICAgICBzdHJ1Y3QgZGVudHJ5ICpk
ZW50cnkgPSBOVUxMOw0KICAgICBzdHJ1Y3QgbmFtZWlkYXRhIG5kOw0KLSAg
ICANCisNCisgICAgbXNnID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IG5ucGZz
X21lc3NhZ2VfcGlvY3RsKSwgR0ZQX0tFUk5FTCk7DQorDQorICAgIGlmICgh
bXNnKQ0KKyAgICAgIHJldHVybiAtRU5PTUVNOw0KKw0KICAgICBsb2NrX2tl
cm5lbCgpOw0KIA0KICAgICBOTlBGU0RFQihYREVCU1lTLCAoInN5c19hZnMg
a2VybmVsIGxvY2tlZFxuIikpOw0KQEAgLTU3NSw3ICs2MjcsNyBAQCBzeXNf
YWZzX2ludCAoaW50IG9wZXJhdGlvbiwNCiAJICAgIGdvdG8gdW5sb2NrOw0K
IAl9DQogCWlmICh2aWNlX2lvY3RsLmluX3NpemUgIT0gMCkgew0KLQkgICAg
aWYoY29weV9mcm9tX3VzZXIoJm1zZy5tc2csDQorCSAgICBpZihjb3B5X2Zy
b21fdXNlcigmbXNnLT5tc2csDQogCQkJICAgICAgdmljZV9pb2N0bC5pbiwN
CiAJCQkgICAgICB2aWNlX2lvY3RsLmluX3NpemUpICE9IDApIHsNCiAJCWVy
cm9yID0gLUVGQVVMVDsNCkBAIC02MjgsMTkgKzY4MCwyMyBAQCBzeXNfYWZz
X2ludCAoaW50IG9wZXJhdGlvbiwNCiAJCWVycm9yID0gLUVJTlZBTDsNCiAJ
CWdvdG8gdW5sb2NrOw0KIAkgICAgfQ0KLQkgICAgbXNnLmhhbmRsZSA9IHhu
LT5oYW5kbGU7DQorCSAgICBtc2ctPmhhbmRsZSA9IHhuLT5oYW5kbGU7DQog
CX0NCiANCi0JbXNnLmhlYWRlci5vcGNvZGUgPSBOTlBGU19NU0dfUElPQ1RM
Ow0KLQltc2cub3Bjb2RlID0gYV9vcGNvZGU7DQorCW1zZy0+aGVhZGVyLm9w
Y29kZSA9IE5OUEZTX01TR19QSU9DVEw7DQorCW1zZy0+b3Bjb2RlID0gYV9v
cGNvZGU7DQogCQ0KLQltc2cuaW5zaXplICAgPSB2aWNlX2lvY3RsLmluX3Np
emU7DQotCW1zZy5vdXRzaXplICA9IHZpY2VfaW9jdGwub3V0X3NpemU7DQot
CW1zZy5jcmVkLnVpZCA9IGN1cnJlbnQtPnVpZDsNCi0JbXNnLmNyZWQucGFn
ID0gbm5wZnNfZ2V0X3BhZygpOw0KKwltc2ctPmluc2l6ZSAgID0gdmljZV9p
b2N0bC5pbl9zaXplOw0KKwltc2ctPm91dHNpemUgID0gdmljZV9pb2N0bC5v
dXRfc2l6ZTsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9W
RVJTSU9OKDIsNiwyOCkNCisJbXNnLT5jcmVkLnVpZCA9IGN1cnJlbnQtPnVp
ZDsNCisjZWxzZQ0KKyAgICAgICAgbXNnLT5jcmVkLnVpZCA9IGN1cnJlbnRf
dWlkKCk7DQorI2VuZGlmDQorCW1zZy0+Y3JlZC5wYWcgPSBubnBmc19nZXRf
cGFnKCk7DQogCQ0KLQllcnJvciA9IG5ucGZzX21lc3NhZ2VfcnBjKCZubnBm
c1swXSwgJm1zZy5oZWFkZXIsIHNpemVvZihtc2cpKTsgLyogWFhYICovDQot
CW1zZzIgPSAoc3RydWN0IG5ucGZzX21lc3NhZ2Vfd2FrZXVwICopICZtc2c7
DQorCWVycm9yID0gbm5wZnNfbWVzc2FnZV9ycGMoJm5ucGZzWzBdLCAmbXNn
LT5oZWFkZXIsIHNpemVvZihzdHJ1Y3Qgbm5wZnNfbWVzc2FnZV9waW9jdGwp
KTsgLyogWFhYICovDQorCW1zZzIgPSAoc3RydWN0IG5ucGZzX21lc3NhZ2Vf
d2FrZXVwICopIG1zZzsNCiAJaWYgKGVycm9yID09IDApDQogCSAgICBlcnJv
ciA9IG1zZzItPmVycm9yOw0KIA0KQEAgLTY3NSwxMSArNzMxLDE2IEBAIHN5
c19hZnNfaW50IChpbnQgb3BlcmF0aW9uLA0KICAgICANCiAgdW5sb2NrOg0K
ICAgICBpZiAoZGVudHJ5KQ0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBL
RVJORUxfVkVSU0lPTigyLDYsMjUpDQogCXBhdGhfcmVsZWFzZSgmbmQpOw0K
KyNlbHNlDQorCXBhdGhfcHV0KCZuZC5wYXRoKTsNCisjZW5kaWYNCiANCiAg
ICAgTk5QRlNERUIoWERFQlNZUywgKCJubnBmc19zeXNjYWxsIHJldHVybnMg
ZXJyb3I6ICVsZFxuIiwgZXJyb3IpKTsNCiANCiAgICAgTk5QRlNERUIoWERF
QlNZUywgKCJzeXNfYWZzIGtlcm5lbCB1bmxvY2tcbiIpKTsNCisgICAga2Zy
ZWUobXNnKTsNCiAgICAgdW5sb2NrX2tlcm5lbCgpOw0KIA0KICAgICByZXR1
cm4gZXJyb3I7DQpAQCAtNzgwLDIwICs4NDEsMzIgQEAgc3RhdGljIGludCBu
bnBmc19pbml0X3Byb2Nmcyh2b2lkKQ0KIHsNCiAgICAgc3RydWN0IHByb2Nf
ZGlyX2VudHJ5ICplbnRyeTsNCiAgICAgDQorI2lmIExJTlVYX1ZFUlNJT05f
Q09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwyNikNCiAgICAgbm5wZnNfcHJv
Y2ZzX2RpciA9IHByb2NfbWtkaXIoTk5QRlNfUFJPQ19ESVIsIHByb2Nfcm9v
dF9mcyk7DQorI2Vsc2UNCisgICAgbm5wZnNfcHJvY2ZzX2RpciA9IHByb2Nf
bWtkaXIoImZzLyIgTk5QRlNfUFJPQ19ESVIsIE5VTEwpOw0KKyNlbmRpZg0K
ICAgICBpZiAobm5wZnNfcHJvY2ZzX2RpciA9PSBOVUxMKQ0KIAlyZXR1cm4g
LUVOT01FTTsNCiAgICAgDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtF
Uk5FTF9WRVJTSU9OKDIsNiwzMCkNCiAgICAgbm5wZnNfcHJvY2ZzX2Rpci0+
b3duZXIgPSBUSElTX01PRFVMRTsNCisjZW5kaWYNCiAgICAgDQogICAgIGVu
dHJ5ID0gY3JlYXRlX3Byb2NfZW50cnkoTk5QRlNfUFJPQ19OT0RFLCAwNjY2
LCBubnBmc19wcm9jZnNfZGlyKTsNCiAgICAgaWYgKGVudHJ5ID09IE5VTEwp
IHsNCiAJTk5QRlNERUIoWERFQlNZUywgKCJubnBmc19pbml0X3Byb2Nmczog
bm8gbm9kZVxuIikpOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJO
RUxfVkVSU0lPTigyLDYsMjYpDQogCXJlbW92ZV9wcm9jX2VudHJ5KE5OUEZT
X1BST0NfRElSLCBwcm9jX3Jvb3RfZnMpOw0KKyNlbHNlDQorCXJlbW92ZV9w
cm9jX2VudHJ5KCJmcy8iIE5OUEZTX1BST0NfRElSLCBOVUxMKTsNCisjZW5k
aWYNCiAJcmV0dXJuIC1FTk9NRU07DQogICAgIH0NCiAgICAgDQorI2lmIExJ
TlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwzMCkNCiAg
ICAgZW50cnktPm93bmVyID0gVEhJU19NT0RVTEU7DQorI2VuZGlmDQogICAg
IGVudHJ5LT5wcm9jX2ZvcHMgPSAmbm5wZnNfcHJvY2ZzX2ZvcHM7DQogDQog
I2lmZGVmIFNZU0NBTExDT01QQVQNCkBAIC04MTUsNyArODg4LDExIEBAIHN0
YXRpYyB2b2lkIG5ucGZzX2V4aXRfcHJvY2ZzKHZvaWQpDQogICAgIH0NCiAj
ZW5kaWYgLyogU1lTQ0FMTENPTVBBVCAqLw0KICAgICByZW1vdmVfcHJvY19l
bnRyeShOTlBGU19QUk9DX05PREUsIG5ucGZzX3Byb2Nmc19kaXIpOw0KKyNp
ZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjYp
DQogICAgIHJlbW92ZV9wcm9jX2VudHJ5KE5OUEZTX1BST0NfRElSLCBwcm9j
X3Jvb3RfZnMpOw0KKyNlbHNlDQorICAgIHJlbW92ZV9wcm9jX2VudHJ5KCJm
cy8iIE5OUEZTX1BST0NfRElSLCBOVUxMKTsNCisjZW5kaWYNCiB9DQogDQog
I2lmZGVmIEdST1VQUEFHUw0KQEAgLTg0MCwxMiArOTE3LDE0IEBAIHZvaWQN
CiBpbnN0YWxsX2Fmc19zeXNjYWxsKHZvaWQpDQogew0KICNpZmRlZiBDT05G
SUdfU0VDVVJJVFkNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVM
X1ZFUlNJT04oMiw2LDI0KQ0KICAgICBpZiAocmVnaXN0ZXJfc2VjdXJpdHko
Jm5ucGZzX3NlY19vcHMpKQ0KIAlOTlBGU0RFQihYREVCU1lTLA0KIAkJICgi
aW5zdGFsbF9hZnNfc3lzY2FsbDogbm5wZnNfaW5pdF9zZWMgZmFpbGVkXG4i
KSk7DQogICAgIGVsc2UNCiAJbm5wZnNfc2VjX3JlZ2lzdGVyZWQgPSAxOw0K
ICNlbmRpZg0KKyNlbmRpZg0KIA0KICAgICBubnBmc19pbml0X3Byb2Nmcygp
Ow0KIA0KQEAgLTg4OCw5ICs5NjcsMTEgQEAgcmVzdG9yZV9hZnNfc3lzY2Fs
bCAodm9pZCkNCiAjZW5kaWYgLyogU1lTQ0FMTEhBQ0sgKi8NCiANCiAjaWZk
ZWYgQ09ORklHX1NFQ1VSSVRZDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8
IEtFUk5FTF9WRVJTSU9OKDIsNiwyNCkNCiAgICAgaWYgKG5ucGZzX3NlY19y
ZWdpc3RlcmVkKQ0KIAlpZiAodW5yZWdpc3Rlcl9zZWN1cml0eSgmbm5wZnNf
c2VjX29wcykpDQogCSAgICBwcmludGsoS0VSTl9FTUVSRyAibm5wZnNfZXhp
dF9zZWM6IGNvdWxkbid0IHVucmVnaXN0ZXJcbiIpOw0KKyNlbmRpZg0KICNl
bmRpZiAvKiAhQ09ORklHX1NFQ1VSSVRZICovDQogDQogI2lmZGVmIEdST1VQ
UEFHUw0KZGlmZiAtdXByTiBhcmxhLTAuOTAvbm5wZnMvbGludXgvbm5wZnNf
c3lzY2FsbHMtbG9zc2FnZS5jIGFybGEtMC45MC1uZXcvbm5wZnMvbGludXgv
bm5wZnNfc3lzY2FsbHMtbG9zc2FnZS5jDQotLS0gYXJsYS0wLjkwL25ucGZz
L2xpbnV4L25ucGZzX3N5c2NhbGxzLWxvc3NhZ2UuYwkyMDA2LTEyLTExIDE3
OjMxOjQ1LjAwMDAwMDAwMCArMDEwMA0KKysrIGFybGEtMC45MC1uZXcvbm5w
ZnMvbGludXgvbm5wZnNfc3lzY2FsbHMtbG9zc2FnZS5jCTIwMTAtMDYtMDMg
MjM6MzE6MDYuMzkyNjEyMDA2ICswMjAwDQpAQCAtNjMsNiArNjMsMTEgQEAg
Y29uc3QgY2hhciAqIF9fYXR0cmlidXRlX18oKHdlYWspKQ0KIAkJICAgIHVu
c2lnbmVkIGxvbmcgKm9mZnNldCwNCiAJCSAgICBjaGFyICoqbW9kbmFtZSwg
Y2hhciAqbmFtZWJ1Zik7DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+
IEtFUk5FTF9WRVJTSU9OKDIsNiwxOCkNCisjaWZkZWYgX194ODZfNjRfXw0K
K2V4dGVybiByd2xvY2tfdCB0YXNrbGlzdF9sb2NrIF9fYXR0cmlidXRlX18o
KHdlYWspKTsNCisjZW5kaWYNCisjZW5kaWYNCiBzdGF0aWMgdm9pZCAqKg0K
IGdldF9zdGFydF9hZGRyKHZvaWQpIHsNCiAjaWZkZWYgX194ODZfNjRfXw0K
ZGlmZiAtdXByTiBhcmxhLTAuOTAvbm5wZnMvbGludXgvbm5wZnNfdmZzb3Bz
LmMgYXJsYS0wLjkwLW5ldy9ubnBmcy9saW51eC9ubnBmc192ZnNvcHMuYw0K
LS0tIGFybGEtMC45MC9ubnBmcy9saW51eC9ubnBmc192ZnNvcHMuYwkyMDA2
LTEyLTExIDE3OjQzOjM1LjAwMDAwMDAwMCArMDEwMA0KKysrIGFybGEtMC45
MC1uZXcvbm5wZnMvbGludXgvbm5wZnNfdmZzb3BzLmMJMjAxMC0wNi0wMyAy
MzozMTowNi4zOTI2MTIwMDYgKzAyMDANCkBAIC00OSw5ICs0OSwxMyBAQCBS
Q1NJRCgiJElkOiBubnBmc192ZnNvcHMuYyx2IDEuMTA5IDIwMDYvDQogDQog
c3RydWN0IG5ucGZzIG5ucGZzW05OTlBGU107DQogDQorI2lmIExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwyNSkNCiBzdGF0aWMg
dm9pZCBubnBmc19yZWFkX2lub2RlKHN0cnVjdCBpbm9kZSAqaW5vZGUpOw0K
KyNlbmRpZg0KIHN0YXRpYyB2b2lkIG5ucGZzX3B1dF9zdXBlcihzdHJ1Y3Qg
c3VwZXJfYmxvY2sgKnNiKTsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwg
S0VSTkVMX1ZFUlNJT04oMiw2LDI1KQ0KIHN0YXRpYyB2b2lkIG5ucGZzX3B1
dF9pbm9kZShzdHJ1Y3QgaW5vZGUgKmlub2RlKTsNCisjZW5kaWYNCiBzdGF0
aWMgdm9pZCBubnBmc193cml0ZV9zdXBlcihzdHJ1Y3Qgc3VwZXJfYmxvY2sg
KiBzYik7DQogDQogI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxf
VkVSU0lPTigyLDYsMTgpDQpAQCAtNjEsOCArNjUsMTAgQEAgc3RhdGljIGlu
dCBubnBmc19zdGF0ZnMoc3RydWN0IHN1cGVyX2Jsbw0KICNlbmRpZg0KIA0K
IHN0YXRpYyBzdHJ1Y3Qgc3VwZXJfb3BlcmF0aW9ucyBubnBmc19zb3BzID0g
eyANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04o
Miw2LDI1KQ0KICAgICByZWFkX2lub2RlCQk6IG5ucGZzX3JlYWRfaW5vZGUs
DQogICAgIHB1dF9pbm9kZQkJOiBubnBmc19wdXRfaW5vZGUsDQorI2VuZGlm
DQogICAgIGFsbG9jX2lub2RlCQk6IG5ucGZzX25vZGVfYWxsb2MsDQogICAg
IGRlc3Ryb3lfaW5vZGUJOiBubnBmc19ub2RlX2ZyZWUsDQogICAgIGRyb3Bf
aW5vZGUJCTogZ2VuZXJpY19kZWxldGVfaW5vZGUsDQpAQCAtMTg5LDcgKzE5
NSwxMSBAQCBubnBmc19yZWFkX3N1cGVyIChzdHJ1Y3Qgc3VwZXJfYmxvY2sg
KiBzDQogCWlmIChlcnJvcikNCiAJICAgIGRkZXYgPSBFUlJfUFRSKGVycm9y
KTsNCiAJZWxzZQ0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxf
VkVSU0lPTigyLDYsMjUpDQogCSAgICBkZGV2ID0gbmQuZGVudHJ5Ow0KKyNl
bHNlDQorCSAgICBkZGV2ID0gbmQucGF0aC5kZW50cnk7DQorI2VuZGlmDQog
DQogCWlmICghSVNfRVJSKGRkZXYpKSB7DQogCSAgICBtaW5vcmRldmljZSA9
IE1JTk9SKGRkZXYtPmRfaW5vZGUtPmlfcmRldik7DQpAQCAtMjczLDYgKzI4
Myw3IEBAIG5ucGZzX3B1dF9zdXBlcihzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNi
KQ0KICAgICBOTlBGU0RFQihYREVCVkZPUFMsICgibm5wZnNfcHV0X3N1cGVy
IGV4aXRpbmdcbiIpKTsNCiB9DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09E
RSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwyNSkNCiBzdGF0aWMgdm9pZA0KIG5u
cGZzX3JlYWRfaW5vZGUoc3RydWN0IGlub2RlICppbm9kZSkNCiB7DQpAQCAt
MzM5LDYgKzM1MCw3IEBAIG5ucGZzX3B1dF9pbm9kZShzdHJ1Y3QgaW5vZGUg
Kmlub2RlKQ0KIA0KICAgICB1cCgmbm5wZnNwLT5pbmFjdGl2ZV9zZW0pOw0K
IH0NCisjZW5kaWYgLy8gTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZF
UlNJT04oMiw2LDI1KQ0KIA0KIHN0YXRpYyBpbnQNCiBubnBmc19zdGF0ZnNf
aW50KHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIHN0cnVjdCBrc3RhdGZzICpi
dWYpDQpAQCAtMzUyLDcgKzM2NCwxNSBAQCBubnBmc19zdGF0ZnNfaW50KHN0
cnVjdCBzdXBlcl9ibG9jayAqc2IsDQogICAgIHRtcC5mX2JhdmFpbCAgPSAx
MDI0KjEwMjQqMi01MDsNCiAgICAgdG1wLmZfZmlsZXMgICA9IDEwMjQqMTAy
NDsNCiAgICAgdG1wLmZfZmZyZWUgICA9IDEwMjQqMTAyNC0xMDA7DQorICAg
IHRtcC5mX2ZzaWQudmFsWzBdID0gMDsNCisgICAgdG1wLmZfZnNpZC52YWxb
MV0gPSAwOw0KICAgICB0bXAuZl9uYW1lbGVuID0gTkFNRV9NQVg7DQorICAg
IHRtcC5mX2Zyc2l6ZSAgPSAwOw0KKyAgICB0bXAuZl9zcGFyZVswXSA9IDA7
DQorICAgIHRtcC5mX3NwYXJlWzFdID0gMDsNCisgICAgdG1wLmZfc3BhcmVb
Ml0gPSAwOw0KKyAgICB0bXAuZl9zcGFyZVszXSA9IDA7DQorICAgIHRtcC5m
X3NwYXJlWzRdID0gMDsNCiAgICAgKmJ1ZiA9IHRtcDsNCiAgICAgcmV0dXJu
IDA7DQogfQ0K

---2098261369-1344207341-1275755722=:549032
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-1344207341-1275755722=:549032--

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