[4943] 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?=)
Sun Jul 11 12:58:56 2010

From arla-drinkers-bounces@stacken.kth.se Sun Jul 11 16:58:56 2010
Return-Path: <arla-drinkers-bounces@stacken.kth.se>
Delivered-To: arla-drinkers-mtg@bloom-picayune.mit.edu
Received: (qmail 2257 invoked from network); 11 Jul 2010 16:58:55 -0000
Received: from mx2.kth.se (130.237.48.98)
  by charon.mit.edu with SMTP; 11 Jul 2010 16:58: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 1B57610A9EE;
	Sun, 11 Jul 2010 18:58: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 WbT8mPZCda6k; Sun, 11 Jul 2010 18:58:52 +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 3EDEF10977D;
	Sun, 11 Jul 2010 18:58:32 +0200 (CEST)
Received: from tapas.stacken.kth.se (localhost [127.0.0.1])
	by tapas.stacken.kth.se (Postfix) with ESMTP id 25AEA51D64;
	Sun, 11 Jul 2010 18:58:32 +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 430E151D64
	for <arla-drinkers@tapas.stacken.kth.se>;
	Sun, 11 Jul 2010 18:58:30 +0200 (CEST)
Received: from mx2.kth.se (mx2.kth.se [130.237.48.98])
	by brev.stacken.kth.se (8.12.10/8.12.10) with ESMTP id o6BGwTbc009831
	for <arla-drinkers@stacken.kth.se>;
	Sun, 11 Jul 2010 18:58:29 +0200 (MET DST)
X-KTH-mail-from: bosse@acc.umu.se
X-KTH-rcpt-to: arla-drinkers@stacken.kth.se
Received: from mx4.kth.se (mx4.kth.se [130.237.48.62])
	by mx2.kth.se (Postfix) with ESMTP id 8F28A10A117
	for <arla-drinkers@stacken.kth.se>;
	Sun, 11 Jul 2010 18:58:24 +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 UEsXkNpidcUJ for <arla-drinkers@stacken.kth.se>;
	Sun, 11 Jul 2010 18:58:23 +0200 (CEST)
X-KTH-mail-from: bosse@acc.umu.se
X-KTH-rcpt-to: arla-drinkers@stacken.kth.se
Received: from mail.acc.umu.se (mail.acc.umu.se [IPv6:2001:6b0:e:2018::156])
	by mx2.kth.se (Postfix) with ESMTP id 6DE3310977D
	for <arla-drinkers@stacken.kth.se>;
	Sun, 11 Jul 2010 18:58:23 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
	by amavisd-new (Postfix) with ESMTP id DF2F02E4
	for <arla-drinkers@stacken.kth.se>;
	Sun, 11 Jul 2010 18:58:22 +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 23B1D2E3
	for <arla-drinkers@stacken.kth.se>;
	Sun, 11 Jul 2010 18:58:20 +0200 (MEST)
Received: by stalin.acc.umu.se (Postfix, from userid 10005)
	id 034CF2D; Sun, 11 Jul 2010 18:58:19 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
	by stalin.acc.umu.se (Postfix) with ESMTP id E5E9D2C
	for <arla-drinkers@stacken.kth.se>;
	Sun, 11 Jul 2010 18:58:19 +0200 (CEST)
Date: Sun, 11 Jul 2010 18:58:19 +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.1006051833420.549032@stalin.acc.umu.se>
Message-ID: <Pine.A41.4.64.1007111856590.839778@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>
	<Pine.A41.4.64.1006051833420.549032@stalin.acc.umu.se>
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED;
	BOUNDARY="-2098261369-1705470603-1278867499=:839778"
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-1705470603-1278867499=:839778
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed


fix for leak in a reference count

Bo Branten

---2098261369-1705470603-1278867499=:839778
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=patch-arla-0.90-Linux4
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.A41.4.64.1007111858190.839778@stalin.acc.umu.se>
Content-Description: 
Content-Disposition: attachment; filename=patch-arla-0.90-Linux4

