Date: Tue, 7 Mar 2017 05:54:28 +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: <b0d313e58e33da16a81af0fc9092492c@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_b0d313e58e33da16a81af0fc9092492c Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: base64 amh1amhpdGlfYWRqZWN0aXZpc20ub3JnIHVwZGF0ZWQgdGhpcyByZXZpc2lvbiB0byBEaWZmIDI2 MDUzLgpqaHVqaGl0aV9hZGplY3RpdmlzbS5vcmcgbWFya2VkIDE0IGlubGluZSBjb21tZW50cyBh cyBkb25lLgoKUkVQT1NJVE9SWQogIHJTIEZyZWVCU0Qgc3JjIHJlcG9zaXRvcnkKCkNIQU5HRVMg U0lOQ0UgTEFTVCBVUERBVEUKICBodHRwczovL3Jldmlld3MuZnJlZWJzZC5vcmcvRDk0NTE/dnM9 MjYwMjImaWQ9MjYwNTMKClJFVklTSU9OIERFVEFJTAogIGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNk Lm9yZy9EOTQ1MQoKQUZGRUNURUQgRklMRVMKICBzeXMvbmV0aW5ldDYvaWNtcDYuYwogIHN5cy9u ZXRpbmV0Ni9pbjYuYwogIHN5cy9uZXRpbmV0Ni9pbjZfc3JjLmMKICBzeXMvbmV0aW5ldDYvbmQ2 LmMKICBzeXMvbmV0aW5ldDYvbmQ2LmgKICBzeXMvbmV0aW5ldDYvbmQ2X25ici5jCiAgc3lzL25l dGluZXQ2L25kNl9ydHIuYwogIHRlc3RzL3N5cy9uZXRpbmV0L2ZpYnNfdGVzdC5zaAoKRU1BSUwg UFJFRkVSRU5DRVMKICBodHRwczovL3Jldmlld3MuZnJlZWJzZC5vcmcvc2V0dGluZ3MvcGFuZWwv ZW1haWxwcmVmZXJlbmNlcy8KClRvOiBqaHVqaGl0aV9hZGplY3RpdmlzbS5vcmcsICNuZXR3b3Jr LCBieiwgYXNvbWVycwpDYzogamNoLCBieiwgaW1wLCBhZSwgZnJlZWJzZC1uZXQtbGlzdAo= --b1_b0d313e58e33da16a81af0fc9092492c Content-Type: text/x-patch; charset=utf-8; name="D9451.26053.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D9451.26053.patch" ZGlmZiAtLWdpdCBhL3Rlc3RzL3N5cy9uZXRpbmV0L2ZpYnNfdGVzdC5zaCBiL3Rlc3RzL3N5cy9u ZXRpbmV0L2ZpYnNfdGVzdC5zaAotLS0gYS90ZXN0cy9zeXMvbmV0aW5ldC9maWJzX3Rlc3Quc2gK KysrIGIvdGVzdHMvc3lzL25ldGluZXQvZmlic190ZXN0LnNoCkBAIC0xNjMsNyArMTYzLDYgQEAK IAogbG9vcGJhY2tfYW5kX25ldHdvcmtfcm91dGVzX29uX25vbmRlZmF1bHRfZmliX2luZXQ2X2Jv ZHkoKQogewotCWF0Zl9leHBlY3RfZmFpbCAiUFIxOTYzNjEgSVB2NiBuZXR3b3JrIHJvdXRlcyBk b24ndCByZXNwZWN0IG5ldC5hZGRfYWRkcl9hbGxmaWJzPTAiCiAJIyBDb25maWd1cmUgdGhlIFRB UCBpbnRlcmZhY2UgdG8gdXNlIGEgbm9ucm91dGVhYmxlIFJGQzM4NDkKIAkjIGFkZHJlc3MgYW5k IGEgbm9uLWRlZmF1bHQgZmliCiAJQUREUj0iMjAwMTpkYjg6OjIiCkBAIC00NTksOCArNDU4LDYg QEAKIAlTVUJORVQ9IjIwMDE6ZGI4OiIKIAlNQVNLPSI2NCIKIAotCWF0Zl9leHBlY3RfZmFpbCAi UFIxOTYzNjEgSVB2NiBuZXR3b3JrIHJvdXRlcyBkb24ndCByZXNwZWN0IG5ldC5hZGRfYWRkcl9h bGxmaWJzPTAiCi0KIAkjIENoZWNrIHN5c3RlbSBjb25maWd1cmF0aW9uCiAJaWYgWyAwICE9IGBz eXNjdGwgLW4gbmV0LmFkZF9hZGRyX2FsbGZpYnNgIF07IHRoZW4KIAkJYXRmX3NraXAgIlRoaXMg dGVzdCByZXF1aXJlcyBuZXQuYWRkX2FkZHJfYWxsZmlicz0wIgpAQCAtNDc3LDYgKzQ3NCw3IEBA CiAKIAkjIENvbmZpZ3VyZSBlcGFpciBpbnRlcmZhY2VzCiAJZ2V0X2VwYWlyCisJc2xlZXAgMQog CXNldHVwX2lmYWNlICIkRVBBSVJBIiAiJEZJQjAiIGluZXQ2ICR7QUREUn0gJHtNQVNLfQogCWVj aG8gaWZjb25maWcgIiRFUEFJUkIiIHVwIGluZXQ2IGZpYiAkRklCMSAtaWZkaXNhYmxlZCBhY2Nl cHRfcnRhZHYKIAlpZmNvbmZpZyAiJEVQQUlSQiIgaW5ldDYgLWlmZGlzYWJsZWQgYWNjZXB0X3J0 YWR2IGZpYiAkRklCMSB1cApAQCAtNjg1LDggKzY4Myw2IEBACiAJVEFSR0VUPSIyMDAxOmRiODo6 MTAwIgogCVNSQ0RJUj1gYXRmX2dldF9zcmNkaXJgCiAKLQlhdGZfZXhwZWN0X2ZhaWwgIlBSMTk2 MzYxIElQdjYgbmV0d29yayByb3V0ZXMgZG9uJ3QgcmVzcGVjdCBuZXQuYWRkX2FkZHJfYWxsZmli cz0wIgotCiAJIyBDaGVjayBzeXN0ZW0gY29uZmlndXJhdGlvbgogCWlmIFsgMCAhPSBgc3lzY3Rs IC1uIG5ldC5hZGRfYWRkcl9hbGxmaWJzYCBdOyB0aGVuCiAJCWF0Zl9za2lwICJUaGlzIHRlc3Qg cmVxdWlyZXMgbmV0LmFkZF9hZGRyX2FsbGZpYnM9MCIKQEAgLTc2Nyw3ICs3NjMsNyBAQAogCWxv Y2FsIEVQQUlSRAogCiAJaWYgRVBBSVJEPWBpZmNvbmZpZyBlcGFpciBjcmVhdGVgOyB0aGVuCi0J CSMgUmVjb3JkIHRoZSBUQVAgZGV2aWNlIHNvIHdlIGNhbiBjbGVhbiBpdCB1cCBsYXRlcgorCQkj IFJlY29yZCB0aGUgZXBhaXIgZGV2aWNlIHNvIHdlIGNhbiBjbGVhbiBpdCB1cCBsYXRlcgogCQll Y2hvICR7RVBBSVJEfSA+PiAiaWZhY2VzX3RvX2NsZWFudXAiCiAJCUVQQUlSQT0ke0VQQUlSRH0K IAkJRVBBSVJCPSR7RVBBSVJEJWF9YgpkaWZmIC0tZ2l0IGEvc3lzL25ldGluZXQ2L25kNl9ydHIu YyBiL3N5cy9uZXRpbmV0Ni9uZDZfcnRyLmMKLS0tIGEvc3lzL25ldGluZXQ2L25kNl9ydHIuYwor KysgYi9zeXMvbmV0aW5ldDYvbmQ2X3J0ci5jCkBAIC01MDAsNyArNTAwLDcgQEAKIAogCWVycm9y ID0gaW42X3J0cmVxdWVzdChSVE1fQURELCAoc3RydWN0IHNvY2thZGRyICopJmRlZiwKIAkgICAg KHN0cnVjdCBzb2NrYWRkciAqKSZnYXRlLCAoc3RydWN0IHNvY2thZGRyICopJm1hc2ssCi0JICAg IFJURl9HQVRFV0FZLCAmbmV3cnQsIFJUX0RFRkFVTFRfRklCKTsKKwkgICAgUlRGX0dBVEVXQVks ICZuZXdydCwgbmV3LT5pZnAtPmlmX2ZpYik7CiAJaWYgKG5ld3J0KSB7CiAJCW5kNl9ydG1zZyhS VE1fQURELCBuZXdydCk7IC8qIHRlbGwgdXNlciBwcm9jZXNzICovCiAJCVJURlJFRShuZXdydCk7 CkBAIC01NTEsOCArNTUxLDggQEAKIAogLyoKICAqIFJlbW92ZSB0aGUgZGVmYXVsdCByb3V0ZSBm b3IgYSBnaXZlbiByb3V0ZXIuCi0gKiBUaGlzIGlzIGp1c3QgYSBzdWJyb3V0aW5lIGZ1bmN0aW9u IGZvciBkZWZyb3V0ZXJfc2VsZWN0KCksIGFuZCBzaG91bGQKLSAqIG5vdCBiZSBjYWxsZWQgZnJv bSBhbnl3aGVyZSBlbHNlLgorICogVGhpcyBpcyBqdXN0IGEgc3Vicm91dGluZSBmdW5jdGlvbiBm b3IgZGVmcm91dGVyX3NlbGVjdF9maWIoKSwgYW5kCisgKiBzaG91bGQgbm90IGJlIGNhbGxlZCBm cm9tIGFueXdoZXJlIGVsc2UuCiAgKi8KIHN0YXRpYyB2b2lkCiBkZWZyb3V0ZXJfZGVscmVxKHN0 cnVjdCBuZF9kZWZyb3V0ZXIgKmRyKQpAQCAtNTcxLDcgKzU3MSw3IEBACiAKIAlpbjZfcnRyZXF1 ZXN0KFJUTV9ERUxFVEUsIChzdHJ1Y3Qgc29ja2FkZHIgKikmZGVmLAogCSAgICAoc3RydWN0IHNv Y2thZGRyICopJmdhdGUsCi0JICAgIChzdHJ1Y3Qgc29ja2FkZHIgKikmbWFzaywgUlRGX0dBVEVX QVksICZvbGRydCwgUlRfREVGQVVMVF9GSUIpOworCSAgICAoc3RydWN0IHNvY2thZGRyICopJm1h c2ssIFJURl9HQVRFV0FZLCAmb2xkcnQsIGRyLT5pZnAtPmlmX2ZpYik7CiAJaWYgKG9sZHJ0KSB7 CiAJCW5kNl9ydG1zZyhSVE1fREVMRVRFLCBvbGRydCk7CiAJCVJURlJFRShvbGRydCk7CkBAIC02 OTgsMTEgKzY5OCwxMSBAQAogCiAJLyoKIAkgKiBJZiB0aGUgcm91dGVyIGlzIHRoZSBwcmltYXJ5 IG9uZSwgY2hvb3NlIGEgbmV3IG9uZS4KLQkgKiBOb3RlIHRoYXQgZGVmcm91dGVyX3NlbGVjdCgp IHdpbGwgcmVtb3ZlIHRoZSBjdXJyZW50IGdhdGV3YXkKLQkgKiBmcm9tIHRoZSByb3V0aW5nIHRh YmxlLgorCSAqIE5vdGUgdGhhdCBkZWZyb3V0ZXJfc2VsZWN0X2ZpYigpIHdpbGwgcmVtb3ZlIHRo ZSBjdXJyZW50CisgICAgICAgICAqIGdhdGV3YXkgZnJvbSB0aGUgcm91dGluZyB0YWJsZS4KIAkg Ki8KIAlpZiAoZGVsZHIpCi0JCWRlZnJvdXRlcl9zZWxlY3QoKTsKKwkJZGVmcm91dGVyX3NlbGVj dF9maWIoZGVsZHItPmlmcC0+aWZfZmliKTsKIAogCS8qCiAJICogUmVsZWFzZSB0aGUgbGlzdCBy ZWZlcmVuY2UuCkBAIC03MzAsMTMgKzczMCwyMyBAQAogICogZXZlbiB3aGVuIHRoZSBtdWx0aXBh dGggcm91dGluZyBpcyBhdmFpbGFibGUsIGJlY2F1c2Ugd2UncmUgbm90IHN1cmUgYWJvdXQKICAq IHRoZSBiZW5lZml0cyBmb3Igc3R1YiBob3N0cyBjb21wYXJpbmcgdG8gdGhlIHJpc2sgb2YgbWFr aW5nIHRoZSBjb2RlCiAgKiBjb21wbGljYXRlZCBhbmQgdGhlIHBvc3NpYmlsaXR5IG9mIGludHJv ZHVjaW5nIGJ1Z3MuCisgKgorICogV2UgbWFpbnRhaW4gYSBzaW5nbGUgbGlzdCBvZiByb3V0ZXJz IGZvciBtdWx0aXBsZSBGSUJzLCBvbmx5IGNvbnNpZGVyaW5nIG9uZQorICogYXQgYSB0aW1lIGJh c2VkIG9uIHRoZSByZWNlaXZpbmcgaW50ZXJmYWNlJ3MgRklCLiBJZiBAZmlibnVtIGlzIFJUX0FM TF9GSUJTLAorICogd2UgZG8gdGhlIHdob2xlIHRoaW5nIG11bHRpcGxlIHRpbWVzLgogICovCiB2 b2lkCi1kZWZyb3V0ZXJfc2VsZWN0KHZvaWQpCitkZWZyb3V0ZXJfc2VsZWN0X2ZpYihpbnQgZmli bnVtKQogewogCXN0cnVjdCBuZF9kZWZyb3V0ZXIgKmRyLCAqc2VsZWN0ZWRfZHIsICppbnN0YWxs ZWRfZHI7CiAJc3RydWN0IGxsZW50cnkgKmxuID0gTlVMTDsKIAorCWlmIChmaWJudW0gPT0gUlRf QUxMX0ZJQlMpIHsKKwkJZm9yIChmaWJudW0gPSAwOyBmaWJudW0gPCBydF9udW1maWJzOyBmaWJu dW0rKykgeworCQkJZGVmcm91dGVyX3NlbGVjdF9maWIoZmlibnVtKTsKKwkJfQorCX0KKwogCU5E Nl9STE9DSygpOwogCS8qCiAJICogTGV0J3MgaGFuZGxlIGVhc3kgY2FzZSAoMykgZmlyc3Q6CkBA IC03NTUsNyArNzY1LDcgQEAKIAlzZWxlY3RlZF9kciA9IGluc3RhbGxlZF9kciA9IE5VTEw7CiAJ VEFJTFFfRk9SRUFDSChkciwgJlZfbmRfZGVmcm91dGVyLCBkcl9lbnRyeSkgewogCQlJRl9BRkRB VEFfUkxPQ0soZHItPmlmcCk7Ci0JCWlmIChzZWxlY3RlZF9kciA9PSBOVUxMICYmCisJCWlmIChz ZWxlY3RlZF9kciA9PSBOVUxMICYmIGRyLT5pZnAtPmlmX2ZpYiA9PSBmaWJudW0gJiYKIAkJICAg IChsbiA9IG5kNl9sb29rdXAoJmRyLT5ydGFkZHIsIDAsIGRyLT5pZnApKSAmJgogCQkgICAgTkQ2 X0lTX0xMSU5GT19QUk9CUkVBQ0gobG4pKSB7CiAJCQlzZWxlY3RlZF9kciA9IGRyOwpAQCAtNzY3 LDE0ICs3NzcsMTcgQEAKIAkJCWxuID0gTlVMTDsKIAkJfQogCi0JCWlmIChkci0+aW5zdGFsbGVk KSB7CisJCWlmIChkci0+aW5zdGFsbGVkICYmIGRyLT5pZnAtPmlmX2ZpYiA9PSBmaWJudW0pIHsK IAkJCWlmIChpbnN0YWxsZWRfZHIgPT0gTlVMTCkgewogCQkJCWluc3RhbGxlZF9kciA9IGRyOwog CQkJCWRlZnJvdXRlcl9yZWYoaW5zdGFsbGVkX2RyKTsKIAkJCX0gZWxzZSB7Ci0JCQkJLyogdGhp cyBzaG91bGQgbm90IGhhcHBlbi4gIHdhcm4gZm9yIGRpYWdub3Npcy4gKi8KLQkJCQlsb2coTE9H X0VSUiwKLQkJICAgICJkZWZyb3V0ZXJfc2VsZWN0OiBtb3JlIHRoYW4gb25lIHJvdXRlciBpcyBp bnN0YWxsZWRcbiIpOworCQkJCS8qCisJCQkJICogdGhpcyBzaG91bGQgbm90IGhhcHBlbi4KKwkJ CQkgKiB3YXJuIGZvciBkaWFnbm9zaXMuCisJCQkJICovCisJCQkJbG9nKExPR19FUlIsICJkZWZy b3V0ZXJfc2VsZWN0X2ZpYjogbW9yZSB0aGFuICIKKwkJCQkgICAgICAgICAgICAgIm9uZSByb3V0 ZXIgaXMgaW5zdGFsbGVkXG4iKTsKIAkJCX0KIAkJfQogCX0KQEAgLTc4OSwxNCArODAyLDI0IEBA CiAJaWYgKHNlbGVjdGVkX2RyID09IE5VTEwpIHsKIAkJaWYgKGluc3RhbGxlZF9kciA9PSBOVUxM IHx8CiAJCSAgICBUQUlMUV9ORVhUKGluc3RhbGxlZF9kciwgZHJfZW50cnkpID09IE5VTEwpCi0J CQlzZWxlY3RlZF9kciA9IFRBSUxRX0ZJUlNUKCZWX25kX2RlZnJvdXRlcik7CisJCQlkciA9IFRB SUxRX0ZJUlNUKCZWX25kX2RlZnJvdXRlcik7CiAJCWVsc2UKLQkJCXNlbGVjdGVkX2RyID0gVEFJ TFFfTkVYVChpbnN0YWxsZWRfZHIsIGRyX2VudHJ5KTsKLQkJZGVmcm91dGVyX3JlZihzZWxlY3Rl ZF9kcik7CisJCQlkciA9IFRBSUxRX05FWFQoaW5zdGFsbGVkX2RyLCBkcl9lbnRyeSk7CisKKwkJ LyogRW5zdXJlIHdlIHNlbGVjdCBhIHJvdXRlciBmb3IgdGhpcyBGSUIuICovCisJCVRBSUxRX0ZP UkVBQ0hfRlJPTShkciwgJlZfbmRfZGVmcm91dGVyLCBkcl9lbnRyeSkgeworCQkJaWYgKGRyLT5p ZnAtPmlmX2ZpYiA9PSBmaWJudW0pIHsKKwkJCQlzZWxlY3RlZF9kciA9IGRyOworCQkJCWRlZnJv dXRlcl9yZWYoc2VsZWN0ZWRfZHIpOworCQkJCWJyZWFrOworCQkJfQorCQl9CiAJfSBlbHNlIGlm IChpbnN0YWxsZWRfZHIgIT0gTlVMTCkgewogCQlJRl9BRkRBVEFfUkxPQ0soaW5zdGFsbGVkX2Ry LT5pZnApOwotCQlpZiAoKGxuID0gbmQ2X2xvb2t1cCgmaW5zdGFsbGVkX2RyLT5ydGFkZHIsIDAs IGluc3RhbGxlZF9kci0+aWZwKSkgJiYKKwkJaWYgKChsbiA9IG5kNl9sb29rdXAoJmluc3RhbGxl ZF9kci0+cnRhZGRyLCAwLAorCQkgICAgICAgICAgICAgICAgICAgICBpbnN0YWxsZWRfZHItPmlm cCkpICYmCiAJCSAgICBORDZfSVNfTExJTkZPX1BST0JSRUFDSChsbikgJiYKKwkJICAgIGluc3Rh bGxlZF9kci0+aWZwLT5pZl9maWIgPT0gZmlibnVtICYmCiAJCSAgICBydHByZWYoc2VsZWN0ZWRf ZHIpIDw9IHJ0cHJlZihpbnN0YWxsZWRfZHIpKSB7CiAJCQlkZWZyb3V0ZXJfcmVsZShzZWxlY3Rl ZF9kcik7CiAJCQlzZWxlY3RlZF9kciA9IGluc3RhbGxlZF9kcjsKQEAgLTgwOCwxOCArODMxLDMw IEBACiAJTkQ2X1JVTkxPQ0soKTsKIAogCS8qCi0JICogSWYgdGhlIHNlbGVjdGVkIHJvdXRlciBp cyBkaWZmZXJlbnQgdGhhbiB0aGUgaW5zdGFsbGVkIG9uZSwKLQkgKiByZW1vdmUgdGhlIGluc3Rh bGxlZCByb3V0ZXIgYW5kIGluc3RhbGwgdGhlIHNlbGVjdGVkIG9uZS4KLQkgKiBOb3RlIHRoYXQg dGhlIHNlbGVjdGVkIHJvdXRlciBpcyBuZXZlciBOVUxMIGhlcmUuCisJICogSWYgd2Ugc2VsZWN0 ZWQgYSByb3V0ZXIgZm9yIHRoaXMgRklCIGFuZCBpdCdzIGRpZmZlcmVudAorCSAqIHRoYW4gdGhl IGluc3RhbGxlZCBvbmUsIHJlbW92ZSB0aGUgaW5zdGFsbGVkIHJvdXRlciBhbmQKKwkgKiBpbnN0 YWxsIHRoZSBzZWxlY3RlZCBvbmUgaW4gaXRzIHBsYWNlLgogCSAqLwogCWlmIChpbnN0YWxsZWRf ZHIgIT0gc2VsZWN0ZWRfZHIpIHsKIAkJaWYgKGluc3RhbGxlZF9kciAhPSBOVUxMKSB7CiAJCQlk ZWZyb3V0ZXJfZGVscmVxKGluc3RhbGxlZF9kcik7CiAJCQlkZWZyb3V0ZXJfcmVsZShpbnN0YWxs ZWRfZHIpOwogCQl9Ci0JCWRlZnJvdXRlcl9hZGRyZXEoc2VsZWN0ZWRfZHIpOworCQlpZiAoc2Vs ZWN0ZWRfZHIgIT0gTlVMTCkKKwkJCWRlZnJvdXRlcl9hZGRyZXEoc2VsZWN0ZWRfZHIpOwogCX0K LQlkZWZyb3V0ZXJfcmVsZShzZWxlY3RlZF9kcik7CisJaWYgKHNlbGVjdGVkX2RyICE9IE5VTEwp CisJCWRlZnJvdXRlcl9yZWxlKHNlbGVjdGVkX2RyKTsKK30KKworLyoKKyAqIE1haW50YWluIG9s ZCBLUEkgZm9yIGRlZmF1bHQgcm91dGVyIHNlbGVjdGlvbi4KKyAqIElmIHVuc3BlY2lmaWVkLCB3 ZSBjYW4gcmUtc2VsZWN0IHJvdXRlcnMgZm9yIGFsbCBGSUJzLgorICovCit2b2lkCitkZWZyb3V0 ZXJfc2VsZWN0KHZvaWQpCit7CisJZGVmcm91dGVyX3NlbGVjdF9maWIoUlRfQUxMX0ZJQlMpOwog fQogCiAvKgpAQCAtOTQyLDcgKzk3Nyw3IEBACiAJVl9uZDZfbGlzdF9nZW5pZCsrOwogCU5ENl9X VU5MT0NLKCk7CiAKLQlkZWZyb3V0ZXJfc2VsZWN0KCk7CisJZGVmcm91dGVyX3NlbGVjdF9maWIo bmV3LT5pZnAtPmlmX2ZpYik7CiAKIAlyZXR1cm4gKG4pOwogfQpAQCAtMTczMSw3ICsxNzY2LDcg QEAKIAlzdHJ1Y3QgcnRlbnRyeSAqcnQ7CiAJc3RydWN0IHNvY2thZGRyX2luNiBtYXNrNjsKIAl1 X2xvbmcgcnRmbGFnczsKLQlpbnQgZXJyb3IsIGFfZmFpbHVyZSwgZmlibnVtOworCWludCBlcnJv ciwgYV9mYWlsdXJlLCBmaWJudW0sIG1heGZpYjsKIAogCS8qCiAJICogaW42X2lmaW5pdCgpIHNl dHMgbmQ2X3J0cmVxdWVzdCB0byBpZmFfcnRyZXF1ZXN0IGZvciBhbGwgaWZhZGRycy4KQEAgLTE3 NDIsOCArMTc3NywxNSBAQAogCW1hc2s2LnNpbjZfYWRkciA9IHByLT5uZHByX21hc2s7CiAJcnRm bGFncyA9IChpZmEtPmlmYV9mbGFncyAmIH5JRkFfUlRTRUxGKSB8IFJURl9VUDsKIAorCWlmKFZf cnRfYWRkX2FkZHJfYWxsZmlicykgeworCQlmaWJudW0gPSAwOworCQltYXhmaWIgPSBydF9udW1m aWJzOworCX0gZWxzZSB7CisJCWZpYm51bSA9IGlmYS0+aWZhX2lmcC0+aWZfZmliOworCQltYXhm aWIgPSBmaWJudW0gKyAxOworCX0KIAlhX2ZhaWx1cmUgPSAwOwotCWZvciAoZmlibnVtID0gMDsg ZmlibnVtIDwgcnRfbnVtZmliczsgZmlibnVtKyspIHsKKwlmb3IgKDsgZmlibnVtIDwgbWF4Zmli OyBmaWJudW0rKykgewogCiAJCXJ0ID0gTlVMTDsKIAkJZXJyb3IgPSBpbjZfcnRyZXF1ZXN0KFJU TV9BREQsCkBAIC0xODMxLDYgKzE4NzMsMTAgQEAKIAkJaWYgKChvcHItPm5kcHJfc3RhdGVmbGFn cyAmIE5EUFJGX09OTElOSykgPT0gMCkKIAkJCWNvbnRpbnVlOwogCisJCWlmICghVl9ydF9hZGRf YWRkcl9hbGxmaWJzICYmCisJCSAgICBvcHItPm5kcHJfaWZwLT5pZl9maWIgIT0gcHItPm5kcHJf aWZwLT5pZl9maWIpCisJCQljb250aW51ZTsKKwogCQlpZiAob3ByLT5uZHByX3BsZW4gPT0gcHIt Pm5kcHJfcGxlbiAmJgogCQkgICAgaW42X2FyZV9wcmVmaXhfZXF1YWwoJnByLT5uZHByX3ByZWZp eC5zaW42X2FkZHIsCiAJCSAgICAmb3ByLT5uZHByX3ByZWZpeC5zaW42X2FkZHIsIHByLT5uZHBy X3BsZW4pKSB7CkBAIC0xODkxLDcgKzE5MzcsNyBAQAogCXN0cnVjdCBydGVudHJ5ICpydDsKIAlj aGFyIGlwNmJ1ZltJTkVUNl9BRERSU1RSTEVOXTsKIAl1aW50NjRfdCBnZW5pZDsKLQlpbnQgZmli bnVtLCBhX2ZhaWx1cmU7CisJaW50IGZpYm51bSwgbWF4ZmliLCBhX2ZhaWx1cmU7CiAKIAlORDZf T05MSU5LX0xPQ0tfQVNTRVJUKCk7CiAJTkQ2X1VOTE9DS19BU1NFUlQoKTsKQEAgLTE5MDksOCAr MTk1NSwxNiBAQAogCW1hc2s2LnNpbjZfbGVuID0gc2l6ZW9mKHNhNik7CiAJYmNvcHkoJnByLT5u ZHByX21hc2ssICZtYXNrNi5zaW42X2FkZHIsIHNpemVvZihzdHJ1Y3QgaW42X2FkZHIpKTsKIAor CWlmIChWX3J0X2FkZF9hZGRyX2FsbGZpYnMpIHsKKwkJZmlibnVtID0gMDsKKwkJbWF4ZmliID0g cnRfbnVtZmliczsKKwl9IGVsc2UgeworCQlmaWJudW0gPSBpZnAtPmlmX2ZpYjsKKwkJbWF4Zmli ID0gZmlibnVtICsgMTsKKwl9CisKIAlhX2ZhaWx1cmUgPSAwOwotCWZvciAoZmlibnVtID0gMDsg ZmlibnVtIDwgcnRfbnVtZmliczsgZmlibnVtKyspIHsKKwlmb3IgKDsgZmlibnVtIDwgbWF4Zmli OyBmaWJudW0rKykgewogCQlydCA9IE5VTEw7CiAJCWVycm9yID0gaW42X3J0cmVxdWVzdChSVE1f REVMRVRFLCAoc3RydWN0IHNvY2thZGRyICopJnNhNiwgTlVMTCwKIAkJICAgIChzdHJ1Y3Qgc29j a2FkZHIgKikmbWFzazYsIDAsICZydCwgZmlibnVtKTsKZGlmZiAtLWdpdCBhL3N5cy9uZXRpbmV0 Ni9uZDZfbmJyLmMgYi9zeXMvbmV0aW5ldDYvbmQ2X25ici5jCi0tLSBhL3N5cy9uZXRpbmV0Ni9u ZDZfbmJyLmMKKysrIGIvc3lzL25ldGluZXQ2L25kNl9uYnIuYwpAQCAtMjYyLDggKzI2Miw3IEBA CiAJCWJ6ZXJvKCZpbmZvLCBzaXplb2YoaW5mbykpOwogCQlpbmZvLnJ0aV9pbmZvW1JUQVhfR0FU RVdBWV0gPSAoc3RydWN0IHNvY2thZGRyICopJnJ0X2dhdGV3YXk7CiAKLQkJLyogQWx3YXlzIHVz ZSB0aGUgZGVmYXVsdCBGSUIuICovCi0JCWlmIChyaWJfbG9va3VwX2luZm8oUlRfREVGQVVMVF9G SUIsIChzdHJ1Y3Qgc29ja2FkZHIgKikmZHN0NiwKKwkJaWYgKHJpYl9sb29rdXBfaW5mbyhpZnAt PmlmX2ZpYiwgKHN0cnVjdCBzb2NrYWRkciAqKSZkc3Q2LAogCQkgICAgMCwgMCwgJmluZm8pID09 IDApIHsKIAkJCWlmICgoaW5mby5ydGlfZmxhZ3MgJiBSVEZfQU5OT1VOQ0UpICE9IDAgJiYKIAkJ CSAgICBydF9nYXRld2F5LnNkbF9mYW1pbHkgPT0gQUZfTElOSykgewpAQCAtNDg1LDcgKzQ4NCw3 IEBACiAJCQl1aW50MzJfdCBzY29wZWlkOwogCiAJCQlpbjZfc3BsaXRzY29wZSgmaXA2LT5pcDZf ZHN0LCAmZHN0NiwgJnNjb3BlaWQpOwotCQkJZXJyb3IgPSBpbjZfc2VsZWN0c3JjX2FkZHIoUlRf REVGQVVMVF9GSUIsICZkc3Q2LAorCQkJZXJyb3IgPSBpbjZfc2VsZWN0c3JjX2FkZHIoZmlibnVt LCAmZHN0NiwKIAkJCSAgICBzY29wZWlkLCBpZnAsICZzcmM2LCBOVUxMKTsKIAkJCWlmIChlcnJv cikgewogCQkJCWNoYXIgaXA2YnVmW0lORVQ2X0FERFJTVFJMRU5dOwpAQCAtOTgyLDcgKzk4MSw3 IEBACiAJICogU2VsZWN0IGEgc291cmNlIHdob3NlIHNjb3BlIGlzIHRoZSBzYW1lIGFzIHRoYXQg b2YgdGhlIGRlc3QuCiAJICovCiAJaW42X3NwbGl0c2NvcGUoJmRhZGRyNiwgJmRzdDYsICZzY29w ZWlkKTsKLQllcnJvciA9IGluNl9zZWxlY3RzcmNfYWRkcihSVF9ERUZBVUxUX0ZJQiwgJmRzdDYs CisJZXJyb3IgPSBpbjZfc2VsZWN0c3JjX2FkZHIoZmlibnVtLCAmZHN0NiwKIAkgICAgc2NvcGVp ZCwgaWZwLCAmc3JjNiwgTlVMTCk7CiAJaWYgKGVycm9yKSB7CiAJCWNoYXIgaXA2YnVmW0lORVQ2 X0FERFJTVFJMRU5dOwpkaWZmIC0tZ2l0IGEvc3lzL25ldGluZXQ2L25kNi5oIGIvc3lzL25ldGlu ZXQ2L25kNi5oCi0tLSBhL3N5cy9uZXRpbmV0Ni9uZDYuaAorKysgYi9zeXMvbmV0aW5ldDYvbmQ2 LmgKQEAgLTQ2OSw2ICs0NjksNyBAQAogdm9pZCBuZDZfcnNfaW5wdXQoc3RydWN0IG1idWYgKiwg aW50LCBpbnQpOwogdm9pZCBuZDZfcmFfaW5wdXQoc3RydWN0IG1idWYgKiwgaW50LCBpbnQpOwog dm9pZCBkZWZyb3V0ZXJfcmVzZXQodm9pZCk7Cit2b2lkIGRlZnJvdXRlcl9zZWxlY3RfZmliKGlu dCBmaWJudW0pOwogdm9pZCBkZWZyb3V0ZXJfc2VsZWN0KHZvaWQpOwogdm9pZCBkZWZyb3V0ZXJf cmVmKHN0cnVjdCBuZF9kZWZyb3V0ZXIgKik7CiB2b2lkIGRlZnJvdXRlcl9yZWxlKHN0cnVjdCBu ZF9kZWZyb3V0ZXIgKik7CmRpZmYgLS1naXQgYS9zeXMvbmV0aW5ldDYvbmQ2LmMgYi9zeXMvbmV0 aW5ldDYvbmQ2LmMKLS0tIGEvc3lzL25ldGluZXQ2L25kNi5jCisrKyBiL3N5cy9uZXRpbmV0Ni9u ZDYuYwpAQCAtMTU3LDYgKzE1Nyw3IEBACiAJc3RydWN0IHNvY2thZGRyX2RsIGd3OwogCXN0cnVj dCBpZm5ldCAqaWZwOwogCWludCB0eXBlOworCWludCBmaWJudW07CiAKIAlMTEVfV0xPQ0tfQVNT RVJUKGxsZSk7CiAKQEAgLTE5NCw4ICsxOTUsOSBAQAogCXJ0aW5mby5ydGlfaW5mb1tSVEFYX0RT VF0gPSAoc3RydWN0IHNvY2thZGRyICopJmRzdDsKIAlydGluZm8ucnRpX2luZm9bUlRBWF9HQVRF V0FZXSA9IChzdHJ1Y3Qgc29ja2FkZHIgKikmZ3c7CiAJcnRpbmZvLnJ0aV9hZGRycyA9IFJUQV9E U1QgfCBSVEFfR0FURVdBWTsKKwlmaWJudW0gPSBWX3J0X2FkZF9hZGRyX2FsbGZpYnMgPyBSVF9B TExfRklCUyA6IGlmcC0+aWZfZmliOwogCXJ0X21pc3Ntc2dfZmliKHR5cGUsICZydGluZm8sIFJU Rl9IT1NUIHwgUlRGX0xMREFUQSB8ICgKLQkgICAgdHlwZSA9PSBSVE1fQUREID8gUlRGX1VQOiAw KSwgMCwgUlRfREVGQVVMVF9GSUIpOworCSAgICB0eXBlID09IFJUTV9BREQgPyBSVEZfVVA6IDAp LCAwLCBmaWJudW0pOwogfQogCiAvKgpAQCAtMTIwMCw3ICsxMjAyLDcgQEAKIAogCWlmIChORF9J RklORk8oaWZwKS0+ZmxhZ3MgJiBORDZfSUZGX0FDQ0VQVF9SVEFEVikgewogCQkvKiBSZWZyZXNo IGRlZmF1bHQgcm91dGVyIGxpc3QuICovCi0JCWRlZnJvdXRlcl9zZWxlY3QoKTsKKwkJZGVmcm91 dGVyX3NlbGVjdF9maWIoaWZwLT5pZl9maWIpOwogCX0KIH0KIApAQCAtMTI1Myw3ICsxMjU1LDcg QEAKIG5kNl9pc19uZXdfYWRkcl9uZWlnaGJvcihjb25zdCBzdHJ1Y3Qgc29ja2FkZHJfaW42ICph ZGRyLCBzdHJ1Y3QgaWZuZXQgKmlmcCkKIHsKIAlzdHJ1Y3QgbmRfcHJlZml4ICpwcjsKLQlzdHJ1 Y3QgaWZhZGRyICpkc3RhZGRyOworCXN0cnVjdCBpZmFkZHIgKmlmYTsKIAlzdHJ1Y3QgcnRfYWRk cmluZm8gaW5mbzsKIAlzdHJ1Y3Qgc29ja2FkZHJfaW42IHJ0X2tleTsKIAljb25zdCBzdHJ1Y3Qg c29ja2FkZHIgKmRzdDY7CkBAIC0xMjg3LDkgKzEyODksNiBAQAogCWJ6ZXJvKCZpbmZvLCBzaXpl b2YoaW5mbykpOwogCWluZm8ucnRpX2luZm9bUlRBWF9EU1RdID0gKHN0cnVjdCBzb2NrYWRkciAq KSZydF9rZXk7CiAKLQkvKiBBbHdheXMgdXNlIHRoZSBkZWZhdWx0IEZJQiBoZXJlLiBYWE1FIC0g d2h5PyAqLwotCWZpYm51bSA9IFJUX0RFRkFVTFRfRklCOwotCiAJLyoKIAkgKiBJZiB0aGUgYWRk cmVzcyBtYXRjaGVzIG9uZSBvZiBvdXIgYWRkcmVzc2VzLAogCSAqIGl0IHNob3VsZCBiZSBhIG5l aWdoYm9yLgpAQCAtMTMwMywxOSArMTMwMiwzMSBAQAogCQkJY29udGludWU7CiAKIAkJaWYgKChw ci0+bmRwcl9zdGF0ZWZsYWdzICYgTkRQUkZfT05MSU5LKSA9PSAwKSB7Ci0JCQkvKiBBbHdheXMg dXNlIHRoZSBkZWZhdWx0IEZJQiBoZXJlLiAqLwogCQkJZHN0NiA9IChjb25zdCBzdHJ1Y3Qgc29j a2FkZHIgKikmcHItPm5kcHJfcHJlZml4OwogCi0JCQlnZW5pZCA9IFZfbmQ2X2xpc3RfZ2VuaWQ7 Ci0JCQlORDZfUlVOTE9DSygpOwotCi0JCQkvKiBSZXN0b3JlIGxlbmd0aCBmaWVsZCBiZWZvcmUg cmV0cnlpbmcgbG9va3VwICovCi0JCQlydF9rZXkuc2luNl9sZW4gPSBzaXplb2YocnRfa2V5KTsK LQkJCWVycm9yID0gcmliX2xvb2t1cF9pbmZvKGZpYm51bSwgZHN0NiwgMCwgMCwgJmluZm8pOwor CQkJLyoKKwkJCSAqIFdlIG9ubHkgbmVlZCB0byBjaGVjayBhbGwgRklCcyBpZiBhZGRfYWRkcl9h bGxmaWJzCisJCQkgKiBpcyB1bnNldC4gSWYgc2V0LCBjaGVja2luZyBhbnkgRklCIHdpbGwgc3Vm ZmljZS4KKwkJCSAqLworCQkJZmlibnVtID0gVl9ydF9hZGRfYWRkcl9hbGxmaWJzID8gcnRfbnVt ZmlicyAtIDEgOiAwOworCQkJZm9yICg7IGZpYm51bSA8IHJ0X251bWZpYnM7IGZpYm51bSsrKSB7 CisJCQkJZ2VuaWQgPSBWX25kNl9saXN0X2dlbmlkOworCQkJCU5ENl9SVU5MT0NLKCk7CiAKLQkJ CU5ENl9STE9DSygpOwotCQkJaWYgKGdlbmlkICE9IFZfbmQ2X2xpc3RfZ2VuaWQpCi0JCQkJZ290 byByZXN0YXJ0OworCQkJCS8qCisJCQkJICogUmVzdG9yZSBsZW5ndGggZmllbGQgYmVmb3JlCisJ CQkJICogcmV0cnlpbmcgbG9va3VwCisJCQkJICovCisJCQkJcnRfa2V5LnNpbjZfbGVuID0gc2l6 ZW9mKHJ0X2tleSk7CisJCQkJZXJyb3IgPSByaWJfbG9va3VwX2luZm8oZmlibnVtLCBkc3Q2LCAw LCAwLAorCQkJCQkJICAgICAgICAmaW5mbyk7CisKKwkJCQlORDZfUkxPQ0soKTsKKwkJCQlpZiAo Z2VuaWQgIT0gVl9uZDZfbGlzdF9nZW5pZCkKKwkJCQkJZ290byByZXN0YXJ0OworCQkJCWlmIChl cnJvciA9PSAwKQorCQkJCQlicmVhazsKKwkJCX0KIAkJCWlmIChlcnJvciAhPSAwKQogCQkJCWNv bnRpbnVlOwogCkBAIC0xMzQ2LDEzICsxMzU3LDE4IEBACiAJICogSWYgdGhlIGFkZHJlc3MgaXMg YXNzaWduZWQgb24gdGhlIG5vZGUgb2YgdGhlIG90aGVyIHNpZGUgb2YKIAkgKiBhIHAycCBpbnRl cmZhY2UsIHRoZSBhZGRyZXNzIHNob3VsZCBiZSBhIG5laWdoYm9yLgogCSAqLwotCWRzdGFkZHIg PSBpZmFfaWZ3aXRoZHN0YWRkcigoY29uc3Qgc3RydWN0IHNvY2thZGRyICopYWRkciwgUlRfQUxM X0ZJQlMpOwotCWlmIChkc3RhZGRyICE9IE5VTEwpIHsKLQkJaWYgKGRzdGFkZHItPmlmYV9pZnAg PT0gaWZwKSB7Ci0JCQlpZmFfZnJlZShkc3RhZGRyKTsKLQkJCXJldHVybiAoMSk7CisJaWYgKGlm cC0+aWZfZmxhZ3MgJiBJRkZfUE9JTlRPUE9JTlQpIHsKKwkJSUZfQUREUl9STE9DSyhpZnApOwor CQlUQUlMUV9GT1JFQUNIKGlmYSwgJmlmcC0+aWZfYWRkcmhlYWQsIGlmYV9saW5rKSB7CisJCQlp ZiAoaWZhLT5pZmFfYWRkci0+c2FfZmFtaWx5ICE9IGFkZHItPnNpbjZfZmFtaWx5KQorCQkJCWNv bnRpbnVlOworCQkJaWYgKGlmYS0+aWZhX2RzdGFkZHIgIT0gTlVMTCAmJgorCQkJICAgIHNhX2Vx dWFsKGFkZHIsIGlmYS0+aWZhX2RzdGFkZHIpKSB7CisJCQkJSUZfQUREUl9SVU5MT0NLKGlmcCk7 CisJCQkJcmV0dXJuIDE7CisJCQl9CiAJCX0KLQkJaWZhX2ZyZWUoZHN0YWRkcik7CisJCUlGX0FE RFJfUlVOTE9DSyhpZnApOwogCX0KIAogCS8qCkBAIC0xNDg1LDcgKzE1MDEsNyBAQAogCQkJLyoK IAkJCSAqIFdlIG5lZWQgdG8gdW5sb2NrIHRvIGF2b2lkIGEgTE9SIHdpdGggcnQ2X2ZsdXNoKCkg d2l0aCB0aGUKIAkJCSAqIHJuaCBhbmQgZm9yIHRoZSBjYWxscyB0byBwZnhsaXN0X29ubGlua19j aGVjaygpIGFuZAotCQkJICogZGVmcm91dGVyX3NlbGVjdCgpIGluIHRoZSBibG9jayBmdXJ0aGVy IGRvd24gZm9yIGNhbGxzCisJCQkgKiBkZWZyb3V0ZXJfc2VsZWN0X2ZpYigpIGluIHRoZSBibG9j ayBmdXJ0aGVyIGRvd24gZm9yIGNhbGxzCiAJCQkgKiBpbnRvIG5kNl9sb29rdXAoKS4gIFdlIHN0 aWxsIGhvbGQgYSByZWYuCiAJCQkgKi8KIAkJCUxMRV9XVU5MT0NLKGxuKTsKQEAgLTE1MDAsNyAr MTUxNiw3IEBACiAKIAkJaWYgKGRyKSB7CiAJCQkvKgotCQkJICogU2luY2UgZGVmcm91dGVyX3Nl bGVjdCgpIGRvZXMgbm90IGFmZmVjdCB0aGUKKwkJCSAqIFNpbmNlIGRlZnJvdXRlcl9zZWxlY3Rf ZmliKCkgZG9lcyBub3QgYWZmZWN0IHRoZQogCQkJICogb24tbGluayBkZXRlcm1pbmF0aW9uIGFu ZCBNSVA2IG5lZWRzIHRoZSBjaGVjawogCQkJICogYmVmb3JlIHRoZSBkZWZhdWx0IHJvdXRlciBz ZWxlY3Rpb24sIHdlIHBlcmZvcm0KIAkJCSAqIHRoZSBjaGVjayBub3cuCkBAIC0xNTEwLDcgKzE1 MjYsNyBAQAogCQkJLyoKIAkJCSAqIFJlZnJlc2ggZGVmYXVsdCByb3V0ZXIgbGlzdC4KIAkJCSAq LwotCQkJZGVmcm91dGVyX3NlbGVjdCgpOworCQkJZGVmcm91dGVyX3NlbGVjdF9maWIoZHItPmlm cC0+aWZfZmliKTsKIAkJfQogCiAJCS8qCkBAIC0yMTA0LDIwICsyMTIwLDIwIEBACiAJICogUXVl c3Rpb246IGNhbiB3ZSByZXN0cmljdCB0aGUgZmlyc3QgY29uZGl0aW9uIHRvIHRoZSAiaXNfbmV3 ZW50cnkiCiAJICogY2FzZT8KIAkgKiBYWFg6IHdoZW4gd2UgaGVhciBhbiBSQSBmcm9tIGEgbmV3 IHJvdXRlciB3aXRoIHRoZSBsaW5rLWxheWVyCi0JICogYWRkcmVzcyBvcHRpb24sIGRlZnJvdXRl cl9zZWxlY3QoKSBpcyBjYWxsZWQgdHdpY2UsIHNpbmNlCisJICogYWRkcmVzcyBvcHRpb24sIGRl ZnJvdXRlcl9zZWxlY3RfZmliKCkgaXMgY2FsbGVkIHR3aWNlLCBzaW5jZQogCSAqIGRlZnJ0cmxp c3RfdXBkYXRlIGNhbGxlZCB0aGUgZnVuY3Rpb24gYXMgd2VsbC4gIEhvd2V2ZXIsIEkgYmVsaWV2 ZQogCSAqIHdlIGNhbiBjb21wcm9taXNlIHRoZSBvdmVyaGVhZCwgc2luY2UgaXQgb25seSBoYXBw ZW5zIHRoZSBmaXJzdAogCSAqIHRpbWUuCi0JICogWFhYOiBhbHRob3VnaCBkZWZyb3V0ZXJfc2Vs ZWN0KCkgc2hvdWxkIG5vdCBoYXZlIGEgYmFkIGVmZmVjdAorCSAqIFhYWDogYWx0aG91Z2ggZGVm cm91dGVyX3NlbGVjdF9maWIoKSBzaG91bGQgbm90IGhhdmUgYSBiYWQgZWZmZWN0CiAJICogZm9y IHRob3NlIGFyZSBub3QgYXV0b2NvbmZpZ3VyZWQgaG9zdHMsIHdlIGV4cGxpY2l0bHkgYXZvaWQg c3VjaAogCSAqIGNhc2VzIGZvciBzYWZldHkuCiAJICovCiAJaWYgKChkb191cGRhdGUgfHwgaXNf bmV3ZW50cnkpICYmIHJvdXRlciAmJgogCSAgICBORF9JRklORk8oaWZwKS0+ZmxhZ3MgJiBORDZf SUZGX0FDQ0VQVF9SVEFEVikgewogCQkvKgogCQkgKiBndWFyYW50ZWVkIHJlY3Vyc2lvbgogCQkg Ki8KLQkJZGVmcm91dGVyX3NlbGVjdCgpOworCQlkZWZyb3V0ZXJfc2VsZWN0X2ZpYihpZnAtPmlm X2ZpYik7CiAJfQogfQogCmRpZmYgLS1naXQgYS9zeXMvbmV0aW5ldDYvaW42X3NyYy5jIGIvc3lz L25ldGluZXQ2L2luNl9zcmMuYwotLS0gYS9zeXMvbmV0aW5ldDYvaW42X3NyYy5jCisrKyBiL3N5 cy9uZXRpbmV0Ni9pbjZfc3JjLmMKQEAgLTI5Nyw3ICsyOTcsNyBAQAogCSAqLwogCS8qIGdldCB0 aGUgb3V0Z29pbmcgaW50ZXJmYWNlICovCiAJaWYgKChlcnJvciA9IGluNl9zZWxlY3RpZihkc3Rz b2NrLCBvcHRzLCBtb3B0cywgJmlmcCwgb2lmcCwKLQkgICAgKGlucCAhPSBOVUxMKSA/IGlucC0+ aW5wX2luYy5pbmNfZmlibnVtIDogUlRfREVGQVVMVF9GSUIpKSAhPSAwKQorCSAgICAoaW5wICE9 IE5VTEwpID8gaW5wLT5pbnBfaW5jLmluY19maWJudW0gOiBmaWJudW0pKSAhPSAwKQogCQlyZXR1 cm4gKGVycm9yKTsKIAogI2lmZGVmIERJQUdOT1NUSUMKQEAgLTU2Myw3ICs1NjMsNyBAQAogCXVp bnQzMl90IGZpYm51bTsKIAlpbnQgZXJyb3I7CiAKLQlmaWJudW0gPSAoaW5wICE9IE5VTEwpID8g aW5wLT5pbnBfaW5jLmluY19maWJudW0gOiBSVF9ERUZBVUxUX0ZJQjsKKwlmaWJudW0gPSBpbnAt PmlucF9pbmMuaW5jX2ZpYm51bTsKIAlyZXRpZnAgPSBOVUxMOwogCiAJZXJyb3IgPSBpbjZfc2Vs ZWN0c3JjKGZpYm51bSwgZHN0c29jaywgb3B0cywgaW5wLCBjcmVkLCAmcmV0aWZwLCBzcmNwKTsK ZGlmZiAtLWdpdCBhL3N5cy9uZXRpbmV0Ni9pbjYuYyBiL3N5cy9uZXRpbmV0Ni9pbjYuYwotLS0g YS9zeXMvbmV0aW5ldDYvaW42LmMKKysrIGIvc3lzL25ldGluZXQ2L2luNi5jCkBAIC0xNTksNiAr MTU5LDcgQEAKIAlzdHJ1Y3Qgc29ja2FkZHJfZGwgZ2F0ZXdheTsKIAlzdHJ1Y3Qgc29ja2FkZHJf aW42IG1hc2ssIGFkZHI7CiAJc3RydWN0IHJ0ZW50cnkgcnQ7CisJaW50IGZpYm51bTsKIAogCS8q CiAJICogaW5pdGlhbGl6ZSBmb3IgcnRtc2cgZ2VuZXJhdGlvbgpAQCAtMTc2LDggKzE3Nyw5IEBA CiAJcnQucnRfZmxhZ3MgPSBSVEZfSE9TVCB8IFJURl9TVEFUSUM7CiAJaWYgKGNtZCA9PSBSVE1f QUREKQogCQlydC5ydF9mbGFncyB8PSBSVEZfVVA7Ci0JLyogQW5ub3VuY2UgYXJyaXZhbCBvZiBs b2NhbCBhZGRyZXNzIHRvIGFsbCBGSUJzLiAqLwotCXJ0X25ld2FkZHJtc2coY21kLCAmaWEtPmlh X2lmYSwgMCwgJnJ0KTsKKwlmaWJudW0gPSBWX3J0X2FkZF9hZGRyX2FsbGZpYnMgPyBSVF9BTExf RklCUyA6IGlhNjJpZmEoaWEpLT5pZmFfaWZwLT5pZl9maWI7CisJLyogQW5ub3VuY2UgYXJyaXZh bCBvZiBsb2NhbCBhZGRyZXNzIHRvIHRoaXMgRklCLiAqLworCXJ0X25ld2FkZHJtc2dfZmliKGNt ZCwgJmlhLT5pYV9pZmEsIDAsICZydCwgZmlibnVtKTsKIH0KIAogaW50CkBAIC0yMTE3LDE1ICsy MTE5LDE1IEBACiAJdWludDMyX3Qgc2NvcGVpZDsKIAlpbnQgZXJyb3I7CiAJY2hhciBpcDZidWZb SU5FVDZfQUREUlNUUkxFTl07CisJaW50IGZpYm51bTsKIAogCUtBU1NFUlQobDNhZGRyLT5zYV9m YW1pbHkgPT0gQUZfSU5FVDYsCiAJICAgICgic2luX2ZhbWlseSAlZCIsIGwzYWRkci0+c2FfZmFt aWx5KSk7CiAKLQkvKiBPdXIgbG9jYWwgYWRkcmVzc2VzIGFyZSBhbHdheXMgb25seSBpbnN0YWxs ZWQgb24gdGhlIGRlZmF1bHQgRklCLiAqLwotCiAJc2luNiA9IChjb25zdCBzdHJ1Y3Qgc29ja2Fk ZHJfaW42ICopbDNhZGRyOwogCWluNl9zcGxpdHNjb3BlKCZzaW42LT5zaW42X2FkZHIsICZkc3Qs ICZzY29wZWlkKTsKLQllcnJvciA9IGZpYjZfbG9va3VwX25oX2Jhc2ljKFJUX0RFRkFVTFRfRklC LCAmZHN0LCBzY29wZWlkLCAwLCAwLCAmbmg2KTsKKwlmaWJudW0gPSBWX3J0X2FkZF9hZGRyX2Fs bGZpYnMgPyBSVF9ERUZBVUxUX0ZJQiA6IGlmcC0+aWZfZmliOworCWVycm9yID0gZmliNl9sb29r dXBfbmhfYmFzaWMoZmlibnVtLCAmZHN0LCBzY29wZWlkLCAwLCAwLCAmbmg2KTsKIAlpZiAoZXJy b3IgIT0gMCB8fCAobmg2Lm5oX2ZsYWdzICYgTkhGX0dBVEVXQVkpIHx8IG5oNi5uaF9pZnAgIT0g aWZwKSB7CiAJCXN0cnVjdCBpZmFkZHIgKmlmYTsKIAkJLyoKZGlmZiAtLWdpdCBhL3N5cy9uZXRp bmV0Ni9pY21wNi5jIGIvc3lzL25ldGluZXQ2L2ljbXA2LmMKLS0tIGEvc3lzL25ldGluZXQ2L2lj bXA2LmMKKysrIGIvc3lzL25ldGluZXQ2L2ljbXA2LmMKQEAgLTIxNDcsNyArMjE0Nyw3IEBACiAJ CSAqIHNvdXJjZSBhZGRyZXNzIG9mIHRoZSBlcnJvbmVvdXMgcGFja2V0LgogCQkgKi8KIAkJaW42 X3NwbGl0c2NvcGUoJmlwNi0+aXA2X3NyYywgJmRzdDYsICZzY29wZWlkKTsKLQkJZXJyb3IgPSBp bjZfc2VsZWN0c3JjX2FkZHIoUlRfREVGQVVMVF9GSUIsICZkc3Q2LAorCQllcnJvciA9IGluNl9z ZWxlY3RzcmNfYWRkcihNX0dFVEZJQihtKSwgJmRzdDYsCiAJCSAgICBzY29wZWlkLCBOVUxMLCAm c3JjNiwgJmhsaW0pOwogCiAJCWlmIChlcnJvcikgewpAQCAtMjI4OSw3ICsyMjg5LDcgQEAKIAl1 aW50MzJfdCBzY29wZWlkOwogCiAJaW42X3NwbGl0c2NvcGUoJnJlZGRzdDYsICZrZHN0LCAmc2Nv cGVpZCk7Ci0JaWYgKGZpYjZfbG9va3VwX25oX2Jhc2ljKFJUX0RFRkFVTFRfRklCLCAma2RzdCwg c2NvcGVpZCwgMCwgMCwmbmg2KT09MCl7CisJaWYgKGZpYjZfbG9va3VwX25oX2Jhc2ljKGlmcC0+ aWZfZmliLCAma2RzdCwgc2NvcGVpZCwgMCwgMCwmbmg2KT09MCl7CiAJCWlmICgobmg2Lm5oX2Zs YWdzICYgTkhGX0dBVEVXQVkpID09IDApIHsKIAkJCW5kNmxvZygoTE9HX0VSUiwKIAkJCSAgICAi SUNNUDYgcmVkaXJlY3QgcmVqZWN0ZWQ7IG5vIHJvdXRlICIKCg== --b1_b0d313e58e33da16a81af0fc9092492c--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b0d313e58e33da16a81af0fc9092492c>