RE: A patch for knfsd-981022

H.J. Lu (hjl@lucon.org)
Fri, 6 Nov 1998 09:53:56 -0800 (PST)


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.

---103705846-248181982-910374836=:18771
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Fri, 6 Nov 1998, Jeremy Fitzhardinge wrote:

>
> On 05-Nov-98 H.J. Lu wrote:
> >>
> >>
> >> > I have some bug fixes for knfsd-981022. Unfortunately, Linux 2.1.126
> >> > doesn't boot on my machine. I am waiting for 2.1.127. Should I make
> >> > a new knfsd without any new kernel patches, or wait for 2.1.127 and
> >> > fix whatever is broken in 2.1.127?
> >>
> >
> > Here is a patch for knfsd-981022. It fixes some bugs:
> >
> > 1. Fix buffer overruns from Peter Benie <pjb1008@cus.cam.ac.uk>.
> > 2. Fix hostname matching.
> > 3. Correctly handle dupilcations in /etc/exports.
> > 4. Add -F flag to statd.
> >
> > I will make a full release when the kernel is stable again.
>
> This looks like it got mangled in the mail (broken lines, tabs->spaces). Can
> you resend in a more robust form, like a MIME attachment?
>

Here it is.

H.J.

---103705846-248181982-910374836=:18771
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="knfsd-981022.diff"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.96.981106095356.18771B@sea.lucon.org>
Content-Description:

