Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Jan 2010 12:34:36 -0800 (PST)
From:      "Pedro F. Giffuni" <giffunip@tutopia.com>
To:        FreeBSD-gnats-submit@FreeBSD.org, freebsd-bugs@FreeBSD.org
Subject:   Re: bin/142384: sync fsck_msdosfs with OpenBSD
Message-ID:  <903235.77647.qm@web113517.mail.gq1.yahoo.com>

next in thread | raw e-mail | index | archive | help
--0-768091124-1262982876=:77647
Content-Type: text/plain; charset=us-ascii

(I spoke too soon)
Remove unused variable len:
This is used by NetBSD in error reports but we don't use it.


      
--0-768091124-1262982876=:77647
Content-Type: application/octet-stream; name=patch-fsck_msdosfs
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="patch-fsck_msdosfs"

ZGlmZiAtcnUgZnNja19tc2Rvc2ZzLm9yaWcvYm9vdC5jIGZzY2tfbXNkb3Nm
cy9ib290LmMKLS0tIGZzY2tfbXNkb3Nmcy5vcmlnL2Jvb3QuYwkyMDEwLTAx
LTA2IDExOjA3OjI0LjAwMDAwMDAwMCArMDAwMAorKysgZnNja19tc2Rvc2Zz
L2Jvb3QuYwkyMDEwLTAxLTA3IDIyOjA5OjEzLjAwMDAwMDAwMCArMDAwMApA
QCAtMTAsMTMgKzEwLDYgQEAKICAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CiAgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCiAgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICogMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVy
aWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3
YXJlCi0gKiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3ds
ZWRnZW1lbnQ6Ci0gKglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUg
ZGV2ZWxvcGVkIGJ5IE1hcnRpbiBIdXNlbWFubgotICoJYW5kIFdvbGZnYW5n
IFNvbGZyYW5rLgotICogNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5p
dmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKLSAq
ICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0
cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQotICogICAgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCiAgKgogICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SUyBgYEFTIElT
JycgQU5EIEFOWSBFWFBSRVNTIE9SCiAgKiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTCkBAIC00MCw3ICszMyw2IEBACiAKICNpbmNsdWRlIDxzdGRs
aWIuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KLSNpbmNsdWRlIDxjdHlwZS5o
PgogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAK
QEAgLTU2LDggKzQ4LDkgQEAKIAl1X2NoYXIgZnNpbmZvWzIgKiBET1NCT09U
QkxPQ0tTSVpFXTsKIAl1X2NoYXIgYmFja3VwW0RPU0JPT1RCTE9DS1NJWkVd
OwogCWludCByZXQgPSBGU09LOworCWludCBpOwogCQotCWlmIChyZWFkKGRv
c2ZzLCBibG9jaywgc2l6ZW9mIGJsb2NrKSA8IHNpemVvZiBibG9jaykgewor
CWlmIChyZWFkKChzaXplX3QpZG9zZnMsIGJsb2NrLCBzaXplb2YgYmxvY2sp
ICE9IHNpemVvZiBibG9jaykgewogCQlwZXJyb3IoImNvdWxkIG5vdCByZWFk
IGJvb3QgYmxvY2siKTsKIAkJcmV0dXJuIEZTRkFUQUw7CiAJfQpAQCAtMTYx
LDEyICsxNTQsMjIgQEAKIAkJfQogCQliYWNrdXBbNjVdID0gYmxvY2tbNjVd
OwkJCQkvKiBYWFggKi8KIAkJaWYgKG1lbWNtcChibG9jayArIDExLCBiYWNr
dXAgKyAxMSwgNzkpKSB7Ci0JCQkvKiBDb3JyZWN0PwkJCQkJWFhYICovCi0J
CQlwZmF0YWwoImJhY2t1cCBkb2Vzbid0IGNvbXBhcmUgdG8gcHJpbWFyeSBi
b290YmxvY2siKTsKLQkJCWlmIChhbHdheXNubykKLQkJCQlwZmF0YWwoIlxu
Iik7Ci0JCQllbHNlCi0JCQkJcmV0dXJuIEZTRkFUQUw7CisJCQkvKgorCQkJ
ICogWFhYIFdlIHJlcXVpcmUgYSByZWZlcmVuY2UgdGhhdCBleHBsYWlucwor
CQkJICogdGhhdCB0aGVzZSBieXRlcyBuZWVkIHRvIG1hdGNoLCBvciBzaG91
bGQKKwkJCSAqIGRyb3AgdGhlIGNoZWNrLiAgZ2R0QE5ldEJTRCBoYXMgb2Jz
ZXJ2ZWQKKwkJCSAqIGZpbGVzeXN0ZW1zIHRoYXQgd29yayBmaW5lIHVuZGVy
IFdpbmRvd3MgWFAKKwkJCSAqIGFuZCBOZXRCU0QgdGhhdCBkbyBub3QgbWF0
Y2gsIHNvIHRoZQorCQkJICogcmVxdWlyZW1lbnQgaXMgc3VzcGVjdC4gIEZv
ciBub3csIGp1c3QKKwkJCSAqIHByaW50IG91dCB1c2VmdWwgaW5mb3JtYXRp
b24gYW5kIGNvbnRpbnVlLgorCQkJICovCisJCQlwZmF0YWwoImJhY2t1cCAo
YmxvY2sgJWQpIG1pc21hdGNoIHdpdGggcHJpbWFyeSBib290YmxvY2s6XG4i
LAorCQkJICAgICAgICBib290LT5CYWNrdXApOworCQkJZm9yIChpID0gMTE7
IGkgPCAxMSArIDkwOyBpKyspIHsKKwkJCQlpZiAoYmxvY2tbaV0gIT0gYmFj
a3VwW2ldKQorCQkJCQlwZmF0YWwoIlx0aT0lZFx0cHJpbWFyeSAweCUwMnhc
dGJhY2t1cCAweCUwMnhcbiIsCisJCQkJCSAgICAgICBpLCBibG9ja1tpXSwg
YmFja3VwW2ldKTsKKwkJCX0KIAkJfQogCQkvKiBDaGVjayBiYWNrdXAgRlNJ
bmZvPwkJCQkJWFhYICovCiAJfQpkaWZmIC1ydSBmc2NrX21zZG9zZnMub3Jp
Zy9jaGVjay5jIGZzY2tfbXNkb3Nmcy9jaGVjay5jCi0tLSBmc2NrX21zZG9z
ZnMub3JpZy9jaGVjay5jCTIwMTAtMDEtMDYgMTE6MDc6MjQuMDAwMDAwMDAw
ICswMDAwCisrKyBmc2NrX21zZG9zZnMvY2hlY2suYwkyMDEwLTAxLTA3IDIy
OjA5OjEzLjAwMDAwMDAwMCArMDAwMApAQCAtMTAsMTMgKzEwLDYgQEAKICAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CiAgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCiAgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICog
My4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1
cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCi0gKiAgICBtdXN0IGRpc3Bs
YXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6Ci0gKglUaGlzIHBy
b2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IE1hcnRpbiBI
dXNlbWFubgotICoJYW5kIFdvbGZnYW5nIFNvbGZyYW5rLgotICogNC4gTmVp
dGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMKLSAqICAgIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBz
b2Z0d2FyZQotICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCiAgKgogICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQVVUSE9SUyBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9S
CiAgKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCkBAIC00MCw3ICsz
Myw2IEBACiAKICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzdHJp
bmcuaD4KLSNpbmNsdWRlIDxjdHlwZS5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+
CiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAjaW5jbHVkZSA8ZmNudGwuaD4KQEAg
LTU0LDcgKzQ2LDggQEAKIAlpbnQgZG9zZnM7CiAJc3RydWN0IGJvb3RibG9j
ayBib290OwogCXN0cnVjdCBmYXRFbnRyeSAqZmF0ID0gTlVMTDsKLQlpbnQg
aSwgZmluaXNoX2Rvc2RpcnNlY3Rpb249MDsKKwlpbnQgZmluaXNoX2Rvc2Rp
cnNlY3Rpb249MDsKKwl1X2ludCBpOwogCWludCBtb2QgPSAwOwogCWludCBy
ZXQgPSA4OwogCmRpZmYgLXJ1IGZzY2tfbXNkb3Nmcy5vcmlnL2Rpci5jIGZz
Y2tfbXNkb3Nmcy9kaXIuYwotLS0gZnNja19tc2Rvc2ZzLm9yaWcvZGlyLmMJ
MjAxMC0wMS0wNiAxMTowNzoyNC4wMDAwMDAwMDAgKzAwMDAKKysrIGZzY2tf
bXNkb3Nmcy9kaXIuYwkyMDEwLTAxLTA4IDE1OjMwOjAzLjAwMDAwMDAwMCAr
MDAwMApAQCAtMTIsMTMgKzEyLDYgQEAKICAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CiAgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCiAgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gQWxsIGFkdmVydGlzaW5n
IG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlz
IHNvZnR3YXJlCi0gKiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBh
Y2tub3dsZWRnZW1lbnQ6Ci0gKglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29m
dHdhcmUgZGV2ZWxvcGVkIGJ5IE1hcnRpbiBIdXNlbWFubgotICoJYW5kIFdv
bGZnYW5nIFNvbGZyYW5rLgotICogNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0
aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMKLSAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQotICogICAgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCiAgKgog
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SUyBg
YEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCiAgKiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTCkBAIC00NCw3ICszNyw2IEBACiAjaW5jbHVkZSA8
c3RkbGliLmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+CiAjaW5jbHVkZSA8Y3R5
cGUuaD4KLSNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUgPHVuaXN0ZC5o
PgogI2luY2x1ZGUgPHRpbWUuaD4KIApAQCAtMjMwLDEyICsyMjIsMjQgQEAK
IAliMSA9IGJvb3QtPlJvb3REaXJFbnRzICogMzI7CiAJYjIgPSBib290LT5T
ZWNQZXJDbHVzdCAqIGJvb3QtPkJ5dGVzUGVyU2VjOwogCi0JaWYgKCEoYnVm
ZmVyID0gbWFsbG9jKGIxID4gYjIgPyBiMSA6IGIyKSkKLQkgICAgfHwgIShk
ZWxidWYgPSBtYWxsb2MoYjIpKQotCSAgICB8fCAhKHJvb3REaXIgPSBuZXdE
b3NEaXJFbnRyeSgpKSkgewotCQlwZXJyb3IoIk5vIHNwYWNlIGZvciBkaXJl
Y3RvcnkiKTsKKwlpZiAoKGJ1ZmZlciA9IG1hbGxvYyggYjEgPiBiMiA/IGIx
IDogYjIpKSA9PSBOVUxMKSB7CisJCXBlcnJvcigiTm8gc3BhY2UgZm9yIGRp
cmVjdG9yeSBidWZmZXIiKTsKIAkJcmV0dXJuIEZTRkFUQUw7CiAJfQorCisJ
aWYgKChkZWxidWYgPSBtYWxsb2MoYjIpKSA9PSBOVUxMKSB7CisJCWZyZWUo
YnVmZmVyKTsKKwkJcGVycm9yKCJObyBzcGFjZSBmb3IgZGlyZWN0b3J5IGRl
bGJ1ZiIpOworCQlyZXR1cm4gRlNGQVRBTDsKKwl9CisKKwlpZiAoKHJvb3RE
aXIgPSBuZXdEb3NEaXJFbnRyeSgpKSA9PSBOVUxMKSB7CisJCWZyZWUoYnVm
ZmVyKTsKKwkJZnJlZShkZWxidWYpOworCQlwZXJyb3IoIk5vIHNwYWNlIGZv
ciBkaXJlY3RvcnkgZW50cnkiKTsKKwkJcmV0dXJuIEZTRkFUQUw7CisJfQor
CiAJbWVtc2V0KHJvb3REaXIsIDAsIHNpemVvZiAqcm9vdERpcik7CiAJaWYg
KGJvb3QtPmZsYWdzICYgRkFUMzIpIHsKIAkJaWYgKGJvb3QtPlJvb3RDbCA8
IENMVVNUX0ZJUlNUIHx8IGJvb3QtPlJvb3RDbCA+PSBib290LT5OdW1DbHVz
dGVycykgewpAQCAtMzY3LDcgKzM3MSw4IEBACiAJCQkJcmV0dXJuIEZTRkFU
QUw7CiAJCQlzdGFydCA9IGJ1ZmZlcjsKIAkJfQotCQlpZiAoZW5kY2wgPT0g
Y3VyY2wpCisJCS8qIHN0YXJ0Y2wgaXMgPCBDTFVTVF9GSVJTVCBmb3IgIWZh
dDMyIHJvb3QgKi8KKwkJaWYgKChlbmRjbCA9PSBjdXJjbCkgfHwgKHN0YXJ0
Y2wgPCBDTFVTVF9GSVJTVCkpCiAJCQlmb3IgKDsgc3RhcnQgPCBlbmQ7IHN0
YXJ0ICs9IDMyKQogCQkJCSpzdGFydCA9IFNMT1RfREVMRVRFRDsKIAkJcmV0
dXJuIEZTRElSTU9EOwpAQCAtMzg1LDcgKzM5MCw3IEBACiAJLyoKIAkgKiBD
aGVjayBzaXplIG9uIG9yZGluYXJ5IGZpbGVzCiAJICovCi0JaW50MzJfdCBw
aHlzaWNhbFNpemU7CisJdV9pbnQzMl90IHBoeXNpY2FsU2l6ZTsKIAogCWlm
IChkaXItPmhlYWQgPT0gQ0xVU1RfRlJFRSkKIAkJcGh5c2ljYWxTaXplID0g
MDsKQEAgLTY0NCw3ICs2NDksOCBAQAogCQkJCWRpcmVudC5oZWFkIHw9IChw
WzIwXSA8PCAxNikgfCAocFsyMV0gPDwgMjQpOwogCQkJZGlyZW50LnNpemUg
PSBwWzI4XSB8IChwWzI5XSA8PCA4KSB8IChwWzMwXSA8PCAxNikgfCAocFsz
MV0gPDwgMjQpOwogCQkJaWYgKHZhbGxmbikgewotCQkJCXN0cmNweShkaXJl
bnQubG5hbWUsIGxvbmdOYW1lKTsKKwkJCQlzdHJsY3B5KGRpcmVudC5sbmFt
ZSwgbG9uZ05hbWUsCisJCQkJICAgIHNpemVvZihkaXJlbnQubG5hbWUpKTsK
IAkJCQlsb25nTmFtZVswXSA9ICdcMCc7CiAJCQkJc2hvcnRTdW0gPSAtMTsK
IAkJCX0KQEAgLTgzMiw2ICs4MzgsMTAgQEAKIAkJCX0KIAkJCWJvb3QtPk51
bUZpbGVzKys7CiAJCX0KKworCQlpZiAoIShib290LT5mbGFncyAmIEZBVDMy
KSAmJiAhZGlyLT5wYXJlbnQpCisJCQlicmVhazsKKwogCQlpZiAobW9kICYg
VEhJU01PRCkgewogCQkJbGFzdCAqPSAzMjsKIAkJCWlmIChsc2VlayhmLCBv
ZmYsIFNFRUtfU0VUKSAhPSBvZmYKQEAgLTg0Nyw2ICs4NTcsMTkgQEAKIAkJ
CQlpbnZsZm4gPyBpbnZsZm4gOiB2YWxsZm4sIHAsCiAJCQkJaW52bGZuID8g
aW52Y2wgOiB2YWxjbCwgLTEsIDAsCiAJCQkJZnVsbHBhdGgoZGlyKSwgMSk7
CisKKwkvKiBUaGUgcm9vdCBkaXJlY3Rvcnkgb2Ygbm9uIGZhdDMyIGZpbGVz
eXN0ZW1zIGlzIGluIGEgc3BlY2lhbAorCSAqIGFyZWEgYW5kIG1heSBoYXZl
IGJlZW4gbW9kaWZpZWQgYWJvdmUgd2l0aG91dCBiZWluZyB3cml0dGVuIG91
dC4KKwkgKi8KKwlpZiAoKG1vZCAmIEZTRElSTU9EKSAmJiAhKGJvb3QtPmZs
YWdzICYgRkFUMzIpICYmICFkaXItPnBhcmVudCkgeworCQlsYXN0ICo9IDMy
OworCQlpZiAobHNlZWsoZiwgb2ZmLCBTRUVLX1NFVCkgIT0gb2ZmCisJCSAg
ICB8fCB3cml0ZShmLCBidWZmZXIsIGxhc3QpICE9IGxhc3QpIHsKKwkJCXBl
cnJvcigiVW5hYmxlIHRvIHdyaXRlIGRpcmVjdG9yeSIpOworCQkJcmV0dXJu
IEZTRkFUQUw7CisJCX0KKwkJbW9kICY9IH5USElTTU9EOworCX0KIAlyZXR1
cm4gbW9kICYgflRISVNNT0Q7CiB9CiAKQEAgLTkzNiw3ICs5NTksNyBAQAog
CQlsZm9mZiA9IGxmY2wgKiBib290LT5DbHVzdGVyU2l6ZQogCQkgICAgKyBi
b290LT5DbHVzdGVyT2Zmc2V0ICogYm9vdC0+Qnl0ZXNQZXJTZWM7CiAJCWlm
IChsc2Vlayhkb3NmcywgbGZvZmYsIFNFRUtfU0VUKSAhPSBsZm9mZgotCQkg
ICAgfHwgcmVhZChkb3NmcywgbGZidWYsIGJvb3QtPkNsdXN0ZXJTaXplKSAh
PSBib290LT5DbHVzdGVyU2l6ZSkgeworCQkgICAgfHwgKHNpemVfdClyZWFk
KGRvc2ZzLCBsZmJ1ZiwgYm9vdC0+Q2x1c3RlclNpemUpICE9IGJvb3QtPkNs
dXN0ZXJTaXplKSB7CiAJCQlwZXJyb3IoImNvdWxkIG5vdCByZWFkIExPU1Qu
RElSIik7CiAJCQlyZXR1cm4gRlNGQVRBTDsKIAkJfQpAQCAtOTY2LDcgKzk4
OSw3IEBACiAJcFszMV0gPSAodV9jaGFyKShkLnNpemUgPj4gMjQpOwogCWZh
dFtoZWFkXS5mbGFncyB8PSBGQVRfVVNFRDsKIAlpZiAobHNlZWsoZG9zZnMs
IGxmb2ZmLCBTRUVLX1NFVCkgIT0gbGZvZmYKLQkgICAgfHwgd3JpdGUoZG9z
ZnMsIGxmYnVmLCBib290LT5DbHVzdGVyU2l6ZSkgIT0gYm9vdC0+Q2x1c3Rl
clNpemUpIHsKKwkgICAgfHwgKHNpemVfdCl3cml0ZShkb3NmcywgbGZidWYs
IGJvb3QtPkNsdXN0ZXJTaXplKSAhPSBib290LT5DbHVzdGVyU2l6ZSkgewog
CQlwZXJyb3IoImNvdWxkIG5vdCB3cml0ZSBMT1NULkRJUiIpOwogCQlyZXR1
cm4gRlNGQVRBTDsKIAl9CmRpZmYgLXJ1IGZzY2tfbXNkb3Nmcy5vcmlnL2Rv
c2ZzLmggZnNja19tc2Rvc2ZzL2Rvc2ZzLmgKLS0tIGZzY2tfbXNkb3Nmcy5v
cmlnL2Rvc2ZzLmgJMjAxMC0wMS0wNiAxMTowNzoyNC4wMDAwMDAwMDAgKzAw
MDAKKysrIGZzY2tfbXNkb3Nmcy9kb3Nmcy5oCTIwMTAtMDEtMDcgMjI6MDk6
MTMuMDAwMDAwMDAwICswMDAwCkBAIC0xMiwxMyArMTIsNiBAQAogICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKICAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiBB
bGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMg
b3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKLSAqICAgIG11c3QgZGlzcGxheSB0
aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKLSAqCVRoaXMgcHJvZHVj
dCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgTWFydGluIEh1c2Vt
YW5uCi0gKglhbmQgV29sZmdhbmcgU29sZnJhbmsuCi0gKiA0LiBOZWl0aGVy
IHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2Yg
aXRzIGNvbnRyaWJ1dG9ycwotICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3
YXJlCi0gKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KICAqCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBBVVRIT1JTIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IKICAq
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKZGlmZiAtcnUgZnNja19t
c2Rvc2ZzLm9yaWcvZXh0LmggZnNja19tc2Rvc2ZzL2V4dC5oCi0tLSBmc2Nr
X21zZG9zZnMub3JpZy9leHQuaAkyMDEwLTAxLTA2IDExOjA3OjI0LjAwMDAw
MDAwMCArMDAwMAorKysgZnNja19tc2Rvc2ZzL2V4dC5oCTIwMTAtMDEtMDcg
MjI6MDk6MTMuMDAwMDAwMDAwICswMDAwCkBAIC0xMCwxMyArMTAsNiBAQAog
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKICAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVh
dHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKLSAqICAgIG11c3QgZGlz
cGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKLSAqCVRoaXMg
cHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgTWFydGlu
IEh1c2VtYW5uCi0gKglhbmQgV29sZmdhbmcgU29sZnJhbmsuCi0gKiA0LiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycwotICogICAgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlCi0gKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KICAqCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBBVVRIT1JTIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1Mg
T1IKICAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKQEAgLTc3LDEy
ICs3MCwxMiBAQAogI2RlZmluZQlGU0RJUk1PRAkyCQkvKiBTb21lIGRpcmVj
dG9yeSB3YXMgbW9kaWZpZWQgKi8KICNkZWZpbmUJRlNGQVRNT0QJNAkJLyog
VGhlIEZBVCB3YXMgbW9kaWZpZWQgKi8KICNkZWZpbmUJRlNFUlJPUgkJOAkJ
LyogU29tZSB1bnJlY292ZXJlZCBlcnJvciByZW1haW5zICovCi0jZGVmaW5l
CUZTRkFUQUwJCTE2CQkvKiBTb21lIHVucmVjb3ZlcmFibGUgZXJyb3Igb2Nj
dXJlZCAqLworI2RlZmluZQlGU0ZBVEFMCQkxNgkJLyogU29tZSB1bnJlY292
ZXJhYmxlIGVycm9yIG9jY3VycmVkICovCiAjZGVmaW5lIEZTRElSVFkJCTMy
CQkvKiBGaWxlIHN5c3RlbSBpcyBkaXJ0eSAqLwogI2RlZmluZSBGU0ZJWEZB
VAk2NAkJLyogRml4IGZpbGUgc3lzdGVtIEZBVCAqLwogCiAvKgotICogcmVh
ZCBhIGJvb3QgYmxvY2sgaW4gYSBtYWNoaW5lIGluZGVwZW5kZW5kIGZhc2hp
b24gYW5kIHRyYW5zbGF0ZQorICogcmVhZCBhIGJvb3QgYmxvY2sgaW4gYSBt
YWNoaW5lIGluZGVwZW5kZW50IGZhc2hpb24gYW5kIHRyYW5zbGF0ZQogICog
aXQgaW50byBvdXIgc3RydWN0IGJvb3RibG9jay4KICAqLwogaW50IHJlYWRi
b290KGludCwgc3RydWN0IGJvb3RibG9jayAqKTsKQEAgLTk2LDEzICs4OSwx
MyBAQAogICogUmVhZCBvbmUgb2YgdGhlIEZBVCBjb3BpZXMgYW5kIHJldHVy
biBhIHBvaW50ZXIgdG8gdGhlIG5ldwogICogYWxsb2NhdGVkIGFycmF5IGhv
bGRpbmcgb3VyIGRlc2NyaXB0aW9uIG9mIGl0LgogICovCi1pbnQgcmVhZGZh
dChpbnQsIHN0cnVjdCBib290YmxvY2sgKiwgaW50LCBzdHJ1Y3QgZmF0RW50
cnkgKiopOworaW50IHJlYWRmYXQoaW50LCBzdHJ1Y3QgYm9vdGJsb2NrICos
IHVfaW50LCBzdHJ1Y3QgZmF0RW50cnkgKiopOwogCiAvKgogICogQ2hlY2sg
dHdvIEZBVCBjb3BpZXMgZm9yIGNvbnNpc3RlbmN5IGFuZCBtZXJnZSBjaGFu
Z2VzIGludG8gdGhlCi0gKiBmaXJzdCBpZiBuZWNjZXNzYXJ5LgorICogZmly
c3QgaWYgbmVjZXNzYXJ5LgogICovCi1pbnQgY29tcGFyZWZhdChzdHJ1Y3Qg
Ym9vdGJsb2NrICosIHN0cnVjdCBmYXRFbnRyeSAqLCBzdHJ1Y3QgZmF0RW50
cnkgKiwgaW50KTsKK2ludCBjb21wYXJlZmF0KHN0cnVjdCBib290YmxvY2sg
Kiwgc3RydWN0IGZhdEVudHJ5ICosIHN0cnVjdCBmYXRFbnRyeSAqLCB1X2lu
dCk7CiAKIC8qCiAgKiBDaGVjayBhIEZBVApkaWZmIC1ydSBmc2NrX21zZG9z
ZnMub3JpZy9mYXQuYyBmc2NrX21zZG9zZnMvZmF0LmMKLS0tIGZzY2tfbXNk
b3Nmcy5vcmlnL2ZhdC5jCTIwMTAtMDEtMDYgMTE6MDc6MjQuMDAwMDAwMDAw
ICswMDAwCisrKyBmc2NrX21zZG9zZnMvZmF0LmMJMjAxMC0wMS0wNyAyMjox
MzozMS4wMDAwMDAwMDAgKzAwMDAKQEAgLTEwLDEzICsxMCw2IEBACiAgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAogICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQogICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMu
IEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJl
cyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQotICogICAgbXVzdCBkaXNwbGF5
IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgotICoJVGhpcyBwcm9k
dWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSBNYXJ0aW4gSHVz
ZW1hbm4KLSAqCWFuZCBXb2xmZ2FuZyBTb2xmcmFuay4KLSAqIDQuIE5laXRo
ZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMgY29udHJpYnV0b3JzCi0gKiAgICBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29m
dHdhcmUKLSAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgogICoKICAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIEFVVEhPUlMgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUgog
ICogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUwpAQCAtNDcsMTAgKzQw
LDEwIEBACiAjaW5jbHVkZSAiZXh0LmgiCiAjaW5jbHVkZSAiZnN1dGlsLmgi
CiAKLXN0YXRpYyBpbnQgY2hlY2tjbG51bShzdHJ1Y3QgYm9vdGJsb2NrICos
IGludCwgY2xfdCwgY2xfdCAqKTsKLXN0YXRpYyBpbnQgY2x1c3RkaWZmZXIo
Y2xfdCwgY2xfdCAqLCBjbF90ICosIGludCk7CitzdGF0aWMgaW50IGNoZWNr
Y2xudW0oc3RydWN0IGJvb3RibG9jayAqLCB1X2ludCwgY2xfdCwgY2xfdCAq
KTsKK3N0YXRpYyBpbnQgY2x1c3RkaWZmZXIoY2xfdCwgY2xfdCAqLCBjbF90
ICosIHVfaW50KTsKIHN0YXRpYyBpbnQgdHJ5Y2xlYXIoc3RydWN0IGJvb3Ri
bG9jayAqLCBzdHJ1Y3QgZmF0RW50cnkgKiwgY2xfdCwgY2xfdCAqKTsKLXN0
YXRpYyBpbnQgX3JlYWRmYXQoaW50LCBzdHJ1Y3QgYm9vdGJsb2NrICosIGlu
dCwgdV9jaGFyICoqKTsKK3N0YXRpYyBpbnQgX3JlYWRmYXQoaW50LCBzdHJ1
Y3QgYm9vdGJsb2NrICosIHVfaW50LCB1X2NoYXIgKiopOwogCiAvKi0KICAq
IFRoZSBmaXJzdCAyIEZBVCBlbnRyaWVzIGNvbnRhaW4gcHNldWRvLWNsdXN0
ZXIgbnVtYmVycyB3aXRoIHRoZSBmb2xsb3dpbmcKQEAgLTEzNSw3ICsxMjgs
NyBAQAogICogQ2hlY2sgYSBjbHVzdGVyIG51bWJlciBmb3IgdmFsaWQgdmFs
dWUKICAqLwogc3RhdGljIGludAotY2hlY2tjbG51bShzdHJ1Y3QgYm9vdGJs
b2NrICpib290LCBpbnQgZmF0LCBjbF90IGNsLCBjbF90ICpuZXh0KQorY2hl
Y2tjbG51bShzdHJ1Y3QgYm9vdGJsb2NrICpib290LCB1X2ludCBmYXQsIGNs
X3QgY2wsIGNsX3QgKm5leHQpCiB7CiAJaWYgKCpuZXh0ID49IChDTFVTVF9S
U1JWRCZib290LT5DbHVzdE1hc2spKQogCQkqbmV4dCB8PSB+Ym9vdC0+Q2x1
c3RNYXNrOwpAQCAtMTY2LDcgKzE1OSw3IEBACiAgKiBSZWFkIGEgRkFUIGZy
b20gZGlzay4gUmV0dXJucyAxIGlmIHN1Y2Nlc3NmdWwsIDAgb3RoZXJ3aXNl
LgogICovCiBzdGF0aWMgaW50Ci1fcmVhZGZhdChpbnQgZnMsIHN0cnVjdCBi
b290YmxvY2sgKmJvb3QsIGludCBubywgdV9jaGFyICoqYnVmZmVyKQorX3Jl
YWRmYXQoaW50IGZzLCBzdHJ1Y3QgYm9vdGJsb2NrICpib290LCB1X2ludCBu
bywgdV9jaGFyICoqYnVmZmVyKQogewogCW9mZl90IG9mZjsKIApAQCAtMTg0
LDcgKzE3Nyw3IEBACiAJCWdvdG8gZXJyOwogCX0KIAotCWlmIChyZWFkKGZz
LCAqYnVmZmVyLCBib290LT5GQVRzZWNzICogYm9vdC0+Qnl0ZXNQZXJTZWMp
CisJaWYgKChzaXplX3QpcmVhZChmcywgKmJ1ZmZlciwgYm9vdC0+RkFUc2Vj
cyAqIGJvb3QtPkJ5dGVzUGVyU2VjKQogCSAgICAhPSBib290LT5GQVRzZWNz
ICogYm9vdC0+Qnl0ZXNQZXJTZWMpIHsKIAkJcGVycm9yKCJVbmFibGUgdG8g
cmVhZCBGQVQiKTsKIAkJZ290byBlcnI7CkBAIC0yMDEsMjQgKzE5NCwyNiBA
QAogICogUmVhZCBhIEZBVCBhbmQgZGVjb2RlIGl0IGludG8gaW50ZXJuYWwg
Zm9ybWF0CiAgKi8KIGludAotcmVhZGZhdChpbnQgZnMsIHN0cnVjdCBib290
YmxvY2sgKmJvb3QsIGludCBubywgc3RydWN0IGZhdEVudHJ5ICoqZnApCity
ZWFkZmF0KGludCBmcywgc3RydWN0IGJvb3RibG9jayAqYm9vdCwgdV9pbnQg
bm8sIHN0cnVjdCBmYXRFbnRyeSAqKmZwKQogewogCXN0cnVjdCBmYXRFbnRy
eSAqZmF0OwogCXVfY2hhciAqYnVmZmVyLCAqcDsKIAljbF90IGNsOwogCWlu
dCByZXQgPSBGU09LOworCXNpemVfdCBsZW47CiAKIAlib290LT5OdW1GcmVl
ID0gYm9vdC0+TnVtQmFkID0gMDsKIAogCWlmICghX3JlYWRmYXQoZnMsIGJv
b3QsIG5vLCAmYnVmZmVyKSkKIAkJcmV0dXJuIEZTRkFUQUw7CiAJCQotCWZh
dCA9IGNhbGxvYyhib290LT5OdW1DbHVzdGVycywgc2l6ZW9mKHN0cnVjdCBm
YXRFbnRyeSkpOworCWZhdCA9IG1hbGxvYyhsZW4gPSBib290LT5OdW1DbHVz
dGVycyAqIHNpemVvZihzdHJ1Y3QgZmF0RW50cnkpKTsKIAlpZiAoZmF0ID09
IE5VTEwpIHsKIAkJcGVycm9yKCJObyBzcGFjZSBmb3IgRkFUIik7CiAJCWZy
ZWUoYnVmZmVyKTsKIAkJcmV0dXJuIEZTRkFUQUw7CiAJfQorCSh2b2lkKW1l
bXNldChmYXQsIDAsIGxlbik7CiAKIAlpZiAoYnVmZmVyWzBdICE9IGJvb3Qt
Pk1lZGlhCiAJICAgIHx8IGJ1ZmZlclsxXSAhPSAweGZmIHx8IGJ1ZmZlclsy
XSAhPSAweGZmCkBAIC0zMTEsNyArMzA2LDExIEBACiAJfQogCiAJZnJlZShi
dWZmZXIpOwotCSpmcCA9IGZhdDsKKwlpZiAocmV0ICYgRlNGQVRBTCkgewor
CQlmcmVlKGZhdCk7CisJCSpmcCA9IE5VTEw7CisJfSBlbHNlCisJCSpmcCA9
IGZhdDsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0zMzEsNyArMzMwLDcgQEAK
IH0KIAogc3RhdGljIGludAotY2x1c3RkaWZmZXIoY2xfdCBjbCwgY2xfdCAq
Y3AxLCBjbF90ICpjcDIsIGludCBmYXRudW0pCitjbHVzdGRpZmZlcihjbF90
IGNsLCBjbF90ICpjcDEsIGNsX3QgKmNwMiwgdV9pbnQgZmF0bnVtKQogewog
CWlmICgqY3AxID09IENMVVNUX0ZSRUUgfHwgKmNwMSA+PSBDTFVTVF9SU1JW
RCkgewogCQlpZiAoKmNwMiA9PSBDTFVTVF9GUkVFIHx8ICpjcDIgPj0gQ0xV
U1RfUlNSVkQpIHsKQEAgLTM0NiwxMyArMzQ1LDEzIEBACiAJCQkJfQogCQkJ
CXJldHVybiBGU0ZBVEFMOwogCQkJfQotCQkJcHdhcm4oIkNsdXN0ZXIgJXUg
aXMgbWFya2VkICVzIGluIEZBVCAwLCAlcyBpbiBGQVQgJWRcbiIsCisJCQlw
d2FybigiQ2x1c3RlciAldSBpcyBtYXJrZWQgJXMgaW4gRkFUIDAsICVzIGlu
IEZBVCAldVxuIiwKIAkJCSAgICAgIGNsLCByc3J2ZGNsdHlwZSgqY3AxKSwg
cnNydmRjbHR5cGUoKmNwMiksIGZhdG51bSk7CiAJCQlpZiAoYXNrKDAsICJV
c2UgRkFUIDAncyBlbnRyeSIpKSB7CiAJCQkJKmNwMiA9ICpjcDE7CiAJCQkJ
cmV0dXJuIEZTRkFUTU9EOwogCQkJfQotCQkJaWYgKGFzaygwLCAiVXNlIEZB
VCAlZCdzIGVudHJ5IiwgZmF0bnVtKSkgeworCQkJaWYgKGFzaygwLCAiVXNl
IEZBVCAldSdzIGVudHJ5IiwgZmF0bnVtKSkgewogCQkJCSpjcDEgPSAqY3Ay
OwogCQkJCXJldHVybiBGU0ZBVE1PRDsKIAkJCX0KQEAgLTM2MCw3ICszNTks
NyBAQAogCQl9CiAJCXB3YXJuKCJDbHVzdGVyICV1IGlzIG1hcmtlZCAlcyBp
biBGQVQgMCwgYnV0IGNvbnRpbnVlcyB3aXRoIGNsdXN0ZXIgJXUgaW4gRkFU
ICVkXG4iLAogCQkgICAgICBjbCwgcnNydmRjbHR5cGUoKmNwMSksICpjcDIs
IGZhdG51bSk7Ci0JCWlmIChhc2soMCwgIlVzZSBjb250aW51YXRpb24gZnJv
bSBGQVQgJWQiLCBmYXRudW0pKSB7CisJCWlmIChhc2soMCwgIlVzZSBjb250
aW51YXRpb24gZnJvbSBGQVQgJXUiLCBmYXRudW0pKSB7CiAJCQkqY3AxID0g
KmNwMjsKIAkJCXJldHVybiBGU0ZBVE1PRDsKIAkJfQpAQCAtMzcxLDcgKzM3
MCw3IEBACiAJCXJldHVybiBGU0ZBVEFMOwogCX0KIAlpZiAoKmNwMiA9PSBD
TFVTVF9GUkVFIHx8ICpjcDIgPj0gQ0xVU1RfUlNSVkQpIHsKLQkJcHdhcm4o
IkNsdXN0ZXIgJXUgY29udGludWVzIHdpdGggY2x1c3RlciAldSBpbiBGQVQg
MCwgYnV0IGlzIG1hcmtlZCAlcyBpbiBGQVQgJWRcbiIsCisJCXB3YXJuKCJD
bHVzdGVyICV1IGNvbnRpbnVlcyB3aXRoIGNsdXN0ZXIgJXUgaW4gRkFUIDAs
IGJ1dCBpcyBtYXJrZWQgJXMgaW4gRkFUICV1XG4iLAogCQkgICAgICBjbCwg
KmNwMSwgcnNydmRjbHR5cGUoKmNwMiksIGZhdG51bSk7CiAJCWlmIChhc2so
MCwgIlVzZSBjb250aW51YXRpb24gZnJvbSBGQVQgMCIpKSB7CiAJCQkqY3Ay
ID0gKmNwMTsKQEAgLTM4MywxMyArMzgyLDEzIEBACiAJCX0KIAkJcmV0dXJu
IEZTRVJST1I7CiAJfQotCXB3YXJuKCJDbHVzdGVyICV1IGNvbnRpbnVlcyB3
aXRoIGNsdXN0ZXIgJXUgaW4gRkFUIDAsIGJ1dCB3aXRoIGNsdXN0ZXIgJXUg
aW4gRkFUICVkXG4iLAorCXB3YXJuKCJDbHVzdGVyICV1IGNvbnRpbnVlcyB3
aXRoIGNsdXN0ZXIgJXUgaW4gRkFUIDAsIGJ1dCB3aXRoIGNsdXN0ZXIgJXUg
aW4gRkFUICV1XG4iLAogCSAgICAgIGNsLCAqY3AxLCAqY3AyLCBmYXRudW0p
OwogCWlmIChhc2soMCwgIlVzZSBjb250aW51YXRpb24gZnJvbSBGQVQgMCIp
KSB7CiAJCSpjcDIgPSAqY3AxOwogCQlyZXR1cm4gRlNGQVRNT0Q7CiAJfQot
CWlmIChhc2soMCwgIlVzZSBjb250aW51YXRpb24gZnJvbSBGQVQgJWQiLCBm
YXRudW0pKSB7CisJaWYgKGFzaygwLCAiVXNlIGNvbnRpbnVhdGlvbiBmcm9t
IEZBVCAldSIsIGZhdG51bSkpIHsKIAkJKmNwMSA9ICpjcDI7CiAJCXJldHVy
biBGU0ZBVE1PRDsKIAl9CkBAIC00MDEsOCArNDAwLDggQEAKICAqIGludG8g
dGhlIGZpcnN0IG9uZS4KICAqLwogaW50Ci1jb21wYXJlZmF0KHN0cnVjdCBi
b290YmxvY2sgKmJvb3QsIHN0cnVjdCBmYXRFbnRyeSAqZmlyc3QsIAotICAg
IHN0cnVjdCBmYXRFbnRyeSAqc2Vjb25kLCBpbnQgZmF0bnVtKQorY29tcGFy
ZWZhdChzdHJ1Y3QgYm9vdGJsb2NrICpib290LCBzdHJ1Y3QgZmF0RW50cnkg
KmZpcnN0LAorICAgIHN0cnVjdCBmYXRFbnRyeSAqc2Vjb25kLCB1X2ludCBm
YXRudW0pCiB7CiAJY2xfdCBjbDsKIAlpbnQgcmV0ID0gRlNPSzsKQEAgLTU0
Miw4ICs1NDEsOCBAQAogewogCXVfY2hhciAqYnVmZmVyLCAqcDsKIAljbF90
IGNsOwotCWludCBpOwotCXVfaW50MzJfdCBmYXRzejsKKwl1X2ludCBpOwor
CXNpemVfdCBmYXRzejsKIAlvZmZfdCBvZmY7CiAJaW50IHJldCA9IEZTT0s7
CiAKQEAgLTYzMyw3ICs2MzIsNyBAQAogCQlvZmYgPSBib290LT5SZXNTZWN0
b3JzICsgaSAqIGJvb3QtPkZBVHNlY3M7CiAJCW9mZiAqPSBib290LT5CeXRl
c1BlclNlYzsKIAkJaWYgKGxzZWVrKGZzLCBvZmYsIFNFRUtfU0VUKSAhPSBv
ZmYKLQkJICAgIHx8IHdyaXRlKGZzLCBidWZmZXIsIGZhdHN6KSAhPSBmYXRz
eikgeworCQkgICAgfHwgKHNpemVfdCl3cml0ZShmcywgYnVmZmVyLCBmYXRz
eikgIT0gZmF0c3opIHsKIAkJCXBlcnJvcigiVW5hYmxlIHRvIHdyaXRlIEZB
VCIpOwogCQkJcmV0ID0gRlNGQVRBTDsgLyogUmV0dXJuIGltbWVkaWF0ZWx5
PwkJWFhYICovCiAJCX0KQEAgLTY4MywxNyArNjgyLDYgQEAKIAkJCQlyZXQg
PSAxOwogCQkJfQogCQl9Ci0JCWlmIChib290LT5OdW1GcmVlICYmIGZhdFti
b290LT5GU05leHRdLm5leHQgIT0gQ0xVU1RfRlJFRSkgewotCQkJcHdhcm4o
Ik5leHQgZnJlZSBjbHVzdGVyIGluIEZTSW5mbyBibG9jayAoJXUpIG5vdCBm
cmVlXG4iLAotCQkJICAgICAgYm9vdC0+RlNOZXh0KTsKLQkJCWlmIChhc2so
MSwgIkZpeCIpKQotCQkJCWZvciAoaGVhZCA9IENMVVNUX0ZJUlNUOyBoZWFk
IDwgYm9vdC0+TnVtQ2x1c3RlcnM7IGhlYWQrKykKLQkJCQkJaWYgKGZhdFto
ZWFkXS5uZXh0ID09IENMVVNUX0ZSRUUpIHsKLQkJCQkJCWJvb3QtPkZTTmV4
dCA9IGhlYWQ7Ci0JCQkJCQlyZXQgPSAxOwotCQkJCQkJYnJlYWs7Ci0JCQkJ
CX0KLQkJfQogCQlpZiAocmV0KQogCQkJbW9kIHw9IHdyaXRlZnNpbmZvKGRv
c2ZzLCBib290KTsKIAl9CmRpZmYgLXJ1IGZzY2tfbXNkb3Nmcy5vcmlnL2Zz
Y2tfbXNkb3Nmcy44IGZzY2tfbXNkb3Nmcy9mc2NrX21zZG9zZnMuOAotLS0g
ZnNja19tc2Rvc2ZzLm9yaWcvZnNja19tc2Rvc2ZzLjgJMjAxMC0wMS0wNiAx
MTowNzoyNC4wMDAwMDAwMDAgKzAwMDAKKysrIGZzY2tfbXNkb3Nmcy9mc2Nr
X21zZG9zZnMuOAkyMDEwLTAxLTA3IDIyOjA5OjEzLjAwMDAwMDAwMCArMDAw
MApAQCAtMTEsMTMgKzExLDYgQEAKIC5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAogLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKIC5cIiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotLlwiIDMuIEFsbCBhZHZlcnRpc2lu
ZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhp
cyBzb2Z0d2FyZQotLlwiICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5n
IGFja25vd2xlZGdlbWVudDoKLS5cIglUaGlzIHByb2R1Y3QgaW5jbHVkZXMg
c29mdHdhcmUgZGV2ZWxvcGVkIGJ5IE1hcnRpbiBIdXNlbWFubgotLlwiCWFu
ZCBXb2xmZ2FuZyBTb2xmcmFuay4KLS5cIiA0LiBOZWl0aGVyIHRoZSBuYW1l
IG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycwotLlwiICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQotLlwi
ICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgogLlwiCiAuXCIgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
QVVUSE9SUyBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SCiAuXCIgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUwpkaWZmIC1ydSBmc2NrX21zZG9z
ZnMub3JpZy9tYWluLmMgZnNja19tc2Rvc2ZzL21haW4uYwotLS0gZnNja19t
c2Rvc2ZzLm9yaWcvbWFpbi5jCTIwMTAtMDEtMDYgMTE6MDc6MjQuMDAwMDAw
MDAwICswMDAwCisrKyBmc2NrX21zZG9zZnMvbWFpbi5jCTIwMTAtMDEtMDcg
MjI6MDk6MTMuMDAwMDAwMDAwICswMDAwCkBAIC0xMCwxMyArMTAsNiBAQAog
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKICAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVh
dHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKLSAqICAgIG11c3QgZGlz
cGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKLSAqCVRoaXMg
cHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgTWFydGlu
IEh1c2VtYW5uCi0gKglhbmQgV29sZmdhbmcgU29sZnJhbmsuCi0gKiA0LiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFt
ZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycwotICogICAgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlz
IHNvZnR3YXJlCi0gKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KICAqCiAgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBBVVRIT1JTIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1Mg
T1IKICAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKQEAgLTQwLDcg
KzMzLDYgQEAKIAogI2luY2x1ZGUgPHN0ZGxpYi5oPgogI2luY2x1ZGUgPHN0
cmluZy5oPgotI2luY2x1ZGUgPGN0eXBlLmg+CiAjaW5jbHVkZSA8c3RkaW8u
aD4KICNpbmNsdWRlIDx1bmlzdGQuaD4KICNpbmNsdWRlIDxlcnJuby5oPgo=


--0-768091124-1262982876=:77647--



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