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>