Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Aug 2010 21:03:37 +0200 (CEST)
From:      Ingo Flaschberger <if@xip.at>
To:        "Li, Qing" <qing.li@bluecoat.com>
Cc:        Qing Li <qingli@freebsd.org>, net@freebsd.org
Subject:   RE: funny ECMP
Message-ID:  <alpine.LFD.2.00.1008262102150.15491@filebunker.xip.at>
In-Reply-To: <alpine.LFD.2.00.1008261754140.15491@filebunker.xip.at>
References:  <alpine.LFD.2.00.1008230154280.29368@filebunker.xip.at> <alpine.LFD.2.00.1008240144350.12708@filebunker.xip.at> <B583FBF374231F4A89607B4D08578A4307F1FC70@bcs-mail03.internal.cacheflow.com> <alpine.LFD.2.00.1008240223240.12708@filebunker.xip.at> <alpine.LFD.2.00.1008242005160.12708@filebunker.xip.at> <B583FBF374231F4A89607B4D08578A4307F1FF22@bcs-mail03.internal.cacheflow.com> <alpine.LFD.2.00.1008242027390.12708@filebunker.xip.at> <B583FBF374231F4A89607B4D08578A4307F1FF79@bcs-mail03.internal.cacheflow.com> <alpine.LFD.2.00.1008242102410.12708@filebunker.xip.at> <B583FBF374231F4A89607B4D08578A4307F20002@bcs-mail03.internal.cacheflow.com> <alpine.LFD.2.00.1008242227350.12708@filebunker.xip.at> <B583FBF374231F4A89607B4D08578A4307F20038@bcs-mail03.internal.cacheflow.com> <alpine.LFD.2.00.1008261754140.15491@filebunker.xip.at>

next in thread | previous in thread | raw e-mail | index | archive | help
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--168430090-1915796902-1282849418=:15491
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

Hi again,

had a very small typo (copy&paste and compare..)

attached new version of patch; now everything works
and error disappeared.

Kind regards,
 	Ingo Flaschberger

--168430090-1915796902-1282849418=:15491
Content-Type: TEXT/plain; name=mpath_patch_if_v2.txt
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.LFD.2.00.1008262103370.15491@filebunker.xip.at>
Content-Description: 
Content-Disposition: attachment; filename=mpath_patch_if_v2.txt

