Date: Mon, 6 Feb 2017 01:50:02 +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: <c156dea391f2e6886b3c64cb30c4063f@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_c156dea391f2e6886b3c64cb30c4063f Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: base64 amh1amhpdGlfYWRqZWN0aXZpc20ub3JnIHVwZGF0ZWQgdGhpcyByZXZpc2lvbiB0byBEaWZmIDI0 NzgyLgpqaHVqaGl0aV9hZGplY3RpdmlzbS5vcmcgYWRkZWQgYSBjb21tZW50LgoKCiAgSGVyZSdz IHRoZSBzYW1lIHBhdGNoIHdpdGggZnVsbCBjb250ZXh0CgpSRVBPU0lUT1JZCiAgclMgRnJlZUJT RCBzcmMgcmVwb3NpdG9yeQoKQ0hBTkdFUyBTSU5DRSBMQVNUIFVQREFURQogIGh0dHBzOi8vcmV2 aWV3cy5mcmVlYnNkLm9yZy9EOTQ1MT92cz0yNDc2OCZpZD0yNDc4MgoKUkVWSVNJT04gREVUQUlM CiAgaHR0cHM6Ly9yZXZpZXdzLmZyZWVic2Qub3JnL0Q5NDUxCgpBRkZFQ1RFRCBGSUxFUwogIHN5 cy9uZXQvcm91dGUuYwogIHN5cy9uZXRpbmV0Ni9pY21wNi5jCiAgc3lzL25ldGluZXQ2L2luNi5j CiAgc3lzL25ldGluZXQ2L2luNl9zcmMuYwogIHN5cy9uZXRpbmV0Ni9uZDYuYwogIHN5cy9uZXRp bmV0Ni9uZDYuaAogIHN5cy9uZXRpbmV0Ni9uZDZfbmJyLmMKICBzeXMvbmV0aW5ldDYvbmQ2X3J0 ci5jCgpFTUFJTCBQUkVGRVJFTkNFUwogIGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNkLm9yZy9zZXR0 aW5ncy9wYW5lbC9lbWFpbHByZWZlcmVuY2VzLwoKVG86IGpodWpoaXRpX2FkamVjdGl2aXNtLm9y ZywgI25ldHdvcmssIGFzb21lcnMKQ2M6IGltcCwgYWUsIGZyZWVic2QtbmV0LWxpc3QK --b1_c156dea391f2e6886b3c64cb30c4063f Content-Type: text/x-patch; charset=utf-8; name="D9451.24782.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D9451.24782.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_c156dea391f2e6886b3c64cb30c4063f--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?c156dea391f2e6886b3c64cb30c4063f>