Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Aug 2017 15:41:24 +0000
From:      "ale (Alex Dupre)" <phabric-noreply@FreeBSD.org>
To:        freebsd-net@freebsd.org
Subject:   [Differential] D9270: Add support for user-supplied Host-Uniq tag and handle PADM messages in Netgraph PPPoE
Message-ID:  <be9a246fb2f00ab577fbcdf758dfb5d1@localhost.localdomain>
In-Reply-To: <differential-rev-PHID-DREV-zs5j6sjj2bwywywa3p22-req@FreeBSD.org>
References:  <differential-rev-PHID-DREV-zs5j6sjj2bwywywa3p22-req@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--b1_be9a246fb2f00ab577fbcdf758dfb5d1
Content-Type: text/plain; charset = "utf-8"
Content-Transfer-Encoding: base64

YWxlIHVwZGF0ZWQgdGhpcyByZXZpc2lvbiB0byBEaWZmIDMyNDg3LgphbGUgYWRkZWQgYSBjb21t
ZW50LgoKCiAgVGhlIHVwZGF0ZWQgcGF0Y2ggZml4ZXMgdGhlIHJlcG9ydGVkIGlzc3VlIG9uIG11
bHRpcGxlIFBBRE8gcmVwbGllcyBhZnRlciB0aGUgc2Vzc2lvbiBoYXMgYmVlbiBhbHJlYWR5IGVz
dGFibGlzaGVkLgoKUkVQT1NJVE9SWQogIHJTIEZyZWVCU0Qgc3JjIHJlcG9zaXRvcnkKCkNIQU5H
RVMgU0lOQ0UgTEFTVCBVUERBVEUKICBodHRwczovL3Jldmlld3MuZnJlZWJzZC5vcmcvRDkyNzA/
dnM9MjcwNTkmaWQ9MzI0ODcKClJFVklTSU9OIERFVEFJTAogIGh0dHBzOi8vcmV2aWV3cy5mcmVl
YnNkLm9yZy9EOTI3MAoKQUZGRUNURUQgRklMRVMKICBzaGFyZS9tYW4vbWFuNC9uZ19wcHBvZS40
CiAgc3lzL25ldGdyYXBoL25nX3BwcG9lLmMKICBzeXMvbmV0Z3JhcGgvbmdfcHBwb2UuaAoKRU1B
SUwgUFJFRkVSRU5DRVMKICBodHRwczovL3Jldmlld3MuZnJlZWJzZC5vcmcvc2V0dGluZ3MvcGFu
ZWwvZW1haWxwcmVmZXJlbmNlcy8KClRvOiBhbGUsICNtYW5wYWdlcywgd2Jsb2NrLCAjbmV0d29y
aywganVsaWFuLCBtYXYsIGFkcmlhbiwgZ2xlYml1cwpDYzogZ2FyZ2EsIGV1Z2VuX2dyb3NiZWlu
Lm5ldCwgZnJhbmNvX29wbnNlbnNlLm9yZywgbWxlb25lODdfaG90bWFpbC5jb20sIGdsZWJpdXMs
IHdibG9jaywgbWF2LCBwb29scm9vbV9nbWFpbC5jb20sIG1hbmRyZWUsIGltcCwgZnJlZWJzZC1u
ZXQtbGlzdAo=

--b1_be9a246fb2f00ab577fbcdf758dfb5d1
Content-Type: text/x-patch; charset=utf-8; name="D9270.32487.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="D9270.32487.patch"

