Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 Feb 2017 16:34:19 +0000
From:      "jhujhiti_adjectivism.org (Erick Turnquist)" <phabric-noreply@FreeBSD.org>
To:        freebsd-net@freebsd.org
Subject:   [Differential] D9451: Constrain IPv6 interface routes to each FIB
Message-ID:  <differential-rev-PHID-DREV-xl62ljmjgot45obmsgfw-req@FreeBSD.org>

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

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

amh1amhpdGlfYWRqZWN0aXZpc20ub3JnIGNyZWF0ZWQgdGhpcyByZXZpc2lvbi4Kamh1amhpdGlf
YWRqZWN0aXZpc20ub3JnIGFkZGVkIHJldmlld2VyczogYXNvbWVycywgbmV0d29yay4Kamh1amhp
dGlfYWRqZWN0aXZpc20ub3JnIGFkZGVkIGEgc3Vic2NyaWJlcjogZnJlZWJzZC1uZXQtbGlzdC4K
amh1amhpdGlfYWRqZWN0aXZpc20ub3JnIHNldCB0aGUgcmVwb3NpdG9yeSBmb3IgdGhpcyByZXZp
c2lvbiB0byByUyBGcmVlQlNEIHNyYyByZXBvc2l0b3J5LgpIZXJhbGQgYWRkZWQgc3Vic2NyaWJl
cnM6IGFlLCBpbXAuCgpSRVZJU0lPTiBTVU1NQVJZCiAgSVB2NiByb3V0ZXMgaW5zdGFsbGVkIG9u
IGludGVyZmFjZXMgYXJlIGN1cnJlbnRseSBpbnN0YWxsZWQgaW4gYWxsIEZJQnMsIHJlZ2FyZGxl
c3Mgb2YgdGhlIHZhbHVlIG9mIG5ldC5hZGRfYWRkcl9hbGxmaWJzLiBUaGlzIGNoYW5nZSB3aWxs
IGNhdXNlIHRoZSByb3V0ZXMgdG8gb25seSBiZSBpbnN0YWxsZWQgaW4gdGhlIGludGVyZmFjZSdz
IEZJQiB3aGVuIHRoZSB2YWx1ZSBvZiBuZXQuYWRkX2FkZHJfYWxsZmlicyBpcyAxLgogIAogIFNl
ZSBQUjE5NjM2MSAtIGh0dHBzOi8vYnVncy5mcmVlYnNkLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5j
Z2k/aWQ9MTk2MzYxCgpSRVBPU0lUT1JZCiAgclMgRnJlZUJTRCBzcmMgcmVwb3NpdG9yeQoKUkVW
SVNJT04gREVUQUlMCiAgaHR0cHM6Ly9yZXZpZXdzLmZyZWVic2Qub3JnL0Q5NDUxCgpBRkZFQ1RF
RCBGSUxFUwogIHN5cy9uZXQvcm91dGUuYwogIHN5cy9uZXRpbmV0Ni9pY21wNi5jCiAgc3lzL25l
dGluZXQ2L2luNi5jCiAgc3lzL25ldGluZXQ2L2luNl9zcmMuYwogIHN5cy9uZXRpbmV0Ni9uZDYu
YwogIHN5cy9uZXRpbmV0Ni9uZDYuaAogIHN5cy9uZXRpbmV0Ni9uZDZfbmJyLmMKICBzeXMvbmV0
aW5ldDYvbmQ2X3J0ci5jCgpFTUFJTCBQUkVGRVJFTkNFUwogIGh0dHBzOi8vcmV2aWV3cy5mcmVl
YnNkLm9yZy9zZXR0aW5ncy9wYW5lbC9lbWFpbHByZWZlcmVuY2VzLwoKVG86IGpodWpoaXRpX2Fk
amVjdGl2aXNtLm9yZywgYXNvbWVycywgI25ldHdvcmsKQ2M6IGltcCwgYWUsIGZyZWVic2QtbmV0
LWxpc3QK

--b1_cf53400cd4a7c8d741c0c224ba2d23ca
Content-Type: text/x-patch; charset=utf-8; name="D9451.24768.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="D9451.24768.patch"