ZGlmZiAtciAtdSAvdXNyL3NyYy9zeXMvY29udHJpYi9pcGZpbHRlci9uZXRp
bmV0L2lwX3Bvb2wuYyAvcm91dGVyL3Vzci9zcmMvc3lzL2NvbnRyaWIvaXBm
aWx0ZXIvbmV0aW5ldC9pcF9wb29sLmMNCi0tLSAvdXNyL3NyYy9zeXMvY29u
dHJpYi9pcGZpbHRlci9uZXRpbmV0L2lwX3Bvb2wuYwkyMDA3LTEwLTE4IDIx
OjQyOjM4LjAwMDAwMDAwMCArMDAwMA0KKysrIC9yb3V0ZXIvdXNyL3NyYy9z
eXMvY29udHJpYi9pcGZpbHRlci9uZXRpbmV0L2lwX3Bvb2wuYwkyMDEwLTA4
LTI2IDExOjUyOjIxLjAwMDAwMDAwMCArMDAwMA0KQEAgLTYyMCw3ICs2MjAs
NyBAQA0KIA0KIAlSQURJWF9OT0RFX0hFQURfTE9DSyhpcG8tPmlwb19oZWFk
KTsNCiAJaXBvLT5pcG9faGVhZC0+cm5oX2RlbGFkZHIoJmlwZS0+aXBuX2Fk
ZHIsICZpcGUtPmlwbl9tYXNrLA0KLQkJCQkgICBpcG8tPmlwb19oZWFkKTsN
CisJCQkJICAgaXBvLT5pcG9faGVhZCwgTlVMTCk7DQogCVJBRElYX05PREVf
SEVBRF9VTkxPQ0soaXBvLT5pcG9faGVhZCk7DQogDQogCWlwX3Bvb2xfbm9k
ZV9kZXJlZihpcGUpOw0KQEAgLTc1MSw3ICs3NTEsNyBAQA0KIAlSQURJWF9O
T0RFX0hFQURfTE9DSyhpcG8tPmlwb19oZWFkKTsNCiAJd2hpbGUgKChuID0g
aXBvLT5pcG9fbGlzdCkgIT0gTlVMTCkgew0KIAkJaXBvLT5pcG9faGVhZC0+
cm5oX2RlbGFkZHIoJm4tPmlwbl9hZGRyLCAmbi0+aXBuX21hc2ssDQotCQkJ
CQkgICBpcG8tPmlwb19oZWFkKTsNCisJCQkJCSAgIGlwby0+aXBvX2hlYWQs
IE5VTEwpOw0KIA0KIAkJKm4tPmlwbl9wbmV4dCA9IG4tPmlwbl9uZXh0Ow0K
IAkJaWYgKG4tPmlwbl9uZXh0KQ0KQEAgLTk2Myw3ICs5NjMsNyBAQA0KIAlz
dHJ1Y3QgcmFkaXhfbm9kZV9oZWFkICpybmggPSBwOw0KIAlzdHJ1Y3QgcmFk
aXhfbm9kZSAqZDsNCiANCi0JZCA9IHJuaC0+cm5oX2RlbGFkZHIobi0+cm5f
a2V5LCBOVUxMLCBybmgpOw0KKwlkID0gcm5oLT5ybmhfZGVsYWRkcihuLT5y
bl9rZXksIE5VTEwsIHJuaCwgTlVMTCk7DQogCWlmIChkICE9IE5VTEwpIHsN
CiAJCUZyZWVTKGQsIG1heF9rZXlsZW4gKyAyICogc2l6ZW9mICgqZCkpOw0K
IAl9DQpkaWZmIC1yIC11IC91c3Ivc3JjL3N5cy9jb250cmliL3BmL25ldC9w
Zi5jIC9yb3V0ZXIvdXNyL3NyYy9zeXMvY29udHJpYi9wZi9uZXQvcGYuYw0K
LS0tIC91c3Ivc3JjL3N5cy9jb250cmliL3BmL25ldC9wZi5jCTIwMTAtMDEt
MjMgMDA6MzI6MTkuMDAwMDAwMDAwICswMDAwDQorKysgL3JvdXRlci91c3Iv
c3JjL3N5cy9jb250cmliL3BmL25ldC9wZi5jCTIwMTAtMDgtMjYgMTU6MTI6
MTIuMDAwMDAwMDAwICswMDAwDQpAQCAtOTksOSArOTksNyBAQA0KICNpbmNs
dWRlIDxuZXQvaWZfdHlwZXMuaD4NCiAjaW5jbHVkZSA8bmV0L2JwZi5oPg0K
ICNpbmNsdWRlIDxuZXQvcm91dGUuaD4NCi0jaWZuZGVmIF9fRnJlZUJTRF9f
DQogI2luY2x1ZGUgPG5ldC9yYWRpeF9tcGF0aC5oPg0KLSNlbmRpZg0KIA0K
ICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+DQogI2luY2x1ZGUgPG5ldGluZXQv
aW5fdmFyLmg+DQpAQCAtNjE2Niw5ICs2MTY0LDkgQEANCiAJCQlpZiAoa2lm
LT5wZmlrX2lmcCA9PSBpZnApDQogCQkJCXJldCA9IDE7DQogI2lmZGVmIF9f
RnJlZUJTRF9fIC8qIE1VTFRJUEFUSF9ST1VUSU5HICovDQotCQkJcm4gPSBO
VUxMOw0KKwkJCXJuID0gcm5fbXBhdGhfbmV4dChybik7IC8qIFhYWCB3YXMg
YmVmb3JlOiBybiA9IE5VTEw7ICovDQogI2Vsc2UNCi0JCQlybiA9IHJuX21w
YXRoX25leHQocm4pOw0KKwkJCXJuID0gcm5fbXBhdGhfbmV4dChybiwgMCk7
DQogI2VuZGlmDQogCQl9IHdoaWxlIChjaGVja19tcGF0aCA9PSAxICYmIHJu
ICE9IE5VTEwgJiYgcmV0ID09IDApOw0KIAl9IGVsc2UNCmRpZmYgLXIgLXUg
L3Vzci9zcmMvc3lzL2NvbnRyaWIvcGYvbmV0L3BmX3RhYmxlLmMgL3JvdXRl
ci91c3Ivc3JjL3N5cy9jb250cmliL3BmL25ldC9wZl90YWJsZS5jDQotLS0g
L3Vzci9zcmMvc3lzL2NvbnRyaWIvcGYvbmV0L3BmX3RhYmxlLmMJMjAwOS0w
OC0wMyAwODoxMzowNi4wMDAwMDAwMDAgKzAwMDANCisrKyAvcm91dGVyL3Vz
ci9zcmMvc3lzL2NvbnRyaWIvcGYvbmV0L3BmX3RhYmxlLmMJMjAxMC0wOC0y
NiAxMTo1MDozMS4wMDAwMDAwMDAgKzAwMDANCkBAIC0xMTE0LDE3ICsxMTE0
LDkgQEANCiAjZW5kaWYNCiAJaWYgKEtFTlRSWV9ORVRXT1JLKGtlKSkgew0K
IAkJcGZyX3ByZXBhcmVfbmV0d29yaygmbWFzaywga2UtPnBmcmtlX2FmLCBr
ZS0+cGZya2VfbmV0KTsNCi0jaWZkZWYgX19GcmVlQlNEX18NCi0JCXJuID0g
cm5fZGVsZXRlKCZrZS0+cGZya2Vfc2EsICZtYXNrLCBoZWFkKTsNCi0jZWxz
ZQ0KIAkJcm4gPSBybl9kZWxldGUoJmtlLT5wZnJrZV9zYSwgJm1hc2ssIGhl
YWQsIE5VTEwpOw0KLSNlbmRpZg0KIAl9IGVsc2UNCi0jaWZkZWYgX19GcmVl
QlNEX18NCi0JCXJuID0gcm5fZGVsZXRlKCZrZS0+cGZya2Vfc2EsIE5VTEws
IGhlYWQpOw0KLSNlbHNlDQogCQlybiA9IHJuX2RlbGV0ZSgma2UtPnBmcmtl
X3NhLCBOVUxMLCBoZWFkLCBOVUxMKTsNCi0jZW5kaWYNCiAJc3BseChzKTsN
CiANCiAJaWYgKHJuID09IE5VTEwpIHsNCmRpZmYgLXIgLXUgL3Vzci9zcmMv
c3lzL2tlcm4vdmZzX2V4cG9ydC5jIC9yb3V0ZXIvdXNyL3NyYy9zeXMva2Vy
bi92ZnNfZXhwb3J0LmMNCi0tLSAvdXNyL3NyYy9zeXMva2Vybi92ZnNfZXhw
b3J0LmMJMjAwOS0xMC0wMSAxMzoxMTo0NS4wMDAwMDAwMDAgKzAwMDANCisr
KyAvcm91dGVyL3Vzci9zcmMvc3lzL2tlcm4vdmZzX2V4cG9ydC5jCTIwMTAt
MDgtMjYgMTE6NTI6NDcuMDAwMDAwMDAwICswMDAwDQpAQCAtMjI4LDcgKzIy
OCw3IEBADQogCXN0cnVjdCByYWRpeF9ub2RlX2hlYWQgKnJuaCA9IChzdHJ1
Y3QgcmFkaXhfbm9kZV9oZWFkICopIHc7DQogCXN0cnVjdCB1Y3JlZCAqY3Jl
ZDsNCiANCi0JKCpybmgtPnJuaF9kZWxhZGRyKSAocm4tPnJuX2tleSwgcm4t
PnJuX21hc2ssIHJuaCk7DQorCSgqcm5oLT5ybmhfZGVsYWRkcikgKHJuLT5y
bl9rZXksIHJuLT5ybl9tYXNrLCBybmgsIE5VTEwpOw0KIAljcmVkID0gKChz
dHJ1Y3QgbmV0Y3JlZCAqKXJuKS0+bmV0Y19hbm9uOw0KIAlpZiAoY3JlZCAh
PSBOVUxMKQ0KIAkJY3JmcmVlKGNyZWQpOw0KZGlmZiAtciAtdSAvdXNyL3Ny
Yy9zeXMvbmV0L3JhZGl4LmMgL3JvdXRlci91c3Ivc3JjL3N5cy9uZXQvcmFk
aXguYw0KLS0tIC91c3Ivc3JjL3N5cy9uZXQvcmFkaXguYwkyMDEwLTA0LTAy
IDA1OjAyOjUwLjAwMDAwMDAwMCArMDAwMA0KKysrIC9yb3V0ZXIvdXNyL3Ny
Yy9zeXMvbmV0L3JhZGl4LmMJMjAxMC0wOC0yNiAxODoxNDoyNi4wMDAwMDAw
MDAgKzAwMDANCkBAIC02MTQsNyArNjE0LDcgQEANCiAJc3RydWN0IHJhZGl4
X25vZGUgdHJlZW5vZGVzWzJdOw0KIHsNCiAJY2FkZHJfdCB2ID0gKGNhZGRy
X3Qpdl9hcmcsIG5ldG1hc2sgPSAoY2FkZHJfdCluX2FyZzsNCi0JcmVnaXN0
ZXIgc3RydWN0IHJhZGl4X25vZGUgKnQsICp4ID0gMCwgKnR0Ow0KKwlyZWdp
c3RlciBzdHJ1Y3QgcmFkaXhfbm9kZSAqdCwgKnggPSAwLCAqeHggPSAwLCAq
dHQ7DQogCXN0cnVjdCByYWRpeF9ub2RlICpzYXZlZF90dCwgKnRvcCA9IGhl
YWQtPnJuaF90cmVldG9wOw0KIAlzaG9ydCBiID0gMCwgYl9sZWFmID0gMDsN
CiAJaW50IGtleWR1cGxpY2F0ZWQ7DQpAQCAtNzIzLDEyICs3MjMsMTkgQEAN
CiAJCXggPSB0LT5ybl9yaWdodDsNCiAJLyogUHJvbW90ZSBnZW5lcmFsIHJv
dXRlcyBmcm9tIGJlbG93ICovDQogCWlmICh4LT5ybl9iaXQgPCAwKSB7DQot
CSAgICBmb3IgKG1wID0gJnQtPnJuX21rbGlzdDsgeDsgeCA9IHgtPnJuX2R1
cGVka2V5KQ0KKwkgICAgZm9yIChtcCA9ICZ0LT5ybl9ta2xpc3Q7IHg7IHh4
ID0geCwgeCA9IHgtPnJuX2R1cGVka2V5KSB7DQorCQlpZiAoeHggJiYgeHgt
PnJuX21rbGlzdCAmJiB4eC0+cm5fbWFzayA9PSB4LT5ybl9tYXNrICYmDQor
CQkJCXgtPnJuX21rbGlzdCA9PSAwKSB7DQorCQkJLyogbXVsdGlwYXRoIHJv
dXRlLCBidW1wIHJlZmNvdW50IG9uIGZpcnN0IG1rbGlzdCAqLw0KKwkJCXgt
PnJuX21rbGlzdCA9IHh4LT5ybl9ta2xpc3Q7DQorCQkJeC0+cm5fbWtsaXN0
LT5ybV9yZWZzKys7DQorCQl9DQogCQlpZiAoeC0+cm5fbWFzayAmJiAoeC0+
cm5fYml0ID49IGJfbGVhZikgJiYgeC0+cm5fbWtsaXN0ID09IDApIHsNCiAJ
CQkqbXAgPSBtID0gcm5fbmV3X3JhZGl4X21hc2soeCwgMCk7DQogCQkJaWYg
KG0pDQogCQkJCW1wID0gJm0tPnJtX21rbGlzdDsNCiAJCX0NCisJICAgIH0N
CiAJfSBlbHNlIGlmICh4LT5ybl9ta2xpc3QpIHsNCiAJCS8qDQogCQkgKiBT
a2lwIG92ZXIgbWFza3Mgd2hvc2UgaW5kZXggaXMgPiB0aGF0IG9mIG5ldyBu
b2RlDQpAQCAtNzgzLDkgKzc5MCwxMCBAQA0KIH0NCiANCiBzdHJ1Y3QgcmFk
aXhfbm9kZSAqDQotcm5fZGVsZXRlKHZfYXJnLCBuZXRtYXNrX2FyZywgaGVh
ZCkNCitybl9kZWxldGUodl9hcmcsIG5ldG1hc2tfYXJnLCBoZWFkLCBybikN
CiAJdm9pZCAqdl9hcmcsICpuZXRtYXNrX2FyZzsNCiAJc3RydWN0IHJhZGl4
X25vZGVfaGVhZCAqaGVhZDsNCisJc3RydWN0IHJhZGl4X25vZGUgKnJuOw0K
IHsNCiAJcmVnaXN0ZXIgc3RydWN0IHJhZGl4X25vZGUgKnQsICpwLCAqeCwg
KnR0Ow0KIAlzdHJ1Y3QgcmFkaXhfbWFzayAqbSwgKnNhdmVkX20sICoqbXA7
DQpAQCAtODE1LDEzICs4MjMsMzggQEANCiAJCQlpZiAoKHR0ID0gdHQtPnJu
X2R1cGVka2V5KSA9PSAwKQ0KIAkJCQlyZXR1cm4gKDApOw0KIAl9DQorI2lm
ZGVmIFJBRElYX01QQVRIDQorCWlmIChybikgew0KKwkJd2hpbGUgKHR0ICE9
IHJuKQ0KKwkJCWlmICgodHQgPSB0dC0+cm5fZHVwZWRrZXkpID09IDApDQor
CQkJCXJldHVybiAoMCk7DQorCX0NCisjZW5kaWYNCisJDQogCWlmICh0dC0+
cm5fbWFzayA9PSAwIHx8IChzYXZlZF9tID0gbSA9IHR0LT5ybl9ta2xpc3Qp
ID09IDApDQogCQlnb3RvIG9uMTsNCiAJaWYgKHR0LT5ybl9mbGFncyAmIFJO
Rl9OT1JNQUwpIHsNCi0JCWlmIChtLT5ybV9sZWFmICE9IHR0IHx8IG0tPnJt
X3JlZnMgPiAwKSB7DQorCQlpZiAobS0+cm1fbGVhZiAhPSB0dCAmJiBtLT5y
bV9yZWZzID09IDApIHsNCiAJCQlsb2coTE9HX0VSUiwgInJuX2RlbGV0ZTog
aW5jb25zaXN0ZW50IGFubm90YXRpb25cbiIpOw0KIAkJCXJldHVybiAwOyAg
LyogZGFuZ2xpbmcgcmVmIGNvdWxkIGNhdXNlIGRpc2FzdGVyICovDQogCQl9
DQorCQlpZiAobS0+cm1fbGVhZiAhPSB0dCkgew0KKwkJCWlmICgtLW0tPnJt
X3JlZnMgPj0gMCkNCisJCQkJZ290byBvbjE7DQorICAgICAgICAgICAgICAg
IH0NCisJCS8qIHR0IGlzIGN1cnJlbnRseSB0aGUgaGVhZCBvZiB0aGUgcG9z
c2libGUgbXVsdGlwYXRoIGNoYWluICovDQorCQlpZiAobS0+cm1fcmVmcyA+
IDApIHsNCisJCQlpZiAodHQtPnJuX2R1cGVka2V5ID09IE5VTEwgfHwNCisJ
CQkgICAgdHQtPnJuX2R1cGVka2V5LT5ybl9ta2xpc3QgIT0gbSkgew0KKwkJ
CQlsb2coTE9HX0VSUiwgInJuX2RlbGV0ZTogaW5jb25zaXN0ZW50ICINCisJ
CQkJICAgICJkdXBlZGtleSBsaXN0XG4iKTsNCisJCQkJcmV0dXJuICgwKTsN
CisJCQl9DQorCQkJbS0+cm1fbGVhZiA9IHR0LT5ybl9kdXBlZGtleTsNCisJ
CQktLW0tPnJtX3JlZnM7DQorCQkJZ290byBvbjE7DQorCQl9DQorCQkvKiBl
bHNlIHR0IGlzIGxhc3QgYW5kIG9ubHkgcm91dGUgKi8NCiAJfSBlbHNlIHsN
CiAJCWlmIChtLT5ybV9tYXNrICE9IHR0LT5ybl9tYXNrKSB7DQogCQkJbG9n
KExPR19FUlIsICJybl9kZWxldGU6IGluY29uc2lzdGVudCBhbm5vdGF0aW9u
XG4iKTsNCkBAIC04NjksMjEgKzkwMiwxNyBAQA0KIAkJICovDQogCQlpZiAo
dHQgPT0gc2F2ZWRfdHQpIHsNCiAJCQkvKiByZW1vdmUgZnJvbSBoZWFkIG9m
IGNoYWluICovDQotCQkJeCA9IGR1cGVka2V5OyB4LT5ybl9wYXJlbnQgPSB0
Ow0KKwkJCXggPSBkdXBlZGtleTsgDQorCQkJeC0+cm5fcGFyZW50ID0gdDsN
CiAJCQlpZiAodC0+cm5fbGVmdCA9PSB0dCkNCiAJCQkJdC0+cm5fbGVmdCA9
IHg7DQogCQkJZWxzZQ0KIAkJCQl0LT5ybl9yaWdodCA9IHg7DQogCQl9IGVs
c2Ugew0KLQkJCS8qIGZpbmQgbm9kZSBpbiBmcm9udCBvZiB0dCBvbiB0aGUg
Y2hhaW4gKi8NCi0JCQlmb3IgKHggPSBwID0gc2F2ZWRfdHQ7IHAgJiYgcC0+
cm5fZHVwZWRrZXkgIT0gdHQ7KQ0KLQkJCQlwID0gcC0+cm5fZHVwZWRrZXk7
DQotCQkJaWYgKHApIHsNCi0JCQkJcC0+cm5fZHVwZWRrZXkgPSB0dC0+cm5f
ZHVwZWRrZXk7DQotCQkJCWlmICh0dC0+cm5fZHVwZWRrZXkpCQkvKiBwYXJl
bnQgKi8NCi0JCQkJCXR0LT5ybl9kdXBlZGtleS0+cm5fcGFyZW50ID0gcDsN
Ci0JCQkJCQkJCS8qIHBhcmVudCAqLw0KLQkJCX0gZWxzZSBsb2coTE9HX0VS
UiwgInJuX2RlbGV0ZTogY291bGRuJ3QgZmluZCB1c1xuIik7DQorCQkJeCA9
IHNhdmVkX3R0Ow0KKwkJCXQtPnJuX2R1cGVka2V5ID0gdHQtPnJuX2R1cGVk
a2V5Ow0KKwkJCWlmICh0dC0+cm5fZHVwZWRrZXkpDQorCQkJCXR0LT5ybl9k
dXBlZGtleS0+cm5fcGFyZW50ID0gdDsNCiAJCX0NCiAJCXQgPSB0dCArIDE7
DQogCQlpZiAgKHQtPnJuX2ZsYWdzICYgUk5GX0FDVElWRSkgew0KQEAgLTkz
MSwxNCArOTYwLDIxIEBADQogCQkJCWlmIChtID09IHgtPnJuX21rbGlzdCkg
ew0KIAkJCQkJc3RydWN0IHJhZGl4X21hc2sgKm1tID0gbS0+cm1fbWtsaXN0
Ow0KIAkJCQkJeC0+cm5fbWtsaXN0ID0gMDsNCi0JCQkJCWlmICgtLShtLT5y
bV9yZWZzKSA8IDApDQorCQkJCQlpZiAoLS0obS0+cm1fcmVmcykgPCAwKSB7
DQogCQkJCQkJTUtGcmVlKG0pOw0KKwkJCQkJfSBlbHNlIGlmIChtLT5ybV9m
bGFncyAmIFJORl9OT1JNQUwpIHsNCisJCQkJCQkvKg0KKwkJCQkJCSAqIGRv
bid0IHByb2dyZXNzIGJlY2F1c2UgdGhpcw0KKwkJCQkJCSAqIGEgbXVsdGlw
YXRoIHJvdXRlLiBOZXh0DQorCQkJCQkJICogcm91dGUgd2lsbCB1c2UgdGhl
IHNhbWUgbS4NCisJCQkJCQkgKi8NCisJCQkJCQltbSA9IG07DQorCQkJCQl9
DQogCQkJCQltID0gbW07DQogCQkJCX0NCiAJCQlpZiAobSkNCiAJCQkJbG9n
KExPR19FUlIsDQotCQkJCSAgICAicm5fZGVsZXRlOiBPcnBoYW5lZCBNYXNr
ICVwIGF0ICVwXG4iLA0KLQkJCQkgICAgbSwgeCk7DQorCQkJCSAgICAicm5f
ZGVsZXRlOiBPcnBoYW5lZCBNYXNrICVwIGF0ICVwXG4iLCBtLCB4KTsNCiAJ
CX0NCiAJfQ0KIAkvKg0KQEAgLTk5MCwxMSArMTAyNiw4IEBADQogCSAqIHJu
X3NlYXJjaF9tIGlzIHNvcnQtb2Ytb3Blbi1jb2RlZCBoZXJlLiBXZSBjYW5u
b3QgdXNlIHRoZQ0KIAkgKiBmdW5jdGlvbiBiZWNhdXNlIHdlIG5lZWQgdG8g
a2VlcCB0cmFjayBvZiB0aGUgbGFzdCBub2RlIHNlZW4uDQogCSAqLw0KLQkv
KiBwcmludGYoImFib3V0IHRvIHNlYXJjaFxuIik7ICovDQogCWZvciAocm4g
PSBoLT5ybmhfdHJlZXRvcDsgcm4tPnJuX2JpdCA+PSAwOyApIHsNCiAJCWxh
c3QgPSBybjsNCi0JCS8qIHByaW50Zigicm5fYml0ICVkLCBybl9ibWFzayAl
eCwgeG1bcm5fb2Zmc2V0XSAleFxuIiwNCi0JCSAgICAgICBybi0+cm5fYml0
LCBybi0+cm5fYm1hc2ssIHhtW3JuLT5ybl9vZmZzZXRdKTsgKi8NCiAJCWlm
ICghKHJuLT5ybl9ibWFzayAmIHhtW3JuLT5ybl9vZmZzZXRdKSkgew0KIAkJ
CWJyZWFrOw0KIAkJfQ0KQEAgLTEwMDQsNyArMTAzNyw2IEBADQogCQkJcm4g
PSBybi0+cm5fbGVmdDsNCiAJCX0NCiAJfQ0KLQkvKiBwcmludGYoImRvbmUg
c2VhcmNoaW5nXG4iKTsgKi8NCiANCiAJLyoNCiAJICogVHdvIGNhc2VzOiBl
aXRoZXIgd2Ugc3RlcHBlZCBvZmYgdGhlIGVuZCBvZiBvdXIgbWFzaywNCkBA
IC0xMDE1LDggKzEwNDcsNiBAQA0KIAlybiA9IGxhc3Q7DQogCWxhc3RiID0g
cm4tPnJuX2JpdDsNCiANCi0JLyogcHJpbnRmKCJybiAlcCwgbGFzdGIgJWRc
biIsIHJuLCBsYXN0Yik7Ki8NCi0NCiAJLyoNCiAJICogVGhpcyBnZXRzIGNv
bXBsaWNhdGVkIGJlY2F1c2Ugd2UgbWF5IGRlbGV0ZSB0aGUgbm9kZQ0KIAkg
KiB3aGlsZSBhcHBseWluZyB0aGUgZnVuY3Rpb24gZiB0byBpdCwgc28gd2Ug
bmVlZCB0byBjYWxjdWxhdGUNCkBAIC0xMDI2LDcgKzEwNTYsNiBAQA0KIAkJ
cm4gPSBybi0+cm5fbGVmdDsNCiANCiAJd2hpbGUgKCFzdG9wcGluZykgew0K
LQkJLyogcHJpbnRmKCJub2RlICVwICglZClcbiIsIHJuLCBybi0+cm5fYml0
KTsgKi8NCiAJCWJhc2UgPSBybjsNCiAJCS8qIElmIGF0IHJpZ2h0IGNoaWxk
IGdvIGJhY2sgdXAsIG90aGVyd2lzZSwgZ28gcmlnaHQgKi8NCiAJCXdoaWxl
IChybi0+cm5fcGFyZW50LT5ybl9yaWdodCA9PSBybg0KQEAgLTEwMzYsNyAr
MTA2NSw2IEBADQogCQkJLyogaWYgd2VudCB1cCBiZXlvbmQgbGFzdCwgc3Rv
cCAqLw0KIAkJCWlmIChybi0+cm5fYml0IDw9IGxhc3RiKSB7DQogCQkJCXN0
b3BwaW5nID0gMTsNCi0JCQkJLyogcHJpbnRmKCJ1cCB0b28gZmFyXG4iKTsg
Ki8NCiAJCQkJLyoNCiAJCQkJICogWFhYIHdlIHNob3VsZCBqdW1wIHRvIHRo
ZSAnUHJvY2VzcyBsZWF2ZXMnDQogCQkJCSAqIHBhcnQsIGJlY2F1c2UgdGhl
IHZhbHVlcyBvZiAncm4nIGFuZCAnbmV4dCcNCkBAIC0xMDYyLDcgKzEwOTAs
NiBAQA0KIAkJLyogUHJvY2VzcyBsZWF2ZXMgKi8NCiAJCXdoaWxlICgocm4g
PSBiYXNlKSAhPSAwKSB7DQogCQkJYmFzZSA9IHJuLT5ybl9kdXBlZGtleTsN
Ci0JCQkvKiBwcmludGYoImxlYWYgJXBcbiIsIHJuKTsgKi8NCiAJCQlpZiAo
IShybi0+cm5fZmxhZ3MgJiBSTkZfUk9PVCkNCiAJCQkgICAgJiYgKGVycm9y
ID0gKCpmKShybiwgdykpKQ0KIAkJCQlyZXR1cm4gKGVycm9yKTsNCkBAIC0x
MDcwLDcgKzEwOTcsNiBAQA0KIAkJcm4gPSBuZXh0Ow0KIA0KIAkJaWYgKHJu
LT5ybl9mbGFncyAmIFJORl9ST09UKSB7DQotCQkJLyogcHJpbnRmKCJyb290
LCBzdG9wcGluZyIpOyAqLw0KIAkJCXN0b3BwaW5nID0gMTsNCiAJCX0NCiAN
CmRpZmYgLXIgLXUgL3Vzci9zcmMvc3lzL25ldC9yYWRpeC5oIC9yb3V0ZXIv
dXNyL3NyYy9zeXMvbmV0L3JhZGl4LmgNCi0tLSAvdXNyL3NyYy9zeXMvbmV0
L3JhZGl4LmgJMjAxMC0wMy0yMyAwOTo1ODo1OS4wMDAwMDAwMDAgKzAwMDAN
CisrKyAvcm91dGVyL3Vzci9zcmMvc3lzL25ldC9yYWRpeC5oCTIwMTAtMDgt
MjYgMTI6MDI6NTIuMDAwMDAwMDAwICswMDAwDQpAQCAtMTE0LDcgKzExNCw3
IEBADQogCQkodm9pZCAqdiwgdm9pZCAqbWFzaywNCiAJCSAgICAgc3RydWN0
IHJhZGl4X25vZGVfaGVhZCAqaGVhZCwgc3RydWN0IHJhZGl4X25vZGUgbm9k
ZXNbXSk7DQogCXN0cnVjdAlyYWRpeF9ub2RlICooKnJuaF9kZWxhZGRyKQkv
KiByZW1vdmUgYmFzZWQgb24gc29ja2FkZHIgKi8NCi0JCSh2b2lkICp2LCB2
b2lkICptYXNrLCBzdHJ1Y3QgcmFkaXhfbm9kZV9oZWFkICpoZWFkKTsNCisJ
CSh2b2lkICp2LCB2b2lkICptYXNrLCBzdHJ1Y3QgcmFkaXhfbm9kZV9oZWFk
ICpoZWFkLCBzdHJ1Y3QgcmFkaXhfbm9kZSAqcm4pOw0KIAlzdHJ1Y3QJcmFk
aXhfbm9kZSAqKCpybmhfZGVscGt0KQkvKiByZW1vdmUgYmFzZWQgb24gcGFj
a2V0IGhkciAqLw0KIAkJKHZvaWQgKnYsIHZvaWQgKm1hc2ssIHN0cnVjdCBy
YWRpeF9ub2RlX2hlYWQgKmhlYWQpOw0KIAlzdHJ1Y3QJcmFkaXhfbm9kZSAq
KCpybmhfbWF0Y2hhZGRyKQkvKiBsb2NhdGUgYmFzZWQgb24gc29ja2FkZHIg
Ki8NCkBAIC0xNjgsNyArMTY4LDcgQEANCiAJICpybl9hZGRtYXNrKHZvaWQg
KiwgaW50LCBpbnQpLA0KIAkgKnJuX2FkZHJvdXRlICh2b2lkICosIHZvaWQg
Kiwgc3RydWN0IHJhZGl4X25vZGVfaGVhZCAqLA0KIAkJCXN0cnVjdCByYWRp
eF9ub2RlIFsyXSksDQotCSAqcm5fZGVsZXRlKHZvaWQgKiwgdm9pZCAqLCBz
dHJ1Y3QgcmFkaXhfbm9kZV9oZWFkICopLA0KKwkgKnJuX2RlbGV0ZSh2b2lk
ICosIHZvaWQgKiwgc3RydWN0IHJhZGl4X25vZGVfaGVhZCAqLCBzdHJ1Y3Qg
cmFkaXhfbm9kZSAqKSwNCiAJICpybl9sb29rdXAgKHZvaWQgKnZfYXJnLCB2
b2lkICptX2FyZywNCiAJCSAgICAgICAgc3RydWN0IHJhZGl4X25vZGVfaGVh
ZCAqaGVhZCksDQogCSAqcm5fbWF0Y2godm9pZCAqLCBzdHJ1Y3QgcmFkaXhf
bm9kZV9oZWFkICopOw0KZGlmZiAtciAtdSAvdXNyL3NyYy9zeXMvbmV0L3Jh
ZGl4X21wYXRoLmMgL3JvdXRlci91c3Ivc3JjL3N5cy9uZXQvcmFkaXhfbXBh
dGguYw0KLS0tIC91c3Ivc3JjL3N5cy9uZXQvcmFkaXhfbXBhdGguYwkyMDEw
LTA4LTI2IDE0OjI2OjM5LjAwMDAwMDAwMCArMDAwMA0KKysrIC9yb3V0ZXIv
dXNyL3NyYy9zeXMvbmV0L3JhZGl4X21wYXRoLmMJMjAxMC0wOC0yNiAxNDoz
MDoyNS4wMDAwMDAwMDAgKzAwMDANCkBAIC0xMjUsMzMgKzEyNSw2IEBADQog
CXJldHVybiAoc3RydWN0IHJ0ZW50cnkgKilybjsNCiB9DQogDQotLyogDQot
ICogZ28gdGhyb3VnaCB0aGUgY2hhaW4gYW5kIHVubGluayAicnQiIGZyb20g
dGhlIGxpc3QNCi0gKiB0aGUgY2FsbGVyIHdpbGwgZnJlZSAicnQiDQotICov
DQotaW50DQotcnRfbXBhdGhfZGVsZHVwKHN0cnVjdCBydGVudHJ5ICpoZWFk
cnQsIHN0cnVjdCBydGVudHJ5ICpydCkNCi17DQotICAgICAgICBzdHJ1Y3Qg
cmFkaXhfbm9kZSAqdCwgKnR0Ow0KLQ0KLSAgICAgICAgaWYgKCFoZWFkcnQg
fHwgIXJ0KQ0KLSAgICAgICAgICAgIHJldHVybiAoMCk7DQotICAgICAgICB0
ID0gKHN0cnVjdCByYWRpeF9ub2RlICopaGVhZHJ0Ow0KLSAgICAgICAgdHQg
PSBybl9tcGF0aF9uZXh0KHQpOw0KLSAgICAgICAgd2hpbGUgKHR0KSB7DQot
ICAgICAgICAgICAgaWYgKHR0ID09IChzdHJ1Y3QgcmFkaXhfbm9kZSAqKXJ0
KSB7DQotICAgICAgICAgICAgICAgIHQtPnJuX2R1cGVka2V5ID0gdHQtPnJu
X2R1cGVka2V5Ow0KLSAgICAgICAgICAgICAgICB0dC0+cm5fZHVwZWRrZXkg
PSBOVUxMOw0KLSAgICAJICAgICAgICB0dC0+cm5fZmxhZ3MgJj0gflJORl9B
Q1RJVkU7DQotCSAgICAgICAgdHRbMV0ucm5fZmxhZ3MgJj0gflJORl9BQ1RJ
VkU7DQotICAgICAgICAgICAgICAgIHJldHVybiAoMSk7DQotICAgICAgICAg
ICAgfQ0KLSAgICAgICAgICAgIHQgPSB0dDsNCi0gICAgICAgICAgICB0dCA9
IHJuX21wYXRoX25leHQoKHN0cnVjdCByYWRpeF9ub2RlICopdCk7DQotICAg
ICAgICB9DQotICAgICAgICByZXR1cm4gKDApOw0KLX0NCi0NCiAvKg0KICAq
IGNoZWNrIGlmIHdlIGhhdmUgdGhlIHNhbWUga2V5L21hc2svZ2F0ZXdheSBv
biB0aGUgdGFibGUgYWxyZWFkeS4NCiAgKi8NCkBAIC0yNjIsOSArMjM1LDEw
IEBADQogcnRhbGxvY19tcGF0aF9maWIoc3RydWN0IHJvdXRlICpybywgdWlu
dDMyX3QgaGFzaCwgdV9pbnQgZmlibnVtKQ0KIHsNCiAJc3RydWN0IHJhZGl4
X25vZGUgKnJuMCwgKnJuOw0KLQl1X2ludDMyX3QgbjsNCisJdV9pbnQzMl90
IG4gPSAwOw0KIAlzdHJ1Y3QgcnRlbnRyeSAqcnQ7DQogCWludDY0X3Qgd2Vp
Z2h0Ow0KKwlpbnQ2NF90IGxvd2VzdF93ZWlnaHQ7DQogDQogCS8qDQogCSAq
IFhYWCB3ZSBkb24ndCBhdHRlbXB0IHRvIGxvb2t1cCBjYWNoZWQgcm91dGUg
YWdhaW47IHdoYXQgc2hvdWxkDQpAQCAtMjg1LDIzICsyNTksMzQgQEANCiAN
CiAJLyogYmV5b25kIGhlcmUsIHdlIHVzZSBybiBhcyB0aGUgbWFzdGVyIGNv
cHkgKi8NCiAJcm4wID0gcm4gPSAoc3RydWN0IHJhZGl4X25vZGUgKilyby0+
cm9fcnQ7DQotCW4gPSBybl9tcGF0aF9jb3VudChybjApOw0KLQ0KKwkNCisJ
LyogZmluZCBsb3dlc3Qgd2VpZ2h0IHJvdXRlICovDQorCWZvciAoIHJ0ID0g
KHN0cnVjdCBydGVudHJ5ICopcm4sIHdlaWdodCA9IHJ0LT5ydF9ybXgucm14
X3dlaWdodDsgcm4gIT0gTlVMTDsgcm4gPSBybl9tcGF0aF9uZXh0KCBybikp
IHsNCisJCS8qIFhYWCBjaGVjayBpZiByb3V0ZSBpcyB1cD8gKi8NCisJCXJ0
ID0gKHN0cnVjdCBydGVudHJ5ICopcm47DQorCQlpZihydC0+cnRfZmxhZ3Mg
JiBSVEZfVVApIHsgDQorCQkJaWYgKHdlaWdodCA+IHJ0LT5ydF9ybXgucm14
X3dlaWdodCkgew0KKwkJCQl3ZWlnaHQgPSBydC0+cnRfcm14LnJteF93ZWln
aHQ7DQorCQkJCW4gPSAxOw0KKwkJCX0gZWxzZSBpZiAod2VpZ2h0ID09IHJ0
LT5ydF9ybXgucm14X3dlaWdodCkNCisJCQkJbisrOw0KKwkJfQ0KKwl9DQor
CWxvd2VzdF93ZWlnaHQgPSB3ZWlnaHQ7DQorCQ0KKwkvKiBzZWxlY3Qgbm93
IG9uZSBvZiB0aGUgbG93ZXN0IHdlaWdodCByb3V0ZXMgKi8NCiAJLyogZ3cg
c2VsZWN0aW9uIGJ5IE1vZHVsby1OIEhhc2ggKFJGQzI5OTEpIFhYWCBuZWVk
IGltcHJvdmVtZW50PyAqLw0KIAloYXNoICs9IGhhc2hqaXR0ZXI7DQogCWhh
c2ggJT0gbjsNCi0JZm9yICh3ZWlnaHQgPSBhYnMoKGludDMyX3QpaGFzaCks
IHJ0ID0gcm8tPnJvX3J0Ow0KLQkgICAgIHdlaWdodCA+PSBydC0+cnRfcm14
LnJteF93ZWlnaHQgJiYgcm47IA0KLQkgICAgIHdlaWdodCAtPSBydC0+cnRf
cm14LnJteF93ZWlnaHQpIHsNCi0JCQ0KLQkJLyogY2hlY2sgaWYgbmV4dCBr
ZXkgZXhpc3RzICovDQotCQlpZiAocm4tPnJuX2R1cGVka2V5ID09IE5VTEwp
DQotCQkJYnJlYWs7DQotCQkvKiBzdGF5IHdpdGhpbiB0aGUgbXVsdGlwYXRo
IHJvdXRlcyAqLw0KLQkJaWYgKHJuLT5ybl9kdXBlZGtleSAmJiBybi0+cm5f
bWFzayAhPSBybi0+cm5fZHVwZWRrZXktPnJuX21hc2spDQotCQkJYnJlYWs7
DQotCQlybiA9IHJuLT5ybl9kdXBlZGtleTsNCisJZm9yICggcm4gPSBybjAs
IG4gPSAwOyBybiAhPSBOVUxMOyBybiA9IHJuX21wYXRoX25leHQoIHJuKSkg
ew0KIAkJcnQgPSAoc3RydWN0IHJ0ZW50cnkgKilybjsNCisJCWlmKHJ0LT5y
dF9mbGFncyAmIFJURl9VUCkgeyANCisJCQlpZiAoIHJ0LT5ydF9ybXgucm14
X3dlaWdodCA9PSBsb3dlc3Rfd2VpZ2h0KSB7DQorCQkJCWlmIChuID09IGhh
c2gpDQorCQkJCQlicmVhazsNCisJCQkJbisrOw0KKwkJCX0NCisJCX0NCiAJ
fQ0KIAkvKiBYWFggdHJ5IGZpbGxpbmcgcnRfZ3dyb3V0ZSBhbmQgYXZvaWQg
dW5yZWFjaGFibGUgZ3cgICovDQogDQpkaWZmIC1yIC11IC91c3Ivc3JjL3N5
cy9uZXQvcm91dGUuYyAvcm91dGVyL3Vzci9zcmMvc3lzL25ldC9yb3V0ZS5j
DQotLS0gL3Vzci9zcmMvc3lzL25ldC9yb3V0ZS5jCTIwMTAtMDYtMTggMDM6
MzE6MzMuMDAwMDAwMDAwICswMDAwDQorKysgL3JvdXRlci91c3Ivc3JjL3N5
cy9uZXQvcm91dGUuYwkyMDEwLTA4LTI2IDE4OjIxOjU0LjAwMDAwMDAwMCAr
MDAwMA0KQEAgLTg3NSw3ICs4NzUsNyBAQA0KIAkgKiBSZW1vdmUgdGhlIGl0
ZW0gZnJvbSB0aGUgdHJlZTsgaXQgc2hvdWxkIGJlIHRoZXJlLA0KIAkgKiBi
dXQgd2hlbiBjYWxsZXJzIGludm9rZSB1cyBibGluZGx5IGl0IG1heSBub3Qg
KHNpZ2gpLg0KIAkgKi8NCi0Jcm4gPSBybmgtPnJuaF9kZWxhZGRyKHJ0X2tl
eShydCksIHJ0X21hc2socnQpLCBybmgpOw0KKwlybiA9IHJuaC0+cm5oX2Rl
bGFkZHIocnRfa2V5KHJ0KSwgcnRfbWFzayhydCksIHJuaCwgTlVMTCk7DQog
CWlmIChybiA9PSBOVUxMKSB7DQogCQllcnJvciA9IEVTUkNIOw0KIAkJZ290
byBiYWQ7DQpAQCAtOTEzLDExMiArOTEzLDYgQEANCiAJcmV0dXJuIChlcnJv
cik7DQogfQ0KIA0KLSNpZmRlZiBSQURJWF9NUEFUSA0KLXN0YXRpYyBpbnQN
Ci1ybl9tcGF0aF91cGRhdGUoaW50IHJlcSwgc3RydWN0IHJ0X2FkZHJpbmZv
ICppbmZvLA0KLSAgICBzdHJ1Y3QgcmFkaXhfbm9kZV9oZWFkICpybmgsIHN0
cnVjdCBydGVudHJ5ICoqcmV0X25ydCkNCi17DQotCS8qDQotCSAqIGlmIHdl
IGdvdCBtdWx0aXBhdGggcm91dGVzLCB3ZSByZXF1aXJlIHVzZXJzIHRvIHNw
ZWNpZnkNCi0JICogYSBtYXRjaGluZyBSVEFYX0dBVEVXQVkuDQotCSAqLw0K
LQlzdHJ1Y3QgcnRlbnRyeSAqcnQsICpydG8gPSBOVUxMOw0KLQlyZWdpc3Rl
ciBzdHJ1Y3QgcmFkaXhfbm9kZSAqcm47DQotCWludCBlcnJvciA9IDA7DQot
DQotCXJuID0gcm5oLT5ybmhfbWF0Y2hhZGRyKGRzdCwgcm5oKTsNCi0JaWYg
KHJuID09IE5VTEwpDQotCQlyZXR1cm4gKEVTUkNIKTsNCi0JcnRvID0gcnQg
PSBSTlRPUlQocm4pOw0KLQlydCA9IHJ0X21wYXRoX21hdGNoZ2F0ZShydCwg
Z2F0ZXdheSk7DQotCWlmIChydCA9PSBOVUxMKQ0KLQkJcmV0dXJuIChFU1JD
SCk7DQotCS8qDQotCSAqIHRoaXMgaXMgdGhlIGZpcnN0IGVudHJ5IGluIHRo
ZSBjaGFpbg0KLQkgKi8NCi0JaWYgKHJ0byA9PSBydCkgew0KLQkJcm4gPSBy
bl9tcGF0aF9uZXh0KChzdHJ1Y3QgcmFkaXhfbm9kZSAqKXJ0KTsNCi0JCS8q
DQotCQkgKiB0aGVyZSBpcyBhbm90aGVyIGVudHJ5LCBub3cgaXQncyBhY3Rp
dmUNCi0JCSAqLw0KLQkJaWYgKHJuKSB7DQotCQkJcnRvID0gUk5UT1JUKHJu
KTsNCi0JCQlSVF9MT0NLKHJ0byk7DQotCQkJcnRvLT5ydF9mbGFncyB8PSBS
VEZfVVA7DQotCQkJUlRfVU5MT0NLKHJ0byk7DQotCQl9IGVsc2UgaWYgKHJ0
LT5ydF9mbGFncyAmIFJURl9HQVRFV0FZKSB7DQotCQkJLyoNCi0JCQkgKiBG
b3IgZ2F0ZXdheSByb3V0ZXMsIHdlIG5lZWQgdG8gDQotCQkJICogbWFrZSBz
dXJlIHRoYXQgd2Ugd2UgYXJlIGRlbGV0aW5nDQotCQkJICogdGhlIGNvcnJl
Y3QgZ2F0ZXdheS4gDQotCQkJICogcnRfbXBhdGhfbWF0Y2hnYXRlKCkgZG9l
cyBub3QgDQotCQkJICogY2hlY2sgdGhlIGNhc2Ugd2hlbiB0aGVyZSBpcyBv
bmx5DQotCQkJICogb25lIHJvdXRlIGluIHRoZSBjaGFpbi4gIA0KLQkJCSAq
Lw0KLQkJCWlmIChnYXRld2F5ICYmDQotCQkJICAgIChydC0+cnRfZ2F0ZXdh
eS0+c2FfbGVuICE9IGdhdGV3YXktPnNhX2xlbiB8fA0KLQkJCQltZW1jbXAo
cnQtPnJ0X2dhdGV3YXksIGdhdGV3YXksIGdhdGV3YXktPnNhX2xlbikpKQ0K
LQkJCQllcnJvciA9IEVTUkNIOw0KLQkJCWVsc2Ugew0KLQkJCQkvKg0KLQkJ
CQkgKiByZW1vdmUgZnJvbSB0cmVlIGJlZm9yZSByZXR1cm5pbmcgaXQNCi0J
CQkJICogdG8gdGhlIGNhbGxlcg0KLQkJCQkgKi8NCi0JCQkJcm4gPSBybmgt
PnJuaF9kZWxhZGRyKGRzdCwgbmV0bWFzaywgcm5oKTsNCi0JCQkJS0FTU0VS
VChydCA9PSBSTlRPUlQocm4pLCAoInJhZGl4IG5vZGUgZGlzYXBwZWFyZWQi
KSk7DQotCQkJCWdvdG8gZ3dkZWxldGU7DQotCQkJfQ0KLQkJCQ0KLQkJfQ0K
LQkJLyoNCi0JCSAqIHVzZSB0aGUgbm9ybWFsIGRlbGV0ZSBjb2RlIHRvIHJl
bW92ZQ0KLQkJICogdGhlIGZpcnN0IGVudHJ5DQotCQkgKi8NCi0JCWlmIChy
ZXEgIT0gUlRNX0RFTEVURSkgDQotCQkJZ290byBub25kZWxldGU7DQotDQot
CQllcnJvciA9IEVOT0VOVDsNCi0JCWdvdG8gZG9uZTsNCi0JfQ0KLQkJDQot
CS8qDQotCSAqIGlmIHRoZSBlbnRyeSBpcyAybmQgYW5kIG9uIHVwDQotCSAq
Lw0KLQlpZiAoKHJlcSA9PSBSVE1fREVMRVRFKSAmJiAhcnRfbXBhdGhfZGVs
ZHVwKHJ0bywgcnQpKQ0KLQkJcGFuaWMgKCJydHJlcXVlc3QxOiBydF9tcGF0
aF9kZWxkdXAiKTsNCi1nd2RlbGV0ZToNCi0JUlRfTE9DSyhydCk7DQotCVJU
X0FERFJFRihydCk7DQotCWlmIChyZXEgPT0gUlRNX0RFTEVURSkgew0KLQkJ
cnQtPnJ0X2ZsYWdzICY9IH5SVEZfVVA7DQotCQkvKg0KLQkJICogT25lIG1v
cmUgcnRlbnRyeSBmbG9hdGluZyBhcm91bmQgdGhhdCBpcyBub3QNCi0JCSAq
IGxpbmtlZCB0byB0aGUgcm91dGluZyB0YWJsZS4gcnR0cmFzaCB3aWxsIGJl
IGRlY3JlbWVudGVkDQotCQkgKiB3aGVuIFJURlJFRShydCkgaXMgZXZlbnR1
YWxseSBjYWxsZWQuDQotCQkgKi8NCi0JCVZfcnR0cmFzaCsrOw0KLQl9DQot
CQ0KLW5vbmRlbGV0ZToNCi0JaWYgKHJlcSAhPSBSVE1fREVMRVRFKQ0KLQkJ
cGFuaWMoInVucmVjb2duaXplZCByZXF1ZXN0ICVkIiwgcmVxKTsNCi0JDQot
DQotCS8qDQotCSAqIElmIHRoZSBjYWxsZXIgd2FudHMgaXQsIHRoZW4gaXQg
Y2FuIGhhdmUgaXQsDQotCSAqIGJ1dCBpdCdzIHVwIHRvIGl0IHRvIGZyZWUg
dGhlIHJ0ZW50cnkgYXMgd2Ugd29uJ3QgYmUNCi0JICogZG9pbmcgaXQuDQot
CSAqLw0KLQlpZiAocmV0X25ydCkgew0KLQkJKnJldF9ucnQgPSBydDsNCi0J
CVJUX1VOTE9DSyhydCk7DQotCX0gZWxzZQ0KLQkJUlRGUkVFX0xPQ0tFRChy
dCk7DQotZG9uZToNCi0JcmV0dXJuIChlcnJvcik7DQotfQ0KLSNlbmRpZg0K
LQ0KIGludA0KIHJ0cmVxdWVzdDFfZmliKGludCByZXEsIHN0cnVjdCBydF9h
ZGRyaW5mbyAqaW5mbywgc3RydWN0IHJ0ZW50cnkgKipyZXRfbnJ0LA0KIAkJ
CQl1X2ludCBmaWJudW0pDQpAQCAtMTA1OCwyOCArOTUyLDMwIEBADQogDQog
CXN3aXRjaCAocmVxKSB7DQogCWNhc2UgUlRNX0RFTEVURToNCisJICAgICAg
ICBpZiAoKHJuID0gcm5oLT5ybmhfbG9va3VwKGRzdCwgbmV0bWFzaywgcm5o
KSkgPT0gTlVMTCkNCisJICAgICAgICAgICAgICAgIHNlbmRlcnIoRVNSQ0gp
Ow0KKwkJcnQgPSBSTlRPUlQocm4pOw0KICNpZmRlZiBSQURJWF9NUEFUSA0K
LQkJaWYgKHJuX21wYXRoX2NhcGFibGUocm5oKSkgew0KLQkJCWVycm9yID0g
cm5fbXBhdGhfdXBkYXRlKHJlcSwgaW5mbywgcm5oLCByZXRfbnJ0KTsNCi0J
CQkvKg0KLQkJCSAqICJiYWQiIGhvbGRzIHRydWUgZm9yIHRoZSBzdWNjZXNz
IGNhc2UNCi0JCQkgKiBhcyB3ZWxsDQotCQkJICovDQotCQkJaWYgKGVycm9y
ICE9IEVOT0VOVCkNCi0JCQkJZ290byBiYWQ7DQotCQkJZXJyb3IgPSAwOw0K
LQkJfQ0KKyAgICAgICAgICAgICAgICAvKg0KKyAgICAgICAgICAgICAgICAg
KiBpZiB3ZSBnb3QgbXVsdGlwYXRoIHJvdXRlcywgd2UgcmVxdWlyZSB1c2Vy
cyB0byBzcGVjaWZ5DQorICAgICAgICAgICAgICAgICAqIGEgbWF0Y2hpbmcg
UlRBWF9HQVRFV0FZLg0KKyAgICAgICAgICAgICAgICAgKi8NCisgICAgICAg
ICAgICAgICAgaWYgKHJuX21wYXRoX2NhcGFibGUocm5oKSkgew0KKyAgICAg
ICAgICAgICAgICAgICAgICAgIHJ0ID0gcnRfbXBhdGhfbWF0Y2hnYXRlKCBy
dCwgZ2F0ZXdheSk7DQorICAgICAgICAgICAgICAgICAgICAgICAgcm4gPSAo
c3RydWN0IHJhZGl4X25vZGUgKilydDsNCisgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoIXJ0KQ0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2VuZGVycihFU1JDSCk7DQorICAgICAgICAgICAgICAgIH0NCiAjZW5k
aWYNCiAJCS8qDQogCQkgKiBSZW1vdmUgdGhlIGl0ZW0gZnJvbSB0aGUgdHJl
ZSBhbmQgcmV0dXJuIGl0Lg0KIAkJICogQ29tcGxhaW4gaWYgaXQgaXMgbm90
IHRoZXJlIGFuZCBkbyBubyBtb3JlIHByb2Nlc3NpbmcuDQogCQkgKi8NCi0J
CXJuID0gcm5oLT5ybmhfZGVsYWRkcihkc3QsIG5ldG1hc2ssIHJuaCk7DQor
CQlybiA9IHJuaC0+cm5oX2RlbGFkZHIoZHN0LCBuZXRtYXNrLCBybmgsIHJu
KTsNCiAJCWlmIChybiA9PSBOVUxMKQ0KIAkJCXNlbmRlcnIoRVNSQ0gpOw0K
IAkJaWYgKHJuLT5ybl9mbGFncyAmIChSTkZfQUNUSVZFIHwgUk5GX1JPT1Qp
KQ0KIAkJCXBhbmljICgicnRyZXF1ZXN0IGRlbGV0ZSIpOw0KLQkJcnQgPSBS
TlRPUlQocm4pOw0KIAkJUlRfTE9DSyhydCk7DQogCQlSVF9BRERSRUYocnQp
Ow0KIAkJcnQtPnJ0X2ZsYWdzICY9IH5SVEZfVVA7DQpAQCAtMTQ3NCwxMCAr
MTM3MCw5IEBADQogCQkJICAgIFJOVE9SVChybiktPnJ0X2lmYSAhPSBpZmEg
fHwNCiAJCQkgICAgIXNhX2VxdWFsKChzdHJ1Y3Qgc29ja2FkZHIgKilybi0+
cm5fa2V5LCBkc3QpKTsNCiAJCQlSQURJWF9OT0RFX0hFQURfVU5MT0NLKHJu
aCk7DQotCQkJaWYgKGVycm9yKSB7DQorCQkJaWYgKGVycm9yKQ0KIAkJCQkv
KiB0aGlzIGlzIG9ubHkgYW4gZXJyb3IgaWYgYmFkIG9uIEFMTCB0YWJsZXMg
Ki8NCiAJCQkJY29udGludWU7DQotCQkJfQ0KIAkJfQ0KIAkJLyoNCiAJCSAq
IERvIHRoZSBhY3R1YWwgcmVxdWVzdA0KZGlmZiAtciAtdSAvdXNyL3NyYy9z
eXMvbmV0aW5ldC9pbi5jIC9yb3V0ZXIvdXNyL3NyYy9zeXMvbmV0aW5ldC9p
bi5jDQotLS0gL3Vzci9zcmMvc3lzL25ldGluZXQvaW4uYwkyMDEwLTA4LTI2
IDE0OjU3OjU3LjAwMDAwMDAwMCArMDAwMA0KKysrIC9yb3V0ZXIvdXNyL3Ny
Yy9zeXMvbmV0aW5ldC9pbi5jCTIwMTAtMDgtMjYgMTQ6NTg6NDAuMDAwMDAw
MDAwICswMDAwDQpAQCAtMTM3MywxMiArMTM3Myw0NSBAQA0KIGluX2xsdGFi
bGVfcnRjaGVjayhzdHJ1Y3QgaWZuZXQgKmlmcCwgdV9pbnQgZmxhZ3MsIGNv
bnN0IHN0cnVjdCBzb2NrYWRkciAqbDNhZGRyKQ0KIHsNCiAJc3RydWN0IHJ0
ZW50cnkgKnJ0Ow0KKyNpZmRlZiBSQURJWF9NUEFUSA0KKwlpbnQ2NF90IHdl
aWdodDsNCisJc3RydWN0IHJ0ZW50cnkgKnJ0MDsNCisJaW50MzJfdCBmb3Vu
ZCA9IDA7DQorI2VuZGlmDQogDQogCUtBU1NFUlQobDNhZGRyLT5zYV9mYW1p
bHkgPT0gQUZfSU5FVCwNCiAJICAgICgic2luX2ZhbWlseSAlZCIsIGwzYWRk
ci0+c2FfZmFtaWx5KSk7DQogDQogCS8qIFhYWCBydGFsbG9jMSBzaG91bGQg
dGFrZSBhIGNvbnN0IHBhcmFtICovDQogCXJ0ID0gcnRhbGxvYzEoX19ERUNP
TlNUKHN0cnVjdCBzb2NrYWRkciAqLCBsM2FkZHIpLCAwLCAwKTsNCisNCisj
aWZkZWYgUkFESVhfTVBBVEgNCisJcnQwID0gcnQ7DQorICAgICAgICBpZiAo
KHJ0ICE9IE5VTEwpICYmICggcm5fbXBhdGhfbmV4dCgoc3RydWN0IHJhZGl4
X25vZGUgKilydCkgIT0gTlVMTCkpIHsNCisJCS8qIGNoZWNrIGlmIHRoZXJl
IGFyZSBvdGhlciwgbWF0Y2hpbmcgcm91dGVzICovDQorCQkvKiBmaW5kIGxv
d2VzdCB3ZWlnaHQgcm91dGUgKi8NCisJCWZvciAoIHdlaWdodCA9IHJ0LT5y
dF9ybXgucm14X3dlaWdodDsgcnQgIT0gTlVMTDsgcnQgPSAoc3RydWN0IHJ0
ZW50cnkgKilybl9tcGF0aF9uZXh0KCAoc3RydWN0IHJhZGl4X25vZGUgKily
dCkpIHsNCisJCQlpZihydC0+cnRfZmxhZ3MgJiBSVEZfVVApIHsNCisJCQkJ
aWYgKHdlaWdodCA+IHJ0LT5ydF9ybXgucm14X3dlaWdodCkNCisJCQkJCXdl
aWdodCA9IHJ0LT5ydF9ybXgucm14X3dlaWdodDsNCisJCQl9DQorCQl9DQor
DQorCQkvKiBmaW5kIG5vdyBvbmUgbm9uIGdhdGV3YXkgcm91dGUgd2l0aCBs
b3dlc3Qgd2VpZ2h0ICovDQorCQlmb3IgKCBydCA9IHJ0MDsgcnQgIT0gTlVM
TDsgcnQgPSAoc3RydWN0IHJ0ZW50cnkgKilybl9tcGF0aF9uZXh0KCAoc3Ry
dWN0IHJhZGl4X25vZGUgKilydCkpIHsNCisJCQlpZihydC0+cnRfZmxhZ3Mg
JiBSVEZfVVApIHsNCisJCQkJaWYgKCh3ZWlnaHQgPT0gcnQtPnJ0X3JteC5y
bXhfd2VpZ2h0KSAmJiAhKHJ0LT5ydF9mbGFncyAmIFJURl9HQVRFV0FZKSkg
ew0KKwkJCQkJZm91bmQgPSAxOw0KKwkJCQkJYnJlYWs7DQorCQkJCX0NCisJ
CQl9DQorCQl9DQorCQlpZiAoZm91bmQgPT0gMCkNCisJCQlydCA9IE5VTEw7
DQorCX0NCisJDQorI2VuZGlmCQ0KKw0KIAlpZiAocnQgPT0gTlVMTCB8fCAo
IShmbGFncyAmIExMRV9QVUIpICYmDQogCQkJICAgKChydC0+cnRfZmxhZ3Mg
JiBSVEZfR0FURVdBWSkgfHwgDQogCQkJICAgIChydC0+cnRfaWZwICE9IGlm
cCkpKSkgew0KQEAgLTEzODYsMTEgKzE0MTksMjEgQEANCiAJCWxvZyhMT0df
SU5GTywgIklQdjQgYWRkcmVzczogXCIlc1wiIGlzIG5vdCBvbiB0aGUgbmV0
d29ya1xuIiwNCiAJCSAgICBpbmV0X250b2EoKChjb25zdCBzdHJ1Y3Qgc29j
a2FkZHJfaW4gKilsM2FkZHIpLT5zaW5fYWRkcikpOw0KICNlbmRpZg0KKyNp
ZmRlZiBSQURJWF9NUEFUSA0KKwkJaWYgKHJ0MCAhPSBOVUxMKQ0KKwkJCVJU
RlJFRV9MT0NLRUQocnQwKTsNCisjZWxzZQ0KIAkJaWYgKHJ0ICE9IE5VTEwp
DQogCQkJUlRGUkVFX0xPQ0tFRChydCk7DQorI2VuZGlmDQogCQlyZXR1cm4g
KEVJTlZBTCk7DQogCX0NCisjaWZkZWYgUkFESVhfTVBBVEgNCisJUlRGUkVF
X0xPQ0tFRChydDApOw0KKyNlbHNlDQogCVJURlJFRV9MT0NLRUQocnQpOw0K
KyNlbmRpZg0KKw0KIAlyZXR1cm4gMDsNCiB9DQogDQpkaWZmIC1yIC11IC91
c3Ivc3JjL3N5cy9uZXRpbmV0L2lwZncvaXBfZndfdGFibGUuYyAvcm91dGVy
L3Vzci9zcmMvc3lzL25ldGluZXQvaXBmdy9pcF9md190YWJsZS5jDQotLS0g
L3Vzci9zcmMvc3lzL25ldGluZXQvaXBmdy9pcF9md190YWJsZS5jCTIwMTAt
MDMtMjMgMDk6NTg6NTkuMDAwMDAwMDAwICswMDAwDQorKysgL3JvdXRlci91
c3Ivc3JjL3N5cy9uZXRpbmV0L2lwZncvaXBfZndfdGFibGUuYwkyMDEwLTA4
LTI2IDEyOjQ3OjI3LjAwMDAwMDAwMCArMDAwMA0KQEAgLTEzNyw3ICsxMzcs
NyBAQA0KIAltYXNrLnNpbl9hZGRyLnNfYWRkciA9IGh0b25sKG1sZW4gPyB+
KCgxIDw8ICgzMiAtIG1sZW4pKSAtIDEpIDogMCk7DQogCXNhLnNpbl9hZGRy
LnNfYWRkciA9IGFkZHIgJiBtYXNrLnNpbl9hZGRyLnNfYWRkcjsNCiAJSVBG
V19XTE9DSyhjaCk7DQotCWVudCA9IChzdHJ1Y3QgdGFibGVfZW50cnkgKily
bmgtPnJuaF9kZWxhZGRyKCZzYSwgJm1hc2ssIHJuaCk7DQorCWVudCA9IChz
dHJ1Y3QgdGFibGVfZW50cnkgKilybmgtPnJuaF9kZWxhZGRyKCZzYSwgJm1h
c2ssIHJuaCwgTlVMTCk7DQogCWlmIChlbnQgPT0gTlVMTCkgew0KIAkJSVBG
V19XVU5MT0NLKGNoKTsNCiAJCXJldHVybiAoRVNSQ0gpOw0KQEAgLTE1NCw3
ICsxNTQsNyBAQA0KIAlzdHJ1Y3QgdGFibGVfZW50cnkgKmVudDsNCiANCiAJ
ZW50ID0gKHN0cnVjdCB0YWJsZV9lbnRyeSAqKQ0KLQkgICAgcm5oLT5ybmhf
ZGVsYWRkcihybi0+cm5fa2V5LCBybi0+cm5fbWFzaywgcm5oKTsNCisJICAg
IHJuaC0+cm5oX2RlbGFkZHIocm4tPnJuX2tleSwgcm4tPnJuX21hc2ssIHJu
aCwgTlVMTCk7DQogCWlmIChlbnQgIT0gTlVMTCkNCiAJCWZyZWUoZW50LCBN
X0lQRldfVEJMKTsNCiAJcmV0dXJuICgwKTsNCg==

--168430090-1915796902-1282849418=:15491--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.LFD.2.00.1008262102150.15491>