SW5kZXg6IHN1cHBvcnQvZXhwb3J0L2V4cG9ydC5jDQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvd29yay9jdnMvbGludXgva25m
c2Qvc3VwcG9ydC9leHBvcnQvZXhwb3J0LmMsdg0KcmV0cmlldmluZyByZXZp
c2lvbiAxLjkNCmRpZmYgLXUgLXAgLXIxLjkgZXhwb3J0LmMNCi0tLSBzdXBw
b3J0L2V4cG9ydC9leHBvcnQuYwkxOTk4LzEwLzAxIDAwOjMxOjM1CTEuOQ0K
KysrIHN1cHBvcnQvZXhwb3J0L2V4cG9ydC5jCTE5OTgvMTAvMjggMTY6MzY6
MDINCkBAIC0yNywxMSArMjcsMjggQEAgaW50DQogZXhwb3J0X3JlYWQoY2hh
ciAqZm5hbWUpDQogew0KIAlzdHJ1Y3QgZXhwb3J0ZW50CSplZXA7DQorCW5m
c19leHBvcnQJCSpleHA7DQogDQogCXNldGV4cG9ydGVudChmbmFtZSwgInIi
KTsNCiAJd2hpbGUgKChlZXAgPSBnZXRleHBvcnRlbnQoKSkgIT0gTlVMTCkg
ew0KLQkJaWYgKCFleHBvcnRfbG9va3VwKGVlcC0+ZV9ob3N0bmFtZSwgZWVw
LT5lX3BhdGgpKQ0KLQkJCWV4cG9ydF9jcmVhdGUoZWVwKTsNCisJICBleHAg
PSBleHBvcnRfbG9va3VwKGVlcC0+ZV9ob3N0bmFtZSwgZWVwLT5lX3BhdGgp
Ow0KKwkgIGlmICghZXhwKQ0KKwkgICAgZXhwb3J0X2NyZWF0ZShlZXApOw0K
KwkgIGVsc2Ugew0KKwkgICAgaWYgKGV4cC0+bV9leHBvcnQuZV9mbGFncyAh
PSBlZXAtPmVfZmxhZ3MpIHsNCisJICAgICAgeGxvZyhMX0VSUk9SLCAiaW5j
b21wYXRpYmxlIGR1cGlsY2F0ZWQgZXhwb3J0IGVudHJpZXM6Iik7DQorCSAg
ICAgIHhsb2coTF9FUlJPUiwgIlx0JXM6JXMgKDB4JXgpIFtJR05PUkVEXSIs
IGVlcC0+ZV9ob3N0bmFtZSwNCisJCSAgIGVlcC0+ZV9wYXRoLCBlZXAtPmVf
ZmxhZ3MpOw0KKwkgICAgICB4bG9nKExfRVJST1IsICJcdCVzOiVzICgweCV4
KSIsIGV4cC0+bV9leHBvcnQuZV9ob3N0bmFtZSwNCisJCSAgIGV4cC0+bV9l
eHBvcnQuZV9wYXRoLCBleHAtPm1fZXhwb3J0LmVfZmxhZ3MpOw0KKwkgICAg
fQ0KKwkgICAgZWxzZSB7DQorCSAgICAgIHhsb2coTF9FUlJPUiwgImR1cGls
Y2F0ZWQgZXhwb3J0IGVudHJpZXM6Iik7DQorCSAgICAgIHhsb2coTF9FUlJP
UiwgIlx0JXM6JXMiLCBlZXAtPmVfaG9zdG5hbWUsIGVlcC0+ZV9wYXRoKTsN
CisJICAgICAgeGxvZyhMX0VSUk9SLCAiXHQlczolcyIsIGV4cC0+bV9leHBv
cnQuZV9ob3N0bmFtZSwNCisJCSAgIGV4cC0+bV9leHBvcnQuZV9wYXRoKTsN
CisJICAgIH0NCisJICB9DQogCX0NCiAJZW5kZXhwb3J0ZW50KCk7DQogDQpJ
bmRleDogc3VwcG9ydC9leHBvcnQvaG9zdG5hbWUuYw0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL3dvcmsvY3ZzL2xpbnV4L2tu
ZnNkL3N1cHBvcnQvZXhwb3J0L2hvc3RuYW1lLmMsdg0KcmV0cmlldmluZyBy
ZXZpc2lvbiAxLjINCmRpZmYgLXUgLXAgLXIxLjIgaG9zdG5hbWUuYw0KLS0t
IHN1cHBvcnQvZXhwb3J0L2hvc3RuYW1lLmMJMTk5OC8wOS8yMyAwMTo0NTo1
OAkxLjINCisrKyBzdXBwb3J0L2V4cG9ydC9ob3N0bmFtZS5jCTE5OTgvMTAv
MjggMDU6MzU6NTUNCkBAIC05OSwyMSArOTksNDIgQEAgaG9zdGVudF9kdXAg
KHN0cnVjdCBob3N0ZW50ICpocCkNCiBpbnQNCiBtYXRjaGhvc3RuYW1lIChj
b25zdCBjaGFyICpoMSwgY29uc3QgY2hhciAqaDIpDQogew0KLSAgc3RydWN0
IGhvc3RlbnQgKmhwOw0KLSAgY2hhciAqbmFtZTsNCisgIHN0cnVjdCBob3N0
ZW50ICpocDEsICpocDI7DQorICBpbnQgc3RhdHVzOw0KIA0KICAgaWYgKHN0
cmNhc2VjbXAgKGgxLCBoMikgPT0gMCkNCiAgICAgcmV0dXJuIDE7DQogDQot
ICBocCA9IGdldGhvc3RieW5hbWUgKGgxKTsNCi0gIGlmIChocCA9PSBOVUxM
KQ0KKyAgaHAxID0gZ2V0aG9zdGJ5bmFtZSAoaDEpOw0KKyAgaWYgKGhwMSA9
PSBOVUxMKQ0KICAgICByZXR1cm4gMDsNCiANCi0gIG5hbWUgPSBhbGxvY2Eg
KHN0cmxlbiAoaHAtPmhfbmFtZSkgKyAxKTsNCi0gIHN0cmNweSAobmFtZSwg
aHAtPmhfbmFtZSk7DQorICBocDEgPSBob3N0ZW50X2R1cCAoaHAxKTsNCiAN
Ci0gIGhwID0gZ2V0aG9zdGJ5bmFtZSAoaDIpOw0KLSAgcmV0dXJuIGhwICYm
IHN0cmNhc2VjbXAgKG5hbWUsIGhwLT5oX25hbWUpID09IDA7DQorICBocDIg
PSBnZXRob3N0YnluYW1lIChoMik7DQorICBpZiAoaHAyKQ0KKyAgICB7DQor
ICAgICAgaWYgKHN0cmNhc2VjbXAgKGhwMS0+aF9uYW1lLCBocDItPmhfbmFt
ZSkgPT0gMCkNCisJc3RhdHVzID0gMTsNCisgICAgICBlbHNlDQorCXsNCisJ
ICBjaGFyICoqYXAxLCAqKmFwMjsNCisNCisJICBzdGF0dXMgPSAwOw0KKwkg
IGZvciAoYXAxID0gaHAxLT5oX2FkZHJfbGlzdDsgKmFwMSAmJiBzdGF0dXMg
PT0gMDsgKmFwMSsrKQ0KKwkgICAgZm9yIChhcDIgPSBocDItPmhfYWRkcl9s
aXN0OyAqYXAyOyAqYXAyKyspDQorCSAgICAgIGlmIChtZW1jbXAgKCphcDEs
ICphcDIsIHNpemVvZiAoc3RydWN0IGluX2FkZHIpKSA9PSAwKQ0KKwkJew0K
KwkJICBzdGF0dXMgPSAxOw0KKwkJICBicmVhazsNCisJCX0NCisJfQ0KKyAg
ICB9DQorICBlbHNlDQorICAgIHN0YXR1cyA9IDA7DQorDQorICBmcmVlICho
cDEpOw0KKyAgcmV0dXJuIHN0YXR1czsNCiB9DQogDQogI2lmZGVmIFRFU1QN
CkBAIC0xNTAsNiArMTcxLDggQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiph
cmd2KQ0KICAgICAgIHByaW50X2hvc3QgKGNwKTsNCiAgICAgICBmcmVlIChj
cCk7DQogICAgIH0NCisgIHByaW50ZiAoIjEyNy4wLjAuMSA9PSAlczogJWRc
biIsIGFyZ3YgWzFdLA0KKwkgIG1hdGNoaG9zdG5hbWUgKCIxMjcuMC4wLjEi
LCBhcmd2IFsxXSkpOw0KICAgcmV0dXJuIDA7DQogfQ0KICNlbmRpZg0KSW5k
ZXg6IHN1cHBvcnQvbmZzL3JwY21pc2MuYw0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQ0KUkNTIGZpbGU6IC9ob21lL3dvcmsvY3ZzL2xpbnV4L2tuZnNkL3N1
cHBvcnQvbmZzL3JwY21pc2MuYyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEu
Mg0KZGlmZiAtdSAtcCAtcjEuMiBycGNtaXNjLmMNCi0tLSBzdXBwb3J0L25m
cy9ycGNtaXNjLmMJMTk5OC8wOS8wOSAxNToyNzo1NQkxLjINCisrKyBzdXBw
b3J0L25mcy9ycGNtaXNjLmMJMTk5OC8xMC8yMyAxNzowNjoxMA0KQEAgLTE3
NSw2ICsxNzUsOCBAQCB2b2lkDQogcnBjX2xvZ2NhbGwoc3RydWN0IHN2Y19y
ZXEgKnJxc3RwLCBjaGFyICp4bmFtZSwgY2hhciAqYXJnKQ0KIHsNCiAJY2hh
cgkJYnVmZlsxMDI0XTsNCisJaW50CQlidWZsZW49c2l6ZW9mKGJ1ZmYpOw0K
KwlpbnQJCWxlbjsNCiAJY2hhcgkJKnNwOw0KIAlpbnQJCWk7DQogDQpAQCAt
MTkyLDE5ICsxOTQsMjkgQEAgcnBjX2xvZ2NhbGwoc3RydWN0IHN2Y19yZXEg
KnJxc3RwLCBjaGFyIA0KIA0KIAkJdW5peF9jcmVkID0gKHN0cnVjdCBhdXRo
dW5peF9wYXJtcyAqKSBycXN0cC0+cnFfY2xudGNyZWQ7DQogCQl0bSA9IGxv
Y2FsdGltZSgmdW5peF9jcmVkLT5hdXBfdGltZSk7DQotCQlzcHJpbnRmKHNw
LCAiVU5JWCAlZC8lZC8lZCAlMDJkOiUwMmQ6JTAyZCAlcyAlZC4lZCIsDQor
CQlzbnByaW50ZihzcCwgYnVmbGVuLCAiVU5JWCAlZC8lZC8lZCAlMDJkOiUw
MmQ6JTAyZCAlcyAlZC4lZCIsDQogCQkJdG0tPnRtX3llYXIsIHRtLT50bV9t
b24gKyAxLCB0bS0+dG1fbWRheSwNCiAJCQl0bS0+dG1faG91ciwgdG0tPnRt
X21pbiwgdG0tPnRtX3NlYywNCiAJCQl1bml4X2NyZWQtPmF1cF9tYWNobmFt
ZSwNCiAJCQl1bml4X2NyZWQtPmF1cF91aWQsDQogCQkJdW5peF9jcmVkLT5h
dXBfZ2lkKTsNCi0JCXNwICs9IHN0cmxlbihzcCk7DQorCQlzcFtidWZsZW4t
MV0gPSAwOw0KKwkJbGVuID0gc3RybGVuKHNwKTsNCisJCXNwICs9IGJ1Zmxl
bjsNCisJCWJ1ZmxlbiAtPSBsZW47DQogCQlpZiAoKGludCkgdW5peF9jcmVk
LT5hdXBfbGVuID4gMCkgew0KLQkJCXNwcmludGYoc3AsICIrJWQiLCB1bml4
X2NyZWQtPmF1cF9naWRzWzBdKTsNCi0JCQlzcCArPSBzdHJsZW4oc3ApOw0K
KwkJCXNucHJpbnRmKHNwLCBidWZsZW4sICIrJWQiLCB1bml4X2NyZWQtPmF1
cF9naWRzWzBdKTsNCisJCQlzcFtidWZsZW4tMV0gPSAwOw0KKwkJCWxlbiA9
IHN0cmxlbihzcCk7DQorCQkJc3AgKz0gYnVmbGVuOw0KKwkJCWJ1ZmxlbiAt
PSBsZW47DQogCQkJZm9yIChpID0gMTsgaSA8IHVuaXhfY3JlZC0+YXVwX2xl
bjsgaSsrKSB7DQotCQkJCXNwcmludGYoc3AsICIsJWQiLCB1bml4X2NyZWQt
PmF1cF9naWRzW2ldKTsNCi0JCQkJc3AgKz0gc3RybGVuKHNwKTsNCisJCQkJ
c25wcmludGYoc3AsIGJ1ZmxlbiwgIiwlZCIsIA0KKwkJCQkJdW5peF9jcmVk
LT5hdXBfZ2lkc1tpXSk7DQorCQkJCXNwW2J1Zmxlbi0xXSA9IDA7DQorCQkJ
CWxlbiA9IHN0cmxlbihzcCk7DQorCQkJCXNwICs9IGJ1ZmxlbjsNCisJCQkJ
YnVmbGVuIC09IGxlbjsNCiAJCQl9DQogCQl9DQogCQl9DQpJbmRleDogc3Vw
cG9ydC9uZnMveGxvZy5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1Mg
ZmlsZTogL2hvbWUvd29yay9jdnMvbGludXgva25mc2Qvc3VwcG9ydC9uZnMv
eGxvZy5jLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4yDQpkaWZmIC11IC1w
IC1yMS4yIHhsb2cuYw0KLS0tIHN1cHBvcnQvbmZzL3hsb2cuYwkxOTk4LzEw
LzAxIDAwOjMxOjM2CTEuMg0KKysrIHN1cHBvcnQvbmZzL3hsb2cuYwkxOTk4
LzEwLzMxIDE5OjI0OjI5DQpAQCAtMTQwLDggKzE0MCw5IEBAIHhsb2coaW50
IGtpbmQsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQ0KIAkJcmV0dXJuOw0KIA0K
IAl2YV9zdGFydChhcmdzLCBmbXQpOw0KLQl2c3ByaW50ZihidWZmLCBmbXQs
IGFyZ3MpOw0KKwl2c25wcmludGYoYnVmZiwgc2l6ZW9mIChidWZmKSwgZm10
LCBhcmdzKTsNCiAJdmFfZW5kKGFyZ3MpOw0KKwlidWZmW3NpemVvZiAoYnVm
ZikgLSAxXSA9IDA7DQogDQogCWlmICgobiA9IHN0cmxlbihidWZmKSkgPiAw
ICYmIGJ1ZmZbbi0xXSAhPSAnXG4nKSB7DQogCQlidWZmW24rK10gPSAnXG4n
OyBidWZmW24rK10gPSAnXDAnOw0KSW5kZXg6IHV0aWxzL3JxdW90YWQvaGFz
cXVvdGEuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9o
b21lL3dvcmsvY3ZzL2xpbnV4L2tuZnNkL3V0aWxzL3JxdW90YWQvaGFzcXVv
dGEuYyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNA0KZGlmZiAtdSAtcCAt
cjEuNCBoYXNxdW90YS5jDQotLS0gdXRpbHMvcnF1b3RhZC9oYXNxdW90YS5j
CTE5OTgvMTAvMDEgMDA6MzE6MzYJMS40DQorKysgdXRpbHMvcnF1b3RhZC9o
YXNxdW90YS5jCTE5OTgvMTAvMzEgMTk6MTQ6MTYNCkBAIC0yNCw2ICsyNCw3
IEBADQogI2luY2x1ZGUgPGxpbWl0cy5oPg0KICNpbmNsdWRlIDxzdHJpbmcu
aD4NCiAjaW5jbHVkZSAibW50ZW50LmgiDQorI2luY2x1ZGUgInhtYWxsb2Mu
aCINCiANCiAjdW5kZWYgbWluDQogI2RlZmluZSBtaW4oeCx5KSAoKHgpIDwg
KHkpKSA/ICh4KSA6ICh5KQ0KQEAgLTMyLDggKzMzLDYgQEANCiAoIXN0cmNt
cCh0eXBlLE1OVFRZUEVfRVhUMikpDQogDQogY2hhciAqcWZleHRlbnNpb25b
XSA9IElOSVRRRk5BTUVTOw0KLXN0YXRpYyBjaGFyICpxZm5hbWUgPSBRVU9U
QUZJTEVOQU1FOw0KLXN0YXRpYyBjaGFyIHFmdWxsbmFtZVtQQVRIX01BWF07
DQogDQogLyoNCiAgKiBDaGVjayB0byBzZWUgaWYgYSBwYXJ0aWN1bGFyIHF1
b3RhIGlzIHRvIGJlIGVuYWJsZWQuDQpAQCAtNDEsNiArNDAsNyBAQCBzdGF0
aWMgY2hhciBxZnVsbG5hbWVbUEFUSF9NQVhdOw0KIGludA0KIGhhc3F1b3Rh
KHN0cnVjdCBtbnRlbnQgKm1udCwgaW50IHR5cGUsIGNoYXIgKipxZm5hbWVw
KQ0KIHsNCisgICBjaGFyICpxZm5hbWUgPSBRVU9UQUZJTEVOQU1FOw0KICAg
IGNoYXIgKmJ1ZiwgKm9wdGlvbiwgKnBhdGhuYW1lOw0KIA0KICAgIGlmICgh
Q09SUkVDVF9GU1RZUEUobW50LT5tbnRfdHlwZSkpDQpAQCAtNDksMjEgKzQ5
LDIxIEBAIGhhc3F1b3RhKHN0cnVjdCBtbnRlbnQgKm1udCwgaW50IHR5cGUs
IGMNCiAgICBpZiAoKCh0eXBlID09IFVTUlFVT1RBKSAmJiAob3B0aW9uID0g
aGFzbW50b3B0KG1udCwgTU5UT1BUX1VTUlFVT1RBKSkgIT0gKGNoYXIgKikw
KSB8fA0KICAgICAgICAoKHR5cGUgPT0gR1JQUVVPVEEpICYmIChvcHRpb24g
PSBoYXNtbnRvcHQobW50LCBNTlRPUFRfR1JQUVVPVEEpKSAhPSAoY2hhciAq
KTApKSB7DQogICAgICAgaWYgKChwYXRobmFtZSA9IHN0cmNocihvcHRpb24s
ICc9JykpID09IChjaGFyICopMCkgew0KLSAgICAgICAgICh2b2lkKSBzcHJp
bnRmKHFmdWxsbmFtZSwgIiVzJXMlcy4lcyIsIG1udC0+bW50X2RpciwNCi0g
ICAgICAgICAgICAgICAgICAgICAgIChtbnQtPm1udF9kaXJbc3RybGVuKG1u
dC0+bW50X2RpcikgLSAxXSA9PSAnLycpID8gIiIgOiAiLyIsDQotICAgICAg
ICAgICAgICAgICAgICAgICBxZm5hbWUsIHFmZXh0ZW5zaW9uW3R5cGVdKTsN
CisJICAqcWZuYW1lcD14bWFsbG9jKHN0cmxlbihtbnQtPm1udF9kaXIpK3N0
cmxlbihxZm5hbWUpK3N0cmxlbihxZmV4dGVuc2lvblt0eXBlXSkrMik7DQor
CSAgKHZvaWQpIHNwcmludGYoKnFmbmFtZXAsICIlcyVzJXMuJXMiLCBtbnQt
Pm1udF9kaXIsDQorCQkJKG1udC0+bW50X2RpcltzdHJsZW4obW50LT5tbnRf
ZGlyKSAtIDFdID09ICcvJykgPyAiIiA6ICIvIiwNCisJCQlxZm5hbWUsIHFm
ZXh0ZW5zaW9uW3R5cGVdKTsNCiAgICAgICB9IGVsc2Ugew0KICAgICAgICAg
IGlmICgob3B0aW9uID0gc3RyY2hyKCsrcGF0aG5hbWUsICcsJykpICE9IChj
aGFyICopTlVMTCkgew0KLSAgICAgICAgICAgIHN0cm5jcHkocWZ1bGxuYW1l
LCBwYXRobmFtZSwNCi0JCSAgICBtaW4oKG9wdGlvbiAtIHBhdGhuYW1lKSwg
c2l6ZW9mKHFmdWxsbmFtZSkpIC0gMSk7DQotICAgICAgICAgICAgcWZ1bGxu
YW1lIFttaW4oKG9wdGlvbiAtIHBhdGhuYW1lKSwgc2l6ZW9mKHFmdWxsbmFt
ZSkpIC0gMV0gPSAnXDAnOw0KKwkgICAgaW50IGxlbj1vcHRpb24tcGF0aG5h
bWU7DQorCSAgICAqcWZuYW1lcD14bWFsbG9jKGxlbik7DQorICAgICAgICAg
ICAgbWVtY3B5KCpxZm5hbWVwLCBwYXRobmFtZSwgbGVuLTEpOw0KKyAgICAg
ICAgICAgICgqcWZuYW1lcCkgW2xlbi0xXSA9ICdcMCc7DQogCSB9DQogICAg
ICAgICAgZWxzZSB7DQotICAgICAgICAgICAgc3RybmNweShxZnVsbG5hbWUs
IHBhdGhuYW1lLCBzaXplb2YocWZ1bGxuYW1lKSAtIDEpOw0KLSAgICAgICAg
ICAgIHFmdWxsbmFtZSBbc2l6ZW9mKHFmdWxsbmFtZSkgLSAxXSA9ICdcMCc7
DQorCSAgICAqcWZuYW1lcD14c3RyZHVwKHBhdGhuYW1lKTsNCiAJIH0NCiAg
ICAgICB9DQotICAgICAgKnFmbmFtZXAgPSBzdHJkdXAocWZ1bGxuYW1lKTsN
CiAgICAgICByZXR1cm4gKDEpOw0KICAgIH0gZWxzZQ0KICAgICAgIHJldHVy
biAoMCk7DQpJbmRleDogdXRpbHMvcnF1b3RhZC9ycXVvdGFfc2VydmVyLmMN
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS93b3Jr
L2N2cy9saW51eC9rbmZzZC91dGlscy9ycXVvdGFkL3JxdW90YV9zZXJ2ZXIu
Yyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNA0KZGlmZiAtdSAtcCAtcjEu
NCBycXVvdGFfc2VydmVyLmMNCi0tLSB1dGlscy9ycXVvdGFkL3JxdW90YV9z
ZXJ2ZXIuYwkxOTk4LzEwLzAxIDAwOjMxOjM2CTEuNA0KKysrIHV0aWxzL3Jx
dW90YWQvcnF1b3RhX3NlcnZlci5jCTE5OTgvMTAvMjMgMTc6MDY6MTANCkBA
IC0xNzYsNyArMTc2LDExIEBAIGdldHF1b3RhX3JzbHQgKmdldHF1b3RhaW5m
byhpbnQgZmxhZ3MsIGMNCiAgICAgICAgICBpZiAoKGVyciA9IHF1b3RhY3Rs
KFFDTUQoUV9HRVRRVU9UQSwgdHlwZSksIGRldmljZW5hbWUsIGlkLA0KICAg
ICAgICAgICAgIChjYWRkcl90KSZkcV9kcWIpKSA9PSAtMSAmJiAhKGZsYWdz
ICYgQUNUSVZFKSkgew0KICAgICAgICAgICAgIGlmICgoZmQgPSBvcGVuKHFm
cGF0aG5hbWUsIE9fUkRPTkxZKSkgPCAwKQ0KKwkgICAgew0KKwkgICAgICAg
ZnJlZShxZnBhdGhuYW1lKTsNCiAgICAgICAgICAgICAgICBjb250aW51ZTsN
CisJICAgIH0NCisgICAgICAgICAgICBmcmVlKHFmcGF0aG5hbWUpOw0KICAg
ICAgICAgICAgIGxzZWVrKGZkLCAobG9uZykgZHFvZmYoaWQpLCBMX1NFVCk7
DQogICAgICAgICAgICAgc3dpdGNoIChyZWFkKGZkLCAmZHFfZHFiLCBzaXpl
b2Yoc3RydWN0IGRxYmxrKSkpIHsNCiAgICAgICAgICAgICAgICBjYXNlIDA6
LyogRU9GICovDQpJbmRleDogdXRpbHMvc2hvd21vdW50L3Nob3dtb3VudC5j
DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvd29y
ay9jdnMvbGludXgva25mc2QvdXRpbHMvc2hvd21vdW50L3Nob3dtb3VudC5j
LHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4xLjEuMQ0KZGlmZiAtdSAtcCAt
cjEuMS4xLjEgc2hvd21vdW50LmMNCi0tLSB1dGlscy9zaG93bW91bnQvc2hv
d21vdW50LmMJMTk5OC8wOC8xOSAwMjozNzo0NQkxLjEuMS4xDQorKysgdXRp
bHMvc2hvd21vdW50L3Nob3dtb3VudC5jCTE5OTgvMTAvMjMgMTc6MDY6MTAN
CkBAIC0yNjMsMTggKzI2MywxNSBAQCBjaGFyICoqYXJndjsNCiAJCWlmICho
ZWFkZXJzKQ0KIAkJCXByaW50ZigiQWxsIG1vdW50IHBvaW50cyBvbiAlczpc
biIsIGhvc3RuYW1lKTsNCiAJCXdoaWxlIChkdW1wbGlzdCkgew0KLQkJCWNo
YXIgc1sxMDI0XTsNCiAJCQljaGFyICp0Ow0KIA0KLQkJCXNwcmludGYocywg
IiVzOiVzIiwgZHVtcGxpc3QtPm1sX2hvc3RuYW1lLA0KLQkJCQlkdW1wbGlz
dC0+bWxfZGlyZWN0b3J5KTsNCi0JCQl0ID0gbWFsbG9jKHN0cmxlbihzKSAr
IDEpOw0KLQkJCWlmICh0KQ0KLQkJCQlzdHJjcHkodCwgcyk7DQotCQkJZWxz
ZSB7DQotCQkJCXByaW50ZigiJXM6IG91dCBvZiBtZW1vcnlcbiIsIHByb2dy
YW1fbmFtZSk7DQorCQkJdD1tYWxsb2Moc3RybGVuKGR1bXBsaXN0LT5tbF9o
b3N0bmFtZSkrc3RybGVuKGR1bXBsaXN0LT5tbF9kaXJlY3RvcnkpKzIpOw0K
KwkJCWlmICghdCkNCisJCQl7DQorCQkJCWZwcmludGYoc3RkZXJyLCAiJXM6
IG91dCBvZiBtZW1vcnlcbiIsIHByb2dyYW1fbmFtZSk7DQogCQkJCWV4aXQo
MSk7DQogCQkJfQ0KKwkJCXNwcmludGYodCwgIiVzOiVzIiwgZHVtcGxpc3Qt
Pm1sX2hvc3RuYW1lLCBkdW1wbGlzdC0+bWxfZGlyZWN0b3J5KTsNCiAJCQlk
dW1wdltpKytdID0gdDsNCiAJCQlkdW1wbGlzdCA9IGR1bXBsaXN0LT5tbF9u
ZXh0Ow0KIAkJfQ0KSW5kZXg6IHV0aWxzL3N0YXRkL2xvZy5jDQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvd29yay9jdnMvbGlu
dXgva25mc2QvdXRpbHMvc3RhdGQvbG9nLmMsdg0KcmV0cmlldmluZyByZXZp
c2lvbiAxLjINCmRpZmYgLXUgLXAgLXIxLjIgbG9nLmMNCi0tLSB1dGlscy9z
dGF0ZC9sb2cuYwkxOTk4LzEwLzAxIDAwOjMxOjM2CTEuMg0KKysrIHV0aWxz
L3N0YXRkL2xvZy5jCTE5OTgvMTAvMjMgMTc6MDY6MTANCkBAIC02MCw4ICs2
MCw5IEBAIGRpZShjaGFyICpmbXQsIC4uLikNCiAgICAgdmFfbGlzdAlhcDsN
CiANCiAgICAgdmFfc3RhcnQoYXAsIGZtdCk7DQotICAgIHZzcHJpbnRmIChi
dWZmZXIsIGZtdCwgYXApOw0KKyAgICB2c25wcmludGYgKGJ1ZmZlciwgMTAy
NCwgZm10LCBhcCk7DQogICAgIHZhX2VuZChhcCk7DQorICAgIGJ1ZmZlclsx
MDIzXT0wOw0KIA0KICAgICBsb2coTF9GQVRBTCwgIiVzIiwgYnVmZmVyKTsN
CiANCkBAIC03OSw4ICs4MCw5IEBAIGxvZyhpbnQgbGV2ZWwsIGNoYXIgKmZt
dCwgLi4uKQ0KICAgICB2YV9saXN0CWFwOw0KIA0KICAgICB2YV9zdGFydChh
cCwgZm10KTsNCi0gICAgdnNwcmludGYgKGJ1ZmZlciwgZm10LCBhcCk7DQor
ICAgIHZzbnByaW50ZiAoYnVmZmVyLCAxMDI0LCBmbXQsIGFwKTsNCiAgICAg
dmFfZW5kKGFwKTsNCisgICAgYnVmZmVyWzEwMjNdPTA7DQogDQogICAgIGlm
IChsZXZlbCA8IExfREVCVUcpIHsNCiAgICAgCXN5c2xvZyhsZXZlbCwgYnVm
ZmVyKTsNCkluZGV4OiB1dGlscy9zdGF0ZC9taXNjLmMNCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS93b3JrL2N2cy9saW51eC9r
bmZzZC91dGlscy9zdGF0ZC9taXNjLmMsdg0KcmV0cmlldmluZyByZXZpc2lv
biAxLjEuMS4xDQpkaWZmIC11IC1wIC1yMS4xLjEuMSBtaXNjLmMNCi0tLSB1
dGlscy9zdGF0ZC9taXNjLmMJMTk5OC8wOC8xOSAwMjozNzo0NQkxLjEuMS4x
DQorKysgdXRpbHMvc3RhdGQvbWlzYy5jCTE5OTgvMTAvMzEgMTk6MTk6NDYN
CkBAIC0yOCw3ICsyOCw3IEBAIHhtYWxsb2MgKHNpemVfdCBzaXplKQ0KIA0K
ICAgaWYgKCEocHRyID0gbWFsbG9jIChzaXplKSkpDQogICAgIC8qIFNISVQh
ICBTSElUISAgU0hJVCEgKi8NCi0gICAgZGllICgibWFsbG9jOiAlcyIsIHN0
cmVycm9yIChlcnJubykpOw0KKyAgICBkaWUgKCJtYWxsb2MgZmFpbGVkIik7
DQogDQogICByZXR1cm4gKHB0cik7DQogfQ0KQEAgLTQ0LDcgKzQ0LDcgQEAg
eHN0cmR1cCAoY29uc3QgY2hhciAqc3RyaW5nKQ0KIA0KICAgLyogV2lsbCBv
bmx5IGZhaWwgaWYgdW5kZXJseWluZyBtYWxsb2MoKSBmYWlscyAoRU5PTUVN
KS4gKi8NCiAgIGlmICghKHJlc3VsdCA9IHN0cmR1cCAoc3RyaW5nKSkpDQot
ICAgIGRpZSAoInN0cmR1cDogJXMiLCBzdHJlcnJvciAoZXJybm8pKTsNCisg
ICAgZGllICgic3RyZHVwIGZhaWxlZCIpOw0KIA0KICAgcmV0dXJuIChyZXN1
bHQpOw0KIH0NCkBAIC01Nyw5ICs1NywxMCBAQCB4c3RyZHVwIChjb25zdCBj
aGFyICpzdHJpbmcpDQogdm9pZA0KIHh1bmxpbmsgKGNoYXIgKnBhdGgsIGNo
YXIgKmhvc3QsIHNob3J0IGludCBjaGVjaykNCiB7DQotICBjaGFyIHRvemFw
W1BBVEhfTUFYXTsNCisgIGNoYXIgKnRvemFwOw0KIA0KLSAgc25wcmludGYg
KHRvemFwLCBQQVRIX01BWCwgIiVzLyVzIiwgcGF0aCwgaG9zdCk7DQorICB0
b3phcD1hbGxvY2EgKHN0cmxlbihwYXRoKStzdHJsZW4oaG9zdCkrMik7DQor
ICBzcHJpbnRmICh0b3phcCwgIiVzLyVzIiwgcGF0aCwgaG9zdCk7DQogDQog
ICBpZiAoIWNoZWNrIHx8ICFubGlzdF9nZXRob3N0KHJ0bmwsIGhvc3QsIDAp
KQ0KICAgICBpZiAodW5saW5rICh0b3phcCkgPT0gLTEpDQpJbmRleDogdXRp
bHMvc3RhdGQvbW9uaXRvci5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpS
Q1MgZmlsZTogL2hvbWUvd29yay9jdnMvbGludXgva25mc2QvdXRpbHMvc3Rh
dGQvbW9uaXRvci5jLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS40DQpkaWZm
IC11IC1wIC1yMS40IG1vbml0b3IuYw0KLS0tIHV0aWxzL3N0YXRkL21vbml0
b3IuYwkxOTk4LzEwLzEwIDIzOjU3OjI4CTEuNA0KKysrIHV0aWxzL3N0YXRk
L21vbml0b3IuYwkxOTk4LzEwLzIzIDE3OjA2OjEwDQpAQCAtMzMsNyArMzMs
NyBAQCBzbV9tb25fMV9zdmMoc3RydWN0IG1vbiAqYXJncCwgc3RydWN0IHN2
DQogCWNoYXIJCSptb25fbmFtZSA9IGFyZ3AtPm1vbl9pZC5tb25fbmFtZSwN
CiAJCQkqbXlfbmFtZSAgPSBhcmdwLT5tb25faWQubXlfaWQubXlfbmFtZTsN
CiAJc3RydWN0IG15X2lkCSppZCA9ICZhcmdwLT5tb25faWQubXlfaWQ7DQot
CWNoYXIgICAgICAgICAgICBwYXRoW1BBVEhfTUFYXTsNCisJY2hhciAgICAg
ICAgICAgICpwYXRoOw0KIAlpbnQgICAgICAgICAgICAgZmQ7DQogCW5vdGlm
eV9saXN0CSpjbG50Ow0KIA0KQEAgLTExNCwxNCArMTE0LDE3IEBAIHNtX21v
bl8xX3N2YyhzdHJ1Y3QgbW9uICphcmdwLCBzdHJ1Y3Qgc3YNCiAJLyoNCiAJ
ICogTm93LCBDcmVhdGUgZmlsZSBvbiBzdGFibGUgc3RvcmFnZSBmb3IgaG9z
dC4NCiAJICovDQotCXNucHJpbnRmKHBhdGgsIFBBVEhfTUFYLCBTTV9ESVIg
Ii8lcyIsIG1vbl9uYW1lKTsNCisNCisJcGF0aD14bWFsbG9jKHN0cmxlbihT
TV9ESVIpK3N0cmxlbihtb25fbmFtZSkrMik7DQorCXNwcmludGYocGF0aCwg
U01fRElSICIvJXMiLCBtb25fbmFtZSk7DQogCWlmICgoZmQgPSBvcGVuKHBh
dGgsIE9fV1JPTkxZfE9fU1lOQ3xPX0NSRUFULCBTX0lSVVNSfFNfSVdVU1Ip
KSA8IDApIHsNCiAJCS8qIERpZG4ndCBmbHkuICBXZSB3b24ndCBtb25pdG9y
LiAqLw0KIAkJbG9nKExfRVJST1IsICJjcmVhdCglcykgZmFpbGVkOiAlbSIs
IHBhdGgpOw0KIAkJbmxpc3RfZnJlZShOVUxMLCBjbG50KTsNCisJCWZyZWUo
cGF0aCk7DQogCQlnb3RvIGZhaWx1cmU7DQogCX0NCi0NCisJZnJlZShwYXRo
KTsNCiAJbmxpc3RfaW5zZXJ0KCZydG5sLCBjbG50KTsNCiAJY2xvc2UoZmQp
Ow0KIA0KSW5kZXg6IHV0aWxzL3N0YXRkL25vdGlmeS5jDQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvd29yay9jdnMvbGludXgv
a25mc2QvdXRpbHMvc3RhdGQvbm90aWZ5LmMsdg0KcmV0cmlldmluZyByZXZp
c2lvbiAxLjINCmRpZmYgLXUgLXAgLXIxLjIgbm90aWZ5LmMNCi0tLSB1dGls
cy9zdGF0ZC9ub3RpZnkuYwkxOTk4LzA5LzIwIDIzOjQzOjE0CTEuMg0KKysr
IHV0aWxzL3N0YXRkL25vdGlmeS5jCTE5OTgvMTAvMjMgMTc6MDY6MTANCkBA
IC01NCwxMSArNTQsMTQgQEAgbm90aWZ5X2hvc3RzKHZvaWQpDQogCQkgKiAo
ZS5nLiB3aXRoIGNmc2QpICovDQogCQlpZiAobWF0Y2hob3N0bmFtZShkZS0+
ZF9uYW1lLCBNWV9OQU1FKQ0KIAkJIHx8IG1hdGNoaG9zdG5hbWUoZGUtPmRf
bmFtZSwgImxvY2FsaG9zdCIpKSB7DQotCQkJY2hhcglmbmFtZVtQQVRIX01B
WF07DQotDQorCQkJY2hhciAqZm5hbWU7DQorCQkJZm5hbWU9eG1hbGxvYyhz
dHJsZW4oU01fQkFLX0RJUikrc2l6ZW9mKGRlLT5kX25hbWUpKzIpOw0KIAkJ
CWRwcmludGYoTF9ERUJVRywgIldlJ3JlIG9uIG91ciBvd24gbm90aWZ5IGxp
c3Q/IT8iKTsNCiAJCQlzcHJpbnRmKGZuYW1lLCBTTV9CQUtfRElSICIvJXMi
LCBkZS0+ZF9uYW1lKTsNCi0JCQl1bmxpbmsoZm5hbWUpOw0KKwkJCWlmICh1
bmxpbmsoZm5hbWUpKSANCisJCQkJbG9nKExfRVJST1IsICJ1bmxpbmsoJXMp
OiAlcyIsIA0KKwkJCQkJZm5hbWUsIHN0cmVycm9yKGVycm5vKSk7DQorCQkJ
ZnJlZShmbmFtZSk7DQogCQkJY29udGludWU7DQogCQl9DQogDQpJbmRleDog
dXRpbHMvc3RhdGQvc3RhdGQuYw0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K
UkNTIGZpbGU6IC9ob21lL3dvcmsvY3ZzL2xpbnV4L2tuZnNkL3V0aWxzL3N0
YXRkL3N0YXRkLmMsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjINCmRpZmYg
LXUgLXAgLXIxLjIgc3RhdGQuYw0KLS0tIHV0aWxzL3N0YXRkL3N0YXRkLmMJ
MTk5OC8wOC8zMSAxODo1MTo1MwkxLjINCisrKyB1dGlscy9zdGF0ZC9zdGF0
ZC5jCTE5OTgvMTAvMzEgMTc6NTU6MDcNCkBAIC03LDYgKzcsNyBAQA0KIA0K
ICNpbmNsdWRlIDxzaWduYWwuaD4NCiAjaW5jbHVkZSA8dW5pc3RkLmg+DQor
I2luY2x1ZGUgPHN0cmluZy5oPg0KICNpbmNsdWRlIDxycGMvcnBjLmg+DQog
I2luY2x1ZGUgPHJwYy9wbWFwX2NsbnQuaD4NCiAjaW5jbHVkZSAic3RhdGQu
aCINCkBAIC00NywyMSArNDgsMzEgQEAgaW50DQogbWFpbiAoaW50IGFyZ2Ms
IGNoYXIgKiphcmd2KQ0KIHsNCiAgIGludCBwaWQ7DQorICBpbnQgZm9yZWdy
b3VuZCA9IDA7DQogDQogICBsb2dfaW5pdCAoYXJndlswXSk7DQogDQorICBp
ZiAoYXJnYyA9PSAyICYmIHN0cmNtcCAoYXJndiBbMV0sICItRiIpID09IDAp
IHsNCisgICAgZm9yZWdyb3VuZCA9IDE7DQorICAgIGFyZ2MtLTsNCisgICAg
YXJndisrOw0KKyAgfQ0KKw0KICNpZmRlZiBTSU1VTEFUSU9OUw0KICAgaWYg
KGFyZ2MgPiAxKQ0KICAgICBzaW11bGF0b3IgKC0tYXJnYywgKythcmd2KTsJ
Lyogc2ltdWxhdG9yKCkgZG9lcyBleGl0KCkgKi8NCiAjZW5kaWYNCiAgIA0K
LSAgaWYgKChwaWQgPSBmb3JrICgpKSA8IDApIHsNCi0gICAgcGVycm9yICgi
Q291bGQgbm90IGZvcmsiKTsNCi0gICAgZXhpdCAoMSk7DQotICB9IGVsc2Ug
aWYgKHBpZCAhPSAwKSB7DQotICAgIC8qIFBhcmVudC4gKi8NCi0gICAgZXhp
dCAoMCk7DQorICBpZiAoIWZvcmVncm91bmQpIHsNCisgICAgaWYgKChwaWQg
PSBmb3JrICgpKSA8IDApIHsNCisgICAgICBwZXJyb3IgKCJDb3VsZCBub3Qg
Zm9yayIpOw0KKyAgICAgIGV4aXQgKDEpOw0KKyAgICB9IGVsc2UgaWYgKHBp
ZCAhPSAwKSB7DQorICAgICAgLyogUGFyZW50LiAqLw0KKyAgICAgIGV4aXQg
KDApOw0KKyAgICB9DQogICB9DQorDQogICAvKiBDaGlsZC4gKi8NCiAgIHNp
Z25hbCAoU0lHSFVQLCBraWxsZXIpOw0KICAgc2lnbmFsIChTSUdJTlQsIGtp
bGxlcik7DQpJbmRleDogdXRpbHMvc3RhdGQvc3RhdGUuYw0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL3dvcmsvY3ZzL2xpbnV4
L2tuZnNkL3V0aWxzL3N0YXRkL3N0YXRlLmMsdg0KcmV0cmlldmluZyByZXZp
c2lvbiAxLjINCmRpZmYgLXUgLXAgLXIxLjIgc3RhdGUuYw0KLS0tIHV0aWxz
L3N0YXRkL3N0YXRlLmMJMTk5OC8xMC8wMSAwMDozMTozNgkxLjINCisrKyB1
dGlscy9zdGF0ZC9zdGF0ZS5jCTE5OTgvMTAvMjMgMTc6MDY6MTANCkBAIC04
NSw3ICs4NSw4IEBAIHNodWZmbGVfZGlycyAodm9pZCkNCiAgIERJUiAqbmxk
Ow0KICAgc3RydWN0IGRpcmVudCAqZGU7DQogICBzdHJ1Y3Qgc3RhdCBzdDsN
Ci0gIGNoYXIgc3JjW1BBVEhfTUFYXSwgZHN0W1BBVEhfTUFYXTsNCisgIGNo
YXIgKnNyYywgKmRzdDsNCisgIGludCBsZW4xLCBsZW4yLCBsZW47DQogICAN
CiAgIGlmIChzdGF0IChTTV9ESVIsICZzdCkgPT0gLTEgJiYgZXJybm8gIT0g
RU5PRU5UKQ0KICAgICBkaWUgKCJzdGF0ICglcyk6ICVzIiwgU01fRElSLCBz
dHJlcnJvciAoZXJybm8pKTsNCkBAIC0xMDYsMTMgKzEwNywyMCBAQCBzaHVm
ZmxlX2RpcnMgKHZvaWQpDQogICBpZiAoIShubGQgPSBvcGVuZGlyIChTTV9E
SVIpKSkNCiAgICAgZGllICgib3BlbmRpciAoJXMpOiAlcyIsIFNNX0RJUiwg
c3RyZXJyb3IgKGVycm5vKSk7DQogDQorICBsZW4xPXN0cmxlbihTTV9ESVIp
Ow0KKyAgbGVuMj1zdHJsZW4oU01fQkFLX0RJUik7DQogICB3aGlsZSAoKGRl
ID0gcmVhZGRpciAobmxkKSkpIHsNCiAgICAgaWYgKGRlLT5kX25hbWVbMF0g
PT0gJy4nKQ0KICAgICAgIGNvbnRpbnVlOw0KLSAgICBzbnByaW50ZiAoc3Jj
LCBQQVRIX01BWCwgIiVzLyVzIiwgU01fRElSLCBkZS0+ZF9uYW1lKTsNCi0g
ICAgc25wcmludGYgKGRzdCwgUEFUSF9NQVgsICIlcy8lcyIsIFNNX0JBS19E
SVIsIGRlLT5kX25hbWUpOw0KKyAgICBsZW49c3RybGVuKGRlLT5kX25hbWUp
Ow0KKyAgICBzcmM9eG1hbGxvYyhsZW4xK2xlbisyKTsNCisgICAgZHN0PXht
YWxsb2MobGVuMitsZW4rMik7DQorICAgIHNwcmludGYgKHNyYywgIiVzLyVz
IiwgU01fRElSLCBkZS0+ZF9uYW1lKTsNCisgICAgc3ByaW50ZiAoZHN0LCAi
JXMvJXMiLCBTTV9CQUtfRElSLCBkZS0+ZF9uYW1lKTsNCiAgICAgaWYgKHJl
bmFtZSAoc3JjLCBkc3QpID09IC0xKQ0KICAgICAgIGRpZSAoInJlbmFtZSAo
JXMgdG8gJXMpOiAlcyIsIFNNX0RJUiwgU01fQkFLX0RJUiwgc3RyZXJyb3Ig
KGVycm5vKSk7DQorICAgIGZyZWUoc3JjKTsNCisgICAgZnJlZShkc3QpOw0K
ICAgfQ0KICAgaWYgKGNsb3NlZGlyIChubGQpID09IC0xKQ0KICAgICBsb2cg
KExfRVJST1IsICJjbG9zZWRpciAoJXMpOiAlcyIsIFNNX0RJUiwgc3RyZXJy
b3IgKGVycm5vKSk7DQo=
---103705846-248181982-910374836=:18771--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/