ZGlmZiAtLWdpdCBhL3N5cy9uZXRpbmV0Ni9uZDZfcnRyLmMgYi9zeXMvbmV0aW5ldDYvbmQ2X3J0
ci5jCi0tLSBhL3N5cy9uZXRpbmV0Ni9uZDZfcnRyLmMKKysrIGIvc3lzL25ldGluZXQ2L25kNl9y
dHIuYwpAQCAtNTAwLDcgKzUwMCw3IEBACiAKIAllcnJvciA9IGluNl9ydHJlcXVlc3QoUlRNX0FE
RCwgKHN0cnVjdCBzb2NrYWRkciAqKSZkZWYsCiAJICAgIChzdHJ1Y3Qgc29ja2FkZHIgKikmZ2F0
ZSwgKHN0cnVjdCBzb2NrYWRkciAqKSZtYXNrLAotCSAgICBSVEZfR0FURVdBWSwgJm5ld3J0LCBS
VF9ERUZBVUxUX0ZJQik7CisJICAgIFJURl9HQVRFV0FZLCAmbmV3cnQsIG5ldy0+aWZwLT5pZl9m
aWIpOwogCWlmIChuZXdydCkgewogCQluZDZfcnRtc2coUlRNX0FERCwgbmV3cnQpOyAvKiB0ZWxs
IHVzZXIgcHJvY2VzcyAqLwogCQlSVEZSRUUobmV3cnQpOwpAQCAtNTcxLDcgKzU3MSw3IEBACiAK
IAlpbjZfcnRyZXF1ZXN0KFJUTV9ERUxFVEUsIChzdHJ1Y3Qgc29ja2FkZHIgKikmZGVmLAogCSAg
ICAoc3RydWN0IHNvY2thZGRyICopJmdhdGUsCi0JICAgIChzdHJ1Y3Qgc29ja2FkZHIgKikmbWFz
aywgUlRGX0dBVEVXQVksICZvbGRydCwgUlRfREVGQVVMVF9GSUIpOworCSAgICAoc3RydWN0IHNv
Y2thZGRyICopJm1hc2ssIFJURl9HQVRFV0FZLCAmb2xkcnQsIGRyLT5pZnAtPmlmX2ZpYik7CiAJ
aWYgKG9sZHJ0KSB7CiAJCW5kNl9ydG1zZyhSVE1fREVMRVRFLCBvbGRydCk7CiAJCVJURlJFRShv
bGRydCk7CkBAIC03MDIsNyArNzAyLDcgQEAKIAkgKiBmcm9tIHRoZSByb3V0aW5nIHRhYmxlLgog
CSAqLwogCWlmIChkZWxkcikKLQkJZGVmcm91dGVyX3NlbGVjdCgpOworCQlkZWZyb3V0ZXJfc2Vs
ZWN0KGRlbGRyLT5pZnAtPmlmX2ZpYik7CiAKIAkvKgogCSAqIFJlbGVhc2UgdGhlIGxpc3QgcmVm
ZXJlbmNlLgpAQCAtNzMyLDcgKzczMiw3IEBACiAgKiBjb21wbGljYXRlZCBhbmQgdGhlIHBvc3Np
YmlsaXR5IG9mIGludHJvZHVjaW5nIGJ1Z3MuCiAgKi8KIHZvaWQKLWRlZnJvdXRlcl9zZWxlY3Qo
dm9pZCkKK2RlZnJvdXRlcl9zZWxlY3QoaW50IGZpYm51bSkKIHsKIAlzdHJ1Y3QgbmRfZGVmcm91
dGVyICpkciwgKnNlbGVjdGVkX2RyLCAqaW5zdGFsbGVkX2RyOwogCXN0cnVjdCBsbGVudHJ5ICps
biA9IE5VTEw7CkBAIC03NTUsNyArNzU1LDcgQEAKIAlzZWxlY3RlZF9kciA9IGluc3RhbGxlZF9k
ciA9IE5VTEw7CiAJVEFJTFFfRk9SRUFDSChkciwgJlZfbmRfZGVmcm91dGVyLCBkcl9lbnRyeSkg
ewogCQlJRl9BRkRBVEFfUkxPQ0soZHItPmlmcCk7Ci0JCWlmIChzZWxlY3RlZF9kciA9PSBOVUxM
ICYmCisJCWlmIChzZWxlY3RlZF9kciA9PSBOVUxMICYmIGRyLT5pZnAtPmlmX2ZpYiA9PSBmaWJu
dW0gJiYKIAkJICAgIChsbiA9IG5kNl9sb29rdXAoJmRyLT5ydGFkZHIsIDAsIGRyLT5pZnApKSAm
JgogCQkgICAgTkQ2X0lTX0xMSU5GT19QUk9CUkVBQ0gobG4pKSB7CiAJCQlzZWxlY3RlZF9kciA9
IGRyOwpAQCAtNzY3LDcgKzc2Nyw3IEBACiAJCQlsbiA9IE5VTEw7CiAJCX0KIAotCQlpZiAoZHIt
Pmluc3RhbGxlZCkgeworCQlpZiAoZHItPmluc3RhbGxlZCAmJiBkci0+aWZwLT5pZl9maWIgPT0g
ZmlibnVtKSB7CiAJCQlpZiAoaW5zdGFsbGVkX2RyID09IE5VTEwpIHsKIAkJCQlpbnN0YWxsZWRf
ZHIgPSBkcjsKIAkJCQlkZWZyb3V0ZXJfcmVmKGluc3RhbGxlZF9kcik7CkBAIC03ODksMTQgKzc4
OSwyMyBAQAogCWlmIChzZWxlY3RlZF9kciA9PSBOVUxMKSB7CiAJCWlmIChpbnN0YWxsZWRfZHIg
PT0gTlVMTCB8fAogCQkgICAgVEFJTFFfTkVYVChpbnN0YWxsZWRfZHIsIGRyX2VudHJ5KSA9PSBO
VUxMKQotCQkJc2VsZWN0ZWRfZHIgPSBUQUlMUV9GSVJTVCgmVl9uZF9kZWZyb3V0ZXIpOworCQkJ
ZHIgPSBUQUlMUV9GSVJTVCgmVl9uZF9kZWZyb3V0ZXIpOwogCQllbHNlCi0JCQlzZWxlY3RlZF9k
ciA9IFRBSUxRX05FWFQoaW5zdGFsbGVkX2RyLCBkcl9lbnRyeSk7Ci0JCWRlZnJvdXRlcl9yZWYo
c2VsZWN0ZWRfZHIpOworCQkJZHIgPSBUQUlMUV9ORVhUKGluc3RhbGxlZF9kciwgZHJfZW50cnkp
OworCisJCS8qIEVuc3VyZSB3ZSBzZWxlY3QgYSByb3V0ZXIgZm9yIHRoaXMgRklCLiAqLworCQlU
QUlMUV9GT1JFQUNIX0ZST00oZHIsICZWX25kX2RlZnJvdXRlciwgZHJfZW50cnkpIHsKKwkJCWlm
IChkci0+aWZwLT5pZl9maWIgPT0gZmlibnVtKSB7CisJCQkJc2VsZWN0ZWRfZHIgPSBkcjsKKwkJ
CQlkZWZyb3V0ZXJfcmVmKHNlbGVjdGVkX2RyKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQogCX0g
ZWxzZSBpZiAoaW5zdGFsbGVkX2RyICE9IE5VTEwpIHsKIAkJSUZfQUZEQVRBX1JMT0NLKGluc3Rh
bGxlZF9kci0+aWZwKTsKIAkJaWYgKChsbiA9IG5kNl9sb29rdXAoJmluc3RhbGxlZF9kci0+cnRh
ZGRyLCAwLCBpbnN0YWxsZWRfZHItPmlmcCkpICYmCiAJCSAgICBORDZfSVNfTExJTkZPX1BST0JS
RUFDSChsbikgJiYKKwkJICAgIGluc3RhbGxlZF9kci0+aWZwLT5pZl9maWIgPT0gZmlibnVtICYm
CiAJCSAgICBydHByZWYoc2VsZWN0ZWRfZHIpIDw9IHJ0cHJlZihpbnN0YWxsZWRfZHIpKSB7CiAJ
CQlkZWZyb3V0ZXJfcmVsZShzZWxlY3RlZF9kcik7CiAJCQlzZWxlY3RlZF9kciA9IGluc3RhbGxl
ZF9kcjsKQEAgLTgwOCwxOCArODE3LDIwIEBACiAJTkQ2X1JVTkxPQ0soKTsKIAogCS8qCi0JICog
SWYgdGhlIHNlbGVjdGVkIHJvdXRlciBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgaW5zdGFsbGVkIG9u
ZSwKLQkgKiByZW1vdmUgdGhlIGluc3RhbGxlZCByb3V0ZXIgYW5kIGluc3RhbGwgdGhlIHNlbGVj
dGVkIG9uZS4KLQkgKiBOb3RlIHRoYXQgdGhlIHNlbGVjdGVkIHJvdXRlciBpcyBuZXZlciBOVUxM
IGhlcmUuCisJICogSWYgd2Ugc2VsZWN0ZWQgYSByb3V0ZXIgZm9yIHRoaXMgRklCIGFuZCBpdCdz
IGRpZmZlcmVudAorCSAqIHRoYW4gdGhlIGluc3RhbGxlZCBvbmUsIHJlbW92ZSB0aGUgaW5zdGFs
bGVkIHJvdXRlciBhbmQKKwkgKiBpbnN0YWxsIHRoZSBzZWxlY3RlZCBvbmUgaW4gaXRzIHBsYWNl
LgogCSAqLwogCWlmIChpbnN0YWxsZWRfZHIgIT0gc2VsZWN0ZWRfZHIpIHsKIAkJaWYgKGluc3Rh
bGxlZF9kciAhPSBOVUxMKSB7CiAJCQlkZWZyb3V0ZXJfZGVscmVxKGluc3RhbGxlZF9kcik7CiAJ
CQlkZWZyb3V0ZXJfcmVsZShpbnN0YWxsZWRfZHIpOwogCQl9Ci0JCWRlZnJvdXRlcl9hZGRyZXEo
c2VsZWN0ZWRfZHIpOworCQlpZiAoc2VsZWN0ZWRfZHIgIT0gTlVMTCkKKwkJCWRlZnJvdXRlcl9h
ZGRyZXEoc2VsZWN0ZWRfZHIpOwogCX0KLQlkZWZyb3V0ZXJfcmVsZShzZWxlY3RlZF9kcik7CisJ
aWYgKHNlbGVjdGVkX2RyICE9IE5VTEwpCisJCWRlZnJvdXRlcl9yZWxlKHNlbGVjdGVkX2RyKTsK
IH0KIAogLyoKQEAgLTk0Miw3ICs5NTMsNyBAQAogCVZfbmQ2X2xpc3RfZ2VuaWQrKzsKIAlORDZf
V1VOTE9DSygpOwogCi0JZGVmcm91dGVyX3NlbGVjdCgpOworCWRlZnJvdXRlcl9zZWxlY3QobmV3
LT5pZnAtPmlmX2ZpYik7CiAKIAlyZXR1cm4gKG4pOwogfQpAQCAtMTczMyw3ICsxNzQ0LDcgQEAK
IAlzdHJ1Y3QgcnRlbnRyeSAqcnQ7CiAJc3RydWN0IHNvY2thZGRyX2luNiBtYXNrNjsKIAl1X2xv
bmcgcnRmbGFnczsKLQlpbnQgZXJyb3IsIGFfZmFpbHVyZSwgZmlibnVtOworCWludCBlcnJvciwg
YV9mYWlsdXJlLCBmaWJudW0sIG1heGZpYjsKIAogCS8qCiAJICogaW42X2lmaW5pdCgpIHNldHMg
bmQ2X3J0cmVxdWVzdCB0byBpZmFfcnRyZXF1ZXN0IGZvciBhbGwgaWZhZGRycy4KQEAgLTE3NDQs
OCArMTc1NSwxNSBAQAogCW1hc2s2LnNpbjZfYWRkciA9IHByLT5uZHByX21hc2s7CiAJcnRmbGFn
cyA9IChpZmEtPmlmYV9mbGFncyAmIH5JRkFfUlRTRUxGKSB8IFJURl9VUDsKIAorCWlmKHJ0X2Fk
ZF9hZGRyX2FsbGZpYnMpIHsKKwkJZmlibnVtID0gMDsKKwkJbWF4ZmliID0gcnRfbnVtZmliczsK
Kwl9IGVsc2UgeworCQlmaWJudW0gPSBpZmEtPmlmYV9pZnAtPmlmX2ZpYjsKKwkJbWF4ZmliID0g
ZmlibnVtICsgMTsKKwl9CiAJYV9mYWlsdXJlID0gMDsKLQlmb3IgKGZpYm51bSA9IDA7IGZpYm51
bSA8IHJ0X251bWZpYnM7IGZpYm51bSsrKSB7CisJZm9yICg7IGZpYm51bSA8IG1heGZpYjsgZmli
bnVtKyspIHsKIAogCQlydCA9IE5VTEw7CiAJCWVycm9yID0gaW42X3J0cmVxdWVzdChSVE1fQURE
LApAQCAtMTgzMyw2ICsxODUxLDEwIEBACiAJCWlmICgob3ByLT5uZHByX3N0YXRlZmxhZ3MgJiBO
RFBSRl9PTkxJTkspID09IDApCiAJCQljb250aW51ZTsKIAorCQlpZiAoIXJ0X2FkZF9hZGRyX2Fs
bGZpYnMgJiYKKwkJICAgIG9wci0+bmRwcl9pZnAtPmlmX2ZpYiAhPSBwci0+bmRwcl9pZnAtPmlm
X2ZpYikKKwkJCWNvbnRpbnVlOworCiAJCWlmIChvcHItPm5kcHJfcGxlbiA9PSBwci0+bmRwcl9w
bGVuICYmCiAJCSAgICBpbjZfYXJlX3ByZWZpeF9lcXVhbCgmcHItPm5kcHJfcHJlZml4LnNpbjZf
YWRkciwKIAkJICAgICZvcHItPm5kcHJfcHJlZml4LnNpbjZfYWRkciwgcHItPm5kcHJfcGxlbikp
IHsKQEAgLTE4OTMsNyArMTkxNSw3IEBACiAJc3RydWN0IHJ0ZW50cnkgKnJ0OwogCWNoYXIgaXA2
YnVmW0lORVQ2X0FERFJTVFJMRU5dOwogCXVpbnQ2NF90IGdlbmlkOwotCWludCBmaWJudW0sIGFf
ZmFpbHVyZTsKKwlpbnQgZmlibnVtLCBtYXhmaWIsIGFfZmFpbHVyZTsKIAogCU5ENl9PTkxJTktf
TE9DS19BU1NFUlQoKTsKIAlORDZfVU5MT0NLX0FTU0VSVCgpOwpAQCAtMTkxMSw4ICsxOTMzLDE2
IEBACiAJbWFzazYuc2luNl9sZW4gPSBzaXplb2Yoc2E2KTsKIAliY29weSgmcHItPm5kcHJfbWFz
aywgJm1hc2s2LnNpbjZfYWRkciwgc2l6ZW9mKHN0cnVjdCBpbjZfYWRkcikpOwogCisJaWYgKHJ0
X2FkZF9hZGRyX2FsbGZpYnMpIHsKKwkJZmlibnVtID0gMDsKKwkJbWF4ZmliID0gcnRfbnVtZmli
czsKKwl9IGVsc2UgeworCQlmaWJudW0gPSBpZnAtPmlmX2ZpYjsKKwkJbWF4ZmliID0gZmlibnVt
ICsgMTsKKwl9CisKIAlhX2ZhaWx1cmUgPSAwOwotCWZvciAoZmlibnVtID0gMDsgZmlibnVtIDwg
cnRfbnVtZmliczsgZmlibnVtKyspIHsKKwlmb3IgKDsgZmlibnVtIDwgbWF4ZmliOyBmaWJudW0r
KykgewogCQlydCA9IE5VTEw7CiAJCWVycm9yID0gaW42X3J0cmVxdWVzdChSVE1fREVMRVRFLCAo
c3RydWN0IHNvY2thZGRyICopJnNhNiwgTlVMTCwKIAkJICAgIChzdHJ1Y3Qgc29ja2FkZHIgKikm
bWFzazYsIDAsICZydCwgZmlibnVtKTsKZGlmZiAtLWdpdCBhL3N5cy9uZXRpbmV0Ni9uZDZfbmJy
LmMgYi9zeXMvbmV0aW5ldDYvbmQ2X25ici5jCi0tLSBhL3N5cy9uZXRpbmV0Ni9uZDZfbmJyLmMK
KysrIGIvc3lzL25ldGluZXQ2L25kNl9uYnIuYwpAQCAtMjYyLDggKzI2Miw3IEBACiAJCWJ6ZXJv
KCZpbmZvLCBzaXplb2YoaW5mbykpOwogCQlpbmZvLnJ0aV9pbmZvW1JUQVhfR0FURVdBWV0gPSAo
c3RydWN0IHNvY2thZGRyICopJnJ0X2dhdGV3YXk7CiAKLQkJLyogQWx3YXlzIHVzZSB0aGUgZGVm
YXVsdCBGSUIuICovCi0JCWlmIChyaWJfbG9va3VwX2luZm8oUlRfREVGQVVMVF9GSUIsIChzdHJ1
Y3Qgc29ja2FkZHIgKikmZHN0NiwKKwkJaWYgKHJpYl9sb29rdXBfaW5mbyhpZnAtPmlmX2ZpYiwg
KHN0cnVjdCBzb2NrYWRkciAqKSZkc3Q2LAogCQkgICAgMCwgMCwgJmluZm8pID09IDApIHsKIAkJ
CWlmICgoaW5mby5ydGlfZmxhZ3MgJiBSVEZfQU5OT1VOQ0UpICE9IDAgJiYKIAkJCSAgICBydF9n
YXRld2F5LnNkbF9mYW1pbHkgPT0gQUZfTElOSykgewpAQCAtNDg1LDcgKzQ4NCw3IEBACiAJCQl1
aW50MzJfdCBzY29wZWlkOwogCiAJCQlpbjZfc3BsaXRzY29wZSgmaXA2LT5pcDZfZHN0LCAmZHN0
NiwgJnNjb3BlaWQpOwotCQkJZXJyb3IgPSBpbjZfc2VsZWN0c3JjX2FkZHIoUlRfREVGQVVMVF9G
SUIsICZkc3Q2LAorCQkJZXJyb3IgPSBpbjZfc2VsZWN0c3JjX2FkZHIoZmlibnVtLCAmZHN0NiwK
IAkJCSAgICBzY29wZWlkLCBpZnAsICZzcmM2LCBOVUxMKTsKIAkJCWlmIChlcnJvcikgewogCQkJ
CWNoYXIgaXA2YnVmW0lORVQ2X0FERFJTVFJMRU5dOwpAQCAtOTgyLDcgKzk4MSw3IEBACiAJICog
U2VsZWN0IGEgc291cmNlIHdob3NlIHNjb3BlIGlzIHRoZSBzYW1lIGFzIHRoYXQgb2YgdGhlIGRl
c3QuCiAJICovCiAJaW42X3NwbGl0c2NvcGUoJmRhZGRyNiwgJmRzdDYsICZzY29wZWlkKTsKLQll
cnJvciA9IGluNl9zZWxlY3RzcmNfYWRkcihSVF9ERUZBVUxUX0ZJQiwgJmRzdDYsCisJZXJyb3Ig
PSBpbjZfc2VsZWN0c3JjX2FkZHIoZmlibnVtLCAmZHN0NiwKIAkgICAgc2NvcGVpZCwgaWZwLCAm
c3JjNiwgTlVMTCk7CiAJaWYgKGVycm9yKSB7CiAJCWNoYXIgaXA2YnVmW0lORVQ2X0FERFJTVFJM
RU5dOwpkaWZmIC0tZ2l0IGEvc3lzL25ldGluZXQ2L25kNi5oIGIvc3lzL25ldGluZXQ2L25kNi5o
Ci0tLSBhL3N5cy9uZXRpbmV0Ni9uZDYuaAorKysgYi9zeXMvbmV0aW5ldDYvbmQ2LmgKQEAgLTQ2
OSw3ICs0NjksNyBAQAogdm9pZCBuZDZfcnNfaW5wdXQoc3RydWN0IG1idWYgKiwgaW50LCBpbnQp
Owogdm9pZCBuZDZfcmFfaW5wdXQoc3RydWN0IG1idWYgKiwgaW50LCBpbnQpOwogdm9pZCBkZWZy
b3V0ZXJfcmVzZXQodm9pZCk7Ci12b2lkIGRlZnJvdXRlcl9zZWxlY3Qodm9pZCk7Cit2b2lkIGRl
ZnJvdXRlcl9zZWxlY3QoaW50IGZpYm51bSk7CiB2b2lkIGRlZnJvdXRlcl9yZWYoc3RydWN0IG5k
X2RlZnJvdXRlciAqKTsKIHZvaWQgZGVmcm91dGVyX3JlbGUoc3RydWN0IG5kX2RlZnJvdXRlciAq
KTsKIGJvb2wgZGVmcm91dGVyX3JlbW92ZShzdHJ1Y3QgaW42X2FkZHIgKiwgc3RydWN0IGlmbmV0
ICopOwpkaWZmIC0tZ2l0IGEvc3lzL25ldGluZXQ2L25kNi5jIGIvc3lzL25ldGluZXQ2L25kNi5j
Ci0tLSBhL3N5cy9uZXRpbmV0Ni9uZDYuYworKysgYi9zeXMvbmV0aW5ldDYvbmQ2LmMKQEAgLTE1
Nyw2ICsxNTcsNyBAQAogCXN0cnVjdCBzb2NrYWRkcl9kbCBndzsKIAlzdHJ1Y3QgaWZuZXQgKmlm
cDsKIAlpbnQgdHlwZTsKKwlpbnQgZmlibnVtOwogCiAJTExFX1dMT0NLX0FTU0VSVChsbGUpOwog
CkBAIC0xOTQsOCArMTk1LDkgQEAKIAlydGluZm8ucnRpX2luZm9bUlRBWF9EU1RdID0gKHN0cnVj
dCBzb2NrYWRkciAqKSZkc3Q7CiAJcnRpbmZvLnJ0aV9pbmZvW1JUQVhfR0FURVdBWV0gPSAoc3Ry
dWN0IHNvY2thZGRyICopJmd3OwogCXJ0aW5mby5ydGlfYWRkcnMgPSBSVEFfRFNUIHwgUlRBX0dB
VEVXQVk7CisJZmlibnVtID0gcnRfYWRkX2FkZHJfYWxsZmlicyA/IFJUX0FMTF9GSUJTIDogaWZw
LT5pZl9maWI7CiAJcnRfbWlzc21zZ19maWIodHlwZSwgJnJ0aW5mbywgUlRGX0hPU1QgfCBSVEZf
TExEQVRBIHwgKAotCSAgICB0eXBlID09IFJUTV9BREQgPyBSVEZfVVA6IDApLCAwLCBSVF9ERUZB
VUxUX0ZJQik7CisJICAgIHR5cGUgPT0gUlRNX0FERCA/IFJURl9VUDogMCksIDAsIGZpYm51bSk7
CiB9CiAKIC8qCkBAIC0xMjA0LDcgKzEyMDYsNyBAQAogCiAJaWYgKE5EX0lGSU5GTyhpZnApLT5m
bGFncyAmIE5ENl9JRkZfQUNDRVBUX1JUQURWKSB7CiAJCS8qIFJlZnJlc2ggZGVmYXVsdCByb3V0
ZXIgbGlzdC4gKi8KLQkJZGVmcm91dGVyX3NlbGVjdCgpOworCQlkZWZyb3V0ZXJfc2VsZWN0KGlm
cC0+aWZfZmliKTsKIAl9CiB9CiAKQEAgLTEyOTAsOSArMTI5Miw3IEBACiAJYnplcm8oJnJ0X2tl
eSwgc2l6ZW9mKHJ0X2tleSkpOwogCWJ6ZXJvKCZpbmZvLCBzaXplb2YoaW5mbykpOwogCWluZm8u
cnRpX2luZm9bUlRBWF9EU1RdID0gKHN0cnVjdCBzb2NrYWRkciAqKSZydF9rZXk7Ci0KLQkvKiBB
bHdheXMgdXNlIHRoZSBkZWZhdWx0IEZJQiBoZXJlLiBYWE1FIC0gd2h5PyAqLwotCWZpYm51bSA9
IFJUX0RFRkFVTFRfRklCOworCWZpYm51bSA9IGlmcC0+aWZfZmliOwogCiAJLyoKIAkgKiBJZiB0
aGUgYWRkcmVzcyBtYXRjaGVzIG9uZSBvZiBvdXIgYWRkcmVzc2VzLApAQCAtMTUxNCw3ICsxNTE0
LDcgQEAKIAkJCS8qCiAJCQkgKiBSZWZyZXNoIGRlZmF1bHQgcm91dGVyIGxpc3QuCiAJCQkgKi8K
LQkJCWRlZnJvdXRlcl9zZWxlY3QoKTsKKwkJCWRlZnJvdXRlcl9zZWxlY3QoZHItPmlmcC0+aWZf
ZmliKTsKIAkJfQogCiAJCS8qCkBAIC0xNzcwLDcgKzE3NzAsOCBAQAogCWNhc2UgU0lPQ1NOREZM
VVNIX0lONjoJLyogWFhYOiB0aGUgaW9jdGwgbmFtZSBpcyBjb25mdXNpbmcuLi4gKi8KIAkJLyog
c3luYyBrZXJuZWwgcm91dGluZyB0YWJsZSB3aXRoIHRoZSBkZWZhdWx0IHJvdXRlciBsaXN0ICov
CiAJCWRlZnJvdXRlcl9yZXNldCgpOwotCQlkZWZyb3V0ZXJfc2VsZWN0KCk7CisJCWZvciAoaW50
IGZpYm51bSA9IDA7IGZpYm51bSA8IHJ0X251bWZpYnM7IGZpYm51bSsrKQorCQkJZGVmcm91dGVy
X3NlbGVjdChmaWJudW0pOwogCQlicmVhazsKIAljYXNlIFNJT0NTUEZYRkxVU0hfSU42OgogCXsK
QEAgLTE4MjMsNyArMTgyNCw4IEBACiAJCQlkZWZyb3V0ZXJfZGVsKGRyKTsKIAkJfQogCi0JCWRl
ZnJvdXRlcl9zZWxlY3QoKTsKKwkJZm9yIChpbnQgZmlibnVtID0gMDsgZmlibnVtIDwgcnRfbnVt
ZmliczsgZmlibnVtKyspCisJCQlkZWZyb3V0ZXJfc2VsZWN0KGZpYm51bSk7CiAJCWJyZWFrOwog
CX0KIAljYXNlIFNJT0NHTkJSSU5GT19JTjY6CkBAIC0yMTIxLDcgKzIxMjMsNyBAQAogCQkvKgog
CQkgKiBndWFyYW50ZWVkIHJlY3Vyc2lvbgogCQkgKi8KLQkJZGVmcm91dGVyX3NlbGVjdCgpOwor
CQlkZWZyb3V0ZXJfc2VsZWN0KGlmcC0+aWZfZmliKTsKIAl9CiB9CiAKZGlmZiAtLWdpdCBhL3N5
cy9uZXRpbmV0Ni9pbjZfc3JjLmMgYi9zeXMvbmV0aW5ldDYvaW42X3NyYy5jCi0tLSBhL3N5cy9u
ZXRpbmV0Ni9pbjZfc3JjLmMKKysrIGIvc3lzL25ldGluZXQ2L2luNl9zcmMuYwpAQCAtMjk3LDcg
KzI5Nyw3IEBACiAJICovCiAJLyogZ2V0IHRoZSBvdXRnb2luZyBpbnRlcmZhY2UgKi8KIAlpZiAo
KGVycm9yID0gaW42X3NlbGVjdGlmKGRzdHNvY2ssIG9wdHMsIG1vcHRzLCAmaWZwLCBvaWZwLAot
CSAgICAoaW5wICE9IE5VTEwpID8gaW5wLT5pbnBfaW5jLmluY19maWJudW0gOiBSVF9ERUZBVUxU
X0ZJQikpICE9IDApCisJICAgIChpbnAgIT0gTlVMTCkgPyBpbnAtPmlucF9pbmMuaW5jX2ZpYm51
bSA6IGZpYm51bSkpICE9IDApCiAJCXJldHVybiAoZXJyb3IpOwogCiAjaWZkZWYgRElBR05PU1RJ
QwpkaWZmIC0tZ2l0IGEvc3lzL25ldGluZXQ2L2luNi5jIGIvc3lzL25ldGluZXQ2L2luNi5jCi0t
LSBhL3N5cy9uZXRpbmV0Ni9pbjYuYworKysgYi9zeXMvbmV0aW5ldDYvaW42LmMKQEAgLTE1OSw2
ICsxNTksNyBAQAogCXN0cnVjdCBzb2NrYWRkcl9kbCBnYXRld2F5OwogCXN0cnVjdCBzb2NrYWRk
cl9pbjYgbWFzaywgYWRkcjsKIAlzdHJ1Y3QgcnRlbnRyeSBydDsKKwlpbnQgZmlibnVtOwogCiAJ
LyoKIAkgKiBpbml0aWFsaXplIGZvciBydG1zZyBnZW5lcmF0aW9uCkBAIC0xNzYsOCArMTc3LDkg
QEAKIAlydC5ydF9mbGFncyA9IFJURl9IT1NUIHwgUlRGX1NUQVRJQzsKIAlpZiAoY21kID09IFJU
TV9BREQpCiAJCXJ0LnJ0X2ZsYWdzIHw9IFJURl9VUDsKLQkvKiBBbm5vdW5jZSBhcnJpdmFsIG9m
IGxvY2FsIGFkZHJlc3MgdG8gYWxsIEZJQnMuICovCi0JcnRfbmV3YWRkcm1zZyhjbWQsICZpYS0+
aWFfaWZhLCAwLCAmcnQpOworCWZpYm51bSA9IHJ0X2FkZF9hZGRyX2FsbGZpYnMgPyBSVF9BTExf
RklCUyA6IGlhNjJpZmEoaWEpLT5pZmFfaWZwLT5pZl9maWI7CisJLyogQW5ub3VuY2UgYXJyaXZh
bCBvZiBsb2NhbCBhZGRyZXNzIHRvIHRoaXMgRklCLiAqLworCXJ0X25ld2FkZHJtc2dfZmliKGNt
ZCwgJmlhLT5pYV9pZmEsIDAsICZydCwgZmlibnVtKTsKIH0KIAogaW50CkBAIC0yMTE1LDE1ICsy
MTE3LDE1IEBACiAJdWludDMyX3Qgc2NvcGVpZDsKIAlpbnQgZXJyb3I7CiAJY2hhciBpcDZidWZb
SU5FVDZfQUREUlNUUkxFTl07CisJaW50IGZpYm51bTsKIAogCUtBU1NFUlQobDNhZGRyLT5zYV9m
YW1pbHkgPT0gQUZfSU5FVDYsCiAJICAgICgic2luX2ZhbWlseSAlZCIsIGwzYWRkci0+c2FfZmFt
aWx5KSk7CiAKLQkvKiBPdXIgbG9jYWwgYWRkcmVzc2VzIGFyZSBhbHdheXMgb25seSBpbnN0YWxs
ZWQgb24gdGhlIGRlZmF1bHQgRklCLiAqLwotCiAJc2luNiA9IChjb25zdCBzdHJ1Y3Qgc29ja2Fk
ZHJfaW42ICopbDNhZGRyOwogCWluNl9zcGxpdHNjb3BlKCZzaW42LT5zaW42X2FkZHIsICZkc3Qs
ICZzY29wZWlkKTsKLQllcnJvciA9IGZpYjZfbG9va3VwX25oX2Jhc2ljKFJUX0RFRkFVTFRfRklC
LCAmZHN0LCBzY29wZWlkLCAwLCAwLCAmbmg2KTsKKwlmaWJudW0gPSBydF9hZGRfYWRkcl9hbGxm
aWJzID8gUlRfREVGQVVMVF9GSUIgOiBpZnAtPmlmX2ZpYjsKKwllcnJvciA9IGZpYjZfbG9va3Vw
X25oX2Jhc2ljKGZpYm51bSwgJmRzdCwgc2NvcGVpZCwgMCwgMCwgJm5oNik7CiAJaWYgKGVycm9y
ICE9IDAgfHwgKG5oNi5uaF9mbGFncyAmIE5IRl9HQVRFV0FZKSB8fCBuaDYubmhfaWZwICE9IGlm
cCkgewogCQlzdHJ1Y3QgaWZhZGRyICppZmE7CiAJCS8qCmRpZmYgLS1naXQgYS9zeXMvbmV0aW5l
dDYvaWNtcDYuYyBiL3N5cy9uZXRpbmV0Ni9pY21wNi5jCi0tLSBhL3N5cy9uZXRpbmV0Ni9pY21w
Ni5jCisrKyBiL3N5cy9uZXRpbmV0Ni9pY21wNi5jCkBAIC0yMDY0LDYgKzIwNjQsNyBAQAogCXN0
cnVjdCBpZm5ldCAqb3V0aWYgPSBOVUxMOwogCWludCBwbGVuOwogCWludCB0eXBlLCBjb2RlLCBo
bGltOworCWludCBmaWJudW07CiAKIAkvKiB0b28gc2hvcnQgdG8gcmVmbGVjdCAqLwogCWlmIChv
ZmYgPCBzaXplb2Yoc3RydWN0IGlwNl9oZHIpKSB7CkBAIC0yMTM2LDYgKzIxMzcsMTQgQEAKIAkJ
CWlmYV9mcmVlKCZpYS0+aWFfaWZhKTsKIAl9CiAKKwlpYSA9IGluNmlmYV9pZndpdGhhZGRyKCZp
cDYtPmlwNl9kc3QsIDAgLyogWFhYICovKTsKKwlpZiAoaWEgIT0gTlVMTCkgeworCQlmaWJudW0g
PSBpYS0+aWFfaWZwLT5pZl9maWI7CisJCWlmYV9mcmVlKCZpYS0+aWFfaWZhKTsKKwl9IGVsc2UK
KwkJZmlibnVtID0gUlRfREVGQVVMVF9GSUI7CisJTV9TRVRGSUIobSwgZmlibnVtKTsKKwogCWlm
IChzcmNwID09IE5VTEwpIHsKIAkJaW50IGVycm9yOwogCQlzdHJ1Y3QgaW42X2FkZHIgZHN0NjsK
QEAgLTIxNDcsNyArMjE1Niw3IEBACiAJCSAqIHNvdXJjZSBhZGRyZXNzIG9mIHRoZSBlcnJvbmVv
dXMgcGFja2V0LgogCQkgKi8KIAkJaW42X3NwbGl0c2NvcGUoJmlwNi0+aXA2X3NyYywgJmRzdDYs
ICZzY29wZWlkKTsKLQkJZXJyb3IgPSBpbjZfc2VsZWN0c3JjX2FkZHIoUlRfREVGQVVMVF9GSUIs
ICZkc3Q2LAorCQllcnJvciA9IGluNl9zZWxlY3RzcmNfYWRkcihmaWJudW0sICZkc3Q2LAogCQkg
ICAgc2NvcGVpZCwgTlVMTCwgJnNyYzYsICZobGltKTsKIAogCQlpZiAoZXJyb3IpIHsKQEAgLTIy
ODksNyArMjI5OCw3IEBACiAJdWludDMyX3Qgc2NvcGVpZDsKIAogCWluNl9zcGxpdHNjb3BlKCZy
ZWRkc3Q2LCAma2RzdCwgJnNjb3BlaWQpOwotCWlmIChmaWI2X2xvb2t1cF9uaF9iYXNpYyhSVF9E
RUZBVUxUX0ZJQiwgJmtkc3QsIHNjb3BlaWQsIDAsIDAsJm5oNik9PTApeworCWlmIChmaWI2X2xv
b2t1cF9uaF9iYXNpYyhpZnAtPmlmX2ZpYiwgJmtkc3QsIHNjb3BlaWQsIDAsIDAsJm5oNik9PTAp
ewogCQlpZiAoKG5oNi5uaF9mbGFncyAmIE5IRl9HQVRFV0FZKSA9PSAwKSB7CiAJCQluZDZsb2co
KExPR19FUlIsCiAJCQkgICAgIklDTVA2IHJlZGlyZWN0IHJlamVjdGVkOyBubyByb3V0ZSAiCmRp
ZmYgLS1naXQgYS9zeXMvbmV0L3JvdXRlLmMgYi9zeXMvbmV0L3JvdXRlLmMKLS0tIGEvc3lzL25l
dC9yb3V0ZS5jCisrKyBiL3N5cy9uZXQvcm91dGUuYwpAQCAtMjIyMSw3ICsyMjIxLDcgQEAKIAlj
YXNlIEFGX0lORVQ2OgogCWNhc2UgQUZfSU5FVDoKIAkJLyogV2UgZG8gc3VwcG9ydCBtdWx0aXBs
ZSBGSUJzLiAqLwotCQlmaWIgPSBSVF9BTExfRklCUzsKKwkJZmliID0gcnRfYWRkX2FkZHJfYWxs
ZmlicyA/IFJUX0FMTF9GSUJTIDogaWZhLT5pZmFfaWZwLT5pZl9maWI7CiAJCWJyZWFrOwogCX0K
IAlyZXR1cm4gKHJ0aW5pdDEoaWZhLCBjbWQsIGZsYWdzLCBmaWIpKTsKCg==


--b1_cf53400cd4a7c8d741c0c224ba2d23ca--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?differential-rev-PHID-DREV-xl62ljmjgot45obmsgfw-req>