Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Feb 2017 05:12:08 +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:  <a475e4b4828ec690159525d61ab99c0a@localhost.localdomain>
In-Reply-To: <differential-rev-PHID-DREV-xl62ljmjgot45obmsgfw-req@FreeBSD.org>
References:  <differential-rev-PHID-DREV-xl62ljmjgot45obmsgfw-req@FreeBSD.org>

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

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

amh1amhpdGlfYWRqZWN0aXZpc20ub3JnIHVwZGF0ZWQgdGhlIHN1bW1hcnkgZm9yIHRoaXMgcmV2
aXNpb24uCmpodWpoaXRpX2FkamVjdGl2aXNtLm9yZyB1cGRhdGVkIHRoaXMgcmV2aXNpb24gdG8g
RGlmZiAyNTUxMi4Kamh1amhpdGlfYWRqZWN0aXZpc20ub3JnIG1hcmtlZCAxMyBpbmxpbmUgY29t
bWVudHMgYXMgZG9uZS4KClJFUE9TSVRPUlkKICByUyBGcmVlQlNEIHNyYyByZXBvc2l0b3J5CgpD
SEFOR0VTIFNJTkNFIExBU1QgVVBEQVRFCiAgaHR0cHM6Ly9yZXZpZXdzLmZyZWVic2Qub3JnL0Q5
NDUxP3ZzPTI0NzgyJmlkPTI1NTEyCgpSRVZJU0lPTiBERVRBSUwKICBodHRwczovL3Jldmlld3Mu
ZnJlZWJzZC5vcmcvRDk0NTEKCkFGRkVDVEVEIEZJTEVTCiAgc3lzL25ldGluZXQ2L2ljbXA2LmMK
ICBzeXMvbmV0aW5ldDYvaW42LmMKICBzeXMvbmV0aW5ldDYvaW42X3NyYy5jCiAgc3lzL25ldGlu
ZXQ2L25kNi5jCiAgc3lzL25ldGluZXQ2L25kNi5oCiAgc3lzL25ldGluZXQ2L25kNl9uYnIuYwog
IHN5cy9uZXRpbmV0Ni9uZDZfcnRyLmMKCkVNQUlMIFBSRUZFUkVOQ0VTCiAgaHR0cHM6Ly9yZXZp
ZXdzLmZyZWVic2Qub3JnL3NldHRpbmdzL3BhbmVsL2VtYWlscHJlZmVyZW5jZXMvCgpUbzogamh1
amhpdGlfYWRqZWN0aXZpc20ub3JnLCAjbmV0d29yaywgYnosIGFzb21lcnMKQ2M6IGpjaCwgYnos
IGltcCwgYWUsIGZyZWVic2QtbmV0LWxpc3QK

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