ZGlmZiAtLWdpdCBhL3N5cy9uZXRncmFwaC9uZ19wcHBvZS5oIGIvc3lzL25ldGdyYXBoL25nX3Bw
cG9lLmgKLS0tIGEvc3lzL25ldGdyYXBoL25nX3BwcG9lLmgKKysrIGIvc3lzL25ldGdyYXBoL25n
X3BwcG9lLmgKQEAgLTUyLDggKzUyLDEwIEBACiAKICNkZWZpbmUgTkdNX1BQUE9FX0NPT0tJRQkJ
MTA4OTg5MzA3MgogI2RlZmluZSBOR01fUFBQT0VfU0VUTUFYUF9DT09LSUUJMTQ0MTYyNDMyMgor
I2RlZmluZSBOR01fUFBQT0VfUEFETV9DT09LSUUJCTE0ODg0MDU4MjIKIAogI2RlZmluZQlQUFBP
RV9TRVJWSUNFX05BTUVfU0laRQkJNjQgLyogZm9yIG5vdyAqLworI2RlZmluZQlQUFBPRV9QQURN
X1ZBTFVFX1NJWkUJCTEyOCAvKiBmb3Igbm93ICovCiAKIC8qIEhvb2sgbmFtZXMgKi8KICNkZWZp
bmUgTkdfUFBQT0VfSE9PS19FVEhFUk5FVAkiZXRoZXJuZXQiCkBAIC04NCw3ICs4NiwxMSBAQAog
CU5HTV9QUFBPRV9TRVRNT0RFICA9IDEyLCAvKiBzZXQgdG8gc3RhbmRhcmQgb3IgY29tcGF0IG1v
ZGVzICovCiAJTkdNX1BQUE9FX0dFVE1PREUgID0gMTMsIC8qIHNlZSBjdXJyZW50IG1vZGUgKi8K
IAlOR01fUFBQT0VfU0VURU5BRERSID0gMTQsIC8qIHNldCBFdGhlcm5ldCBhZGRyZXNzICovCi0J
TkdNX1BQUE9FX1NFVE1BWFAgID0gMTUgLyogU2V0IFBQUC1NYXgtUGF5bG9hZCB2YWx1ZSAqLwor
CU5HTV9QUFBPRV9TRVRNQVhQICAgPSAxNSwgLyogU2V0IFBQUC1NYXgtUGF5bG9hZCB2YWx1ZSAq
LworCU5HTV9QUFBPRV9TRU5EX0hVUkwgPSAxNiwgLyogU2VuZCBQQURNIEhVUkwgbWVzc2FnZSAq
LworCU5HTV9QUFBPRV9IVVJMICAgICAgPSAxNywgLyogSFVSTCBmb3IgaW5mb3JtYXRpb25hbCBw
dXJwb3NlcyAqLworCU5HTV9QUFBPRV9TRU5EX01PVE0gPSAxOCwgLyogU2VuZCBQQURNIE1PVE0g
bWVzc2FnZSAqLworCU5HTV9QUFBPRV9NT1RNICAgICAgPSAxOSAgLyogTU9UTSBmb3IgaW5mb3Jt
YXRpb25hbCBwdXJwb3NlcyAqLwogfTsKIAogLyoqKioqKioqKioqKioqKioqKioqKioqCkBAIC0x
NTcsNiArMTYzLDEzIEBACiAJdWludDE2X3QJZGF0YTsKIH07CiAKKy8qCisgKiBUaGlzIHN0cnVj
dHVyZSBpcyB1c2VkIHRvIHNlbmQgUEFETSBtZXNzYWdlcyBmcm9tIHNlcnZlciB0byBjbGllbnQu
CisgKi8KK3N0cnVjdCBuZ3BwcG9lX3BhZG0geworCWNoYXIJbXNnW1BQUE9FX1BBRE1fVkFMVUVf
U0laRV07Cit9OworCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioKICAqIENvbnN0YW50cyBhbmQgZGVmaW5pdGlvbnMg
c3BlY2lmaWMgdG8gcHBwb2UKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KQEAgLTE3MSw2ICsxODQsNyBAQAogI2Rl
ZmluZSBQQURSX0NPREUJMHgxOQogI2RlZmluZSBQQURTX0NPREUJMHg2NQogI2RlZmluZSBQQURU
X0NPREUJMHhhNworI2RlZmluZSBQQURNX0NPREUJMHhkMwogCiAvKiBUYWcgaWRlbnRpZmllcnMg
Ki8KICNpZiBCWVRFX09SREVSID09IEJJR19FTkRJQU4KQEAgLTE4MSw2ICsxOTUsOCBAQAogI2Rl
ZmluZSBQVFRfQUNfQ09PS0lFCSgweDAxMDQpCiAjZGVmaW5lIFBUVF9WRU5ET1IgCSgweDAxMDUp
CiAjZGVmaW5lIFBUVF9SRUxBWV9TSUQJKDB4MDExMCkKKyNkZWZpbmUgUFRUX0hVUkwJKDB4MDEx
MSkJLyogUFBQb0UgRXh0ZW5zaW9ucyAoQ0FSUkVMKSAqLworI2RlZmluZSBQVFRfTU9UTQkoMHgw
MTEyKQkvKiBQUFBvRSBFeHRlbnNpb25zIChDQVJSRUwpICovCiAjZGVmaW5lCVBUVF9NQVhfUEFZ
TAkoMHgwMTIwKQkvKiBQUFAtTWF4LVBheWxvYWQgKFJGQzQ2MzgpICovCiAjZGVmaW5lIFBUVF9T
UlZfRVJSICAgICAoMHgwMjAxKQogI2RlZmluZSBQVFRfU1lTX0VSUiAgCSgweDAyMDIpCkBAIC0x
OTgsNiArMjE0LDggQEAKICNkZWZpbmUgUFRUX0FDX0NPT0tJRQkoMHgwNDAxKQogI2RlZmluZSBQ
VFRfVkVORE9SIAkoMHgwNTAxKQogI2RlZmluZSBQVFRfUkVMQVlfU0lECSgweDEwMDEpCisjZGVm
aW5lIFBUVF9IVVJMCSgweDExMDEpCS8qIFBQUG9FIEV4dGVuc2lvbnMgKENBUlJFTCkgKi8KKyNk
ZWZpbmUgUFRUX01PVE0JKDB4MTIwMSkJLyogUFBQb0UgRXh0ZW5zaW9ucyAoQ0FSUkVMKSAqLwog
I2RlZmluZQlQVFRfTUFYX1BBWUwJKDB4MjAwMSkJLyogUFBQLU1heC1QYXlsb2FkIChSRkM0NjM4
KSAqLwogI2RlZmluZSBQVFRfU1JWX0VSUiAgICAgKDB4MDEwMikKICNkZWZpbmUgUFRUX1NZU19F
UlIgIAkoMHgwMjAyKQpkaWZmIC0tZ2l0IGEvc3lzL25ldGdyYXBoL25nX3BwcG9lLmMgYi9zeXMv
bmV0Z3JhcGgvbmdfcHBwb2UuYwotLS0gYS9zeXMvbmV0Z3JhcGgvbmdfcHBwb2UuYworKysgYi9z
eXMvbmV0Z3JhcGgvbmdfcHBwb2UuYwpAQCAtMTc1LDYgKzE3NSwyMCBAQAogCSAgJm5nX3BhcnNl
X3VpbnQxNl90eXBlLAogCSAgTlVMTAogCX0sCisgICAgICAgIHsKKwkgIE5HTV9QUFBPRV9DT09L
SUUsCisJICBOR01fUFBQT0VfU0VORF9IVVJMLAorCSAgInNlbmRfaHVybCIsCisJICAmbmdwcHBv
ZV9pbml0X2RhdGFfc3RhdGVfdHlwZSwKKwkgIE5VTEwKKyAgICAgICAgfSwKKyAgICAgICAgewor
CSAgTkdNX1BQUE9FX0NPT0tJRSwKKwkgIE5HTV9QUFBPRV9TRU5EX01PVE0sCisJICAic2VuZF9t
b3RtIiwKKwkgICZuZ3BwcG9lX2luaXRfZGF0YV9zdGF0ZV90eXBlLAorCSAgTlVMTAorICAgICAg
ICB9LAogCXsgMCB9CiB9OwogCkBAIC0yMjYsOSArMjQwLDExIEBACiAJY29uc3Qgc3RydWN0IHBw
cG9lX3RhZwkqdGFnc1tOVU1UQUdTXTsKIAl1X2ludAkJCXNlcnZpY2VfbGVuOwogCXVfaW50CQkJ
YWNfbmFtZV9sZW47CisJdV9pbnQJCQlob3N0X3VuaXFfbGVuOwogCiAJc3RydWN0IGRhdGF0YWcJ
CXNlcnZpY2U7CiAJc3RydWN0IGRhdGF0YWcJCWFjX25hbWU7CisJc3RydWN0IGRhdGF0YWcJCWhv
c3RfdW5pcTsKIH07CiB0eXBlZGVmIHN0cnVjdCBzZXNzX25lZyAqbmVncDsKIApAQCAtNTg5LDE4
ICs2MDUsNDMgQEAKIHBwcG9lX2ZpbmR1bmlxKG5vZGVfcCBub2RlLCBjb25zdCBzdHJ1Y3QgcHBw
b2VfdGFnICp0YWcpCiB7CiAJaG9va19wCWhvb2sgPSBOVUxMOwotCXVuaW9uIHVuaXEgdW5pcTsK
KwlzZXNzcAlzcDsKIAotCWJjb3B5KHRhZyArIDEsIHVuaXEuYnl0ZXMsIHNpemVvZih2b2lkICop
KTsKIAkvKiBDeWNsZSB0aHJvdWdoIGFsbCBrbm93biBob29rcy4gKi8KIAlMSVNUX0ZPUkVBQ0go
aG9vaywgJm5vZGUtPm5kX2hvb2tzLCBoa19ob29rcykgewogCQkvKiBTa2lwIGFueSBub25zZXNz
aW9uIGhvb2suICovCiAJCWlmIChOR19IT09LX1BSSVZBVEUoaG9vaykgPT0gTlVMTCkKIAkJCWNv
bnRpbnVlOwotCQlpZiAodW5pcS5wb2ludGVyID09IE5HX0hPT0tfUFJJVkFURShob29rKSkKKwkJ
c3AgPSBOR19IT09LX1BSSVZBVEUoaG9vayk7CisJCS8qIFNraXAgYWxyZWFkeSBjb25uZWN0ZWQg
c2Vzc2lvbnMuICovCisJCWlmIChzcC0+bmVnID09IE5VTEwpCisJCQljb250aW51ZTsKKwkJaWYg
KHNwLT5uZWctPmhvc3RfdW5pcV9sZW4gPT0gbnRvaHModGFnLT50YWdfbGVuKSAmJgorCQkgICAg
YmNtcChzcC0+bmVnLT5ob3N0X3VuaXEuZGF0YSwgKGNvbnN0IGNoYXIgKikodGFnICsgMSksCisJ
CSAgICAgc3AtPm5lZy0+aG9zdF91bmlxX2xlbikgPT0gMCkKIAkJCWJyZWFrOwogCX0KLQlDVFIz
KEtUUl9ORVQsICIlMjBzOiBtYXRjaGVkICVwIGZvciAlcCIsIF9fZnVuY19fLCBob29rLCB1bmlx
LnBvaW50ZXIpOworCUNUUjMoS1RSX05FVCwgIiUyMHM6IG1hdGNoZWQgJXAgZm9yICVwIiwgX19m
dW5jX18sIGhvb2ssIHNwKTsKKworCXJldHVybiAoaG9vayk7Cit9CisKK3N0YXRpYyBob29rX3AK
K3BwcG9lX2ZpbmRjb29raWUobm9kZV9wIG5vZGUsIGNvbnN0IHN0cnVjdCBwcHBvZV90YWcgKnRh
ZykKK3sKKwlob29rX3AJaG9vayA9IE5VTEw7CisJdW5pb24gdW5pcSBjb29raWU7CisKKwliY29w
eSh0YWcgKyAxLCBjb29raWUuYnl0ZXMsIHNpemVvZih2b2lkICopKTsKKwkvKiBDeWNsZSB0aHJv
dWdoIGFsbCBrbm93biBob29rcy4gKi8KKwlMSVNUX0ZPUkVBQ0goaG9vaywgJm5vZGUtPm5kX2hv
b2tzLCBoa19ob29rcykgeworCQkvKiBTa2lwIGFueSBub25zZXNzaW9uIGhvb2suICovCisJCWlm
IChOR19IT09LX1BSSVZBVEUoaG9vaykgPT0gTlVMTCkKKwkJCWNvbnRpbnVlOworCQlpZiAoY29v
a2llLnBvaW50ZXIgPT0gTkdfSE9PS19QUklWQVRFKGhvb2spKQorCQkJYnJlYWs7CisJfQorCUNU
UjMoS1RSX05FVCwgIiUyMHM6IG1hdGNoZWQgJXAgZm9yICVwIiwgX19mdW5jX18sIGhvb2ssIGNv
b2tpZS5wb2ludGVyKTsKIAogCXJldHVybiAoaG9vayk7CiB9CkBAIC03NDQsMTcgKzc4NSwyOSBA
QAogCQljYXNlIE5HTV9QUFBPRV9MSVNURU46CiAJCWNhc2UgTkdNX1BQUE9FX09GRkVSOgogCQlj
YXNlIE5HTV9QUFBPRV9TRVJWSUNFOgorCQljYXNlIE5HTV9QUFBPRV9TRU5EX0hVUkw6CisJCWNh
c2UgTkdNX1BQUE9FX1NFTkRfTU9UTToKIAkJCW91cm1zZyA9IChzdHJ1Y3QgbmdwcHBvZV9pbml0
X2RhdGEgKiltc2ctPmRhdGE7CiAJCQlpZiAobXNnLT5oZWFkZXIuYXJnbGVuIDwgc2l6ZW9mKCpv
dXJtc2cpKSB7CiAJCQkJbG9nKExPR19FUlIsICJuZ19wcHBvZVsleF06IGluaXQgZGF0YSB0b28g
IgogCQkJCSAgICAic21hbGxcbiIsIG5vZGUtPm5kX0lEKTsKIAkJCQlMRUFWRShFTVNHU0laRSk7
CiAJCQl9Ci0JCQlpZiAobXNnLT5oZWFkZXIuYXJnbGVuIC0gc2l6ZW9mKCpvdXJtc2cpID4KLQkJ
CSAgICBQUFBPRV9TRVJWSUNFX05BTUVfU0laRSkgewotCQkJCWxvZyhMT0dfRVJSLCAibmdfcHBw
b2VbJXhdOiBzZXJ2aWNlIG5hbWUgIgotCQkJCSAgICAidG9vIGJpZ1xuIiwgbm9kZS0+bmRfSUQp
OwotCQkJCUxFQVZFKEVNU0dTSVpFKTsKKwkJCWlmIChtc2ctPmhlYWRlci5jbWQgPT0gTkdNX1BQ
UE9FX1NFTkRfSFVSTCB8fAorCQkJICAgIG1zZy0+aGVhZGVyLmNtZCA9PSBOR01fUFBQT0VfU0VO
RF9NT1RNKSB7CisJCQkJaWYgKG1zZy0+aGVhZGVyLmFyZ2xlbiAtIHNpemVvZigqb3VybXNnKSA+
CisJCQkJICAgIFBQUE9FX1BBRE1fVkFMVUVfU0laRSkgeworCQkJCQlsb2coTE9HX0VSUiwgIm5n
X3BwcG9lWyV4XTogbWVzc2FnZSAiCisJCQkJCSAgICAidG9vIGJpZ1xuIiwgbm9kZS0+bmRfSUQp
OworCQkJCQlMRUFWRShFTVNHU0laRSk7CisJCQkJfQorCQkJfSBlbHNlIHsKKwkJCQlpZiAobXNn
LT5oZWFkZXIuYXJnbGVuIC0gc2l6ZW9mKCpvdXJtc2cpID4KKwkJCQkgICAgUFBQT0VfU0VSVklD
RV9OQU1FX1NJWkUpIHsKKwkJCQkJbG9nKExPR19FUlIsICJuZ19wcHBvZVsleF06IHNlcnZpY2Ug
bmFtZSAiCisJCQkJCSAgICAidG9vIGJpZ1xuIiwgbm9kZS0+bmRfSUQpOworCQkJCQlMRUFWRShF
TVNHU0laRSk7CisJCQkJfQogCQkJfQogCQkJaWYgKG1zZy0+aGVhZGVyLmFyZ2xlbiAtIHNpemVv
Zigqb3VybXNnKSA8CiAJCQkgICAgb3VybXNnLT5kYXRhX2xlbikgewpAQCAtNzk0LDYgKzg0Nywy
MCBAQAogCQkJaWYgKG1zZy0+aGVhZGVyLmNtZCA9PSBOR01fUFBQT0VfU0VSVklDRSkKIAkJCQli
cmVhazsKIAorCQkJLyoKKwkJCSAqIFBBRE0gbWVzc2FnZXMgYXJlIHNldCB1cCBvbiBhY3RpdmUg
c2Vzc2lvbnMuCisJCQkgKi8KKwkJCWlmIChtc2ctPmhlYWRlci5jbWQgPT0gTkdNX1BQUE9FX1NF
TkRfSFVSTCB8fAorCQkJICAgIG1zZy0+aGVhZGVyLmNtZCA9PSBOR01fUFBQT0VfU0VORF9NT1RN
KSB7CisJCQkJaWYgKHNwLT5zdGF0ZSAhPSBQUFBPRV9ORVdDT05ORUNURUQgJiYKKwkJCQkgICAg
c3AtPnN0YXRlICE9IFBQUE9FX0NPTk5FQ1RFRCkgeworCQkJCQlsb2coTE9HX05PVElDRSwgIm5n
X3BwcG9lWyV4XTogc2Vzc2lvbiBpcyBub3QgIgorCQkJCQkgICAgImFjdGl2ZVxuIiwgbm9kZS0+
bmRfSUQpOworCQkJCQlMRUFWRShFSVNDT05OKTsKKwkJCQl9CisJCQkJYnJlYWs7CisJCQl9CisK
IAkJCWlmIChzcC0+c3RhdGUgIT0gUFBQT0VfU05PTkUpIHsKIAkJCQlsb2coTE9HX05PVElDRSwg
Im5nX3BwcG9lWyV4XTogU2Vzc2lvbiBhbHJlYWR5ICIKIAkJCQkgICAgImFjdGl2ZVxuIiwgbm9k
ZS0+bmRfSUQpOwpAQCAtODQ4LDI4ICs5MTUsNzIgQEAKIAkJCSAqIENoZWNrIHRoZSBob29rIGV4
aXN0cyBhbmQgaXMgVW5pbml0aWFsaXNlZC4KIAkJCSAqIFNlbmQgYSBQQURJIHJlcXVlc3QsIGFu
ZCBzdGFydCB0aGUgdGltZW91dCBsb2dpYy4KIAkJCSAqIFN0b3JlIHRoZSBvcmlnaW5hdG9yIG9m
IHRoaXMgbWVzc2FnZSBzbyB3ZSBjYW4gc2VuZAotCQkJICogYSBzdWNjZXNzIG9mIGZhaWwgbWVz
c2FnZSB0byB0aGVtIGxhdGVyLgorCQkJICogYSBzdWNjZXNzIG9yIGZhaWwgbWVzc2FnZSB0byB0
aGVtIGxhdGVyLgogCQkJICogTW92ZSB0aGUgc2Vzc2lvbiB0byBTSU5JVC4KIAkJCSAqIFNldCB1
cCB0aGUgc2Vzc2lvbiB0byB0aGUgY29ycmVjdCBzdGF0ZSBhbmQKIAkJCSAqIHN0YXJ0IGl0Lgog
CQkJICovCi0JCQlpbnQJaSwgYWNubGVuID0gMCwgYWNuc2VwID0gMCwgc3J2bGVuOworCQkJaW50
CWFjbnBvcywgYWNubGVuID0gMCwgYWNuc2VwID0gMDsKKwkJCWludAlodXBvcywgaHVsZW4gPSAw
LCBodXNlcCA9IDA7CisJCQlpbnQJaSwgc3J2cG9zLCBzcnZsZW47CisJCQlhY25wb3MgPSAwOwog
CQkJZm9yIChpID0gMDsgaSA8IG91cm1zZy0+ZGF0YV9sZW47IGkrKykgewogCQkJCWlmIChvdXJt
c2ctPmRhdGFbaV0gPT0gJ1xcJykgewogCQkJCQlhY25sZW4gPSBpOwogCQkJCQlhY25zZXAgPSAx
OwogCQkJCQlicmVhazsKIAkJCQl9CiAJCQl9Ci0JCQlzcnZsZW4gPSBvdXJtc2ctPmRhdGFfbGVu
IC0gYWNubGVuIC0gYWNuc2VwOworCQkJaHVwb3MgPSBhY25sZW4gKyBhY25zZXA7CisJCQlmb3Ig
KGkgPSBodXBvczsgaSA8IG91cm1zZy0+ZGF0YV9sZW47IGkrKykgeworCQkJCWlmIChvdXJtc2ct
PmRhdGFbaV0gPT0gJ3wnKSB7CisJCQkJCWh1bGVuID0gaSAtIGh1cG9zOworCQkJCQlodXNlcCA9
IDE7CisJCQkJCWJyZWFrOworCQkJCX0KKwkJCX0KKwkJCXNydnBvcyA9IGh1cG9zICsgaHVsZW4g
KyBodXNlcDsKKwkJCXNydmxlbiA9IG91cm1zZy0+ZGF0YV9sZW4gLSBzcnZwb3M7CiAKLQkJCWJj
b3B5KG91cm1zZy0+ZGF0YSwgbmVnLT5hY19uYW1lLmRhdGEsIGFjbmxlbik7CisJCQliY29weShv
dXJtc2ctPmRhdGEgKyBhY25wb3MsIG5lZy0+YWNfbmFtZS5kYXRhLCBhY25sZW4pOwogCQkJbmVn
LT5hY19uYW1lX2xlbiA9IGFjbmxlbjsKIAorCQkJbmVnLT5ob3N0X3VuaXEuaGRyLnRhZ190eXBl
ID0gUFRUX0hPU1RfVU5JUTsKKwkJCWlmIChodWxlbiA9PSAwKSB7CisJCQkJLyogTm90IHByb3Zp
ZGVkLCBnZW5lcmF0ZSBvbmUgKi8KKwkJCQluZWctPmhvc3RfdW5pcS5oZHIudGFnX2xlbiA9IGh0
b25zKHNpemVvZihzcCkpOworCQkJCWJjb3B5KCZzcCwgbmVnLT5ob3N0X3VuaXEuZGF0YSwgc2l6
ZW9mKHNwKSk7CisJCQkJbmVnLT5ob3N0X3VuaXFfbGVuID0gc2l6ZW9mKHNwKTsKKwkJCX0gZWxz
ZSBpZiAoaHVsZW4gPiAyICYmIG91cm1zZy0+ZGF0YVtodXBvc10gPT0gJzAnICYmCisJCQkgIG91
cm1zZy0+ZGF0YVtodXBvcyArIDFdID09ICd4JyAmJiBodWxlbiAlIDIgPT0gMCkgeworCQkJCS8q
IEhleCBlbmNvZGVkICovCisJCQkJc3RhdGljIGNvbnN0IGNoYXIgaGV4ZGlnWzE2XSA9ICIwMTIz
NDU2Nzg5YWJjZGVmIjsKKwkJCQlpbnQgajsKKworCQkJCW5lZy0+aG9zdF91bmlxLmhkci50YWdf
bGVuID0gaHRvbnMoKHVpbnQxNl90KShodWxlbiAvIDIgLSAxKSk7CisJCQkJZm9yIChpID0gMDsg
aSA8IGh1bGVuIC0gMjsgaSsrKSB7CisJCQkJCWZvciAoaiA9IDA7CisJCQkJCSAgICAgaiA8IDE2
ICYmCisJCQkJCSAgICAgb3VybXNnLT5kYXRhW2h1cG9zICsgMiArIGldICE9IGhleGRpZ1tqXTsK
KwkJCQkJICAgICBqKyspOworCQkJCQlpZiAoaiA9PSAxNikKKwkJCQkJCUxFQVZFKEVJTlZBTCk7
CisJCQkJCWlmIChpICUgMiA9PSAwKQorCQkJCQkJbmVnLT5ob3N0X3VuaXEuZGF0YVtpIC8gMl0g
PSBqIDw8IDQ7CisJCQkJCWVsc2UKKwkJCQkJCW5lZy0+aG9zdF91bmlxLmRhdGFbaSAvIDJdIHw9
IGo7CisJCQkJfQorCQkJCW5lZy0+aG9zdF91bmlxX2xlbiA9IGh1bGVuIC8gMiAtIDE7CisJCQl9
IGVsc2UgeworCQkJCS8qIFBsYWluIHN0cmluZyAqLworCQkJCW5lZy0+aG9zdF91bmlxLmhkci50
YWdfbGVuID0gaHRvbnMoKHVpbnQxNl90KWh1bGVuKTsKKwkJCQliY29weShvdXJtc2ctPmRhdGEg
KyBodXBvcywgbmVnLT5ob3N0X3VuaXEuZGF0YSwgaHVsZW4pOworCQkJCW5lZy0+aG9zdF91bmlx
X2xlbiA9IGh1bGVuOworCQkJfQorCiAJCQluZWctPnNlcnZpY2UuaGRyLnRhZ190eXBlID0gUFRU
X1NSVl9OQU1FOwogCQkJbmVnLT5zZXJ2aWNlLmhkci50YWdfbGVuID0gaHRvbnMoKHVpbnQxNl90
KXNydmxlbik7Ci0JCQliY29weShvdXJtc2ctPmRhdGEgKyBhY25sZW4gKyBhY25zZXAsCi0JCQkg
ICAgbmVnLT5zZXJ2aWNlLmRhdGEsIHNydmxlbik7CisJCQliY29weShvdXJtc2ctPmRhdGEgKyBz
cnZwb3MsIG5lZy0+c2VydmljZS5kYXRhLCBzcnZsZW4pOwogCQkJbmVnLT5zZXJ2aWNlX2xlbiA9
IHNydmxlbjsKIAkJCXBwcG9lX3N0YXJ0KHNwKTsKIAkJCWJyZWFrOwpAQCAtODc5LDcgKzk5MCw3
IEBACiAJCQkgKiBDaGVjayB0aGUgaG9vayBleGlzdHMgYW5kIGlzIFVuaW5pdGlhbGlzZWQuCiAJ
CQkgKiBJbnN0YWxsIHRoZSBzZXJ2aWNlIG1hdGNoaW5nIHN0cmluZy4KIAkJCSAqIFN0b3JlIHRo
ZSBvcmlnaW5hdG9yIG9mIHRoaXMgbWVzc2FnZSBzbyB3ZSBjYW4gc2VuZAotCQkJICogYSBzdWNj
ZXNzIG9mIGZhaWwgbWVzc2FnZSB0byB0aGVtIGxhdGVyLgorCQkJICogYSBzdWNjZXNzIG9yIGZh
aWwgbWVzc2FnZSB0byB0aGVtIGxhdGVyLgogCQkJICogTW92ZSB0aGUgaG9vayB0byAnTElTVEVO
SU5HJwogCQkJICovCiAJCQluZWctPnNlcnZpY2UuaGRyLnRhZ190eXBlID0gUFRUX1NSVl9OQU1F
OwpAQCAtMTAxOSw2ICsxMTMwLDkyIEBACiAJCQlwcml2cC0+bWF4X3BheWxvYWQuaGRyLnRhZ19s
ZW4gPSBodG9ucyhzaXplb2YodWludDE2X3QpKTsKIAkJCXByaXZwLT5tYXhfcGF5bG9hZC5kYXRh
ID0gaHRvbnMoKigodWludDE2X3QgKiltc2ctPmRhdGEpKTsKIAkJCWJyZWFrOworCQljYXNlIE5H
TV9QUFBPRV9TRU5EX0hVUkw6CisJCSAgICB7CisJCQlzdHJ1Y3QgbWJ1ZiAqbTsKKworCQkJLyog
R2VuZXJhdGUgYSBwYWNrZXQgb2YgdGhhdCB0eXBlLiAqLworCQkJbSA9IG1fZ2V0aGRyKE1fTk9X
QUlULCBNVF9EQVRBKTsKKwkJCWlmIChtID09IE5VTEwpCisJCQkJbG9nKExPR19OT1RJQ0UsICJu
Z19wcHBvZVsleF06IHNlc3Npb24gb3V0IG9mICIKKwkJCQkgICAgIm1idWZzXG4iLCBub2RlLT5u
ZF9JRCk7CisJCQllbHNlIHsKKwkJCQlzdHJ1Y3QgcHBwb2VfZnVsbF9oZHIgKndoOworCQkJCXN0
cnVjdCBwcHBvZV90YWcgKnRhZzsKKwkJCQlpbnQgICAgIGVycm9yID0gMDsKKworCQkJCXdoID0g
bXRvZChtLCBzdHJ1Y3QgcHBwb2VfZnVsbF9oZHIgKik7CisJCQkJYmNvcHkoJnNwLT5wa3RfaGRy
LCB3aCwgc2l6ZW9mKCp3aCkpOworCisJCQkJLyogUmV2ZXJ0IHRoZSBzdG9yZWQgaGVhZGVyIHRv
IERJU0MvUEFETSBtb2RlLiAqLworCQkJCXdoLT5waC5jb2RlID0gUEFETV9DT0RFOworCQkJCS8q
CisJCQkJICogQ29uZmlndXJlIGV0aGVydHlwZSBkZXBlbmRpbmcgb24gd2hhdAorCQkJCSAqIHdh
cyB1c2VkIGR1cmluZyBzZXNzaW9ucyBzdGFnZS4KKwkJCQkgKi8KKwkJCQlpZiAod2gtPmVoLmV0
aGVyX3R5cGUgPT0KKwkJCQkgICAgRVRIRVJUWVBFX1BQUE9FXzNDT01fU0VTUykKKwkJCQkJd2gt
PmVoLmV0aGVyX3R5cGUgPSBFVEhFUlRZUEVfUFBQT0VfM0NPTV9ESVNDOworCQkJCWVsc2UKKwkJ
CQkJd2gtPmVoLmV0aGVyX3R5cGUgPSBFVEhFUlRZUEVfUFBQT0VfRElTQzsKKwkJCQkvKgorCQkJ
CSAqIEFkZCBQQURNIG1lc3NhZ2UgYW5kIGFkanVzdCBzaXplcy4KKwkJCQkgKi8KKwkJCQl0YWcg
PSAodm9pZCAqKSgmd2gtPnBoICsgMSk7CisJCQkJdGFnLT50YWdfdHlwZSA9IFBUVF9IVVJMOwor
CQkJCXRhZy0+dGFnX2xlbiA9IGh0b25zKG91cm1zZy0+ZGF0YV9sZW4pOworCQkJCXN0cm5jcHko
KGNoYXIgKikodGFnICsgMSksIG91cm1zZy0+ZGF0YSwgb3VybXNnLT5kYXRhX2xlbik7CisJCQkJ
bS0+bV9wa3RoZHIubGVuID0gbS0+bV9sZW4gPSBzaXplb2YoKndoKSArIHNpemVvZigqdGFnKSAr
CisJCQkJICAgIG91cm1zZy0+ZGF0YV9sZW47CisJCQkJd2gtPnBoLmxlbmd0aCA9IGh0b25zKHNp
emVvZigqdGFnKSArIG91cm1zZy0+ZGF0YV9sZW4pOworCQkJCU5HX1NFTkRfREFUQV9PTkxZKGVy
cm9yLAorCQkJCSAgICBwcml2cC0+ZXRoZXJuZXRfaG9vaywgbSk7CisJCQl9CisJCQlicmVhazsK
KwkJICAgIH0KKwkJY2FzZSBOR01fUFBQT0VfU0VORF9NT1RNOgorCQkgICAgeworCQkJc3RydWN0
IG1idWYgKm07CisKKwkJCS8qIEdlbmVyYXRlIGEgcGFja2V0IG9mIHRoYXQgdHlwZS4gKi8KKwkJ
CW0gPSBtX2dldGhkcihNX05PV0FJVCwgTVRfREFUQSk7CisJCQlpZiAobSA9PSBOVUxMKQorCQkJ
CWxvZyhMT0dfTk9USUNFLCAibmdfcHBwb2VbJXhdOiBzZXNzaW9uIG91dCBvZiAiCisJCQkJICAg
ICJtYnVmc1xuIiwgbm9kZS0+bmRfSUQpOworCQkJZWxzZSB7CisJCQkJc3RydWN0IHBwcG9lX2Z1
bGxfaGRyICp3aDsKKwkJCQlzdHJ1Y3QgcHBwb2VfdGFnICp0YWc7CisJCQkJaW50ICAgICBlcnJv
ciA9IDA7CisKKwkJCQl3aCA9IG10b2QobSwgc3RydWN0IHBwcG9lX2Z1bGxfaGRyICopOworCQkJ
CWJjb3B5KCZzcC0+cGt0X2hkciwgd2gsIHNpemVvZigqd2gpKTsKKworCQkJCS8qIFJldmVydCB0
aGUgc3RvcmVkIGhlYWRlciB0byBESVNDL1BBRE0gbW9kZS4gKi8KKwkJCQl3aC0+cGguY29kZSA9
IFBBRE1fQ09ERTsKKwkJCQkvKgorCQkJCSAqIENvbmZpZ3VyZSBldGhlcnR5cGUgZGVwZW5kaW5n
IG9uIHdoYXQKKwkJCQkgKiB3YXMgdXNlZCBkdXJpbmcgc2Vzc2lvbnMgc3RhZ2UuCisJCQkJICov
CisJCQkJaWYgKHdoLT5laC5ldGhlcl90eXBlID09CisJCQkJICAgIEVUSEVSVFlQRV9QUFBPRV8z
Q09NX1NFU1MpCisJCQkJCXdoLT5laC5ldGhlcl90eXBlID0gRVRIRVJUWVBFX1BQUE9FXzNDT01f
RElTQzsKKwkJCQllbHNlCisJCQkJCXdoLT5laC5ldGhlcl90eXBlID0gRVRIRVJUWVBFX1BQUE9F
X0RJU0M7CisJCQkJLyoKKwkJCQkgKiBBZGQgUEFETSBtZXNzYWdlIGFuZCBhZGp1c3Qgc2l6ZXMu
CisJCQkJICovCisJCQkJdGFnID0gKHZvaWQgKikoJndoLT5waCArIDEpOworCQkJCXRhZy0+dGFn
X3R5cGUgPSBQVFRfTU9UTTsKKwkJCQl0YWctPnRhZ19sZW4gPSBodG9ucyhvdXJtc2ctPmRhdGFf
bGVuKTsKKwkJCQlzdHJuY3B5KChjaGFyICopKHRhZyArIDEpLCBvdXJtc2ctPmRhdGEsIG91cm1z
Zy0+ZGF0YV9sZW4pOworCQkJCW0tPm1fcGt0aGRyLmxlbiA9IG0tPm1fbGVuID0gc2l6ZW9mKCp3
aCkgKyBzaXplb2YoKnRhZykgKworCQkJCSAgICBvdXJtc2ctPmRhdGFfbGVuOworCQkJCXdoLT5w
aC5sZW5ndGggPSBodG9ucyhzaXplb2YoKnRhZykgKyBvdXJtc2ctPmRhdGFfbGVuKTsKKwkJCQlO
R19TRU5EX0RBVEFfT05MWShlcnJvciwKKwkJCQkgICAgcHJpdnAtPmV0aGVybmV0X2hvb2ssIG0p
OworCQkJfQorCQkJYnJlYWs7CisJCSAgICB9CiAJCWRlZmF1bHQ6CiAJCQlMRUFWRShFSU5WQUwp
OwogCQl9CkBAIC0xMDYxLDEwICsxMjU4LDYgQEAKIAlub2RlX3AJbm9kZSA9IE5HX0hPT0tfTk9E
RShob29rKTsKIAlwcml2X3AJcHJpdnAgPSBOR19OT0RFX1BSSVZBVEUobm9kZSk7CiAJbmVncAlu
ZWcgPSBzcC0+bmVnOwotCXN0cnVjdCB7Ci0JCXN0cnVjdCBwcHBvZV90YWcgaGRyOwotCQl1bmlv
bgl1bmlxCWRhdGE7Ci0JfSBfX3BhY2tlZCB1bmlxdGFnOwogCXN0cnVjdCAgbWJ1ZiAqbTA7CiAJ
aW50CWVycm9yOwogCkBAIC0xMDgwLDExICsxMjczLDggQEAKIAltZW1jcHkoKHZvaWQgKikmbmVn
LT5wa3QtPnBrdF9oZWFkZXIuZWgsICZwcml2cC0+ZWgsCiAJICAgIHNpemVvZihzdHJ1Y3QgZXRo
ZXJfaGVhZGVyKSk7CiAJbmVnLT5wa3QtPnBrdF9oZWFkZXIucGguY29kZSA9IFBBRElfQ09ERTsK
LQl1bmlxdGFnLmhkci50YWdfdHlwZSA9IFBUVF9IT1NUX1VOSVE7Ci0JdW5pcXRhZy5oZHIudGFn
X2xlbiA9IGh0b25zKCh1X2ludDE2X3Qpc2l6ZW9mKHVuaXF0YWcuZGF0YSkpOwotCXVuaXF0YWcu
ZGF0YS5wb2ludGVyID0gc3A7CiAJaW5pdF90YWdzKHNwKTsKLQlpbnNlcnRfdGFnKHNwLCAmdW5p
cXRhZy5oZHIpOworCWluc2VydF90YWcoc3AsICZuZWctPmhvc3RfdW5pcS5oZHIpOwogCWluc2Vy
dF90YWcoc3AsICZuZWctPnNlcnZpY2UuaGRyKTsKIAlpZiAocHJpdnAtPm1heF9wYXlsb2FkLmRh
dGEgIT0gMCkKIAkJaW5zZXJ0X3RhZyhzcCwgJnByaXZwLT5tYXhfcGF5bG9hZC5oZHIpOwpAQCAt
MTE2Myw2ICsxMzUzLDUyIEBACiAJcmV0dXJuIChlcnJvcik7CiB9CiAKK3N0YXRpYyBpbnQKK3Nl
bmRfaHVybChzZXNzcCBzcCwgY29uc3Qgc3RydWN0IHBwcG9lX3RhZyAqdGFnKQoreworCWludCBl
cnJvciwgdGxlbjsKKwlzdHJ1Y3QgbmdfbWVzZyAqbXNnOworCXN0cnVjdCBuZ3BwcG9lX3BhZG0g
KnBhZG07CisKKwlDVFIyKEtUUl9ORVQsICIlMjBzOiBjYWxsZWQgJWQiLCBfX2Z1bmNfXywgc3At
PlNlc3Npb25fSUQpOworCisJTkdfTUtNRVNTQUdFKG1zZywgTkdNX1BQUE9FX0NPT0tJRSwgTkdN
X1BQUE9FX0hVUkwsCisJICAgIHNpemVvZihzdHJ1Y3QgbmdwcHBvZV9wYWRtKSwgTV9OT1dBSVQp
OworCWlmIChtc2cgPT0gTlVMTCkKKwkJcmV0dXJuIChFTk9NRU0pOworCisJcGFkbSA9IChzdHJ1
Y3QgbmdwcHBvZV9wYWRtICopbXNnLT5kYXRhOworCXRsZW4gPSBtaW4oUFBQT0VfUEFETV9WQUxV
RV9TSVpFIC0gMSwgbnRvaHModGFnLT50YWdfbGVuKSk7CisJc3RybmNweShwYWRtLT5tc2csIChj
b25zdCBjaGFyICopKHRhZyArIDEpLCB0bGVuKTsKKwlwYWRtLT5tc2dbdGxlbl0gPSAnXDAnOwor
CU5HX1NFTkRfTVNHX0lEKGVycm9yLCBOR19IT09LX05PREUoc3AtPmhvb2spLCBtc2csIHNwLT5j
cmVhdG9yLCAwKTsKKworCXJldHVybiAoZXJyb3IpOworfQorCitzdGF0aWMgaW50CitzZW5kX21v
dG0oc2Vzc3Agc3AsIGNvbnN0IHN0cnVjdCBwcHBvZV90YWcgKnRhZykKK3sKKwlpbnQgZXJyb3Is
IHRsZW47CisJc3RydWN0IG5nX21lc2cgKm1zZzsKKwlzdHJ1Y3QgbmdwcHBvZV9wYWRtICpwYWRt
OworCisJQ1RSMihLVFJfTkVULCAiJTIwczogY2FsbGVkICVkIiwgX19mdW5jX18sIHNwLT5TZXNz
aW9uX0lEKTsKKworCU5HX01LTUVTU0FHRShtc2csIE5HTV9QUFBPRV9DT09LSUUsIE5HTV9QUFBP
RV9NT1RNLAorCSAgICBzaXplb2Yoc3RydWN0IG5ncHBwb2VfcGFkbSksIE1fTk9XQUlUKTsKKwlp
ZiAobXNnID09IE5VTEwpCisJCXJldHVybiAoRU5PTUVNKTsKKworCXBhZG0gPSAoc3RydWN0IG5n
cHBwb2VfcGFkbSAqKW1zZy0+ZGF0YTsKKwl0bGVuID0gbWluKFBQUE9FX1BBRE1fVkFMVUVfU0la
RSAtIDEsIG50b2hzKHRhZy0+dGFnX2xlbikpOworCXN0cm5jcHkocGFkbS0+bXNnLCAoY29uc3Qg
Y2hhciAqKSh0YWcgKyAxKSwgdGxlbik7CisJcGFkbS0+bXNnW3RsZW5dID0gJ1wwJzsKKwlOR19T
RU5EX01TR19JRChlcnJvciwgTkdfSE9PS19OT0RFKHNwLT5ob29rKSwgbXNnLCBzcC0+Y3JlYXRv
ciwgMCk7CisKKwlyZXR1cm4gKGVycm9yKTsKK30KKwogLyoKICAqIFJlY2VpdmUgZGF0YSBmcm9t
IHNlc3Npb24gaG9vayBhbmQgZG8gc29tZXRoaW5nIHdpdGggaXQuCiAgKi8KQEAgLTEzMjAsNiAr
MTU1Niw3IEBACiAJY29uc3QgcHJpdl9wCQlwcml2cCA9IE5HX05PREVfUFJJVkFURShub2RlKTsK
IAlzZXNzcAkJCXNwOwogCWNvbnN0IHN0cnVjdCBwcHBvZV90YWcJKnV0YWcgPSBOVUxMLCAqdGFn
ID0gTlVMTDsKKwljb25zdCBzdHJ1Y3QgcHBwb2VfdGFnCXNudGFnID0geyBQVFRfU1JWX05BTUUs
IDAgfTsKIAljb25zdCBzdHJ1Y3QgcHBwb2VfZnVsbF9oZHIgKndoOwogCWNvbnN0IHN0cnVjdCBw
cHBvZV9oZHIJKnBoOwogCW5lZ3AJCQluZWcgPSBOVUxMOwpAQCAtMTQwOSwxMSArMTY0Niw4IEBA
CiAJCQkgKiBwcm9jZXNzaW5nLgogCQkJICovCiAJCQl0YWcgPSBnZXRfdGFnKHBoLCBQVFRfU1JW
X05BTUUpOwotCQkJaWYgKHRhZyA9PSBOVUxMKSB7Ci0JCQkJQ1RSMShLVFJfTkVULCAiJTIwczog
UEFESSB3L28gU2VydmljZS1OYW1lIiwKLQkJCQkgICAgX19mdW5jX18pOwotCQkJCUxFQVZFKEVO
RVRVTlJFQUNIKTsKLQkJCX0KKwkJCWlmICh0YWcgPT0gTlVMTCkKKwkJCQl0YWcgPSAmc250YWc7
CiAKIAkJCS8qCiAJCQkgKiBGaXJzdCwgdHJ5IHRvIG1hdGNoIFNlcnZpY2UtTmFtZSBhZ2FpbnN0
IG91ciAKQEAgLTE0MzgsOCArMTY3Miw3IEBACiAJCQkgKiBGb3Igbm93IHNpbXBseSBhY2NlcHQg
dGhlIGZpcnN0IHdlIHJlY2VpdmUuCiAJCQkgKi8KIAkJCXV0YWcgPSBnZXRfdGFnKHBoLCBQVFRf
SE9TVF9VTklRKTsKLQkJCWlmICgodXRhZyA9PSBOVUxMKSB8fAotCQkJICAgIChudG9ocyh1dGFn
LT50YWdfbGVuKSAhPSBzaXplb2Yoc3ApKSkgeworCQkJaWYgKHV0YWcgPT0gTlVMTCkgewogCQkJ
CWxvZyhMT0dfTk9USUNFLCAibmdfcHBwb2VbJXhdOiBubyBob3N0ICIKIAkJCQkgICAgInVuaXF1
ZSBmaWVsZFxuIiwgbm9kZS0+bmRfSUQpOwogCQkJCUxFQVZFKEVORVRVTlJFQUNIKTsKQEAgLTE1
MjksNyArMTc2Miw3IEBACiAJCQkJTEVBVkUoRU5FVFVOUkVBQ0gpOwogCQkJfQogCi0JCQlzZW5k
aG9vayA9IHBwcG9lX2ZpbmR1bmlxKG5vZGUsIHV0YWcpOworCQkJc2VuZGhvb2sgPSBwcHBvZV9m
aW5kY29va2llKG5vZGUsIHV0YWcpOwogCQkJaWYgKHNlbmRob29rID09IE5VTEwpCiAJCQkJTEVB
VkUoRU5FVFVOUkVBQ0gpOwogCkBAIC0xNjA1LDggKzE4MzgsNyBAQAogCQkJICogc2V0IHVzIGlu
dG8gU2Vzc2lvbiBtb2RlLgogCQkJICovCiAJCQl1dGFnID0gZ2V0X3RhZyhwaCwgUFRUX0hPU1Rf
VU5JUSk7Ci0JCQlpZiAoKHV0YWcgPT0gTlVMTCkgfHwKLQkJCSAgICAobnRvaHModXRhZy0+dGFn
X2xlbikgIT0gc2l6ZW9mKHNwKSkpIHsKKwkJCWlmICh1dGFnID09IE5VTEwpIHsKIAkJCQlMRUFW
RSAoRU5FVFVOUkVBQ0gpOwogCQkJfQogCQkJc2VuZGhvb2sgPSBwcHBvZV9maW5kdW5pcShub2Rl
LCB1dGFnKTsKQEAgLTE2NTksNiArMTg5MSwxOSBAQAogCQkJLyogRGlzY29ubmVjdCB0aGF0IGhv
b2suICovCiAJCQluZ19ybWhvb2tfc2VsZihzcC0+aG9vayk7CiAJCQlicmVhazsKKwkJY2FzZQlQ
QURNX0NPREU6CisJCQkvKgorCQkJICogV2UgYXJlIGEgY2xpZW50OgorCQkJICogZmluZCBtYXRj
aGluZyBwZWVyL3Nlc3Npb24gY29tYmluYXRpb24uCisJCQkgKi8KKwkJCXNwID0gcHBwb2VfZmlu
ZHNlc3Npb24ocHJpdnAsIHdoKTsKKwkJCWlmIChzcCA9PSBOVUxMKQorCQkJCUxFQVZFIChFTkVU
VU5SRUFDSCk7CisJCQlpZiAoKHRhZyA9IGdldF90YWcocGgsIFBUVF9IVVJMKSkpCisJCQkJc2Vu
ZF9odXJsKHNwLCB0YWcpOworCQkJaWYgKCh0YWcgPSBnZXRfdGFnKHBoLCBQVFRfTU9UTSkpKQor
CQkJCXNlbmRfbW90bShzcCwgdGFnKTsKKwkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJTEVBVkUo
RVBGTk9TVVBQT1JUKTsKIAkJfQpAQCAtMTc4MSw3ICsyMDI2LDcgQEAKIAkJCXN0cnVjdCBtYnVm
ICptOwogCiAJCQkvKiBHZW5lcmF0ZSBhIHBhY2tldCBvZiB0aGF0IHR5cGUuICovCi0JCQlNR0VU
SERSKG0sIE1fTk9XQUlULCBNVF9EQVRBKTsKKwkJCW0gPSBtX2dldGhkcihNX05PV0FJVCwgTVRf
REFUQSk7CiAJCQlpZiAobSA9PSBOVUxMKQogCQkJCWxvZyhMT0dfTk9USUNFLCAibmdfcHBwb2Vb
JXhdOiBzZXNzaW9uIG91dCBvZiAiCiAJCQkJICAgICJtYnVmc1xuIiwgbm9kZS0+bmRfSUQpOwpA
QCAtMTc5MSw4ICsyMDM2LDYgQEAKIAkJCQlpbnQJbXNnbGVuID0gc3RybGVuKFNJR05PRkYpOwog
CQkJCWludAllcnJvciA9IDA7CiAKLQkJCQltLT5tX3BrdGhkci5yY3ZpZiA9IE5VTEw7Ci0JCQkJ
bS0+bV9wa3RoZHIubGVuID0gbS0+bV9sZW4gPSBzaXplb2YoKndoKTsKIAkJCQl3aCA9IG10b2Qo
bSwgc3RydWN0IHBwcG9lX2Z1bGxfaGRyICopOwogCQkJCWJjb3B5KCZzcC0+cGt0X2hkciwgd2gs
IHNpemVvZigqd2gpKTsKIApAQCAtMTgxNSw4ICsyMDU4LDggQEAKIAkJCQl0YWctPnRhZ190eXBl
ID0gUFRUX0dFTl9FUlI7CiAJCQkJdGFnLT50YWdfbGVuID0gaHRvbnMoKHVfaW50MTZfdCltc2ds
ZW4pOwogCQkJCXN0cm5jcHkoKGNoYXIgKikodGFnICsgMSksIFNJR05PRkYsIG1zZ2xlbik7Ci0J
CQkJbS0+bV9wa3RoZHIubGVuID0gKG0tPm1fbGVuICs9IHNpemVvZigqdGFnKSArCi0JCQkJICAg
IG1zZ2xlbik7CisJCQkJbS0+bV9wa3RoZHIubGVuID0gbS0+bV9sZW4gPSBzaXplb2YoKndoKSAr
IHNpemVvZigqdGFnKSArCisJCQkJICAgIG1zZ2xlbjsKIAkJCQl3aC0+cGgubGVuZ3RoID0gaHRv
bnMoc2l6ZW9mKCp0YWcpICsgbXNnbGVuKTsKIAkJCQlOR19TRU5EX0RBVEFfT05MWShlcnJvciwK
IAkJCQkJcHJpdnAtPmV0aGVybmV0X2hvb2ssIG0pOwpAQCAtMTkzMyw2ICsyMTc2LDggQEAKIAkJ
Y2FzZQlQVFRfU1lTX0VSUjoKIAkJY2FzZQlQVFRfR0VOX0VSUjoKIAkJY2FzZQlQVFRfTUFYX1BB
WUw6CisJCWNhc2UJUFRUX0hVUkw6CisJCWNhc2UJUFRUX01PVE06CiAJCQlicmVhazsKIAkJfQog
CQlwdCA9IChjb25zdCBzdHJ1Y3QgcHBwb2VfdGFnKilwdG47CmRpZmYgLS1naXQgYS9zaGFyZS9t
YW4vbWFuNC9uZ19wcHBvZS40IGIvc2hhcmUvbWFuL21hbjQvbmdfcHBwb2UuNAotLS0gYS9zaGFy
ZS9tYW4vbWFuNC9uZ19wcHBvZS40CisrKyBiL3NoYXJlL21hbi9tYW40L25nX3BwcG9lLjQKQEAg
LTM1LDcgKzM1LDcgQEAKIC5cIiAkRnJlZUJTRCQKIC5cIiAkV2hpc3RsZTogbmdfcHBwb2UuOCx2
IDEuMSAxOTk5LzAxLzI1IDIzOjQ2OjI3IGFyY2hpZSBFeHAgJAogLlwiCi0uRGQgU2VwdGVtYmVy
IDE1LCAyMDE1CisuRGQgQXByaWwgNCwgMjAxNwogLkR0IE5HX1BQUE9FIDQKIC5PcwogLlNoIE5B
TUUKQEAgLTEwNCwxMiArMTA0LDMzIEBACiBJdCBtdXN0IGJlIG5ld2x5IGNyZWF0ZWQgYW5kIGEg
c2VydmljZSBuYW1lIGNhbiBiZSBnaXZlbiBhcyBhbiBhcmd1bWVudC4KIEl0IGlzIGxlZ2FsIHRv
IHNwZWNpZnkgYSB6ZXJvLWxlbmd0aCBzZXJ2aWNlIG5hbWUsIHRoaXMgaXMgY29tbW9uCiBvbiBz
b21lIERTTCBzZXR1cHMuCi1JdCBpcyBwb3NzaWJsZSB0byByZXF1ZXN0IGEgY29ubmVjdGlvbiB0
byBhIHNwZWNpZmljCi1hY2Nlc3MgY29uY2VudHJhdG9yIGJ5IGl0cyBuYW1lIHVzaW5nIHRoZSAi
QUMtTmFtZVxcU2VydmljZS1OYW1lIiBzeW50YXguCi1BIHNlc3Npb24gcmVxdWVzdCBwYWNrZXQg
d2lsbCBiZSBicm9hZGNhc3RlZCBvbiB0aGUgRXRoZXJuZXQuCitJdCBpcyBwb3NzaWJsZSB0byBy
ZXF1ZXN0IGEgY29ubmVjdGlvbiB0byBhIHNwZWNpZmljIGFjY2VzcyBjb25jZW50cmF0b3IsCith
bmQvb3Igc2V0IGEgc3BlY2lmaWMgSG9zdC1VbmlxIHRhZywgcmVxdWlyZWQgYnkgc29tZSBJbnRl
cm5ldCBwcm92aWRlcnMsCit1c2luZyB0aGUKKy5RcSBMaSBbQUMtTmFtZVxcXVtIb3N0LVVuaXF8
XVNlcnZpY2UtTmFtZQorc3ludGF4LgorVG8gc2V0IGEgYmluYXJ5IEhvc3QtVW5pcSwgaXQgbXVz
dCBiZSBlbmNvZGVkIGFzIGEgaGV4YWRlY2ltYWwgbG93ZXJjYXNlCitzdHJpbmcgYW5kIHByZWZp
eGVkIHdpdGggCisuUXEgTGkgMHggLAorZm9yIGV4YW1wbGUgCisuUXEgTGkgMHg2ZDc5MmQ3NDYx
NjcKK2lzIGVxdWl2YWxlbnQgdG8KKy5RcSBMaSBteS10YWcgLgorQSBzZXNzaW9uIHJlcXVlc3Qg
cGFja2V0IHdpbGwgYmUgYnJvYWRjYXN0IG9uIHRoZSBFdGhlcm5ldC4KIFRoaXMgY29tbWFuZCB1
c2VzIHRoZQogLkR2IG5ncHBwb2VfaW5pdF9kYXRhCiBzdHJ1Y3R1cmUgc2hvd24gYmVsb3cuCitG
b3IgZXhhbXBsZSwgdGhpcyBpbml0IGRhdGEgYXJndW1lbnQgY2FuIGJlIHVzZWQgdG8KK2Nvbm5l
Y3QgdG8KKy5RcSBMaSBteS1pc3AKK3NlcnZpY2Ugd2l0aAorLlFxIExpIG15LWhvc3QKK3VuaXEg
dGFnLCBhY2NlcHRpbmcgb25seQorLlFxIExpIHJlbW90ZS1hYworYXMgYWNjZXNzIGNvbmNlbnRy
YXRvcjoKKy5CZCAtbGl0ZXJhbCAtb2Zmc2V0IGluZGVudAorInJlbW90ZS1hY1xcbXktaG9zdHxt
eS1pc3AiCisuRWQKIC5JdCBEdiBOR01fUFBQT0VfTElTVEVOIFBxIEljIHBwcG9lX2xpc3Rlbgog
VGVsbCBhIG5vbWluYXRlZCBuZXdseSBjcmVhdGVkIGhvb2sgdGhhdCBpdHMgc2Vzc2lvbiBzaG91
bGQgZW50ZXIKIHRoZSBzdGF0ZSBtYWNoaW5lIGFzIGEgc2VydmVyIGxpc3RlbmVyLgpAQCAtMjU4
LDcgKzI3OSw0MSBAQAogICAgIHVpbnQxNl90IGRhdGE7CiB9OwogLkVkCisuSXQgRHYgTkdNX1BQ
UE9FX1NFTkRfSFVSTCBQcSBJYyBzZW5kX2h1cmwKK1RlbGwgYSBub21pbmF0ZWQgaG9vayB3aXRo
IGFuIGFjdGl2ZSBzZXNzaW9uIHRvIHNlbmQgYSBQQURNIG1lc3NhZ2Ugd2l0aAorYSBIVVJMIHRh
Zy4KK1RoZSBhcmd1bWVudCBpcyB0aGUgVVJMIHRvIGJlIGRlbGl2ZXJlZCB0byB0aGUgY2xpZW50
OgorLkJkIC1saXRlcmFsIC1vZmZzZXQgaW5kZW50CituZ2N0bCBtc2cgZnhwMDpvcnBoYW5zIHNl
bmRfaHVybCAneyBob29rPSJteUhvb2siIGRhdGE9Imh0dHA6Ly9leGFtcGxlLm5ldC9jcGUiIH0n
CisuRWQKKy5JdCBEdiBOR01fUFBQT0VfU0VORF9NT1RNIFBxIEljIHNlbmRfbW90bQorVGVsbCBh
IG5vbWluYXRlZCBob29rIHdpdGggYW4gYWN0aXZlIHNlc3Npb24gdG8gc2VuZCBhIFBBRE0gbWVz
c2FnZSB3aXRoCithIE1PVE0gdGFnLgorVGhlIGFyZ3VtZW50IGlzIHRoZSBtZXNzYWdlIHRvIGJl
IGRlbGl2ZXJlZCB0byB0aGUgY2xpZW50OgorLkJkIC1saXRlcmFsIC1vZmZzZXQgaW5kZW50Citu
Z2N0bCBtc2cgZnhwMDpvcnBoYW5zIHNlbmRfbW90bSAneyBob29rPSJteUhvb2siIGRhdGE9Ildl
bGNvbWUgYWJvYXJkIiB9JworLkVkCiAuRWwKKy5QcAorVGhlIHR3byBjb21tYW5kcyBhYm92ZSB1
c2UgdGhlIHNhbWUgbmdwcHBvZV9pbml0X2RhdGEgc3RydWN0dXJlIGRlc2NyaWJlZAorYWJvdmUu
CisuQmwgLXRhZyAtd2lkdGggM24KKy5JdCBEdiBOR01fUFBQT0VfSFVSTAorVGhpcyBjb21tYW5k
IGlzIHNlbnQgdG8gdGhlIG5vZGUgdGhhdCBzdGFydGVkIHRoaXMgc2Vzc2lvbiB3aGVuIGEgUEFE
TQorbWVzc2FnZSB3aXRoIGEgSFVSTCB0YWcgaXMgcmVjZWl2ZWQsIGFuZCBjb250YWlucyBhIFVS
TCB0aGF0IHRoZSBob3N0IGNhbgorcGFzcyB0byBhIHdlYiBicm93c2VyIGZvciBwcmVzZW50YXRp
b24gdG8gdGhlIHVzZXIuCisuSXQgRHYgTkdNX1BQUE9FX01PVE0KK1RoaXMgY29tbWFuZCBpcyBz
ZW50IHRvIHRoZSBub2RlIHRoYXQgc3RhcnRlZCB0aGlzIHNlc3Npb24gd2hlbiBhIFBBRE0KK21l
c3NhZ2Ugd2l0aCBhIE1PVE0gdGFnIGlzIHJlY2VpdmVkLCBhbmQgY29udGFpbnMgYSBNZXNzYWdl
IE9mIFRoZQorTWludXRlIHRoYXQgdGhlIGhvc3QgY2FuIGRpc3BsYXkgdG8gdGhlIHVzZXIuCisu
RWwKKy5QcAorVGhlIHR3byBjb21tYW5kcyBhYm92ZSB1c2UgYSBjb21tb24gZGF0YSBzdHJ1Y3R1
cmU6CisuQmQgLWxpdGVyYWwgLW9mZnNldCA0bgorc3RydWN0IG5ncHBwb2VfcGFkbSB7CisgICAg
Y2hhciAgICBtc2dbUFBQT0VfUEFETV9WQUxVRV9TSVpFXTsKK307CisuRWQKIC5TaCBTSFVURE9X
TgogVGhpcyBub2RlIHNodXRzIGRvd24gdXBvbiByZWNlaXB0IG9mIGEKIC5EdiBOR01fU0hVVERP
V04KCg==


--b1_be9a246fb2f00ab577fbcdf758dfb5d1--



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