[PATCH] Coda

Peter J. Braam (braam@cs.cmu.edu)
Tue, 6 Jan 1998 12:56:01 -0500 (EST)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

--41945269-1784368371-884109361=:1904
Content-Type: TEXT/PLAIN; charset=US-ASCII

Hi Linus,

1. please rm fs/coda/inode.c

2. find enclosed some patches -- it's getting pretty stable now (we have
done lots of building in it now and our shared Wabi runs fine with this).

Peter

--41945269-1784368371-884109361=:1904
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="coda-2.1.78.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.95.980106125601.1904C@carissimi.coda.cs.cmu.edu>
Content-Description: coda-2.1.78.patch

ZGlmZiAtdXJOIGxpbnV4LTIuMS43OC5vcmlnL2ZzL2NvZGEvY2FjaGUuYyBs
aW51eC0yLjEuNzgvZnMvY29kYS9jYWNoZS5jDQotLS0gbGludXgtMi4xLjc4
Lm9yaWcvZnMvY29kYS9jYWNoZS5jCU1vbiBEZWMgMjIgMTE6NDA6NDkgMTk5
Nw0KKysrIGxpbnV4LTIuMS43OC9mcy9jb2RhL2NhY2hlLmMJVHVlIEphbiAg
NiAxMTo0MTo1OCAxOTk4DQpAQCAtMjM2LDcgKzIzNiw3IEBADQogCQlpZiAo
IGNucCApIA0KIAkJCUNIRUNLX0NOT0RFKGNucCk7DQogCX0gZWxzZSB7DQot
CQlwcmludGsoIk5vIGlub2RlIGZvciBkZW50cnlfZGVsZXRlIVxuIik7DQor
CQlDREVCVUcoRF9DQUNIRSwgIk5vIGlub2RlIGZvciBkZW50cnlfZGVsZXRl
IVxuIik7DQogCQlyZXR1cm47DQogCX0NCiANCkBAIC0yNTQsNiArMjU0LDE0
IEBADQogCXJldHVybjsNCiB9DQogDQorc3RhdGljIHZvaWQgY29kYV96YXBf
Y25vZGUoc3RydWN0IGNub2RlICpjbnAsIGludCBmbGFncykNCit7DQorCWNu
cC0+Y19mbGFncyB8PSBmbGFnczsNCisJY29kYV9jYWNoZV9jbGVhcl9jbnAo
Y25wKTsNCit9DQorDQorDQorDQogLyogdGhlIGRhY2hlIHdpbGwgbm90aWNl
IHRoZSBmbGFncyBhbmQgZHJvcCBlbnRyaWVzIChwb3NzaWJseSB3aXRoDQog
ICAgY2hpbGRyZW4pIHRoZSBtb21lbnQgdGhleSBhcmUgbm8gbG9uZ2VyIGlu
IHVzZSAgKi8NCiB2b2lkIGNvZGFfemFwZmlkKHN0cnVjdCBWaWNlRmlkICpm
aWQsIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIGludCBmbGFnKQ0KQEAgLTI3
Myw5ICsyODEsMjIgQEANCiAJCXJldHVybjsNCiAJfQ0KIA0KKwlpZiAoIGNv
ZGFfZmlkX2lzX3ZvbHJvb3QoZmlkKSApIHsNCisJCXN0cnVjdCBsaXN0X2hl
YWQgKmxoLCAqbGU7DQorCQlzdHJ1Y3QgY29kYV9zYl9pbmZvICpzYmkgPSBj
b2RhX3NicChzYik7DQorCQlsZSA9IGxoID0gJnNiaS0+c2JpX3ZvbHJvb3Ro
ZWFkOw0KKwkJd2hpbGUgKCAobGUgPSBsZS0+bmV4dCkgIT0gbGggKSB7DQor
CQkJY25wID0gbGlzdF9lbnRyeShsZSwgc3RydWN0IGNub2RlLCBjX3ZvbHJv
b3RsaXN0KTsNCisJCQlpZiAoIGNucC0+Y19maWQuVm9sdW1lID09IGZpZC0+
Vm9sdW1lKSANCisJCQkJY29kYV96YXBfY25vZGUoY25wLCBmbGFnKTsNCisJ
CX0NCisJCXJldHVybjsNCisJfQ0KKw0KKw0KIAlpbm9kZSA9IGNvZGFfZmlk
X3RvX2lub2RlKGZpZCwgc2IpOw0KIAlpZiAoICFpbm9kZSApIHsNCi0JCXBy
aW50aygiY29kYV96YXBmaWQ6IG5vIGlub2RlIVxuIik7DQorCQlDREVCVUco
RF9DQUNIRSwgImNvZGFfemFwZmlkOiBubyBpbm9kZSFcbiIpOw0KIAkJcmV0
dXJuOw0KIAl9DQogCWNucCA9IElUT0MoaW5vZGUpOw0KQEAgLTI4NCw4ICsz
MDUsNyBAQA0KIAkJcHJpbnRrKCJjb2RhX3phcGZpZDogbm8gY25vZGUhXG4i
KTsNCiAJCXJldHVybjsNCiAJfQ0KLQljbnAtPmNfZmxhZ3MgfD0gZmxhZzsN
Ci0JY29kYV9jYWNoZV9jbGVhcl9jbnAoY25wKTsNCisJY29kYV96YXBfY25v
ZGUoY25wLCBmbGFnKTsNCiB9DQogCQkNCiANCmRpZmYgLXVyTiBsaW51eC0y
LjEuNzgub3JpZy9mcy9jb2RhL2Nub2RlLmMgbGludXgtMi4xLjc4L2ZzL2Nv
ZGEvY25vZGUuYw0KLS0tIGxpbnV4LTIuMS43OC5vcmlnL2ZzL2NvZGEvY25v
ZGUuYwlTdW4gRGVjIDIxIDE3OjQ1OjE0IDE5OTcNCisrKyBsaW51eC0yLjEu
NzgvZnMvY29kYS9jbm9kZS5jCVR1ZSBKYW4gIDYgMTE6MDc6MjMgMTk5OA0K
QEAgLTcsOCArNyw4IEBADQogDQogI2luY2x1ZGUgPGxpbnV4L2NvZGEuaD4N
CiAjaW5jbHVkZSA8bGludXgvY29kYV9saW51eC5oPg0KLSNpbmNsdWRlIDxs
aW51eC9jb2RhX3BzZGV2Lmg+DQogI2luY2x1ZGUgPGxpbnV4L2NvZGFfY25v
ZGUuaD4NCisjaW5jbHVkZSA8bGludXgvY29kYV9wc2Rldi5oPg0KIA0KIGV4
dGVybiBpbnQgY29kYV9kZWJ1ZzsNCiBleHRlcm4gaW50IGNvZGFfcHJpbnRf
ZW50cnk7DQpAQCAtMjksNiArMjksNyBAQA0KIA0KICAgICAgICAgbWVtc2V0
KHJlc3VsdCwgMCwgKGludCkgc2l6ZW9mKHN0cnVjdCBjbm9kZSkpOw0KICAg
ICAgICAgSU5JVF9MSVNUX0hFQUQoJihyZXN1bHQtPmNfY25oZWFkKSk7DQor
CUlOSVRfTElTVF9IRUFEKCYocmVzdWx0LT5jX3ZvbHJvb3RsaXN0KSk7DQog
CXJldHVybiByZXN1bHQ7DQogfQ0KIA0KQEAgLTcwLDYgKzcxLDcgQEANCiBp
bnQgY29kYV9jbm9kZV9tYWtlKHN0cnVjdCBpbm9kZSAqKmlub2RlLCBWaWNl
RmlkICpmaWQsIHN0cnVjdCBzdXBlcl9ibG9jayAqc2IpDQogew0KICAgICAg
ICAgc3RydWN0IGNub2RlICpjbnA7DQorCXN0cnVjdCBjb2RhX3NiX2luZm8g
KnNiaT0gY29kYV9zYnAoc2IpOw0KICAgICAgICAgc3RydWN0IGNvZGFfdmF0
dHIgYXR0cjsNCiAgICAgICAgIGludCBlcnJvcjsNCiAJaW5vX3QgaW5vOw0K
QEAgLTExOSw2ICsxMjEsOSBAQA0KIAlDSEVDS19DTk9ERShjbnApOw0KIA0K
IAkvKiBmaWxsIGluIHRoZSBpbm9kZSBhdHRyaWJ1dGVzICovDQorCWlmICgg
Y29kYV9maWRfaXNfdm9scm9vdChmaWQpICkgDQorCQlsaXN0X2FkZCgmY25w
LT5jX3ZvbHJvb3RsaXN0LCAmc2JpLT5zYmlfdm9scm9vdGhlYWQpOw0KKw0K
ICAgICAgICAgY29kYV9maWxsX2lub2RlKCppbm9kZSwgJmF0dHIpOw0KIAlD
REVCVUcoRF9DTk9ERSwgIkRvbmUgbGlua2luZzogaW5vICVsZCwgIGF0IDB4
JXggd2l0aCBjbnAgMHgleCwgY25wLT5jX3Zub2RlIDB4JXhcbiIsICgqaW5v
ZGUpLT5pX2lubywgKGludCkgKCppbm9kZSksIChpbnQpIGNucCwgKGludClj
bnAtPmNfdm5vZGUpOw0KIA0KQEAgLTE0OCw2ICsxNTMsNyBAQA0KIEVOVFJZ
Ow0KIA0KIAlDREVCVUcoRF9JTk9ERSwgIiVzXG4iLCBjb2RhX2YycyhmaWQs
IHN0cikpOw0KKw0KIAluciA9IGNvZGFfZjJpKGZpZCk7DQogCWlub2RlID0g
aWdldChzYiwgbnIpOw0KIA0KZGlmZiAtdXJOIGxpbnV4LTIuMS43OC5vcmln
L2ZzL2NvZGEvY29kYV9saW51eC5jIGxpbnV4LTIuMS43OC9mcy9jb2RhL2Nv
ZGFfbGludXguYw0KLS0tIGxpbnV4LTIuMS43OC5vcmlnL2ZzL2NvZGEvY29k
YV9saW51eC5jCVN1biBEZWMgMjEgMTc6NDU6MTQgMTk5Nw0KKysrIGxpbnV4
LTIuMS43OC9mcy9jb2RhL2NvZGFfbGludXguYwlUdWUgSmFuICA2IDExOjA3
OjI0IDE5OTgNCkBAIC05Nyw2ICs5NywxMSBAQA0KIH0NCiANCiANCitpbnQg
Y29kYV9maWRfaXNfdm9scm9vdChzdHJ1Y3QgVmljZUZpZCAqZmlkKQ0KK3sN
CisJcmV0dXJuICggKGZpZC0+Vm5vZGUgPT0gMSkgJiYgKGZpZC0+VW5pcXVl
ID09IDEgKSApOw0KK30NCisNCiAvKiB1dGlsaXR5IGZ1bmN0aW9ucyBiZWxv
dyAqLw0KIHZvaWQgY29kYV92YXR0cl90b19pYXR0cihzdHJ1Y3QgaW5vZGUg
Kmlub2RlLCBzdHJ1Y3QgY29kYV92YXR0ciAqYXR0cikNCiB7DQpAQCAtMTU1
LDcgKzE2MCw2IEBADQogDQogdm9pZCBjb2RhX2lhdHRyX3RvX3ZhdHRyKHN0
cnVjdCBpYXR0ciAqaWF0dHIsIHN0cnVjdCBjb2RhX3ZhdHRyICp2YXR0cikN
CiB7DQotICAgICAgICB1bW9kZV90IG1vZGU7DQogICAgICAgICB1bnNpZ25l
ZCBpbnQgdmFsaWQ7DQogDQogICAgICAgICAvKiBjbGVhbiBvdXQgKi8gICAg
ICAgIA0KQEAgLTE3MCwxNSArMTc0LDE2IEBADQogICAgICAgICB2YXR0ci0+
dmFfbXRpbWUudHZfbnNlYyA9ICh0aW1lX3QpIC0xOw0KIAl2YXR0ci0+dmFf
Y3RpbWUudHZfbnNlYyA9ICh0aW1lX3QpIC0xOw0KICAgICAgICAgdmF0dHIt
PnZhX3R5cGUgPSBDX1ZOT047DQotCXZhdHRyLT52YV9maWxlaWQgPSAobG9u
ZyktMTsNCi0JdmF0dHItPnZhX2dlbiA9IChsb25nKS0xOw0KLQl2YXR0ci0+
dmFfYnl0ZXMgPSAobG9uZyktMTsNCi0JdmF0dHItPnZhX25saW5rID0gKHNo
b3J0KS0xOw0KLQl2YXR0ci0+dmFfYmxvY2tzaXplID0gKGxvbmcpLTE7DQot
CXZhdHRyLT52YV9yZGV2ID0gKGRldl90KS0xOw0KKwl2YXR0ci0+dmFfZmls
ZWlkID0gLTE7DQorCXZhdHRyLT52YV9nZW4gPSAtMTsNCisJdmF0dHItPnZh
X2J5dGVzID0gLTE7DQorCXZhdHRyLT52YV9ubGluayA9IC0xOw0KKwl2YXR0
ci0+dmFfYmxvY2tzaXplID0gLTE7DQorCXZhdHRyLT52YV9yZGV2ID0gLTE7
DQogICAgICAgICB2YXR0ci0+dmFfZmxhZ3MgPSAwOw0KIA0KICAgICAgICAg
LyogZGV0ZXJtaW5lIHRoZSB0eXBlICovDQorI2lmIDANCiAgICAgICAgIG1v
ZGUgPSBpYXR0ci0+aWFfbW9kZTsNCiAgICAgICAgICAgICAgICAgaWYgKCBT
X0lTRElSKG1vZGUpICkgew0KICAgICAgICAgICAgICAgICB2YXR0ci0+dmFf
dHlwZSA9IENfVkRJUjsgDQpAQCAtMTkwLDYgKzE5NSw3IEBADQogICAgICAg
ICAgICAgICAgIC8qIGRvbid0IGRvIG90aGVycyAqLw0KICAgICAgICAgICAg
ICAgICB2YXR0ci0+dmFfdHlwZSA9IENfVk5PTjsNCiAgICAgICAgIH0NCisj
ZW5kaWYgDQogDQogICAgICAgICAvKiBzZXQgdGhvc2UgdmF0dHJzIHRoYXQg
bmVlZCBjaGFuZ2UgKi8NCiAgICAgICAgIHZhbGlkID0gaWF0dHItPmlhX3Zh
bGlkOw0KQEAgLTIxOSw3ICsyMjUsNiBAQA0KIAl9DQogICAgICAgICANCiB9
DQotICANCiANCiB2b2lkIHByaW50X3ZhdHRyKHN0cnVjdCBjb2RhX3ZhdHRy
ICphdHRyKQ0KIHsNCmRpZmYgLXVyTiBsaW51eC0yLjEuNzgub3JpZy9mcy9j
b2RhL2Rpci5jIGxpbnV4LTIuMS43OC9mcy9jb2RhL2Rpci5jDQotLS0gbGlu
dXgtMi4xLjc4Lm9yaWcvZnMvY29kYS9kaXIuYwlTdW4gRGVjIDIxIDE3OjQ1
OjE0IDE5OTcNCisrKyBsaW51eC0yLjEuNzgvZnMvY29kYS9kaXIuYwlUdWUg
SmFuICA2IDExOjM3OjM1IDE5OTgNCkBAIC0yNyw3ICsyNyw3IEBADQogLyog
ZGlyIGlub2RlLW9wcyAqLw0KIHN0YXRpYyBpbnQgY29kYV9jcmVhdGUoc3Ry
dWN0IGlub2RlICpkaXIsIHN0cnVjdCBkZW50cnkgKm5ldywgaW50IG1vZGUp
Ow0KIHN0YXRpYyBpbnQgY29kYV9sb29rdXAoc3RydWN0IGlub2RlICpkaXIs
IHN0cnVjdCBkZW50cnkgKnRhcmdldCk7DQotc3RhdGljIGludCBjb2RhX2xp
bmsoc3RydWN0IGlub2RlICpvbGRfaW5vZGUsIHN0cnVjdCBpbm9kZSAqZGly
X2lub2RlLCANCitzdGF0aWMgaW50IGNvZGFfbGluayhzdHJ1Y3QgZGVudHJ5
ICpvbGRfZGVudHJ5LCBzdHJ1Y3QgaW5vZGUgKmRpcl9pbm9kZSwgDQogCQkg
ICAgIHN0cnVjdCBkZW50cnkgKmVudHJ5KTsNCiBzdGF0aWMgaW50IGNvZGFf
dW5saW5rKHN0cnVjdCBpbm9kZSAqZGlyX2lub2RlLCBzdHJ1Y3QgZGVudHJ5
ICplbnRyeSk7DQogc3RhdGljIGludCBjb2RhX3N5bWxpbmsoc3RydWN0IGlu
b2RlICpkaXJfaW5vZGUsIHN0cnVjdCBkZW50cnkgKmVudHJ5LA0KQEAgLTI0
MywxOSArMjQzLDE5IEBADQogCQljaGFyIHN0cls1MF07DQogCQlDREVCVUco
RF9JTk9ERSwgImNyZWF0ZTogJXMsIHJlc3VsdCAlZFxuIiwNCiAJCSAgICAg
ICBjb2RhX2YycygmbmV3ZmlkLCBzdHIpLCBlcnJvcik7IA0KKwkJZF9kcm9w
KGRlKTsNCiAJCXJldHVybiBlcnJvcjsNCiAJfQ0KIA0KIAllcnJvciA9IGNv
ZGFfY25vZGVfbWFrZSgmcmVzdWx0LCAmbmV3ZmlkLCBkaXItPmlfc2IpOw0K
IAlpZiAoIGVycm9yICkgew0KKwkJZF9kcm9wKGRlKTsNCiAJCXJlc3VsdCA9
IE5VTEw7DQogCQlyZXR1cm4gZXJyb3I7DQogCX0NCiANCiAJLyogaW52YWxp
ZGF0ZSB0aGUgZGlyZWN0b3J5IGNub2RlJ3MgYXR0cmlidXRlcyAqLw0KIAlk
aXJjbnAtPmNfZmxhZ3MgJj0gfkNfVkFUVFI7DQotLyogCWNmc25jX3phcGZp
ZCgmKGRpcmNucC0+Y19maWQpKTsgKi8NCi0NCiAJZF9pbnN0YW50aWF0ZShk
ZSwgcmVzdWx0KTsNCiAgICAgICAgIHJldHVybiAwOw0KIH0JCQkgICAgIA0K
QEAgLTI3Niw4ICsyNzYsMTAgQEANCiAJCXByaW50aygiY29kYV9ta2Rpcjog
aW5vZGUgaXMgTlVMTCBvciBub3QgYSBkaXJlY3RvcnlcbiIpOw0KIAkJcmV0
dXJuIC1FTk9FTlQ7DQogCX0NCisNCiAgICAgICAgIGlmICggbGVuID4gQ0ZT
X01BWE5BTUxFTiApDQogICAgICAgICAgICAgICAgIHJldHVybiAtRU5BTUVU
T09MT05HOw0KKw0KIAlpZiAoY29kYV9pc3Jvb3QoZGlyKSAmJiBjb2RhX2lz
Y29udHJvbChuYW1lLCBsZW4pKQ0KIAkJcmV0dXJuIC1FUEVSTTsNCiANCkBA
IC0yOTQsNiArMjk2LDcgQEANCiAgICAgICAgIGlmICggZXJyb3IgKSB7DQog
CSAgICAgICAgQ0RFQlVHKERfSU5PREUsICJta2RpciBlcnJvcjogJXMgcmVz
dWx0ICVkXG4iLCANCiAJCSAgICAgICBjb2RhX2YycygmbmV3ZmlkLCBmaWRz
dHIpLCBlcnJvcik7IA0KKwkJZF9kcm9wKGRlKTsNCiAgICAgICAgICAgICAg
ICAgcmV0dXJuIGVycm9yOw0KICAgICAgICAgfQ0KICAgICAgICAgIA0KQEAg
LTMwMSwyMSArMzA0LDIzIEBADQogCSAgICAgICBjb2RhX2YycygmbmV3Zmlk
LCBmaWRzdHIpKTsgDQogDQogCWVycm9yID0gY29kYV9jbm9kZV9tYWtlKCZp
bm9kZSwgJm5ld2ZpZCwgZGlyLT5pX3NiKTsNCi0JaWYgKCBlcnJvciApIA0K
LQkgICAgICAgcmV0dXJuIGVycm9yOw0KKwlpZiAoIGVycm9yICkgew0KKwkJ
ZF9kcm9wKGRlKTsNCisJCXJldHVybiBlcnJvcjsNCisJfQ0KIAkNCiAJLyog
aW52YWxpZGF0ZSB0aGUgZGlyZWN0b3J5IGNub2RlJ3MgYXR0cmlidXRlcyAq
Lw0KIAlkaXJjbnAtPmNfZmxhZ3MgJj0gfkNfVkFUVFI7DQotLyogCWNmc25j
X3phcGZpZCgmKGRpcmNucC0+Y19maWQpKTsgKi8NCi0NCiAJZGlyLT5pX25s
aW5rKys7DQogCWRfaW5zdGFudGlhdGUoZGUsIGlub2RlKTsNCiAgICAgICAg
IHJldHVybiAwOw0KIH0NCiANCi1zdGF0aWMgaW50IGNvZGFfbGluayhzdHJ1
Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgaW5vZGUgKmRpcl9pbm9kZSwgDQor
LyogdHJ5IHRvIG1ha2UgZGUgYW4gZW50cnkgaW4gZGlyX2lub2RkZSBsaW5r
ZWQgdG8gc291cmNlX2RlICovIA0KK3N0YXRpYyBpbnQgY29kYV9saW5rKHN0
cnVjdCBkZW50cnkgKnNvdXJjZV9kZSwgc3RydWN0IGlub2RlICpkaXJfaW5v
ZGUsIA0KIAkgIHN0cnVjdCBkZW50cnkgKmRlKQ0KIHsNCisJc3RydWN0IGlu
b2RlICppbm9kZSA9IHNvdXJjZV9kZS0+ZF9pbm9kZTsNCiAgICAgICAgIGNv
bnN0IGNoYXIgKiBuYW1lID0gZGUtPmRfbmFtZS5uYW1lOw0KIAlpbnQgbGVu
ID0gZGUtPmRfbmFtZS5sZW47DQogICAgICAgICBzdHJ1Y3QgY25vZGUgKmRp
cl9jbnAsICpjbnA7DQpAQCAtMzQwLDE5ICszNDUsMTcgQEANCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIC1FTkFNRVRPT0xPTkc7DQogICAgICAgICB9DQog
DQotICAgICAgICAvKiBDaGVjayBmb3IgbGluayB0by9mcm9tIGNvbnRyb2wg
b2JqZWN0LiAqLw0KLQ0KICAgICAgICAgZXJyb3IgPSB2ZW51c19saW5rKGRp
cl9pbm9kZS0+aV9zYiwmKGNucC0+Y19maWQpLCAmKGRpcl9jbnAtPmNfZmlk
KSwgDQogCQkJICAgKGNvbnN0IGNoYXIgKiluYW1lLCBsZW4pOw0KIA0KIAlp
ZiAoICAhIGVycm9yICkgeyANCi0JICAgICAgZGlyX2NucC0+Y19mbGFncyAm
PSB+Q19WQVRUUjsNCi0vKiAJICAgICAgY2ZzbmNfemFwZmlkKCYoZGlyX2Nu
cC0+Y19maWQpKTsgKi8NCi0vKiAJICAgICAgY2ZzbmNfemFwZmlkKCYoY25w
LT5jX2ZpZCkpOyAqLw0KLQ0KLQkgICAgICBpbm9kZS0+aV9ubGluaysrOw0K
LQkgICAgICBkX2luc3RhbnRpYXRlKGRlLCBpbm9kZSk7DQorCQlkaXJfY25w
LT5jX2ZsYWdzICY9IH5DX1ZBVFRSOw0KKwkJaW5vZGUtPmlfbmxpbmsrKzsN
CisJCWRfaW5zdGFudGlhdGUoZGUsIGlub2RlKTsNCisJfSBlbHNlIHsNCisJ
CWRfZHJvcChkZSk7DQogCX0NCisNCiAgICAgICAgIENERUJVRyhEX0lOT0RF
LCAibGluayByZXN1bHQgJWRcbiIsZXJyb3IpOw0KIAlFWElUOw0KICAgICAg
ICAgcmV0dXJuKGVycm9yKTsNCkBAIC0zODIsMTEgKzM4NSwxOCBAQA0KIA0K
ICAgICAgICAgQ0RFQlVHKERfSU5PREUsICJzeW1uYW1lOiAlcywgbGVuZ3Ro
OiAlZFxuIiwgc3ltbmFtZSwgc3ltbGVuKTsNCiANCisJLyoNCisJICogVGhp
cyBlbnRyeSBpcyBub3cgbmVnYXRpdmUuIFNpbmNlIHdlIGRvIG5vdCBjcmVh
dGUNCisJICogYW4gaW5vZGUgZm9yIHRoZSBlbnRyeSB3ZSBoYXZlIHRvIGRy
b3AgaXQuIA0KKwkgKi8NCisJZF9kcm9wKGRlKTsNCisNCiAJZXJyb3IgPSB2
ZW51c19zeW1saW5rKGRpcl9pbm9kZS0+aV9zYiwgJihkaXJfY25wLT5jX2Zp
ZCksIG5hbWUsIGxlbiwgDQogCQkJICAgICAgc3ltbmFtZSwgc3ltbGVuKTsN
CiANCi0JaWYgKCAhZXJyb3IgKQ0KLQkJZF9kcm9wKGRlKTsNCisJaWYgKCAh
ZXJyb3IgKSB7DQorCQlkaXJfY25wLT5jX2ZsYWdzIHw9IENfVkFUVFI7DQor
CX0NCiANCiAgICAgICAgIENERUJVRyhEX0lOT0RFLCAiaW4gc3ltbGluayBy
ZXN1bHQgJWRcbiIsZXJyb3IpOw0KICAgICAgICAgRVhJVDsNCkBAIC00MTIs
NyArNDIyLDYgQEANCiAJICAgICAgIGNvZGFfZjJzKCYoZGlyY25wLT5jX2Zp
ZCksIGZpZHN0ciksIGRpci0+aV9pbm8pOw0KIA0KICAgICAgICAgLyogdGhp
cyBmaWxlIHNob3VsZCBubyBsb25nZXIgYmUgaW4gdGhlIG5hbWVjYWNoZSEg
Ki8NCi0vKiAgICAgICAgIGNmc25jX3phcGZpbGUoZGlyY25wLCAoY29uc3Qg
Y2hhciAqKW5hbWUsIGxlbik7ICovDQogDQogICAgICAgICBlcnJvciA9IHZl
bnVzX3JlbW92ZShkaXItPmlfc2IsICYoZGlyY25wLT5jX2ZpZCksIG5hbWUs
IGxlbik7DQogDQpAQCAtNDIzLDcgKzQzMiw2IEBADQogDQogICAgICAgICAv
KiBjYWNoZSBtYW5hZ2VtZW50ICovDQogCWRpcmNucC0+Y19mbGFncyAmPSB+
Q19WQVRUUjsNCi0vKiAJY2ZzbmNfemFwZmlkKCYoZGlyY25wLT5jX2ZpZCkp
OyAqLw0KIAkNCiAJZGUtPmRfaW5vZGUtPmlfbmxpbmstLTsNCiAJZF9kZWxl
dGUoZGUpOw0KQEAgLTQzNiw3ICs0NDQsNyBAQA0KICAgICAgICAgc3RydWN0
IGNub2RlICpkaXJjbnA7DQogCWNvbnN0IGNoYXIgKm5hbWUgPSBkZS0+ZF9u
YW1lLm5hbWU7DQogCWludCBsZW4gPSBkZS0+ZF9uYW1lLmxlbjsNCi0gICAg
ICAgIGludCBlcnJvcjsNCisgICAgICAgIGludCBlcnJvciwgcmVoYXNoID0g
MDsNCiANCiAJaWYgKCFkaXIgfHwgIVNfSVNESVIoZGlyLT5pX21vZGUpKSB7
DQogCQlwcmludGsoImNvZGFfcm1kaXI6IGlub2RlIGlzIE5VTEwgb3Igbm90
IGEgZGlyZWN0b3J5XG4iKTsNCkBAIC00NTYsNyArNDY0LDE2IEBADQogCQkJ
cmV0dXJuIGVycm9yOw0KIAl9DQogCS8qIERyb3AgdGhlIGRlbnRyeSB0byBm
b3JjZSBhIG5ldyBsb29rdXAgKi8NCi0JZF9kcm9wKGRlKTsNCisJaWYgKCFs
aXN0X2VtcHR5KCZkZS0+ZF9oYXNoKSkgew0KKwkJZF9kcm9wKGRlKTsNCisJ
CXJlaGFzaCA9IDE7DQorCX0NCisNCisJLyogdXBkYXRlIGlfbmxpbmsgYW5k
IGZyZWUgdGhlIGlub2RlIGJlZm9yZSB1bmxpbmtpbmc7DQorCSAgIGlmIHJt
ZGlyIGZhaWxzIGEgbmV3IGxvb2t1cCBzZXQgaV9ubGluayByaWdodC4qLw0K
KwlpZiAoZGUtPmRfaW5vZGUtPmlfbmxpbmspDQorCQlkZS0+ZF9pbm9kZS0+
aV9ubGluayAtLTsNCisJZF9kZWxldGUoZGUpOw0KIA0KIAllcnJvciA9IHZl
bnVzX3JtZGlyKGRpci0+aV9zYiwgJihkaXJjbnAtPmNfZmlkKSwgbmFtZSwg
bGVuKTsNCiANCkBAIC00NjUsOCArNDgyLDkgQEANCiAgICAgICAgICAgICAg
ICAgcmV0dXJuIGVycm9yOw0KICAgICAgICAgfQ0KIA0KLQlkaXItPmlfbmxp
bmstLTsNCi0JZF9kZWxldGUoZGUpOw0KKwlpZiAocmVoYXNoKQ0KKwkJZF9h
ZGQoZGUsIE5VTEwpOw0KKwkvKiBYWFggaG93IGNhbiBtdGltZSBiZSBzZXQ/
ICovDQogDQogICAgICAgICByZXR1cm4gMDsNCiB9DQpkaWZmIC11ck4gbGlu
dXgtMi4xLjc4Lm9yaWcvZnMvY29kYS9maWxlLmMgbGludXgtMi4xLjc4L2Zz
L2NvZGEvZmlsZS5jDQotLS0gbGludXgtMi4xLjc4Lm9yaWcvZnMvY29kYS9m
aWxlLmMJU3VuIEphbiAgNCAwMzo1Mzo0MyAxOTk4DQorKysgbGludXgtMi4x
Ljc4L2ZzL2NvZGEvZmlsZS5jCVR1ZSBKYW4gIDYgMTE6NDI6MjkgMTk5OA0K
QEAgLTI1LDEwICsyNSwxMCBAQA0KICNpbmNsdWRlIDxsaW51eC9jb2RhX2Nh
Y2hlLmg+DQogDQogLyogZmlsZSBvcGVyYXRpb25zICovDQotc3RhdGljIGlu
dCBjb2RhX3JlYWRwYWdlKHN0cnVjdCBkZW50cnkgKiwgc3RydWN0IHBhZ2Ug
Kik7DQotc3RhdGljIHNzaXplX3QgY29kYV9maWxlX3JlYWQoc3RydWN0IGZp
bGUgKiwgY2hhciAqLCBzaXplX3QsIGxvZmZfdCAqKTsNCi1zdGF0aWMgc3Np
emVfdCBjb2RhX2ZpbGVfd3JpdGUoc3RydWN0IGZpbGUgKiwgY29uc3QgY2hh
ciAqLCBzaXplX3QsIGxvZmZfdCAqKTsNCi1zdGF0aWMgaW50IGNvZGFfZmls
ZV9tbWFwKHN0cnVjdCBmaWxlICosIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAq
KTsNCitzdGF0aWMgaW50IGNvZGFfcmVhZHBhZ2Uoc3RydWN0IGRlbnRyeSAq
IGRlbnRyeSwgc3RydWN0IHBhZ2UgKiBwYWdlKTsNCitzdGF0aWMgc3NpemVf
dCBjb2RhX2ZpbGVfcmVhZChzdHJ1Y3QgZmlsZSAqZiwgY2hhciAqYnVmLCBz
aXplX3QgY291bnQsIGxvZmZfdCAqb2ZmKTsNCitzdGF0aWMgc3NpemVfdCBj
b2RhX2ZpbGVfd3JpdGUoc3RydWN0IGZpbGUgKmYsIGNvbnN0IGNoYXIgKmJ1
Ziwgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKm9mZik7DQorc3RhdGljIGludCBj
b2RhX2ZpbGVfbW1hcChzdHJ1Y3QgZmlsZSAqIGZpbGUsIHN0cnVjdCB2bV9h
cmVhX3N0cnVjdCAqIHZtYSk7DQogDQogLyogZXhwb3J0ZWQgZnJvbSB0aGlz
IGZpbGUgKi8NCiBpbnQgY29kYV9mc3luYyhzdHJ1Y3QgZmlsZSAqLCBzdHJ1
Y3QgZGVudHJ5ICpkZW50cnkpOw0KQEAgLTc0LDkgKzc0LDExIEBADQogfTsN
CiANCiAvKiAgRmlsZSBmaWxlIG9wZXJhdGlvbnMgKi8NCi1zdGF0aWMgaW50
IGNvZGFfcmVhZHBhZ2Uoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1Y3Qg
cGFnZSAqIHBhZ2UpDQorc3RhdGljIGludCBjb2RhX3JlYWRwYWdlKHN0cnVj
dCBkZW50cnkgKmRlLCBzdHJ1Y3QgcGFnZSAqIHBhZ2UpDQogew0KLSAgICAg
ICAgc3RydWN0IGlub2RlICpvcGVuX2lub2RlLCAqaW5vZGUgPSBkZW50cnkt
PmRfaW5vZGU7DQorCXN0cnVjdCBpbm9kZSAqaW5vZGUgPSBkZS0+ZF9pbm9k
ZTsNCisJc3RydWN0IGRlbnRyeSBjb250X2RlbnRyeTsNCisgICAgICAgIHN0
cnVjdCBpbm9kZSAqY29udF9pbm9kZTsNCiAgICAgICAgIHN0cnVjdCBjbm9k
ZSAqY25wOw0KIA0KICAgICAgICAgRU5UUlk7DQpAQCAtODksMTIgKzkxLDEy
IEBADQogICAgICAgICAgICAgICAgIHJldHVybiAtRU5YSU87DQogICAgICAg
ICB9DQogDQotICAgICAgICBvcGVuX2lub2RlID0gY25wLT5jX292cDsNCisg
ICAgICAgIGNvbnRfaW5vZGUgPSBjbnAtPmNfb3ZwOw0KKwljb250X2RlbnRy
eS5kX2lub2RlID0gY29udF9pbm9kZTsNCiANCi0gICAgICAgIENERUJVRyhE
X0lOT0RFLCAiY29kYSBpbm86ICVsZCwgY2FjaGVkIGlubyAlbGQsIHBhZ2Ug
b2Zmc2V0OiAlbHhcbiIsIGlub2RlLT5pX2lubywgb3Blbl9pbm9kZS0+aV9p
bm8sIHBhZ2UtPm9mZnNldCk7DQorICAgICAgICBDREVCVUcoRF9JTk9ERSwg
ImNvZGEgaW5vOiAlbGQsIGNhY2hlZCBpbm8gJWxkLCBwYWdlIG9mZnNldDog
JWx4XG4iLCBpbm9kZS0+aV9pbm8sIGNvbnRfaW5vZGUtPmlfaW5vLCBwYWdl
LT5vZmZzZXQpOw0KIA0KLQkvKiBOLkIuIFRoaXMgbmVlZHMgdGhlIGRlbnRy
eSBmb3Igb3Blbl9pbm9kZSAqLw0KLSAgICAgICAgZ2VuZXJpY19yZWFkcGFn
ZShvcGVuX2lub2RlLCBwYWdlKTsNCisgICAgICAgIGdlbmVyaWNfcmVhZHBh
Z2UoJmNvbnRfZGVudHJ5LCBwYWdlKTsNCiAgICAgICAgIEVYSVQ7DQogICAg
ICAgICByZXR1cm4gMDsNCiB9DQpkaWZmIC11ck4gbGludXgtMi4xLjc4Lm9y
aWcvZnMvY29kYS9pbm9kZS5jIGxpbnV4LTIuMS43OC9mcy9jb2RhL2lub2Rl
LmMNCi0tLSBsaW51eC0yLjEuNzgub3JpZy9mcy9jb2RhL2lub2RlLmMJVHVl
IERlYyAgMiAxNzoyNDowNCAxOTk3DQorKysgbGludXgtMi4xLjc4L2ZzL2Nv
ZGEvaW5vZGUuYwlXZWQgRGVjIDMxIDE5OjAwOjAwIDE5NjkNCkBAIC0xLDM0
ICswLDAgQEANCi0vKg0KLSAqIElub2RlIG9wZXJhdGlvbnMgZm9yIENvZGEg
ZmlsZXN5c3RlbQ0KLSAqIE9yaWdpbmFsIHZlcnNpb246IChDKSAxOTk2IFAu
IEJyYWFtIGFuZCBNLiBDYWxsYWhhbg0KLSAqIFJld3JpdHRlbiBmb3IgTGlu
dXggMi4xLiAoQykgMTk5NyBDYXJuZWdpZSBNZWxsb24gVW5pdmVyc2l0eQ0K
LSAqIA0KLSAqIENhcm5lZ2llIE1lbGxvbiBlbmNvdXJhZ2VzIHVzZXJzIHRv
IGNvbnRyaWJ1dGUgaW1wcm92ZW1lbnRzIHRvDQotICogdGhlIENvZGEgcHJv
amVjdC4gQ29udGFjdCBQZXRlciBCcmFhbSAoY29kYUBjcy5jbXUuZWR1KS4N
Ci0gKi8NCi0NCi0jaW5jbHVkZSA8bGludXgvdHlwZXMuaD4NCi0jaW5jbHVk
ZSA8bGludXgva2VybmVsLmg+DQotI2luY2x1ZGUgPGxpbnV4L3NjaGVkLmg+
DQotI2luY2x1ZGUgPGxpbnV4L2ZzLmg+DQotI2luY2x1ZGUgPGxpbnV4L3N0
YXQuaD4NCi0jaW5jbHVkZSA8bGludXgvZXJybm8uaD4NCi0jaW5jbHVkZSA8
bGludXgvbG9ja3MuaD4NCi0jaW5jbHVkZSA8YXNtL3NlZ21lbnQuaD4NCi0j
aW5jbHVkZSA8YXNtL3VhY2Nlc3MuaD4NCi0jaW5jbHVkZSA8bGludXgvc3Ry
aW5nLmg+DQotDQotI2luY2x1ZGUgPGxpbnV4L2NvZGEuaD4NCi0jaW5jbHVk
ZSA8bGludXgvY29kYV9saW51eC5oPg0KLSNpbmNsdWRlIDxsaW51eC9jb2Rh
X3BzZGV2Lmg+DQotI2luY2x1ZGUgPGxpbnV4L2NvZGFfY25vZGUuaD4NCi0j
aW5jbHVkZSA8bGludXgvY29kYV9uYW1lY2FjaGUuaD4NCi0NCi0vKiBwcm90
b3R5cGVzICovDQotc3RhdGljIGludCBjb2RhX3JlYWRwYWdlKHN0cnVjdCBp
bm9kZSAqaW5vZGUsIHN0cnVjdCBwYWdlICpwYWdlKTsNCi1zdGF0aWMgaW50
IGNvZGFfY25vZGVfbWFrZWN0bChzdHJ1Y3QgaW5vZGUgKippbm9kZSwgc3Ry
dWN0IHN1cGVyX2Jsb2NrICpzYik7DQotDQotDQotDQotDQotDQpkaWZmIC11
ck4gbGludXgtMi4xLjc4Lm9yaWcvZnMvY29kYS9wc2Rldi5jIGxpbnV4LTIu
MS43OC9mcy9jb2RhL3BzZGV2LmMNCi0tLSBsaW51eC0yLjEuNzgub3JpZy9m
cy9jb2RhL3BzZGV2LmMJU3VuIERlYyAyMSAxNzo0NToxNCAxOTk3DQorKysg
bGludXgtMi4xLjc4L2ZzL2NvZGEvcHNkZXYuYwlUdWUgSmFuICA2IDExOjA3
OjI2IDE5OTgNCkBAIC00MCw4ICs0MCw4IEBADQogDQogI2luY2x1ZGUgPGxp
bnV4L2NvZGEuaD4NCiAjaW5jbHVkZSA8bGludXgvY29kYV9saW51eC5oPg0K
LSNpbmNsdWRlIDxsaW51eC9jb2RhX3BzZGV2Lmg+DQogI2luY2x1ZGUgPGxp
bnV4L2NvZGFfY25vZGUuaD4NCisjaW5jbHVkZSA8bGludXgvY29kYV9wc2Rl
di5oPg0KICNpbmNsdWRlIDxsaW51eC9jb2RhX2NhY2hlLmg+DQogI2luY2x1
ZGUgPGxpbnV4L2NvZGFfc3lzY3RsLmg+DQogDQpkaWZmIC11ck4gbGludXgt
Mi4xLjc4Lm9yaWcvZnMvY29kYS9zdXBlci5jIGxpbnV4LTIuMS43OC9mcy9j
b2RhL3N1cGVyLmMNCi0tLSBsaW51eC0yLjEuNzgub3JpZy9mcy9jb2RhL3N1
cGVyLmMJU3VuIEphbiAgNCAwMzo1Mzo0MyAxOTk4DQorKysgbGludXgtMi4x
Ljc4L2ZzL2NvZGEvc3VwZXIuYwlUdWUgSmFuICA2IDExOjM3OjM2IDE5OTgN
CkBAIC00MSw3ICs0MSw3IEBADQogLyogVkZTIHN1cGVyX2Jsb2NrIG9wcyAq
Lw0KIHN0YXRpYyBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKmNvZGFfcmVhZF9zdXBl
cihzdHJ1Y3Qgc3VwZXJfYmxvY2sgKiwgdm9pZCAqLCBpbnQpOw0KIHN0YXRp
YyB2b2lkIGNvZGFfcmVhZF9pbm9kZShzdHJ1Y3QgaW5vZGUgKik7DQotc3Rh
dGljIGludCAgY29kYV9ub3RpZnlfY2hhbmdlKHN0cnVjdCBkZW50cnkgKiwg
c3RydWN0IGlhdHRyICopOw0KK3N0YXRpYyBpbnQgIGNvZGFfbm90aWZ5X2No
YW5nZShzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBpYXR0ciAqYXR0
cik7DQogc3RhdGljIHZvaWQgY29kYV9wdXRfaW5vZGUoc3RydWN0IGlub2Rl
ICopOw0KIHN0YXRpYyB2b2lkIGNvZGFfZGVsZXRlX2lub2RlKHN0cnVjdCBp
bm9kZSAqKTsNCiBzdGF0aWMgdm9pZCBjb2RhX3B1dF9zdXBlcihzdHJ1Y3Qg
c3VwZXJfYmxvY2sgKik7DQpAQCAtMTAxLDYgKzEwMSw3IEBADQogICAgICAg
ICBzYmktPnNiaV9wc2RldiA9IHBzZGV2Ow0KIAlzYmktPnNiaV92Y29tbSA9
IHZjOw0KIAlJTklUX0xJU1RfSEVBRCgmKHNiaS0+c2JpX2NjaGVhZCkpOw0K
KwlJTklUX0xJU1RfSEVBRCgmKHNiaS0+c2JpX3ZvbHJvb3RoZWFkKSk7DQog
DQogICAgICAgICBsb2NrX3N1cGVyKHNiKTsNCiAgICAgICAgIHNiLT51Lmdl
bmVyaWNfc2JwID0gc2JpOw0KQEAgLTEzMyw3ICsxMzQsNiBAQA0KIAlwcmlu
dGsoImNvZGFfcmVhZF9zdXBlcjogcm9vdGlub2RlIGlzICVsZCBkZXYgJWRc
biIsIA0KIAkgICAgICAgcm9vdC0+aV9pbm8sIHJvb3QtPmlfZGV2KTsNCiAJ
c2JpLT5zYmlfcm9vdCA9IHJvb3Q7DQotCS8qIE4uQi4gY2hlY2sgdGhpcyBm
b3IgZmFpbHVyZSAqLw0KIAlzYi0+c19yb290ID0gZF9hbGxvY19yb290KHJv
b3QsIE5VTEwpOw0KIAl1bmxvY2tfc3VwZXIoc2IpOw0KIAlFWElUOyAgDQpA
QCAtMTQxLDYgKzE0MSw3IEBADQogDQogZXJyb3I6DQogRVhJVDsgIA0KKwlN
T0RfREVDX1VTRV9DT1VOVDsNCiAJaWYgKHNiaSkgew0KIAkJc2JpLT5zYmlf
dmNvbW0gPSBOVUxMOw0KIAkJc2JpLT5zYmlfcm9vdCA9IE5VTEw7DQpAQCAt
MTU0LDcgKzE1NSw2IEBADQogICAgICAgICAgICAgICAgIGNvZGFfY25vZGVf
ZnJlZShJVE9DKHJvb3QpKTsNCiAgICAgICAgIH0NCiAgICAgICAgIHNiLT5z
X2RldiA9IDA7DQotCU1PRF9ERUNfVVNFX0NPVU5UOw0KICAgICAgICAgcmV0
dXJuIE5VTEw7DQogfQ0KIA0KQEAgLTIwOSw2ICsyMDksMTAgQEANCiAJfQ0K
IA0KICAgICAgICAgY25wID0gSVRPQyhpbm9kZSk7DQorDQorCWlmICggY29k
YV9maWRfaXNfdm9scm9vdCgmY25wLT5jX2ZpZCkgKQ0KKwkJbGlzdF9kZWwo
JmNucC0+Y192b2xyb290bGlzdCk7DQorDQogICAgICAgICBvcGVuX2lub2Rl
ID0gY25wLT5jX292cDsNCiAgICAgICAgIGlmICggb3Blbl9pbm9kZSApIHsN
CiAgICAgICAgICAgICAgICAgQ0RFQlVHKERfU1VQRVIsICJERUxJTk8gY2Fj
aGVkIGZpbGU6IGlubyAlbGQgY291bnQgJWQuXG4iLCAgDQpAQCAtMjI1LDkg
KzIyOSw5IEBADQogCUVYSVQ7DQogfQ0KIA0KLXN0YXRpYyBpbnQgIGNvZGFf
bm90aWZ5X2NoYW5nZShzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBp
YXR0ciAqaWF0dHIpDQorc3RhdGljIGludCAgY29kYV9ub3RpZnlfY2hhbmdl
KHN0cnVjdCBkZW50cnkgKmRlLCBzdHJ1Y3QgaWF0dHIgKmlhdHRyKQ0KIHsN
Ci0Jc3RydWN0IGlub2RlICppbm9kZSA9IGRlbnRyeS0+ZF9pbm9kZTsNCisJ
c3RydWN0IGlub2RlICppbm9kZSA9IGRlLT5kX2lub2RlOw0KICAgICAgICAg
c3RydWN0IGNub2RlICpjbnA7DQogICAgICAgICBzdHJ1Y3QgY29kYV92YXR0
ciB2YXR0cjsNCiAgICAgICAgIGludCBlcnJvcjsNCmRpZmYgLXVyTiBsaW51
eC0yLjEuNzgub3JpZy9mcy9jb2RhL3N5bWxpbmsuYyBsaW51eC0yLjEuNzgv
ZnMvY29kYS9zeW1saW5rLmMNCi0tLSBsaW51eC0yLjEuNzgub3JpZy9mcy9j
b2RhL3N5bWxpbmsuYwlTdW4gSmFuICA0IDAzOjUzOjQzIDE5OTgNCisrKyBs
aW51eC0yLjEuNzgvZnMvY29kYS9zeW1saW5rLmMJVHVlIEphbiAgNiAxMTo0
MjowMiAxOTk4DQpAQCAtMjQsNyArMjQsNyBAQA0KICNpbmNsdWRlIDxsaW51
eC9jb2RhX2Nub2RlLmg+DQogI2luY2x1ZGUgPGxpbnV4L2NvZGFfY2FjaGUu
aD4NCiANCi1zdGF0aWMgaW50IGNvZGFfcmVhZGxpbmsoc3RydWN0IGRlbnRy
eSAqZGVudHJ5LCBjaGFyICpidWZmZXIsIGludCBsZW5ndGgpOw0KK3N0YXRp
YyBpbnQgY29kYV9yZWFkbGluayhzdHJ1Y3QgZGVudHJ5ICpkZSwgY2hhciAq
YnVmZmVyLCBpbnQgbGVuZ3RoKTsNCiBzdGF0aWMgc3RydWN0IGRlbnRyeSAq
Y29kYV9mb2xsb3dfbGluayhzdHJ1Y3QgZGVudHJ5ICosIHN0cnVjdCBkZW50
cnkgKik7DQogDQogc3RydWN0IGlub2RlX29wZXJhdGlvbnMgY29kYV9zeW1s
aW5rX2lub2RlX29wZXJhdGlvbnMgPSB7DQpAQCAtNTAsOSArNTAsOSBAQA0K
ICAgICAgICAgTlVMTCAgICAgICAgICAgICAgICAgICAgLyogcmV2YWxpZGF0
ZSAqLw0KIH07DQogDQotc3RhdGljIGludCBjb2RhX3JlYWRsaW5rKHN0cnVj
dCBpbm9kZSAqZGVudHJ5LCBjaGFyICpidWZmZXIsIGludCBsZW5ndGgpDQor
c3RhdGljIGludCBjb2RhX3JlYWRsaW5rKHN0cnVjdCBkZW50cnkgKmRlLCBj
aGFyICpidWZmZXIsIGludCBsZW5ndGgpDQogew0KLQlzdHJ1Y3QgaW5vZGUg
Kmlub2RlID0gZGVudHJ5LT5kX2lub2RlOw0KKwlzdHJ1Y3QgaW5vZGUgKmlu
b2RlID0gZGUtPmRfaW5vZGU7DQogICAgICAgICBpbnQgbGVuOw0KIAlpbnQg
ZXJyb3I7DQogICAgICAgICBjaGFyICpidWY7DQpAQCAtODQsMTUgKzg0LDE1
IEBADQogCXJldHVybiBlcnJvcjsNCiB9DQogDQotc3RhdGljIHN0cnVjdCBk
ZW50cnkgKmNvZGFfZm9sbG93X2xpbmsoc3RydWN0IGRlbnRyeSAqZGVudHJ5
LCANCi0JCQkJCXN0cnVjdCBkZW50cnkgKmJhc2UpDQorc3RhdGljIHN0cnVj
dCBkZW50cnkgKmNvZGFfZm9sbG93X2xpbmsoc3RydWN0IGRlbnRyeSAqZGUs
IA0KKwkJCQkgICAgICAgc3RydWN0IGRlbnRyeSAqYmFzZSkNCiB7DQotCXN0
cnVjdCBpbm9kZSAqaW5vZGUgPSBkZW50cnktPmRfaW5vZGU7DQorCXN0cnVj
dCBpbm9kZSAqaW5vZGUgPSBkZS0+ZF9pbm9kZTsNCiAJaW50IGVycm9yOw0K
IAlzdHJ1Y3QgY25vZGUgKmNucDsNCiAJdW5zaWduZWQgaW50IGxlbjsNCisJ
Y2hhciBtZW1bQ0ZTX01BWFBBVEhMRU5dOw0KIAljaGFyICpwYXRoOw0KLQlj
aGFyIG1lbVtDRlNfTUFYUEFUSExFTl07IC8qIE4uQi4gdG9vIGJpZyBmb3Ig
dGhlIHN0YWNrPyAqLw0KIEVOVFJZOw0KIAlDREVCVUcoRF9JTk9ERSwgIigl
eC8lbGQpXG4iLCBpbm9kZS0+aV9kZXYsIGlub2RlLT5pX2lubyk7DQogCQ0K
ZGlmZiAtdXJOIGxpbnV4LTIuMS43OC5vcmlnL2luY2x1ZGUvbGludXgvY29k
YS5oIGxpbnV4LTIuMS43OC9pbmNsdWRlL2xpbnV4L2NvZGEuaA0KLS0tIGxp
bnV4LTIuMS43OC5vcmlnL2luY2x1ZGUvbGludXgvY29kYS5oCVN1biBEZWMg
MjEgMTc6NDU6MTQgMTk5Nw0KKysrIGxpbnV4LTIuMS43OC9pbmNsdWRlL2xp
bnV4L2NvZGEuaAlUdWUgSmFuICA2IDExOjEyOjI0IDE5OTgNCkBAIC0xNiwx
MCArMTYsMTMgQEANCiAjZW5kaWYgDQogDQogI2lmZGVmIF9fbGludXhfXw0K
KyNkZWZpbmUgY2Rldl90IHVfcXVhZF90DQogI2lmICFkZWZpbmVkKF9VUVVB
RF9UXykgJiYgKCFkZWZpbmVkKF9fR0xJQkNfXykgfHwgX19HTElCQ19fIDwg
MikNCiAjZGVmaW5lIF9VUVVBRF9UXyAxDQogdHlwZWRlZiB1bnNpZ25lZCBs
b25nIGxvbmcgdV9xdWFkX3Q7DQogI2VuZGlmIA0KKyNlbHNlDQorI2RlZmlu
ZSBjZGV2X3QgZGV2X3QNCiAjZW5kaWYNCiANCiANCkBAIC0xNDYsNyArMTQ5
LDcgQEANCiAJc3RydWN0IHRpbWVzcGVjCXZhX2N0aW1lOwkvKiB0aW1lIGZp
bGUgY2hhbmdlZCAqLw0KIAl1X2xvbmcJCXZhX2dlbjsJCS8qIGdlbmVyYXRp
b24gbnVtYmVyIG9mIGZpbGUgKi8NCiAJdV9sb25nCQl2YV9mbGFnczsJLyog
ZmxhZ3MgZGVmaW5lZCBmb3IgZmlsZSAqLw0KLQlkZXZfdAkJdmFfcmRldjsJ
LyogZGV2aWNlIHRoZSBzcGVjaWFsIGZpbGUgcmVwcmVzZW50cyAqLw0KKwlj
ZGV2X3QJICAgICAgICB2YV9yZGV2OwkvKiBkZXZpY2Ugc3BlY2lhbCBmaWxl
IHJlcHJlc2VudHMgKi8NCiAJdV9xdWFkX3QJdmFfYnl0ZXM7CS8qIGJ5dGVz
IG9mIGRpc2sgc3BhY2UgaGVsZCBieSBmaWxlICovDQogCXVfcXVhZF90CXZh
X2ZpbGVyZXY7CS8qIGZpbGUgbW9kaWZpY2F0aW9uIG51bWJlciAqLw0KIH07
DQpAQCAtMjM3LDcgKzI0MCw3IEBADQogDQogc3RydWN0IGNmc19vcGVuX291
dCB7DQogICAgIHN0cnVjdCBjZnNfb3V0X2hkciBvaDsNCi0gICAgZGV2X3QJ
ZGV2Ow0KKyAgICBjZGV2X3QJZGV2Ow0KICAgICBpbm9fdAlpbm9kZTsNCiB9
Ow0KIA0KZGlmZiAtdXJOIGxpbnV4LTIuMS43OC5vcmlnL2luY2x1ZGUvbGlu
dXgvY29kYV9jbm9kZS5oIGxpbnV4LTIuMS43OC9pbmNsdWRlL2xpbnV4L2Nv
ZGFfY25vZGUuaA0KLS0tIGxpbnV4LTIuMS43OC5vcmlnL2luY2x1ZGUvbGlu
dXgvY29kYV9jbm9kZS5oCVN1biBEZWMgMjEgMTc6NDU6MTQgMTk5Nw0KKysr
IGxpbnV4LTIuMS43OC9pbmNsdWRlL2xpbnV4L2NvZGFfY25vZGUuaAlUdWUg
SmFuICA2IDExOjI2OjUxIDE5OTgNCkBAIC0yNiw2ICsyNiw3IEBADQogICAg
ICAgICB1X3Nob3J0ICAgICAgICAgICAgY19tbWNvdW50OyAgIC8qIGNvdW50
IG9mIG1tYXBwZXJzICovDQogICAgICAgICBzdHJ1Y3QgaW5vZGUgICAgICAq
Y19vdnA7ICAgICAgIC8qIG9wZW4gdm5vZGUgcG9pbnRlciAqLw0KICAgICAg
ICAgc3RydWN0IGxpc3RfaGVhZCAgIGNfY25oZWFkOyAgICAvKiBoZWFkIG9m
IGNhY2hlIGVudHJpZXMgKi8NCisJc3RydWN0IGxpc3RfaGVhZCAgIGNfdm9s
cm9vdGxpc3Q7IC8qIGxpc3Qgb2Ygdm9scm9vdCBjbm9kZGVzICovDQogfTsN
CiANCiAvKiBmbGFncyAqLw0KQEAgLTM2LDcgKzM3LDYgQEANCiAjZGVmaW5l
IENfWkFQRElSICAgICAgMHgxMA0KIA0KIHZvaWQgY29kYV9jbm9kZV9mcmVl
KHN0cnVjdCBjbm9kZSAqKTsNCi1zdHJ1Y3QgY25vZGUgKmNvZGFfY25vZGVf
YWxsb2Modm9pZCk7DQogaW50IGNvZGFfY25vZGVfbWFrZShzdHJ1Y3QgaW5v
ZGUgKiosIHN0cnVjdCBWaWNlRmlkICosIHN0cnVjdCBzdXBlcl9ibG9jayAq
KTsNCiBpbnQgY29kYV9jbm9kZV9tYWtlY3RsKHN0cnVjdCBpbm9kZSAqKmlu
b2RlLCBzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKTsNCiBzdHJ1Y3QgaW5vZGUg
KmNvZGFfZmlkX3RvX2lub2RlKFZpY2VGaWQgKmZpZCwgc3RydWN0IHN1cGVy
X2Jsb2NrICpzYik7DQpkaWZmIC11ck4gbGludXgtMi4xLjc4Lm9yaWcvaW5j
bHVkZS9saW51eC9jb2RhX2xpbnV4LmggbGludXgtMi4xLjc4L2luY2x1ZGUv
bGludXgvY29kYV9saW51eC5oDQotLS0gbGludXgtMi4xLjc4Lm9yaWcvaW5j
bHVkZS9saW51eC9jb2RhX2xpbnV4LmgJU3VuIERlYyAyMSAxNzo0NToxNCAx
OTk3DQorKysgbGludXgtMi4xLjc4L2luY2x1ZGUvbGludXgvY29kYV9saW51
eC5oCVR1ZSBKYW4gIDYgMTE6MjM6MzEgMTk5OA0KQEAgLTQ1LDYgKzQ1LDcg
QEANCiAvKiB0aGlzIGZpbGU6ICBoZWxvZXJzICovDQogY2hhciAqY29kYV9m
MnMoVmljZUZpZCAqZiwgY2hhciAqcyk7DQogaW50IGNvZGFfaXNyb290KHN0
cnVjdCBpbm9kZSAqaSk7DQoraW50IGNvZGFfZmlkX2lzX3ZvbHJvb3Qoc3Ry
dWN0IFZpY2VGaWQgKik7DQogaW50IGNvZGFfaXNjb250cm9sKGNvbnN0IGNo
YXIgKm5hbWUsIHNpemVfdCBsZW5ndGgpOw0KIHZvaWQgY29kYV9sb2FkX2Ny
ZWRzKHN0cnVjdCBjb2RhX2NyZWQgKmNyZWQpOw0KIGludCBjb2RhX215Y3Jl
ZChzdHJ1Y3QgY29kYV9jcmVkICopOw0KZGlmZiAtdXJOIGxpbnV4LTIuMS43
OC5vcmlnL2luY2x1ZGUvbGludXgvY29kYV9wc2Rldi5oIGxpbnV4LTIuMS43
OC9pbmNsdWRlL2xpbnV4L2NvZGFfcHNkZXYuaA0KLS0tIGxpbnV4LTIuMS43
OC5vcmlnL2luY2x1ZGUvbGludXgvY29kYV9wc2Rldi5oCVN1biBEZWMgMjEg
MTc6NDU6MTQgMTk5Nw0KKysrIGxpbnV4LTIuMS43OC9pbmNsdWRlL2xpbnV4
L2NvZGFfcHNkZXYuaAlUdWUgSmFuICA2IDExOjA4OjE0IDE5OTgNCkBAIC0y
Niw2ICsyNiw3IEBADQogCXN0cnVjdCB2Y29tbSAqICAgICAgc2JpX3Zjb21t
Ow0KIAlzdHJ1Y3QgaW5vZGUgKiAgICAgIHNiaV9yb290Ow0KIAlzdHJ1Y3Qg
bGlzdF9oZWFkICAgIHNiaV9jY2hlYWQ7DQorCXN0cnVjdCBsaXN0X2hlYWQg
ICAgc2JpX3ZvbHJvb3RoZWFkOw0KIH07DQogDQogLyogY29tbXVuaWNhdGlv
biBwZW5kaW5nL3Byb2Nlc3NpbmcgcXVldWVzIHF1ZXVlcyAqLw0K
--41945269-1784368371-884109361=:1904--