ZGlmZiAtdXByTiBhcmxhLTAuOTAvbm5wZnMvbGludXgvbm5wZnNfYmxvY2tz
LmMgYXJsYS0wLjkwLW5ldy9ubnBmcy9saW51eC9ubnBmc19ibG9ja3MuYw0K
LS0tIGFybGEtMC45MC9ubnBmcy9saW51eC9ubnBmc19ibG9ja3MuYwkyMDA3
LTAxLTA4IDE0OjI0OjI0LjAwMDAwMDAwMCArMDEwMA0KKysrIGFybGEtMC45
MC1uZXcvbm5wZnMvbGludXgvbm5wZnNfYmxvY2tzLmMJMjAxMC0wNy0xMSAx
NzoxODoyNi41NzI0NTg5NjEgKzAyMDANCkBAIC0zNCw3ICszNCw3IEBADQog
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
ZnNfaW5vZGVvcHMuYwkyMDEwLTA3LTExIDE3OjE4OjI2LjU3MjQ1ODk2MSAr
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
cGZzL2xpbnV4L25ucGZzX21lc3NhZ2UuYwkyMDEwLTA3LTExIDE3OjE4OjI2
LjU3MjQ1ODk2MSArMDIwMA0KQEAgLTQ1LDcgKzQ1LDcgQEANCiAjaW5jbHVk
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
c3lzY2FsbHMuYwkyMDEwLTA3LTExIDE4OjQ5OjAxLjIyOTYzOTI5OSArMDIw
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
MjIyLDExICsyNDgsMTggQEAgZmluZF9wYWcoc3RydWN0IGdyb3VwX2luZm8g
KmdpKQ0KIHN0YXRpYyBubnBmc19wYWdfdA0KIG5ucGZzX2dldF9wYWdfZ3Jv
dXAodm9pZCkNCiB7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJO
RUxfVkVSU0lPTigyLDYsMjgpDQogICAgIHN0cnVjdCBncm91cF9pbmZvICpn
aSA9IGN1cnJlbnQtPmdyb3VwX2luZm87DQogICAgIG5ucGZzX3BhZ190IHJl
dCA9IGN1cnJlbnQtPnVpZDsNCisjZWxzZQ0KKyAgICBzdHJ1Y3QgZ3JvdXBf
aW5mbyAqZ2kgPSBnZXRfY3VycmVudF9ncm91cHMoKTsNCisgICAgbm5wZnNf
cGFnX3QgcmV0ID0gY3VycmVudF91aWQoKTsNCisjZW5kaWYNCiAgICAgaW50
IGk7DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxfVkVS
U0lPTigyLDYsMjgpDQogICAgIGdldF9ncm91cF9pbmZvKGdpKTsNCisjZW5k
aWYNCiANCiAgICAgaSA9IGZpbmRfcGFnKGdpKTsNCiAgICAgaWYgKGkgIT0g
Tk5QRlNfUEFHX05PVEZPVU5EKQ0KQEAgLTI0MiwxMyArMjc1LDIzIEBAIG5u
cGZzX2dldF9wYWdfZ3JvdXAodm9pZCkNCiBzdGF0aWMgaW50DQogc3RvcmVf
cGFnKG5ucGZzX3BhZ190IHBhZ251bSkNCiB7DQorI2lmIExJTlVYX1ZFUlNJ
T05fQ09ERSA8PSBLRVJORUxfVkVSU0lPTigyLDYsMjgpDQogICAgIHN0cnVj
dCBncm91cF9pbmZvICpvbGRfZ2kgPSBjdXJyZW50LT5ncm91cF9pbmZvOw0K
KyNlbHNlDQorICAgc3RydWN0IGdyb3VwX2luZm8gKm9sZF9naSA9IGdldF9j
dXJyZW50X2dyb3VwcygpOw0KKyNlbmRpZg0KICAgICBzdHJ1Y3QgZ3JvdXBf
aW5mbyAqbmV3X2dpOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJO
RUxfVkVSU0lPTigyLDYsMjUpDQogICAgIGludCBuYmxvY2tzLCBjb3VudDsN
CisjZWxzZQ0KKyAgICB1bnNpZ25lZCBpbnQgbmJsb2NrcywgY291bnQ7DQor
I2VuZGlmDQogICAgIGludCBmb3VuZCA9IDA7DQogICAgIGludCBpLCBrOw0K
ICAgICANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5FTF9WRVJT
SU9OKDIsNiwyOCkgICAgDQogICAgIGdldF9ncm91cF9pbmZvKG9sZF9naSk7
DQorI2VuZGlmDQogDQogICAgIGkgPSBmaW5kX3BhZyhvbGRfZ2kpOw0KICAg
ICBpZiAoaSAhPSBOTlBGU19QQUdfTk9URk9VTkQpDQpAQCAtMzE3LDcgKzM2
MCwxMSBAQCBubnBmc19nZXRfcGFnKCkNCiAgICAgcmV0dXJuIG5ucGZzX2dl
dF9wYWdfZ3JvdXAoKTsNCiAjZW5kaWYgLyogR1JPVVBQQUdTICovDQogDQor
I2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxfVkVSU0lPTigyLDYs
MjgpDQogICAgIHJldHVybiBjdXJyZW50LT51aWQ7DQorI2Vsc2UNCisgICAg
cmV0dXJuIGN1cnJlbnRfdWlkKCk7DQorI2VuZGlmDQogfQ0KIA0KIHN0YXRp
YyBpbmxpbmUgaW50DQpAQCAtNTI4LDcgKzU3NSwxMSBAQCB1c2VyX3BhdGgy
ZGVudHJ5IChzdHJ1Y3QgbmFtZWlkYXRhICpuZCwgDQogICAgIHB1dG5hbWUo
a25hbWUpOw0KICAgICBpZiAoZXJyb3IpDQogCXJldHVybiBFUlJfUFRSKGVy
cm9yKTsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJ
T04oMiw2LDI1KQ0KICAgICByZXR1cm4gbmQtPmRlbnRyeTsNCisjZWxzZQ0K
KyAgICByZXR1cm4gbmQtPnBhdGguZGVudHJ5Ow0KKyNlbmRpZg0KIH0NCiAN
CiBhc21saW5rYWdlIGxvbmcNCkBAIC01NDAsMTEgKzU5MSwxNiBAQCBzeXNf
YWZzX2ludCAoaW50IG9wZXJhdGlvbiwNCiB7DQogICAgIGxvbmcgZXJyb3Ig
PSAwOw0KICAgICBzdHJ1Y3QgYXJsYVZpY2VJb2N0bCB2aWNlX2lvY3RsOyAN
Ci0gICAgc3RydWN0IG5ucGZzX21lc3NhZ2VfcGlvY3RsIG1zZzsNCisgICAg
c3RydWN0IG5ucGZzX21lc3NhZ2VfcGlvY3RsICptc2cgPSBOVUxMOw0KICAg
ICBzdHJ1Y3Qgbm5wZnNfbWVzc2FnZV93YWtldXAgKm1zZzI7DQogICAgIHN0
cnVjdCBkZW50cnkgKmRlbnRyeSA9IE5VTEw7DQogICAgIHN0cnVjdCBuYW1l
aWRhdGEgbmQ7DQotICAgIA0KKw0KKyAgICBtc2cgPSBrbWFsbG9jKHNpemVv
ZihzdHJ1Y3Qgbm5wZnNfbWVzc2FnZV9waW9jdGwpLCBHRlBfS0VSTkVMKTsN
CisNCisgICAgaWYgKCFtc2cpDQorICAgICAgcmV0dXJuIC1FTk9NRU07DQor
DQogICAgIGxvY2tfa2VybmVsKCk7DQogDQogICAgIE5OUEZTREVCKFhERUJT
WVMsICgic3lzX2FmcyBrZXJuZWwgbG9ja2VkXG4iKSk7DQpAQCAtNTc1LDcg
KzYzMSw3IEBAIHN5c19hZnNfaW50IChpbnQgb3BlcmF0aW9uLA0KIAkgICAg
Z290byB1bmxvY2s7DQogCX0NCiAJaWYgKHZpY2VfaW9jdGwuaW5fc2l6ZSAh
PSAwKSB7DQotCSAgICBpZihjb3B5X2Zyb21fdXNlcigmbXNnLm1zZywNCisJ
ICAgIGlmKGNvcHlfZnJvbV91c2VyKCZtc2ctPm1zZywNCiAJCQkgICAgICB2
aWNlX2lvY3RsLmluLA0KIAkJCSAgICAgIHZpY2VfaW9jdGwuaW5fc2l6ZSkg
IT0gMCkgew0KIAkJZXJyb3IgPSAtRUZBVUxUOw0KQEAgLTYyOCwxOSArNjg0
LDIzIEBAIHN5c19hZnNfaW50IChpbnQgb3BlcmF0aW9uLA0KIAkJZXJyb3Ig
PSAtRUlOVkFMOw0KIAkJZ290byB1bmxvY2s7DQogCSAgICB9DQotCSAgICBt
c2cuaGFuZGxlID0geG4tPmhhbmRsZTsNCisJICAgIG1zZy0+aGFuZGxlID0g
eG4tPmhhbmRsZTsNCiAJfQ0KIA0KLQltc2cuaGVhZGVyLm9wY29kZSA9IE5O
UEZTX01TR19QSU9DVEw7DQotCW1zZy5vcGNvZGUgPSBhX29wY29kZTsNCisJ
bXNnLT5oZWFkZXIub3Bjb2RlID0gTk5QRlNfTVNHX1BJT0NUTDsNCisJbXNn
LT5vcGNvZGUgPSBhX29wY29kZTsNCiAJDQotCW1zZy5pbnNpemUgICA9IHZp
Y2VfaW9jdGwuaW5fc2l6ZTsNCi0JbXNnLm91dHNpemUgID0gdmljZV9pb2N0
bC5vdXRfc2l6ZTsNCi0JbXNnLmNyZWQudWlkID0gY3VycmVudC0+dWlkOw0K
LQltc2cuY3JlZC5wYWcgPSBubnBmc19nZXRfcGFnKCk7DQorCW1zZy0+aW5z
aXplICAgPSB2aWNlX2lvY3RsLmluX3NpemU7DQorCW1zZy0+b3V0c2l6ZSAg
PSB2aWNlX2lvY3RsLm91dF9zaXplOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NP
REUgPD0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KKwltc2ctPmNyZWQudWlk
ID0gY3VycmVudC0+dWlkOw0KKyNlbHNlDQorICAgICAgICBtc2ctPmNyZWQu
dWlkID0gY3VycmVudF91aWQoKTsNCisjZW5kaWYNCisJbXNnLT5jcmVkLnBh
ZyA9IG5ucGZzX2dldF9wYWcoKTsNCiAJDQotCWVycm9yID0gbm5wZnNfbWVz
c2FnZV9ycGMoJm5ucGZzWzBdLCAmbXNnLmhlYWRlciwgc2l6ZW9mKG1zZykp
OyAvKiBYWFggKi8NCi0JbXNnMiA9IChzdHJ1Y3Qgbm5wZnNfbWVzc2FnZV93
YWtldXAgKikgJm1zZzsNCisJZXJyb3IgPSBubnBmc19tZXNzYWdlX3JwYygm
bm5wZnNbMF0sICZtc2ctPmhlYWRlciwgc2l6ZW9mKHN0cnVjdCBubnBmc19t
ZXNzYWdlX3Bpb2N0bCkpOyAvKiBYWFggKi8NCisJbXNnMiA9IChzdHJ1Y3Qg
bm5wZnNfbWVzc2FnZV93YWtldXAgKikgbXNnOw0KIAlpZiAoZXJyb3IgPT0g
MCkNCiAJICAgIGVycm9yID0gbXNnMi0+ZXJyb3I7DQogDQpAQCAtNjc1LDEx
ICs3MzUsMTYgQEAgc3lzX2Fmc19pbnQgKGludCBvcGVyYXRpb24sDQogICAg
IA0KICB1bmxvY2s6DQogICAgIGlmIChkZW50cnkpDQorI2lmIExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwyNSkNCiAJcGF0aF9y
ZWxlYXNlKCZuZCk7DQorI2Vsc2UNCisJcGF0aF9wdXQoJm5kLnBhdGgpOw0K
KyNlbmRpZg0KIA0KICAgICBOTlBGU0RFQihYREVCU1lTLCAoIm5ucGZzX3N5
c2NhbGwgcmV0dXJucyBlcnJvcjogJWxkXG4iLCBlcnJvcikpOw0KIA0KICAg
ICBOTlBGU0RFQihYREVCU1lTLCAoInN5c19hZnMga2VybmVsIHVubG9ja1xu
IikpOw0KKyAgICBrZnJlZShtc2cpOw0KICAgICB1bmxvY2tfa2VybmVsKCk7
DQogDQogICAgIHJldHVybiBlcnJvcjsNCkBAIC03ODAsMjAgKzg0NSwzMiBA
QCBzdGF0aWMgaW50IG5ucGZzX2luaXRfcHJvY2ZzKHZvaWQpDQogew0KICAg
ICBzdHJ1Y3QgcHJvY19kaXJfZW50cnkgKmVudHJ5Ow0KICAgICANCisjaWYg
TElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDI2KQ0K
ICAgICBubnBmc19wcm9jZnNfZGlyID0gcHJvY19ta2RpcihOTlBGU19QUk9D
X0RJUiwgcHJvY19yb290X2ZzKTsNCisjZWxzZQ0KKyAgICBubnBmc19wcm9j
ZnNfZGlyID0gcHJvY19ta2RpcigiZnMvIiBOTlBGU19QUk9DX0RJUiwgTlVM
TCk7DQorI2VuZGlmDQogICAgIGlmIChubnBmc19wcm9jZnNfZGlyID09IE5V
TEwpDQogCXJldHVybiAtRU5PTUVNOw0KICAgICANCisjaWYgTElOVVhfVkVS
U0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDMwKQ0KICAgICBubnBm
c19wcm9jZnNfZGlyLT5vd25lciA9IFRISVNfTU9EVUxFOw0KKyNlbmRpZg0K
ICAgICANCiAgICAgZW50cnkgPSBjcmVhdGVfcHJvY19lbnRyeShOTlBGU19Q
Uk9DX05PREUsIDA2NjYsIG5ucGZzX3Byb2Nmc19kaXIpOw0KICAgICBpZiAo
ZW50cnkgPT0gTlVMTCkgew0KIAlOTlBGU0RFQihYREVCU1lTLCAoIm5ucGZz
X2luaXRfcHJvY2ZzOiBubyBub2RlXG4iKSk7DQorI2lmIExJTlVYX1ZFUlNJ
T05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwyNikNCiAJcmVtb3ZlX3By
b2NfZW50cnkoTk5QRlNfUFJPQ19ESVIsIHByb2Nfcm9vdF9mcyk7DQorI2Vs
c2UNCisJcmVtb3ZlX3Byb2NfZW50cnkoImZzLyIgTk5QRlNfUFJPQ19ESVIs
IE5VTEwpOw0KKyNlbmRpZg0KIAlyZXR1cm4gLUVOT01FTTsNCiAgICAgfQ0K
ICAgICANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJ
T04oMiw2LDMwKQ0KICAgICBlbnRyeS0+b3duZXIgPSBUSElTX01PRFVMRTsN
CisjZW5kaWYNCiAgICAgZW50cnktPnByb2NfZm9wcyA9ICZubnBmc19wcm9j
ZnNfZm9wczsNCiANCiAjaWZkZWYgU1lTQ0FMTENPTVBBVA0KQEAgLTgxNSw3
ICs4OTIsMTEgQEAgc3RhdGljIHZvaWQgbm5wZnNfZXhpdF9wcm9jZnModm9p
ZCkNCiAgICAgfQ0KICNlbmRpZiAvKiBTWVNDQUxMQ09NUEFUICovDQogICAg
IHJlbW92ZV9wcm9jX2VudHJ5KE5OUEZTX1BST0NfTk9ERSwgbm5wZnNfcHJv
Y2ZzX2Rpcik7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9W
RVJTSU9OKDIsNiwyNikNCiAgICAgcmVtb3ZlX3Byb2NfZW50cnkoTk5QRlNf
UFJPQ19ESVIsIHByb2Nfcm9vdF9mcyk7DQorI2Vsc2UNCisgICAgcmVtb3Zl
X3Byb2NfZW50cnkoImZzLyIgTk5QRlNfUFJPQ19ESVIsIE5VTEwpOw0KKyNl
bmRpZg0KIH0NCiANCiAjaWZkZWYgR1JPVVBQQUdTDQpAQCAtODQwLDEyICs5
MjEsMTQgQEAgdm9pZA0KIGluc3RhbGxfYWZzX3N5c2NhbGwodm9pZCkNCiB7
DQogI2lmZGVmIENPTkZJR19TRUNVUklUWQ0KKyNpZiBMSU5VWF9WRVJTSU9O
X0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjQpDQogICAgIGlmIChyZWdp
c3Rlcl9zZWN1cml0eSgmbm5wZnNfc2VjX29wcykpDQogCU5OUEZTREVCKFhE
RUJTWVMsDQogCQkgKCJpbnN0YWxsX2Fmc19zeXNjYWxsOiBubnBmc19pbml0
X3NlYyBmYWlsZWRcbiIpKTsNCiAgICAgZWxzZQ0KIAlubnBmc19zZWNfcmVn
aXN0ZXJlZCA9IDE7DQogI2VuZGlmDQorI2VuZGlmDQogDQogICAgIG5ucGZz
X2luaXRfcHJvY2ZzKCk7DQogDQpAQCAtODg4LDkgKzk3MSwxMSBAQCByZXN0
b3JlX2Fmc19zeXNjYWxsICh2b2lkKQ0KICNlbmRpZiAvKiBTWVNDQUxMSEFD
SyAqLw0KIA0KICNpZmRlZiBDT05GSUdfU0VDVVJJVFkNCisjaWYgTElOVVhf
VkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDI0KQ0KICAgICBp
ZiAobm5wZnNfc2VjX3JlZ2lzdGVyZWQpDQogCWlmICh1bnJlZ2lzdGVyX3Nl
Y3VyaXR5KCZubnBmc19zZWNfb3BzKSkNCiAJICAgIHByaW50ayhLRVJOX0VN
RVJHICJubnBmc19leGl0X3NlYzogY291bGRuJ3QgdW5yZWdpc3RlclxuIik7
DQorI2VuZGlmDQogI2VuZGlmIC8qICFDT05GSUdfU0VDVVJJVFkgKi8NCiAN
CiAjaWZkZWYgR1JPVVBQQUdTDQpkaWZmIC11cHJOIGFybGEtMC45MC9ubnBm
cy9saW51eC9ubnBmc19zeXNjYWxscy1sb3NzYWdlLmMgYXJsYS0wLjkwLW5l
dy9ubnBmcy9saW51eC9ubnBmc19zeXNjYWxscy1sb3NzYWdlLmMNCi0tLSBh
cmxhLTAuOTAvbm5wZnMvbGludXgvbm5wZnNfc3lzY2FsbHMtbG9zc2FnZS5j
CTIwMDYtMTItMTEgMTc6MzE6NDUuMDAwMDAwMDAwICswMTAwDQorKysgYXJs
YS0wLjkwLW5ldy9ubnBmcy9saW51eC9ubnBmc19zeXNjYWxscy1sb3NzYWdl
LmMJMjAxMC0wNy0xMSAxNzoxODoyNi41NzI0NTg5NjEgKzAyMDANCkBAIC02
Myw2ICs2MywxMSBAQCBjb25zdCBjaGFyICogX19hdHRyaWJ1dGVfXygod2Vh
aykpDQogCQkgICAgdW5zaWduZWQgbG9uZyAqb2Zmc2V0LA0KIAkJICAgIGNo
YXIgKiptb2RuYW1lLCBjaGFyICpuYW1lYnVmKTsNCiANCisjaWYgTElOVVhf
VkVSU0lPTl9DT0RFID4gS0VSTkVMX1ZFUlNJT04oMiw2LDE4KQ0KKyNpZmRl
ZiBfX3g4Nl82NF9fDQorZXh0ZXJuIHJ3bG9ja190IHRhc2tsaXN0X2xvY2sg
X19hdHRyaWJ1dGVfXygod2VhaykpOw0KKyNlbmRpZg0KKyNlbmRpZg0KIHN0
YXRpYyB2b2lkICoqDQogZ2V0X3N0YXJ0X2FkZHIodm9pZCkgew0KICNpZmRl
ZiBfX3g4Nl82NF9fDQpkaWZmIC11cHJOIGFybGEtMC45MC9ubnBmcy9saW51
eC9ubnBmc192ZnNvcHMuYyBhcmxhLTAuOTAtbmV3L25ucGZzL2xpbnV4L25u
cGZzX3Zmc29wcy5jDQotLS0gYXJsYS0wLjkwL25ucGZzL2xpbnV4L25ucGZz
X3Zmc29wcy5jCTIwMDYtMTItMTEgMTc6NDM6MzUuMDAwMDAwMDAwICswMTAw
DQorKysgYXJsYS0wLjkwLW5ldy9ubnBmcy9saW51eC9ubnBmc192ZnNvcHMu
YwkyMDEwLTA3LTExIDE3OjE4OjI2LjU3Nzk1ODY4OCArMDIwMA0KQEAgLTQ5
LDkgKzQ5LDEzIEBAIFJDU0lEKCIkSWQ6IG5ucGZzX3Zmc29wcy5jLHYgMS4x
MDkgMjAwNi8NCiANCiBzdHJ1Y3Qgbm5wZnMgbm5wZnNbTk5OUEZTXTsNCiAN
CisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2
LDI1KQ0KIHN0YXRpYyB2b2lkIG5ucGZzX3JlYWRfaW5vZGUoc3RydWN0IGlu
b2RlICppbm9kZSk7DQorI2VuZGlmDQogc3RhdGljIHZvaWQgbm5wZnNfcHV0
X3N1cGVyKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpOw0KKyNpZiBMSU5VWF9W
RVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjUpDQogc3RhdGlj
IHZvaWQgbm5wZnNfcHV0X2lub2RlKHN0cnVjdCBpbm9kZSAqaW5vZGUpOw0K
KyNlbmRpZg0KIHN0YXRpYyB2b2lkIG5ucGZzX3dyaXRlX3N1cGVyKHN0cnVj
dCBzdXBlcl9ibG9jayAqIHNiKTsNCiANCiAjaWYgTElOVVhfVkVSU0lPTl9D
T0RFID49IEtFUk5FTF9WRVJTSU9OKDIsNiwxOCkNCkBAIC02MSw4ICs2NSwx
MCBAQCBzdGF0aWMgaW50IG5ucGZzX3N0YXRmcyhzdHJ1Y3Qgc3VwZXJfYmxv
DQogI2VuZGlmDQogDQogc3RhdGljIHN0cnVjdCBzdXBlcl9vcGVyYXRpb25z
IG5ucGZzX3NvcHMgPSB7IA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBL
RVJORUxfVkVSU0lPTigyLDYsMjUpDQogICAgIHJlYWRfaW5vZGUJCTogbm5w
ZnNfcmVhZF9pbm9kZSwNCiAgICAgcHV0X2lub2RlCQk6IG5ucGZzX3B1dF9p
bm9kZSwNCisjZW5kaWYNCiAgICAgYWxsb2NfaW5vZGUJCTogbm5wZnNfbm9k
ZV9hbGxvYywNCiAgICAgZGVzdHJveV9pbm9kZQk6IG5ucGZzX25vZGVfZnJl
ZSwNCiAgICAgZHJvcF9pbm9kZQkJOiBnZW5lcmljX2RlbGV0ZV9pbm9kZSwN
CkBAIC0xODksNyArMTk1LDExIEBAIG5ucGZzX3JlYWRfc3VwZXIgKHN0cnVj
dCBzdXBlcl9ibG9jayAqIHMNCiAJaWYgKGVycm9yKQ0KIAkgICAgZGRldiA9
IEVSUl9QVFIoZXJyb3IpOw0KIAllbHNlDQorI2lmIExJTlVYX1ZFUlNJT05f
Q09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwyNSkNCiAJICAgIGRkZXYgPSBu
ZC5kZW50cnk7DQorI2Vsc2UNCisJICAgIGRkZXYgPSBuZC5wYXRoLmRlbnRy
eTsNCisjZW5kaWYNCiANCiAJaWYgKCFJU19FUlIoZGRldikpIHsNCiAJICAg
IG1pbm9yZGV2aWNlID0gTUlOT1IoZGRldi0+ZF9pbm9kZS0+aV9yZGV2KTsN
CkBAIC0yNzMsNiArMjgzLDcgQEAgbm5wZnNfcHV0X3N1cGVyKHN0cnVjdCBz
dXBlcl9ibG9jayAqc2IpDQogICAgIE5OUEZTREVCKFhERUJWRk9QUywgKCJu
bnBmc19wdXRfc3VwZXIgZXhpdGluZ1xuIikpOw0KIH0NCiANCisjaWYgTElO
VVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDI1KQ0KIHN0
YXRpYyB2b2lkDQogbm5wZnNfcmVhZF9pbm9kZShzdHJ1Y3QgaW5vZGUgKmlu
b2RlKQ0KIHsNCkBAIC0zMzksNiArMzUwLDcgQEAgbm5wZnNfcHV0X2lub2Rl
KHN0cnVjdCBpbm9kZSAqaW5vZGUpDQogDQogICAgIHVwKCZubnBmc3AtPmlu
YWN0aXZlX3NlbSk7DQogfQ0KKyNlbmRpZiAvLyBMSU5VWF9WRVJTSU9OX0NP
REUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjUpDQogDQogc3RhdGljIGludA0K
IG5ucGZzX3N0YXRmc19pbnQoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgc3Ry
dWN0IGtzdGF0ZnMgKmJ1ZikNCkBAIC0zNTIsNyArMzY0LDE1IEBAIG5ucGZz
X3N0YXRmc19pbnQoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwNCiAgICAgdG1w
LmZfYmF2YWlsICA9IDEwMjQqMTAyNCoyLTUwOw0KICAgICB0bXAuZl9maWxl
cyAgID0gMTAyNCoxMDI0Ow0KICAgICB0bXAuZl9mZnJlZSAgID0gMTAyNCox
MDI0LTEwMDsNCisgICAgdG1wLmZfZnNpZC52YWxbMF0gPSAwOw0KKyAgICB0
bXAuZl9mc2lkLnZhbFsxXSA9IDA7DQogICAgIHRtcC5mX25hbWVsZW4gPSBO
QU1FX01BWDsNCisgICAgdG1wLmZfZnJzaXplICA9IDA7DQorICAgIHRtcC5m
X3NwYXJlWzBdID0gMDsNCisgICAgdG1wLmZfc3BhcmVbMV0gPSAwOw0KKyAg
ICB0bXAuZl9zcGFyZVsyXSA9IDA7DQorICAgIHRtcC5mX3NwYXJlWzNdID0g
MDsNCisgICAgdG1wLmZfc3BhcmVbNF0gPSAwOw0KICAgICAqYnVmID0gdG1w
Ow0KICAgICByZXR1cm4gMDsNCiB9DQo=

---2098261369-1705470603-1278867499=:839778
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-1705470603-1278867499=:839778--

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