ZGlmZiAtLWdpdCBhL3N5cy9uZXRpbmV0Ni9uZDZfcnRyLmMgYi9zeXMvbmV0aW5ldDYvbmQ2X3J0
ci5jCi0tLSBhL3N5cy9uZXRpbmV0Ni9uZDZfcnRyLmMKKysrIGIvc3lzL25ldGluZXQ2L25kNl9y
dHIuYwpAQCAtNTAwLDcgKzUwMCw3IEBACiAKIAllcnJvciA9IGluNl9ydHJlcXVlc3QoUlRNX0FE
RCwgKHN0cnVjdCBzb2NrYWRkciAqKSZkZWYsCiAJICAgIChzdHJ1Y3Qgc29ja2FkZHIgKikmZ2F0
ZSwgKHN0cnVjdCBzb2NrYWRkciAqKSZtYXNrLAotCSAgICBSVEZfR0FURVdBWSwgJm5ld3J0LCBS
VF9ERUZBVUxUX0ZJQik7CisJICAgIFJURl9HQVRFV0FZLCAmbmV3cnQsIG5ldy0+aWZwLT5pZl9m
aWIpOwogCWlmIChuZXdydCkgewogCQluZDZfcnRtc2coUlRNX0FERCwgbmV3cnQpOyAvKiB0ZWxs
IHVzZXIgcHJvY2VzcyAqLwogCQlSVEZSRUUobmV3cnQpOwpAQCAtNTUxLDggKzU1MSw4IEBACiAK
IC8qCiAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgcm91dGUgZm9yIGEgZ2l2ZW4gcm91dGVyLgotICog
VGhpcyBpcyBqdXN0IGEgc3Vicm91dGluZSBmdW5jdGlvbiBmb3IgZGVmcm91dGVyX3NlbGVjdCgp
LCBhbmQgc2hvdWxkCi0gKiBub3QgYmUgY2FsbGVkIGZyb20gYW55d2hlcmUgZWxzZS4KKyAqIFRo
aXMgaXMganVzdCBhIHN1YnJvdXRpbmUgZnVuY3Rpb24gZm9yIGRlZnJvdXRlcl9zZWxlY3RfZmli
KCksIGFuZAorICogc2hvdWxkIG5vdCBiZSBjYWxsZWQgZnJvbSBhbnl3aGVyZSBlbHNlLgogICov
CiBzdGF0aWMgdm9pZAogZGVmcm91dGVyX2RlbHJlcShzdHJ1Y3QgbmRfZGVmcm91dGVyICpkcikK
QEAgLTU3MSw3ICs1NzEsNyBAQAogCiAJaW42X3J0cmVxdWVzdChSVE1fREVMRVRFLCAoc3RydWN0
IHNvY2thZGRyICopJmRlZiwKIAkgICAgKHN0cnVjdCBzb2NrYWRkciAqKSZnYXRlLAotCSAgICAo
c3RydWN0IHNvY2thZGRyICopJm1hc2ssIFJURl9HQVRFV0FZLCAmb2xkcnQsIFJUX0RFRkFVTFRf
RklCKTsKKwkgICAgKHN0cnVjdCBzb2NrYWRkciAqKSZtYXNrLCBSVEZfR0FURVdBWSwgJm9sZHJ0
LCBkci0+aWZwLT5pZl9maWIpOwogCWlmIChvbGRydCkgewogCQluZDZfcnRtc2coUlRNX0RFTEVU
RSwgb2xkcnQpOwogCQlSVEZSRUUob2xkcnQpOwpAQCAtNjk4LDExICs2OTgsMTEgQEAKIAogCS8q
CiAJICogSWYgdGhlIHJvdXRlciBpcyB0aGUgcHJpbWFyeSBvbmUsIGNob29zZSBhIG5ldyBvbmUu
Ci0JICogTm90ZSB0aGF0IGRlZnJvdXRlcl9zZWxlY3QoKSB3aWxsIHJlbW92ZSB0aGUgY3VycmVu
dCBnYXRld2F5Ci0JICogZnJvbSB0aGUgcm91dGluZyB0YWJsZS4KKwkgKiBOb3RlIHRoYXQgZGVm
cm91dGVyX3NlbGVjdF9maWIoKSB3aWxsIHJlbW92ZSB0aGUgY3VycmVudAorICAgICAgICAgKiBn
YXRld2F5IGZyb20gdGhlIHJvdXRpbmcgdGFibGUuCiAJICovCiAJaWYgKGRlbGRyKQotCQlkZWZy
b3V0ZXJfc2VsZWN0KCk7CisJCWRlZnJvdXRlcl9zZWxlY3RfZmliKGRlbGRyLT5pZnAtPmlmX2Zp
Yik7CiAKIAkvKgogCSAqIFJlbGVhc2UgdGhlIGxpc3QgcmVmZXJlbmNlLgpAQCAtNzMwLDEzICs3
MzAsMjMgQEAKICAqIGV2ZW4gd2hlbiB0aGUgbXVsdGlwYXRoIHJvdXRpbmcgaXMgYXZhaWxhYmxl
LCBiZWNhdXNlIHdlJ3JlIG5vdCBzdXJlIGFib3V0CiAgKiB0aGUgYmVuZWZpdHMgZm9yIHN0dWIg
aG9zdHMgY29tcGFyaW5nIHRvIHRoZSByaXNrIG9mIG1ha2luZyB0aGUgY29kZQogICogY29tcGxp
Y2F0ZWQgYW5kIHRoZSBwb3NzaWJpbGl0eSBvZiBpbnRyb2R1Y2luZyBidWdzLgorICoKKyAqIFdl
IG1haW50YWluIGEgc2luZ2xlIGxpc3Qgb2Ygcm91dGVycyBmb3IgbXVsdGlwbGUgRklCcywgb25s
eSBjb25zaWRlcmluZyBvbmUKKyAqIGF0IGEgdGltZSBiYXNlZCBvbiB0aGUgcmVjZWl2aW5nIGlu
dGVyZmFjZSdzIEZJQi4gSWYgQGZpYm51bSBpcyBSVF9BTExfRklCUywKKyAqIHdlIGRvIHRoZSB3
aG9sZSB0aGluZyBtdWx0aXBsZSB0aW1lcy4KICAqLwogdm9pZAotZGVmcm91dGVyX3NlbGVjdCh2
b2lkKQorZGVmcm91dGVyX3NlbGVjdF9maWIoaW50IGZpYm51bSkKIHsKIAlzdHJ1Y3QgbmRfZGVm
cm91dGVyICpkciwgKnNlbGVjdGVkX2RyLCAqaW5zdGFsbGVkX2RyOwogCXN0cnVjdCBsbGVudHJ5
ICpsbiA9IE5VTEw7CiAKKwlpZiAoZmlibnVtID09IFJUX0FMTF9GSUJTKSB7CisJCWZvciAoZmli
bnVtID0gMDsgZmlibnVtIDwgcnRfbnVtZmliczsgZmlibnVtKyspIHsKKwkJCWRlZnJvdXRlcl9z
ZWxlY3RfZmliKGZpYm51bSk7CisJCX0KKwl9CisKIAlORDZfUkxPQ0soKTsKIAkvKgogCSAqIExl
dCdzIGhhbmRsZSBlYXN5IGNhc2UgKDMpIGZpcnN0OgpAQCAtNzU1LDcgKzc2NSw3IEBACiAJc2Vs
ZWN0ZWRfZHIgPSBpbnN0YWxsZWRfZHIgPSBOVUxMOwogCVRBSUxRX0ZPUkVBQ0goZHIsICZWX25k
X2RlZnJvdXRlciwgZHJfZW50cnkpIHsKIAkJSUZfQUZEQVRBX1JMT0NLKGRyLT5pZnApOwotCQlp
ZiAoc2VsZWN0ZWRfZHIgPT0gTlVMTCAmJgorCQlpZiAoc2VsZWN0ZWRfZHIgPT0gTlVMTCAmJiBk
ci0+aWZwLT5pZl9maWIgPT0gZmlibnVtICYmCiAJCSAgICAobG4gPSBuZDZfbG9va3VwKCZkci0+
cnRhZGRyLCAwLCBkci0+aWZwKSkgJiYKIAkJICAgIE5ENl9JU19MTElORk9fUFJPQlJFQUNIKGxu
KSkgewogCQkJc2VsZWN0ZWRfZHIgPSBkcjsKQEAgLTc2NywxNCArNzc3LDE3IEBACiAJCQlsbiA9
IE5VTEw7CiAJCX0KIAotCQlpZiAoZHItPmluc3RhbGxlZCkgeworCQlpZiAoZHItPmluc3RhbGxl
ZCAmJiBkci0+aWZwLT5pZl9maWIgPT0gZmlibnVtKSB7CiAJCQlpZiAoaW5zdGFsbGVkX2RyID09
IE5VTEwpIHsKIAkJCQlpbnN0YWxsZWRfZHIgPSBkcjsKIAkJCQlkZWZyb3V0ZXJfcmVmKGluc3Rh
bGxlZF9kcik7CiAJCQl9IGVsc2UgewotCQkJCS8qIHRoaXMgc2hvdWxkIG5vdCBoYXBwZW4uICB3
YXJuIGZvciBkaWFnbm9zaXMuICovCi0JCQkJbG9nKExPR19FUlIsCi0JCSAgICAiZGVmcm91dGVy
X3NlbGVjdDogbW9yZSB0aGFuIG9uZSByb3V0ZXIgaXMgaW5zdGFsbGVkXG4iKTsKKwkJCQkvKgor
CQkJCSAqIHRoaXMgc2hvdWxkIG5vdCBoYXBwZW4uCisJCQkJICogd2FybiBmb3IgZGlhZ25vc2lz
LgorCQkJCSAqLworCQkJCWxvZyhMT0dfRVJSLCAiZGVmcm91dGVyX3NlbGVjdF9maWI6IG1vcmUg
dGhhbiAiCisJCQkJICAgICAgICAgICAgICJvbmUgcm91dGVyIGlzIGluc3RhbGxlZFxuIik7CiAJ
CQl9CiAJCX0KIAl9CkBAIC03ODksMTQgKzgwMiwyNCBAQAogCWlmIChzZWxlY3RlZF9kciA9PSBO
VUxMKSB7CiAJCWlmIChpbnN0YWxsZWRfZHIgPT0gTlVMTCB8fAogCQkgICAgVEFJTFFfTkVYVChp
bnN0YWxsZWRfZHIsIGRyX2VudHJ5KSA9PSBOVUxMKQotCQkJc2VsZWN0ZWRfZHIgPSBUQUlMUV9G
SVJTVCgmVl9uZF9kZWZyb3V0ZXIpOworCQkJZHIgPSBUQUlMUV9GSVJTVCgmVl9uZF9kZWZyb3V0
ZXIpOwogCQllbHNlCi0JCQlzZWxlY3RlZF9kciA9IFRBSUxRX05FWFQoaW5zdGFsbGVkX2RyLCBk
cl9lbnRyeSk7Ci0JCWRlZnJvdXRlcl9yZWYoc2VsZWN0ZWRfZHIpOworCQkJZHIgPSBUQUlMUV9O
RVhUKGluc3RhbGxlZF9kciwgZHJfZW50cnkpOworCisJCS8qIEVuc3VyZSB3ZSBzZWxlY3QgYSBy
b3V0ZXIgZm9yIHRoaXMgRklCLiAqLworCQlUQUlMUV9GT1JFQUNIX0ZST00oZHIsICZWX25kX2Rl
ZnJvdXRlciwgZHJfZW50cnkpIHsKKwkJCWlmIChkci0+aWZwLT5pZl9maWIgPT0gZmlibnVtKSB7
CisJCQkJc2VsZWN0ZWRfZHIgPSBkcjsKKwkJCQlkZWZyb3V0ZXJfcmVmKHNlbGVjdGVkX2RyKTsK
KwkJCQlicmVhazsKKwkJCX0KKwkJfQogCX0gZWxzZSBpZiAoaW5zdGFsbGVkX2RyICE9IE5VTEwp
IHsKIAkJSUZfQUZEQVRBX1JMT0NLKGluc3RhbGxlZF9kci0+aWZwKTsKLQkJaWYgKChsbiA9IG5k
Nl9sb29rdXAoJmluc3RhbGxlZF9kci0+cnRhZGRyLCAwLCBpbnN0YWxsZWRfZHItPmlmcCkpICYm
CisJCWlmICgobG4gPSBuZDZfbG9va3VwKCZpbnN0YWxsZWRfZHItPnJ0YWRkciwgMCwKKwkJICAg
ICAgICAgICAgICAgICAgICAgaW5zdGFsbGVkX2RyLT5pZnApKSAmJgogCQkgICAgTkQ2X0lTX0xM
SU5GT19QUk9CUkVBQ0gobG4pICYmCisJCSAgICBpbnN0YWxsZWRfZHItPmlmcC0+aWZfZmliID09
IGZpYm51bSAmJgogCQkgICAgcnRwcmVmKHNlbGVjdGVkX2RyKSA8PSBydHByZWYoaW5zdGFsbGVk
X2RyKSkgewogCQkJZGVmcm91dGVyX3JlbGUoc2VsZWN0ZWRfZHIpOwogCQkJc2VsZWN0ZWRfZHIg
PSBpbnN0YWxsZWRfZHI7CkBAIC04MDgsMTggKzgzMSwzMCBAQAogCU5ENl9SVU5MT0NLKCk7CiAK
IAkvKgotCSAqIElmIHRoZSBzZWxlY3RlZCByb3V0ZXIgaXMgZGlmZmVyZW50IHRoYW4gdGhlIGlu
c3RhbGxlZCBvbmUsCi0JICogcmVtb3ZlIHRoZSBpbnN0YWxsZWQgcm91dGVyIGFuZCBpbnN0YWxs
IHRoZSBzZWxlY3RlZCBvbmUuCi0JICogTm90ZSB0aGF0IHRoZSBzZWxlY3RlZCByb3V0ZXIgaXMg
bmV2ZXIgTlVMTCBoZXJlLgorCSAqIElmIHdlIHNlbGVjdGVkIGEgcm91dGVyIGZvciB0aGlzIEZJ
QiBhbmQgaXQncyBkaWZmZXJlbnQKKwkgKiB0aGFuIHRoZSBpbnN0YWxsZWQgb25lLCByZW1vdmUg
dGhlIGluc3RhbGxlZCByb3V0ZXIgYW5kCisJICogaW5zdGFsbCB0aGUgc2VsZWN0ZWQgb25lIGlu
IGl0cyBwbGFjZS4KIAkgKi8KIAlpZiAoaW5zdGFsbGVkX2RyICE9IHNlbGVjdGVkX2RyKSB7CiAJ
CWlmIChpbnN0YWxsZWRfZHIgIT0gTlVMTCkgewogCQkJZGVmcm91dGVyX2RlbHJlcShpbnN0YWxs
ZWRfZHIpOwogCQkJZGVmcm91dGVyX3JlbGUoaW5zdGFsbGVkX2RyKTsKIAkJfQotCQlkZWZyb3V0
ZXJfYWRkcmVxKHNlbGVjdGVkX2RyKTsKKwkJaWYgKHNlbGVjdGVkX2RyICE9IE5VTEwpCisJCQlk
ZWZyb3V0ZXJfYWRkcmVxKHNlbGVjdGVkX2RyKTsKIAl9Ci0JZGVmcm91dGVyX3JlbGUoc2VsZWN0
ZWRfZHIpOworCWlmIChzZWxlY3RlZF9kciAhPSBOVUxMKQorCQlkZWZyb3V0ZXJfcmVsZShzZWxl
Y3RlZF9kcik7Cit9CisKKy8qCisgKiBNYWludGFpbiBvbGQgS1BJIGZvciBkZWZhdWx0IHJvdXRl
ciBzZWxlY3Rpb24uCisgKiBJZiB1bnNwZWNpZmllZCwgd2UgY2FuIHJlLXNlbGVjdCByb3V0ZXJz
IGZvciBhbGwgRklCcy4KKyAqLwordm9pZAorZGVmcm91dGVyX3NlbGVjdCh2b2lkKQoreworCWRl
ZnJvdXRlcl9zZWxlY3RfZmliKFJUX0FMTF9GSUJTKTsKIH0KIAogLyoKQEAgLTk0Miw3ICs5Nzcs
NyBAQAogCVZfbmQ2X2xpc3RfZ2VuaWQrKzsKIAlORDZfV1VOTE9DSygpOwogCi0JZGVmcm91dGVy
X3NlbGVjdCgpOworCWRlZnJvdXRlcl9zZWxlY3RfZmliKG5ldy0+aWZwLT5pZl9maWIpOwogCiAJ
cmV0dXJuIChuKTsKIH0KQEAgLTE3MzMsNyArMTc2OCw3IEBACiAJc3RydWN0IHJ0ZW50cnkgKnJ0
OwogCXN0cnVjdCBzb2NrYWRkcl9pbjYgbWFzazY7CiAJdV9sb25nIHJ0ZmxhZ3M7Ci0JaW50IGVy
cm9yLCBhX2ZhaWx1cmUsIGZpYm51bTsKKwlpbnQgZXJyb3IsIGFfZmFpbHVyZSwgZmlibnVtLCBt
YXhmaWI7CiAKIAkvKgogCSAqIGluNl9pZmluaXQoKSBzZXRzIG5kNl9ydHJlcXVlc3QgdG8gaWZh
X3J0cmVxdWVzdCBmb3IgYWxsIGlmYWRkcnMuCkBAIC0xNzQ0LDggKzE3NzksMTUgQEAKIAltYXNr
Ni5zaW42X2FkZHIgPSBwci0+bmRwcl9tYXNrOwogCXJ0ZmxhZ3MgPSAoaWZhLT5pZmFfZmxhZ3Mg
JiB+SUZBX1JUU0VMRikgfCBSVEZfVVA7CiAKKwlpZihWX3J0X2FkZF9hZGRyX2FsbGZpYnMpIHsK
KwkJZmlibnVtID0gMDsKKwkJbWF4ZmliID0gcnRfbnVtZmliczsKKwl9IGVsc2UgeworCQlmaWJu
dW0gPSBpZmEtPmlmYV9pZnAtPmlmX2ZpYjsKKwkJbWF4ZmliID0gZmlibnVtICsgMTsKKwl9CiAJ
YV9mYWlsdXJlID0gMDsKLQlmb3IgKGZpYm51bSA9IDA7IGZpYm51bSA8IHJ0X251bWZpYnM7IGZp
Ym51bSsrKSB7CisJZm9yICg7IGZpYm51bSA8IG1heGZpYjsgZmlibnVtKyspIHsKIAogCQlydCA9
IE5VTEw7CiAJCWVycm9yID0gaW42X3J0cmVxdWVzdChSVE1fQURELApAQCAtMTgzMyw2ICsxODc1
LDEwIEBACiAJCWlmICgob3ByLT5uZHByX3N0YXRlZmxhZ3MgJiBORFBSRl9PTkxJTkspID09IDAp
CiAJCQljb250aW51ZTsKIAorCQlpZiAoIVZfcnRfYWRkX2FkZHJfYWxsZmlicyAmJgorCQkgICAg
b3ByLT5uZHByX2lmcC0+aWZfZmliICE9IHByLT5uZHByX2lmcC0+aWZfZmliKQorCQkJY29udGlu
dWU7CisKIAkJaWYgKG9wci0+bmRwcl9wbGVuID09IHByLT5uZHByX3BsZW4gJiYKIAkJICAgIGlu
Nl9hcmVfcHJlZml4X2VxdWFsKCZwci0+bmRwcl9wcmVmaXguc2luNl9hZGRyLAogCQkgICAgJm9w
ci0+bmRwcl9wcmVmaXguc2luNl9hZGRyLCBwci0+bmRwcl9wbGVuKSkgewpAQCAtMTg5Myw3ICsx
OTM5LDcgQEAKIAlzdHJ1Y3QgcnRlbnRyeSAqcnQ7CiAJY2hhciBpcDZidWZbSU5FVDZfQUREUlNU
UkxFTl07CiAJdWludDY0X3QgZ2VuaWQ7Ci0JaW50IGZpYm51bSwgYV9mYWlsdXJlOworCWludCBm
aWJudW0sIG1heGZpYiwgYV9mYWlsdXJlOwogCiAJTkQ2X09OTElOS19MT0NLX0FTU0VSVCgpOwog
CU5ENl9VTkxPQ0tfQVNTRVJUKCk7CkBAIC0xOTExLDggKzE5NTcsMTYgQEAKIAltYXNrNi5zaW42
X2xlbiA9IHNpemVvZihzYTYpOwogCWJjb3B5KCZwci0+bmRwcl9tYXNrLCAmbWFzazYuc2luNl9h
ZGRyLCBzaXplb2Yoc3RydWN0IGluNl9hZGRyKSk7CiAKKwlpZiAoVl9ydF9hZGRfYWRkcl9hbGxm
aWJzKSB7CisJCWZpYm51bSA9IDA7CisJCW1heGZpYiA9IHJ0X251bWZpYnM7CisJfSBlbHNlIHsK
KwkJZmlibnVtID0gaWZwLT5pZl9maWI7CisJCW1heGZpYiA9IGZpYm51bSArIDE7CisJfQorCiAJ
YV9mYWlsdXJlID0gMDsKLQlmb3IgKGZpYm51bSA9IDA7IGZpYm51bSA8IHJ0X251bWZpYnM7IGZp
Ym51bSsrKSB7CisJZm9yICg7IGZpYm51bSA8IG1heGZpYjsgZmlibnVtKyspIHsKIAkJcnQgPSBO
VUxMOwogCQllcnJvciA9IGluNl9ydHJlcXVlc3QoUlRNX0RFTEVURSwgKHN0cnVjdCBzb2NrYWRk
ciAqKSZzYTYsIE5VTEwsCiAJCSAgICAoc3RydWN0IHNvY2thZGRyICopJm1hc2s2LCAwLCAmcnQs
IGZpYm51bSk7CmRpZmYgLS1naXQgYS9zeXMvbmV0aW5ldDYvbmQ2X25ici5jIGIvc3lzL25ldGlu
ZXQ2L25kNl9uYnIuYwotLS0gYS9zeXMvbmV0aW5ldDYvbmQ2X25ici5jCisrKyBiL3N5cy9uZXRp
bmV0Ni9uZDZfbmJyLmMKQEAgLTI2Miw4ICsyNjIsNyBAQAogCQliemVybygmaW5mbywgc2l6ZW9m
KGluZm8pKTsKIAkJaW5mby5ydGlfaW5mb1tSVEFYX0dBVEVXQVldID0gKHN0cnVjdCBzb2NrYWRk
ciAqKSZydF9nYXRld2F5OwogCi0JCS8qIEFsd2F5cyB1c2UgdGhlIGRlZmF1bHQgRklCLiAqLwot
CQlpZiAocmliX2xvb2t1cF9pbmZvKFJUX0RFRkFVTFRfRklCLCAoc3RydWN0IHNvY2thZGRyICop
JmRzdDYsCisJCWlmIChyaWJfbG9va3VwX2luZm8oaWZwLT5pZl9maWIsIChzdHJ1Y3Qgc29ja2Fk
ZHIgKikmZHN0NiwKIAkJICAgIDAsIDAsICZpbmZvKSA9PSAwKSB7CiAJCQlpZiAoKGluZm8ucnRp
X2ZsYWdzICYgUlRGX0FOTk9VTkNFKSAhPSAwICYmCiAJCQkgICAgcnRfZ2F0ZXdheS5zZGxfZmFt
aWx5ID09IEFGX0xJTkspIHsKQEAgLTQ4NSw3ICs0ODQsNyBAQAogCQkJdWludDMyX3Qgc2NvcGVp
ZDsKIAogCQkJaW42X3NwbGl0c2NvcGUoJmlwNi0+aXA2X2RzdCwgJmRzdDYsICZzY29wZWlkKTsK
LQkJCWVycm9yID0gaW42X3NlbGVjdHNyY19hZGRyKFJUX0RFRkFVTFRfRklCLCAmZHN0NiwKKwkJ
CWVycm9yID0gaW42X3NlbGVjdHNyY19hZGRyKGZpYm51bSwgJmRzdDYsCiAJCQkgICAgc2NvcGVp
ZCwgaWZwLCAmc3JjNiwgTlVMTCk7CiAJCQlpZiAoZXJyb3IpIHsKIAkJCQljaGFyIGlwNmJ1ZltJ
TkVUNl9BRERSU1RSTEVOXTsKQEAgLTk4Miw3ICs5ODEsNyBAQAogCSAqIFNlbGVjdCBhIHNvdXJj
ZSB3aG9zZSBzY29wZSBpcyB0aGUgc2FtZSBhcyB0aGF0IG9mIHRoZSBkZXN0LgogCSAqLwogCWlu
Nl9zcGxpdHNjb3BlKCZkYWRkcjYsICZkc3Q2LCAmc2NvcGVpZCk7Ci0JZXJyb3IgPSBpbjZfc2Vs
ZWN0c3JjX2FkZHIoUlRfREVGQVVMVF9GSUIsICZkc3Q2LAorCWVycm9yID0gaW42X3NlbGVjdHNy
Y19hZGRyKGZpYm51bSwgJmRzdDYsCiAJICAgIHNjb3BlaWQsIGlmcCwgJnNyYzYsIE5VTEwpOwog
CWlmIChlcnJvcikgewogCQljaGFyIGlwNmJ1ZltJTkVUNl9BRERSU1RSTEVOXTsKZGlmZiAtLWdp
dCBhL3N5cy9uZXRpbmV0Ni9uZDYuaCBiL3N5cy9uZXRpbmV0Ni9uZDYuaAotLS0gYS9zeXMvbmV0
aW5ldDYvbmQ2LmgKKysrIGIvc3lzL25ldGluZXQ2L25kNi5oCkBAIC00NjksNiArNDY5LDcgQEAK
IHZvaWQgbmQ2X3JzX2lucHV0KHN0cnVjdCBtYnVmICosIGludCwgaW50KTsKIHZvaWQgbmQ2X3Jh
X2lucHV0KHN0cnVjdCBtYnVmICosIGludCwgaW50KTsKIHZvaWQgZGVmcm91dGVyX3Jlc2V0KHZv
aWQpOwordm9pZCBkZWZyb3V0ZXJfc2VsZWN0X2ZpYihpbnQgZmlibnVtKTsKIHZvaWQgZGVmcm91
dGVyX3NlbGVjdCh2b2lkKTsKIHZvaWQgZGVmcm91dGVyX3JlZihzdHJ1Y3QgbmRfZGVmcm91dGVy
ICopOwogdm9pZCBkZWZyb3V0ZXJfcmVsZShzdHJ1Y3QgbmRfZGVmcm91dGVyICopOwpkaWZmIC0t
Z2l0IGEvc3lzL25ldGluZXQ2L25kNi5jIGIvc3lzL25ldGluZXQ2L25kNi5jCi0tLSBhL3N5cy9u
ZXRpbmV0Ni9uZDYuYworKysgYi9zeXMvbmV0aW5ldDYvbmQ2LmMKQEAgLTE1Nyw2ICsxNTcsNyBA
QAogCXN0cnVjdCBzb2NrYWRkcl9kbCBndzsKIAlzdHJ1Y3QgaWZuZXQgKmlmcDsKIAlpbnQgdHlw
ZTsKKwlpbnQgZmlibnVtOwogCiAJTExFX1dMT0NLX0FTU0VSVChsbGUpOwogCkBAIC0xOTQsOCAr
MTk1LDkgQEAKIAlydGluZm8ucnRpX2luZm9bUlRBWF9EU1RdID0gKHN0cnVjdCBzb2NrYWRkciAq
KSZkc3Q7CiAJcnRpbmZvLnJ0aV9pbmZvW1JUQVhfR0FURVdBWV0gPSAoc3RydWN0IHNvY2thZGRy
ICopJmd3OwogCXJ0aW5mby5ydGlfYWRkcnMgPSBSVEFfRFNUIHwgUlRBX0dBVEVXQVk7CisJZmli
bnVtID0gVl9ydF9hZGRfYWRkcl9hbGxmaWJzID8gUlRfQUxMX0ZJQlMgOiBpZnAtPmlmX2ZpYjsK
IAlydF9taXNzbXNnX2ZpYih0eXBlLCAmcnRpbmZvLCBSVEZfSE9TVCB8IFJURl9MTERBVEEgfCAo
Ci0JICAgIHR5cGUgPT0gUlRNX0FERCA/IFJURl9VUDogMCksIDAsIFJUX0RFRkFVTFRfRklCKTsK
KwkgICAgdHlwZSA9PSBSVE1fQUREID8gUlRGX1VQOiAwKSwgMCwgZmlibnVtKTsKIH0KIAogLyoK
QEAgLTEyMDQsNyArMTIwNiw3IEBACiAKIAlpZiAoTkRfSUZJTkZPKGlmcCktPmZsYWdzICYgTkQ2
X0lGRl9BQ0NFUFRfUlRBRFYpIHsKIAkJLyogUmVmcmVzaCBkZWZhdWx0IHJvdXRlciBsaXN0LiAq
LwotCQlkZWZyb3V0ZXJfc2VsZWN0KCk7CisJCWRlZnJvdXRlcl9zZWxlY3RfZmliKGlmcC0+aWZf
ZmliKTsKIAl9CiB9CiAKQEAgLTEyOTAsOSArMTI5Miw3IEBACiAJYnplcm8oJnJ0X2tleSwgc2l6
ZW9mKHJ0X2tleSkpOwogCWJ6ZXJvKCZpbmZvLCBzaXplb2YoaW5mbykpOwogCWluZm8ucnRpX2lu
Zm9bUlRBWF9EU1RdID0gKHN0cnVjdCBzb2NrYWRkciAqKSZydF9rZXk7Ci0KLQkvKiBBbHdheXMg
dXNlIHRoZSBkZWZhdWx0IEZJQiBoZXJlLiBYWE1FIC0gd2h5PyAqLwotCWZpYm51bSA9IFJUX0RF
RkFVTFRfRklCOworCWZpYm51bSA9IGlmcC0+aWZfZmliOwogCiAJLyoKIAkgKiBJZiB0aGUgYWRk
cmVzcyBtYXRjaGVzIG9uZSBvZiBvdXIgYWRkcmVzc2VzLApAQCAtMTQ4OSw3ICsxNDg5LDcgQEAK
IAkJCS8qCiAJCQkgKiBXZSBuZWVkIHRvIHVubG9jayB0byBhdm9pZCBhIExPUiB3aXRoIHJ0Nl9m
bHVzaCgpIHdpdGggdGhlCiAJCQkgKiBybmggYW5kIGZvciB0aGUgY2FsbHMgdG8gcGZ4bGlzdF9v
bmxpbmtfY2hlY2soKSBhbmQKLQkJCSAqIGRlZnJvdXRlcl9zZWxlY3QoKSBpbiB0aGUgYmxvY2sg
ZnVydGhlciBkb3duIGZvciBjYWxscworCQkJICogZGVmcm91dGVyX3NlbGVjdF9maWIoKSBpbiB0
aGUgYmxvY2sgZnVydGhlciBkb3duIGZvciBjYWxscwogCQkJICogaW50byBuZDZfbG9va3VwKCku
ICBXZSBzdGlsbCBob2xkIGEgcmVmLgogCQkJICovCiAJCQlMTEVfV1VOTE9DSyhsbik7CkBAIC0x
NTA0LDcgKzE1MDQsNyBAQAogCiAJCWlmIChkcikgewogCQkJLyoKLQkJCSAqIFNpbmNlIGRlZnJv
dXRlcl9zZWxlY3QoKSBkb2VzIG5vdCBhZmZlY3QgdGhlCisJCQkgKiBTaW5jZSBkZWZyb3V0ZXJf
c2VsZWN0X2ZpYigpIGRvZXMgbm90IGFmZmVjdCB0aGUKIAkJCSAqIG9uLWxpbmsgZGV0ZXJtaW5h
dGlvbiBhbmQgTUlQNiBuZWVkcyB0aGUgY2hlY2sKIAkJCSAqIGJlZm9yZSB0aGUgZGVmYXVsdCBy
b3V0ZXIgc2VsZWN0aW9uLCB3ZSBwZXJmb3JtCiAJCQkgKiB0aGUgY2hlY2sgbm93LgpAQCAtMTUx
NCw3ICsxNTE0LDcgQEAKIAkJCS8qCiAJCQkgKiBSZWZyZXNoIGRlZmF1bHQgcm91dGVyIGxpc3Qu
CiAJCQkgKi8KLQkJCWRlZnJvdXRlcl9zZWxlY3QoKTsKKwkJCWRlZnJvdXRlcl9zZWxlY3RfZmli
KGRyLT5pZnAtPmlmX2ZpYik7CiAJCX0KIAogCQkvKgpAQCAtMjEwOCwyMCArMjEwOCwyMCBAQAog
CSAqIFF1ZXN0aW9uOiBjYW4gd2UgcmVzdHJpY3QgdGhlIGZpcnN0IGNvbmRpdGlvbiB0byB0aGUg
ImlzX25ld2VudHJ5IgogCSAqIGNhc2U/CiAJICogWFhYOiB3aGVuIHdlIGhlYXIgYW4gUkEgZnJv
bSBhIG5ldyByb3V0ZXIgd2l0aCB0aGUgbGluay1sYXllcgotCSAqIGFkZHJlc3Mgb3B0aW9uLCBk
ZWZyb3V0ZXJfc2VsZWN0KCkgaXMgY2FsbGVkIHR3aWNlLCBzaW5jZQorCSAqIGFkZHJlc3Mgb3B0
aW9uLCBkZWZyb3V0ZXJfc2VsZWN0X2ZpYigpIGlzIGNhbGxlZCB0d2ljZSwgc2luY2UKIAkgKiBk
ZWZydHJsaXN0X3VwZGF0ZSBjYWxsZWQgdGhlIGZ1bmN0aW9uIGFzIHdlbGwuICBIb3dldmVyLCBJ
IGJlbGlldmUKIAkgKiB3ZSBjYW4gY29tcHJvbWlzZSB0aGUgb3ZlcmhlYWQsIHNpbmNlIGl0IG9u
bHkgaGFwcGVucyB0aGUgZmlyc3QKIAkgKiB0aW1lLgotCSAqIFhYWDogYWx0aG91Z2ggZGVmcm91
dGVyX3NlbGVjdCgpIHNob3VsZCBub3QgaGF2ZSBhIGJhZCBlZmZlY3QKKwkgKiBYWFg6IGFsdGhv
dWdoIGRlZnJvdXRlcl9zZWxlY3RfZmliKCkgc2hvdWxkIG5vdCBoYXZlIGEgYmFkIGVmZmVjdAog
CSAqIGZvciB0aG9zZSBhcmUgbm90IGF1dG9jb25maWd1cmVkIGhvc3RzLCB3ZSBleHBsaWNpdGx5
IGF2b2lkIHN1Y2gKIAkgKiBjYXNlcyBmb3Igc2FmZXR5LgogCSAqLwogCWlmICgoZG9fdXBkYXRl
IHx8IGlzX25ld2VudHJ5KSAmJiByb3V0ZXIgJiYKIAkgICAgTkRfSUZJTkZPKGlmcCktPmZsYWdz
ICYgTkQ2X0lGRl9BQ0NFUFRfUlRBRFYpIHsKIAkJLyoKIAkJICogZ3VhcmFudGVlZCByZWN1cnNp
b24KIAkJICovCi0JCWRlZnJvdXRlcl9zZWxlY3QoKTsKKwkJZGVmcm91dGVyX3NlbGVjdF9maWIo
aWZwLT5pZl9maWIpOwogCX0KIH0KIApkaWZmIC0tZ2l0IGEvc3lzL25ldGluZXQ2L2luNl9zcmMu
YyBiL3N5cy9uZXRpbmV0Ni9pbjZfc3JjLmMKLS0tIGEvc3lzL25ldGluZXQ2L2luNl9zcmMuYwor
KysgYi9zeXMvbmV0aW5ldDYvaW42X3NyYy5jCkBAIC0yOTcsNyArMjk3LDcgQEAKIAkgKi8KIAkv
KiBnZXQgdGhlIG91dGdvaW5nIGludGVyZmFjZSAqLwogCWlmICgoZXJyb3IgPSBpbjZfc2VsZWN0
aWYoZHN0c29jaywgb3B0cywgbW9wdHMsICZpZnAsIG9pZnAsCi0JICAgIChpbnAgIT0gTlVMTCkg
PyBpbnAtPmlucF9pbmMuaW5jX2ZpYm51bSA6IFJUX0RFRkFVTFRfRklCKSkgIT0gMCkKKwkgICAg
KGlucCAhPSBOVUxMKSA/IGlucC0+aW5wX2luYy5pbmNfZmlibnVtIDogZmlibnVtKSkgIT0gMCkK
IAkJcmV0dXJuIChlcnJvcik7CiAKICNpZmRlZiBESUFHTk9TVElDCkBAIC01NjMsNyArNTYzLDcg
QEAKIAl1aW50MzJfdCBmaWJudW07CiAJaW50IGVycm9yOwogCi0JZmlibnVtID0gKGlucCAhPSBO
VUxMKSA/IGlucC0+aW5wX2luYy5pbmNfZmlibnVtIDogUlRfREVGQVVMVF9GSUI7CisJZmlibnVt
ID0gaW5wLT5pbnBfaW5jLmluY19maWJudW07CiAJcmV0aWZwID0gTlVMTDsKIAogCWVycm9yID0g
aW42X3NlbGVjdHNyYyhmaWJudW0sIGRzdHNvY2ssIG9wdHMsIGlucCwgY3JlZCwgJnJldGlmcCwg
c3JjcCk7CmRpZmYgLS1naXQgYS9zeXMvbmV0aW5ldDYvaW42LmMgYi9zeXMvbmV0aW5ldDYvaW42
LmMKLS0tIGEvc3lzL25ldGluZXQ2L2luNi5jCisrKyBiL3N5cy9uZXRpbmV0Ni9pbjYuYwpAQCAt
MTU5LDYgKzE1OSw3IEBACiAJc3RydWN0IHNvY2thZGRyX2RsIGdhdGV3YXk7CiAJc3RydWN0IHNv
Y2thZGRyX2luNiBtYXNrLCBhZGRyOwogCXN0cnVjdCBydGVudHJ5IHJ0OworCWludCBmaWJudW07
CiAKIAkvKgogCSAqIGluaXRpYWxpemUgZm9yIHJ0bXNnIGdlbmVyYXRpb24KQEAgLTE3Niw4ICsx
NzcsOSBAQAogCXJ0LnJ0X2ZsYWdzID0gUlRGX0hPU1QgfCBSVEZfU1RBVElDOwogCWlmIChjbWQg
PT0gUlRNX0FERCkKIAkJcnQucnRfZmxhZ3MgfD0gUlRGX1VQOwotCS8qIEFubm91bmNlIGFycml2
YWwgb2YgbG9jYWwgYWRkcmVzcyB0byBhbGwgRklCcy4gKi8KLQlydF9uZXdhZGRybXNnKGNtZCwg
JmlhLT5pYV9pZmEsIDAsICZydCk7CisJZmlibnVtID0gVl9ydF9hZGRfYWRkcl9hbGxmaWJzID8g
UlRfQUxMX0ZJQlMgOiBpYTYyaWZhKGlhKS0+aWZhX2lmcC0+aWZfZmliOworCS8qIEFubm91bmNl
IGFycml2YWwgb2YgbG9jYWwgYWRkcmVzcyB0byB0aGlzIEZJQi4gKi8KKwlydF9uZXdhZGRybXNn
X2ZpYihjbWQsICZpYS0+aWFfaWZhLCAwLCAmcnQsIGZpYm51bSk7CiB9CiAKIGludApAQCAtMjEx
NSwxNSArMjExNywxNSBAQAogCXVpbnQzMl90IHNjb3BlaWQ7CiAJaW50IGVycm9yOwogCWNoYXIg
aXA2YnVmW0lORVQ2X0FERFJTVFJMRU5dOworCWludCBmaWJudW07CiAKIAlLQVNTRVJUKGwzYWRk
ci0+c2FfZmFtaWx5ID09IEFGX0lORVQ2LAogCSAgICAoInNpbl9mYW1pbHkgJWQiLCBsM2FkZHIt
PnNhX2ZhbWlseSkpOwogCi0JLyogT3VyIGxvY2FsIGFkZHJlc3NlcyBhcmUgYWx3YXlzIG9ubHkg
aW5zdGFsbGVkIG9uIHRoZSBkZWZhdWx0IEZJQi4gKi8KLQogCXNpbjYgPSAoY29uc3Qgc3RydWN0
IHNvY2thZGRyX2luNiAqKWwzYWRkcjsKIAlpbjZfc3BsaXRzY29wZSgmc2luNi0+c2luNl9hZGRy
LCAmZHN0LCAmc2NvcGVpZCk7Ci0JZXJyb3IgPSBmaWI2X2xvb2t1cF9uaF9iYXNpYyhSVF9ERUZB
VUxUX0ZJQiwgJmRzdCwgc2NvcGVpZCwgMCwgMCwgJm5oNik7CisJZmlibnVtID0gVl9ydF9hZGRf
YWRkcl9hbGxmaWJzID8gUlRfREVGQVVMVF9GSUIgOiBpZnAtPmlmX2ZpYjsKKwllcnJvciA9IGZp
YjZfbG9va3VwX25oX2Jhc2ljKGZpYm51bSwgJmRzdCwgc2NvcGVpZCwgMCwgMCwgJm5oNik7CiAJ
aWYgKGVycm9yICE9IDAgfHwgKG5oNi5uaF9mbGFncyAmIE5IRl9HQVRFV0FZKSB8fCBuaDYubmhf
aWZwICE9IGlmcCkgewogCQlzdHJ1Y3QgaWZhZGRyICppZmE7CiAJCS8qCmRpZmYgLS1naXQgYS9z
eXMvbmV0aW5ldDYvaWNtcDYuYyBiL3N5cy9uZXRpbmV0Ni9pY21wNi5jCi0tLSBhL3N5cy9uZXRp
bmV0Ni9pY21wNi5jCisrKyBiL3N5cy9uZXRpbmV0Ni9pY21wNi5jCkBAIC0yMTQ3LDcgKzIxNDcs
NyBAQAogCQkgKiBzb3VyY2UgYWRkcmVzcyBvZiB0aGUgZXJyb25lb3VzIHBhY2tldC4KIAkJICov
CiAJCWluNl9zcGxpdHNjb3BlKCZpcDYtPmlwNl9zcmMsICZkc3Q2LCAmc2NvcGVpZCk7Ci0JCWVy
cm9yID0gaW42X3NlbGVjdHNyY19hZGRyKFJUX0RFRkFVTFRfRklCLCAmZHN0NiwKKwkJZXJyb3Ig
PSBpbjZfc2VsZWN0c3JjX2FkZHIoTV9HRVRGSUIobSksICZkc3Q2LAogCQkgICAgc2NvcGVpZCwg
TlVMTCwgJnNyYzYsICZobGltKTsKIAogCQlpZiAoZXJyb3IpIHsKQEAgLTIyODksNyArMjI4OSw3
IEBACiAJdWludDMyX3Qgc2NvcGVpZDsKIAogCWluNl9zcGxpdHNjb3BlKCZyZWRkc3Q2LCAma2Rz
dCwgJnNjb3BlaWQpOwotCWlmIChmaWI2X2xvb2t1cF9uaF9iYXNpYyhSVF9ERUZBVUxUX0ZJQiwg
Jmtkc3QsIHNjb3BlaWQsIDAsIDAsJm5oNik9PTApeworCWlmIChmaWI2X2xvb2t1cF9uaF9iYXNp
YyhpZnAtPmlmX2ZpYiwgJmtkc3QsIHNjb3BlaWQsIDAsIDAsJm5oNik9PTApewogCQlpZiAoKG5o
Ni5uaF9mbGFncyAmIE5IRl9HQVRFV0FZKSA9PSAwKSB7CiAJCQluZDZsb2coKExPR19FUlIsCiAJ
CQkgICAgIklDTVA2IHJlZGlyZWN0IHJlamVjdGVkOyBubyByb3V0ZSAiCgo=


--b1_a475e4b4828ec690159525d61ab99c0a--



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