Date: Mon, 6 Mar 2017 05:10:40 +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: <af28b28da6507256460ae036304910f5@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_af28b28da6507256460ae036304910f5 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: base64 amh1amhpdGlfYWRqZWN0aXZpc20ub3JnIHVwZGF0ZWQgdGhpcyByZXZpc2lvbiB0byBEaWZmIDI2 MDIyLgpqaHVqaGl0aV9hZGplY3RpdmlzbS5vcmcgbWFya2VkIGFuIGlubGluZSBjb21tZW50IGFz IGRvbmUuCgpSRVBPU0lUT1JZCiAgclMgRnJlZUJTRCBzcmMgcmVwb3NpdG9yeQoKQ0hBTkdFUyBT SU5DRSBMQVNUIFVQREFURQogIGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNkLm9yZy9EOTQ1MT92cz0y NTUxMiZpZD0yNjAyMgoKUkVWSVNJT04gREVUQUlMCiAgaHR0cHM6Ly9yZXZpZXdzLmZyZWVic2Qu b3JnL0Q5NDUxCgpBRkZFQ1RFRCBGSUxFUwogIHN5cy9uZXRpbmV0Ni9pY21wNi5jCiAgc3lzL25l dGluZXQ2L2luNi5jCiAgc3lzL25ldGluZXQ2L2luNl9zcmMuYwogIHN5cy9uZXRpbmV0Ni9uZDYu YwogIHN5cy9uZXRpbmV0Ni9uZDYuaAogIHN5cy9uZXRpbmV0Ni9uZDZfbmJyLmMKICBzeXMvbmV0 aW5ldDYvbmQ2X3J0ci5jCiAgdGVzdHMvc3lzL25ldGluZXQvZmlic190ZXN0LnNoCgpFTUFJTCBQ UkVGRVJFTkNFUwogIGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNkLm9yZy9zZXR0aW5ncy9wYW5lbC9l bWFpbHByZWZlcmVuY2VzLwoKVG86IGpodWpoaXRpX2FkamVjdGl2aXNtLm9yZywgI25ldHdvcmss IGJ6LCBhc29tZXJzCkNjOiBqY2gsIGJ6LCBpbXAsIGFlLCBmcmVlYnNkLW5ldC1saXN0Cg== --b1_af28b28da6507256460ae036304910f5 Content-Type: text/x-patch; charset=utf-8; name="D9451.26022.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D9451.26022.patch" ZGlmZiAtLWdpdCBhL3Rlc3RzL3N5cy9uZXRpbmV0L2ZpYnNfdGVzdC5zaCBiL3Rlc3RzL3N5cy9u ZXRpbmV0L2ZpYnNfdGVzdC5zaAotLS0gYS90ZXN0cy9zeXMvbmV0aW5ldC9maWJzX3Rlc3Quc2gK KysrIGIvdGVzdHMvc3lzL25ldGluZXQvZmlic190ZXN0LnNoCkBAIC00NTksOCArNDU5LDYgQEAK IAlTVUJORVQ9IjIwMDE6ZGI4OiIKIAlNQVNLPSI2NCIKIAotCWF0Zl9leHBlY3RfZmFpbCAiUFIx OTYzNjEgSVB2NiBuZXR3b3JrIHJvdXRlcyBkb24ndCByZXNwZWN0IG5ldC5hZGRfYWRkcl9hbGxm aWJzPTAiCi0KIAkjIENoZWNrIHN5c3RlbSBjb25maWd1cmF0aW9uCiAJaWYgWyAwICE9IGBzeXNj dGwgLW4gbmV0LmFkZF9hZGRyX2FsbGZpYnNgIF07IHRoZW4KIAkJYXRmX3NraXAgIlRoaXMgdGVz dCByZXF1aXJlcyBuZXQuYWRkX2FkZHJfYWxsZmlicz0wIgpkaWZmIC0tZ2l0IGEvc3lzL25ldGlu ZXQ2L25kNl9ydHIuYyBiL3N5cy9uZXRpbmV0Ni9uZDZfcnRyLmMKLS0tIGEvc3lzL25ldGluZXQ2 L25kNl9ydHIuYworKysgYi9zeXMvbmV0aW5ldDYvbmQ2X3J0ci5jCkBAIC01MDAsNyArNTAwLDcg QEAKIAogCWVycm9yID0gaW42X3J0cmVxdWVzdChSVE1fQURELCAoc3RydWN0IHNvY2thZGRyICop JmRlZiwKIAkgICAgKHN0cnVjdCBzb2NrYWRkciAqKSZnYXRlLCAoc3RydWN0IHNvY2thZGRyICop Jm1hc2ssCi0JICAgIFJURl9HQVRFV0FZLCAmbmV3cnQsIFJUX0RFRkFVTFRfRklCKTsKKwkgICAg UlRGX0dBVEVXQVksICZuZXdydCwgbmV3LT5pZnAtPmlmX2ZpYik7CiAJaWYgKG5ld3J0KSB7CiAJ CW5kNl9ydG1zZyhSVE1fQURELCBuZXdydCk7IC8qIHRlbGwgdXNlciBwcm9jZXNzICovCiAJCVJU RlJFRShuZXdydCk7CkBAIC01NTEsOCArNTUxLDggQEAKIAogLyoKICAqIFJlbW92ZSB0aGUgZGVm YXVsdCByb3V0ZSBmb3IgYSBnaXZlbiByb3V0ZXIuCi0gKiBUaGlzIGlzIGp1c3QgYSBzdWJyb3V0 aW5lIGZ1bmN0aW9uIGZvciBkZWZyb3V0ZXJfc2VsZWN0KCksIGFuZCBzaG91bGQKLSAqIG5vdCBi ZSBjYWxsZWQgZnJvbSBhbnl3aGVyZSBlbHNlLgorICogVGhpcyBpcyBqdXN0IGEgc3Vicm91dGlu ZSBmdW5jdGlvbiBmb3IgZGVmcm91dGVyX3NlbGVjdF9maWIoKSwgYW5kCisgKiBzaG91bGQgbm90 IGJlIGNhbGxlZCBmcm9tIGFueXdoZXJlIGVsc2UuCiAgKi8KIHN0YXRpYyB2b2lkCiBkZWZyb3V0 ZXJfZGVscmVxKHN0cnVjdCBuZF9kZWZyb3V0ZXIgKmRyKQpAQCAtNTcxLDcgKzU3MSw3IEBACiAK IAlpbjZfcnRyZXF1ZXN0KFJUTV9ERUxFVEUsIChzdHJ1Y3Qgc29ja2FkZHIgKikmZGVmLAogCSAg ICAoc3RydWN0IHNvY2thZGRyICopJmdhdGUsCi0JICAgIChzdHJ1Y3Qgc29ja2FkZHIgKikmbWFz aywgUlRGX0dBVEVXQVksICZvbGRydCwgUlRfREVGQVVMVF9GSUIpOworCSAgICAoc3RydWN0IHNv Y2thZGRyICopJm1hc2ssIFJURl9HQVRFV0FZLCAmb2xkcnQsIGRyLT5pZnAtPmlmX2ZpYik7CiAJ aWYgKG9sZHJ0KSB7CiAJCW5kNl9ydG1zZyhSVE1fREVMRVRFLCBvbGRydCk7CiAJCVJURlJFRShv bGRydCk7CkBAIC02OTgsMTEgKzY5OCwxMSBAQAogCiAJLyoKIAkgKiBJZiB0aGUgcm91dGVyIGlz IHRoZSBwcmltYXJ5IG9uZSwgY2hvb3NlIGEgbmV3IG9uZS4KLQkgKiBOb3RlIHRoYXQgZGVmcm91 dGVyX3NlbGVjdCgpIHdpbGwgcmVtb3ZlIHRoZSBjdXJyZW50IGdhdGV3YXkKLQkgKiBmcm9tIHRo ZSByb3V0aW5nIHRhYmxlLgorCSAqIE5vdGUgdGhhdCBkZWZyb3V0ZXJfc2VsZWN0X2ZpYigpIHdp bGwgcmVtb3ZlIHRoZSBjdXJyZW50CisgICAgICAgICAqIGdhdGV3YXkgZnJvbSB0aGUgcm91dGlu ZyB0YWJsZS4KIAkgKi8KIAlpZiAoZGVsZHIpCi0JCWRlZnJvdXRlcl9zZWxlY3QoKTsKKwkJZGVm cm91dGVyX3NlbGVjdF9maWIoZGVsZHItPmlmcC0+aWZfZmliKTsKIAogCS8qCiAJICogUmVsZWFz ZSB0aGUgbGlzdCByZWZlcmVuY2UuCkBAIC03MzAsMTMgKzczMCwyMyBAQAogICogZXZlbiB3aGVu IHRoZSBtdWx0aXBhdGggcm91dGluZyBpcyBhdmFpbGFibGUsIGJlY2F1c2Ugd2UncmUgbm90IHN1 cmUgYWJvdXQKICAqIHRoZSBiZW5lZml0cyBmb3Igc3R1YiBob3N0cyBjb21wYXJpbmcgdG8gdGhl IHJpc2sgb2YgbWFraW5nIHRoZSBjb2RlCiAgKiBjb21wbGljYXRlZCBhbmQgdGhlIHBvc3NpYmls aXR5IG9mIGludHJvZHVjaW5nIGJ1Z3MuCisgKgorICogV2UgbWFpbnRhaW4gYSBzaW5nbGUgbGlz dCBvZiByb3V0ZXJzIGZvciBtdWx0aXBsZSBGSUJzLCBvbmx5IGNvbnNpZGVyaW5nIG9uZQorICog YXQgYSB0aW1lIGJhc2VkIG9uIHRoZSByZWNlaXZpbmcgaW50ZXJmYWNlJ3MgRklCLiBJZiBAZmli bnVtIGlzIFJUX0FMTF9GSUJTLAorICogd2UgZG8gdGhlIHdob2xlIHRoaW5nIG11bHRpcGxlIHRp bWVzLgogICovCiB2b2lkCi1kZWZyb3V0ZXJfc2VsZWN0KHZvaWQpCitkZWZyb3V0ZXJfc2VsZWN0 X2ZpYihpbnQgZmlibnVtKQogewogCXN0cnVjdCBuZF9kZWZyb3V0ZXIgKmRyLCAqc2VsZWN0ZWRf ZHIsICppbnN0YWxsZWRfZHI7CiAJc3RydWN0IGxsZW50cnkgKmxuID0gTlVMTDsKIAorCWlmIChm aWJudW0gPT0gUlRfQUxMX0ZJQlMpIHsKKwkJZm9yIChmaWJudW0gPSAwOyBmaWJudW0gPCBydF9u dW1maWJzOyBmaWJudW0rKykgeworCQkJZGVmcm91dGVyX3NlbGVjdF9maWIoZmlibnVtKTsKKwkJ fQorCX0KKwogCU5ENl9STE9DSygpOwogCS8qCiAJICogTGV0J3MgaGFuZGxlIGVhc3kgY2FzZSAo MykgZmlyc3Q6CkBAIC03NTUsNyArNzY1LDcgQEAKIAlzZWxlY3RlZF9kciA9IGluc3RhbGxlZF9k ciA9IE5VTEw7CiAJVEFJTFFfRk9SRUFDSChkciwgJlZfbmRfZGVmcm91dGVyLCBkcl9lbnRyeSkg ewogCQlJRl9BRkRBVEFfUkxPQ0soZHItPmlmcCk7Ci0JCWlmIChzZWxlY3RlZF9kciA9PSBOVUxM ICYmCisJCWlmIChzZWxlY3RlZF9kciA9PSBOVUxMICYmIGRyLT5pZnAtPmlmX2ZpYiA9PSBmaWJu dW0gJiYKIAkJICAgIChsbiA9IG5kNl9sb29rdXAoJmRyLT5ydGFkZHIsIDAsIGRyLT5pZnApKSAm JgogCQkgICAgTkQ2X0lTX0xMSU5GT19QUk9CUkVBQ0gobG4pKSB7CiAJCQlzZWxlY3RlZF9kciA9 IGRyOwpAQCAtNzY3LDE0ICs3NzcsMTcgQEAKIAkJCWxuID0gTlVMTDsKIAkJfQogCi0JCWlmIChk ci0+aW5zdGFsbGVkKSB7CisJCWlmIChkci0+aW5zdGFsbGVkICYmIGRyLT5pZnAtPmlmX2ZpYiA9 PSBmaWJudW0pIHsKIAkJCWlmIChpbnN0YWxsZWRfZHIgPT0gTlVMTCkgewogCQkJCWluc3RhbGxl ZF9kciA9IGRyOwogCQkJCWRlZnJvdXRlcl9yZWYoaW5zdGFsbGVkX2RyKTsKIAkJCX0gZWxzZSB7 Ci0JCQkJLyogdGhpcyBzaG91bGQgbm90IGhhcHBlbi4gIHdhcm4gZm9yIGRpYWdub3Npcy4gKi8K LQkJCQlsb2coTE9HX0VSUiwKLQkJICAgICJkZWZyb3V0ZXJfc2VsZWN0OiBtb3JlIHRoYW4gb25l IHJvdXRlciBpcyBpbnN0YWxsZWRcbiIpOworCQkJCS8qCisJCQkJICogdGhpcyBzaG91bGQgbm90 IGhhcHBlbi4KKwkJCQkgKiB3YXJuIGZvciBkaWFnbm9zaXMuCisJCQkJICovCisJCQkJbG9nKExP R19FUlIsICJkZWZyb3V0ZXJfc2VsZWN0X2ZpYjogbW9yZSB0aGFuICIKKwkJCQkgICAgICAgICAg ICAgIm9uZSByb3V0ZXIgaXMgaW5zdGFsbGVkXG4iKTsKIAkJCX0KIAkJfQogCX0KQEAgLTc4OSwx NCArODAyLDI0IEBACiAJaWYgKHNlbGVjdGVkX2RyID09IE5VTEwpIHsKIAkJaWYgKGluc3RhbGxl ZF9kciA9PSBOVUxMIHx8CiAJCSAgICBUQUlMUV9ORVhUKGluc3RhbGxlZF9kciwgZHJfZW50cnkp ID09IE5VTEwpCi0JCQlzZWxlY3RlZF9kciA9IFRBSUxRX0ZJUlNUKCZWX25kX2RlZnJvdXRlcik7 CisJCQlkciA9IFRBSUxRX0ZJUlNUKCZWX25kX2RlZnJvdXRlcik7CiAJCWVsc2UKLQkJCXNlbGVj dGVkX2RyID0gVEFJTFFfTkVYVChpbnN0YWxsZWRfZHIsIGRyX2VudHJ5KTsKLQkJZGVmcm91dGVy X3JlZihzZWxlY3RlZF9kcik7CisJCQlkciA9IFRBSUxRX05FWFQoaW5zdGFsbGVkX2RyLCBkcl9l bnRyeSk7CisKKwkJLyogRW5zdXJlIHdlIHNlbGVjdCBhIHJvdXRlciBmb3IgdGhpcyBGSUIuICov CisJCVRBSUxRX0ZPUkVBQ0hfRlJPTShkciwgJlZfbmRfZGVmcm91dGVyLCBkcl9lbnRyeSkgewor CQkJaWYgKGRyLT5pZnAtPmlmX2ZpYiA9PSBmaWJudW0pIHsKKwkJCQlzZWxlY3RlZF9kciA9IGRy OworCQkJCWRlZnJvdXRlcl9yZWYoc2VsZWN0ZWRfZHIpOworCQkJCWJyZWFrOworCQkJfQorCQl9 CiAJfSBlbHNlIGlmIChpbnN0YWxsZWRfZHIgIT0gTlVMTCkgewogCQlJRl9BRkRBVEFfUkxPQ0so aW5zdGFsbGVkX2RyLT5pZnApOwotCQlpZiAoKGxuID0gbmQ2X2xvb2t1cCgmaW5zdGFsbGVkX2Ry LT5ydGFkZHIsIDAsIGluc3RhbGxlZF9kci0+aWZwKSkgJiYKKwkJaWYgKChsbiA9IG5kNl9sb29r dXAoJmluc3RhbGxlZF9kci0+cnRhZGRyLCAwLAorCQkgICAgICAgICAgICAgICAgICAgICBpbnN0 YWxsZWRfZHItPmlmcCkpICYmCiAJCSAgICBORDZfSVNfTExJTkZPX1BST0JSRUFDSChsbikgJiYK KwkJICAgIGluc3RhbGxlZF9kci0+aWZwLT5pZl9maWIgPT0gZmlibnVtICYmCiAJCSAgICBydHBy ZWYoc2VsZWN0ZWRfZHIpIDw9IHJ0cHJlZihpbnN0YWxsZWRfZHIpKSB7CiAJCQlkZWZyb3V0ZXJf cmVsZShzZWxlY3RlZF9kcik7CiAJCQlzZWxlY3RlZF9kciA9IGluc3RhbGxlZF9kcjsKQEAgLTgw OCwxOCArODMxLDMwIEBACiAJTkQ2X1JVTkxPQ0soKTsKIAogCS8qCi0JICogSWYgdGhlIHNlbGVj dGVkIHJvdXRlciBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgaW5zdGFsbGVkIG9uZSwKLQkgKiByZW1v dmUgdGhlIGluc3RhbGxlZCByb3V0ZXIgYW5kIGluc3RhbGwgdGhlIHNlbGVjdGVkIG9uZS4KLQkg KiBOb3RlIHRoYXQgdGhlIHNlbGVjdGVkIHJvdXRlciBpcyBuZXZlciBOVUxMIGhlcmUuCisJICog SWYgd2Ugc2VsZWN0ZWQgYSByb3V0ZXIgZm9yIHRoaXMgRklCIGFuZCBpdCdzIGRpZmZlcmVudAor CSAqIHRoYW4gdGhlIGluc3RhbGxlZCBvbmUsIHJlbW92ZSB0aGUgaW5zdGFsbGVkIHJvdXRlciBh bmQKKwkgKiBpbnN0YWxsIHRoZSBzZWxlY3RlZCBvbmUgaW4gaXRzIHBsYWNlLgogCSAqLwogCWlm IChpbnN0YWxsZWRfZHIgIT0gc2VsZWN0ZWRfZHIpIHsKIAkJaWYgKGluc3RhbGxlZF9kciAhPSBO VUxMKSB7CiAJCQlkZWZyb3V0ZXJfZGVscmVxKGluc3RhbGxlZF9kcik7CiAJCQlkZWZyb3V0ZXJf cmVsZShpbnN0YWxsZWRfZHIpOwogCQl9Ci0JCWRlZnJvdXRlcl9hZGRyZXEoc2VsZWN0ZWRfZHIp OworCQlpZiAoc2VsZWN0ZWRfZHIgIT0gTlVMTCkKKwkJCWRlZnJvdXRlcl9hZGRyZXEoc2VsZWN0 ZWRfZHIpOwogCX0KLQlkZWZyb3V0ZXJfcmVsZShzZWxlY3RlZF9kcik7CisJaWYgKHNlbGVjdGVk X2RyICE9IE5VTEwpCisJCWRlZnJvdXRlcl9yZWxlKHNlbGVjdGVkX2RyKTsKK30KKworLyoKKyAq IE1haW50YWluIG9sZCBLUEkgZm9yIGRlZmF1bHQgcm91dGVyIHNlbGVjdGlvbi4KKyAqIElmIHVu c3BlY2lmaWVkLCB3ZSBjYW4gcmUtc2VsZWN0IHJvdXRlcnMgZm9yIGFsbCBGSUJzLgorICovCit2 b2lkCitkZWZyb3V0ZXJfc2VsZWN0KHZvaWQpCit7CisJZGVmcm91dGVyX3NlbGVjdF9maWIoUlRf QUxMX0ZJQlMpOwogfQogCiAvKgpAQCAtOTQyLDcgKzk3Nyw3IEBACiAJVl9uZDZfbGlzdF9nZW5p ZCsrOwogCU5ENl9XVU5MT0NLKCk7CiAKLQlkZWZyb3V0ZXJfc2VsZWN0KCk7CisJZGVmcm91dGVy X3NlbGVjdF9maWIobmV3LT5pZnAtPmlmX2ZpYik7CiAKIAlyZXR1cm4gKG4pOwogfQpAQCAtMTcz MSw3ICsxNzY2LDcgQEAKIAlzdHJ1Y3QgcnRlbnRyeSAqcnQ7CiAJc3RydWN0IHNvY2thZGRyX2lu NiBtYXNrNjsKIAl1X2xvbmcgcnRmbGFnczsKLQlpbnQgZXJyb3IsIGFfZmFpbHVyZSwgZmlibnVt OworCWludCBlcnJvciwgYV9mYWlsdXJlLCBmaWJudW0sIG1heGZpYjsKIAogCS8qCiAJICogaW42 X2lmaW5pdCgpIHNldHMgbmQ2X3J0cmVxdWVzdCB0byBpZmFfcnRyZXF1ZXN0IGZvciBhbGwgaWZh ZGRycy4KQEAgLTE3NDIsOCArMTc3NywxNSBAQAogCW1hc2s2LnNpbjZfYWRkciA9IHByLT5uZHBy X21hc2s7CiAJcnRmbGFncyA9IChpZmEtPmlmYV9mbGFncyAmIH5JRkFfUlRTRUxGKSB8IFJURl9V UDsKIAorCWlmKFZfcnRfYWRkX2FkZHJfYWxsZmlicykgeworCQlmaWJudW0gPSAwOworCQltYXhm aWIgPSBydF9udW1maWJzOworCX0gZWxzZSB7CisJCWZpYm51bSA9IGlmYS0+aWZhX2lmcC0+aWZf ZmliOworCQltYXhmaWIgPSBmaWJudW0gKyAxOworCX0KIAlhX2ZhaWx1cmUgPSAwOwotCWZvciAo ZmlibnVtID0gMDsgZmlibnVtIDwgcnRfbnVtZmliczsgZmlibnVtKyspIHsKKwlmb3IgKDsgZmli bnVtIDwgbWF4ZmliOyBmaWJudW0rKykgewogCiAJCXJ0ID0gTlVMTDsKIAkJZXJyb3IgPSBpbjZf cnRyZXF1ZXN0KFJUTV9BREQsCkBAIC0xODMxLDYgKzE4NzMsMTAgQEAKIAkJaWYgKChvcHItPm5k cHJfc3RhdGVmbGFncyAmIE5EUFJGX09OTElOSykgPT0gMCkKIAkJCWNvbnRpbnVlOwogCisJCWlm ICghVl9ydF9hZGRfYWRkcl9hbGxmaWJzICYmCisJCSAgICBvcHItPm5kcHJfaWZwLT5pZl9maWIg IT0gcHItPm5kcHJfaWZwLT5pZl9maWIpCisJCQljb250aW51ZTsKKwogCQlpZiAob3ByLT5uZHBy X3BsZW4gPT0gcHItPm5kcHJfcGxlbiAmJgogCQkgICAgaW42X2FyZV9wcmVmaXhfZXF1YWwoJnBy LT5uZHByX3ByZWZpeC5zaW42X2FkZHIsCiAJCSAgICAmb3ByLT5uZHByX3ByZWZpeC5zaW42X2Fk ZHIsIHByLT5uZHByX3BsZW4pKSB7CkBAIC0xODkxLDcgKzE5MzcsNyBAQAogCXN0cnVjdCBydGVu dHJ5ICpydDsKIAljaGFyIGlwNmJ1ZltJTkVUNl9BRERSU1RSTEVOXTsKIAl1aW50NjRfdCBnZW5p ZDsKLQlpbnQgZmlibnVtLCBhX2ZhaWx1cmU7CisJaW50IGZpYm51bSwgbWF4ZmliLCBhX2ZhaWx1 cmU7CiAKIAlORDZfT05MSU5LX0xPQ0tfQVNTRVJUKCk7CiAJTkQ2X1VOTE9DS19BU1NFUlQoKTsK QEAgLTE5MDksOCArMTk1NSwxNiBAQAogCW1hc2s2LnNpbjZfbGVuID0gc2l6ZW9mKHNhNik7CiAJ YmNvcHkoJnByLT5uZHByX21hc2ssICZtYXNrNi5zaW42X2FkZHIsIHNpemVvZihzdHJ1Y3QgaW42 X2FkZHIpKTsKIAorCWlmIChWX3J0X2FkZF9hZGRyX2FsbGZpYnMpIHsKKwkJZmlibnVtID0gMDsK KwkJbWF4ZmliID0gcnRfbnVtZmliczsKKwl9IGVsc2UgeworCQlmaWJudW0gPSBpZnAtPmlmX2Zp YjsKKwkJbWF4ZmliID0gZmlibnVtICsgMTsKKwl9CisKIAlhX2ZhaWx1cmUgPSAwOwotCWZvciAo ZmlibnVtID0gMDsgZmlibnVtIDwgcnRfbnVtZmliczsgZmlibnVtKyspIHsKKwlmb3IgKDsgZmli bnVtIDwgbWF4ZmliOyBmaWJudW0rKykgewogCQlydCA9IE5VTEw7CiAJCWVycm9yID0gaW42X3J0 cmVxdWVzdChSVE1fREVMRVRFLCAoc3RydWN0IHNvY2thZGRyICopJnNhNiwgTlVMTCwKIAkJICAg IChzdHJ1Y3Qgc29ja2FkZHIgKikmbWFzazYsIDAsICZydCwgZmlibnVtKTsKZGlmZiAtLWdpdCBh L3N5cy9uZXRpbmV0Ni9uZDZfbmJyLmMgYi9zeXMvbmV0aW5ldDYvbmQ2X25ici5jCi0tLSBhL3N5 cy9uZXRpbmV0Ni9uZDZfbmJyLmMKKysrIGIvc3lzL25ldGluZXQ2L25kNl9uYnIuYwpAQCAtMjYy LDggKzI2Miw3IEBACiAJCWJ6ZXJvKCZpbmZvLCBzaXplb2YoaW5mbykpOwogCQlpbmZvLnJ0aV9p bmZvW1JUQVhfR0FURVdBWV0gPSAoc3RydWN0IHNvY2thZGRyICopJnJ0X2dhdGV3YXk7CiAKLQkJ LyogQWx3YXlzIHVzZSB0aGUgZGVmYXVsdCBGSUIuICovCi0JCWlmIChyaWJfbG9va3VwX2luZm8o UlRfREVGQVVMVF9GSUIsIChzdHJ1Y3Qgc29ja2FkZHIgKikmZHN0NiwKKwkJaWYgKHJpYl9sb29r dXBfaW5mbyhpZnAtPmlmX2ZpYiwgKHN0cnVjdCBzb2NrYWRkciAqKSZkc3Q2LAogCQkgICAgMCwg MCwgJmluZm8pID09IDApIHsKIAkJCWlmICgoaW5mby5ydGlfZmxhZ3MgJiBSVEZfQU5OT1VOQ0Up ICE9IDAgJiYKIAkJCSAgICBydF9nYXRld2F5LnNkbF9mYW1pbHkgPT0gQUZfTElOSykgewpAQCAt NDg1LDcgKzQ4NCw3IEBACiAJCQl1aW50MzJfdCBzY29wZWlkOwogCiAJCQlpbjZfc3BsaXRzY29w ZSgmaXA2LT5pcDZfZHN0LCAmZHN0NiwgJnNjb3BlaWQpOwotCQkJZXJyb3IgPSBpbjZfc2VsZWN0 c3JjX2FkZHIoUlRfREVGQVVMVF9GSUIsICZkc3Q2LAorCQkJZXJyb3IgPSBpbjZfc2VsZWN0c3Jj X2FkZHIoZmlibnVtLCAmZHN0NiwKIAkJCSAgICBzY29wZWlkLCBpZnAsICZzcmM2LCBOVUxMKTsK IAkJCWlmIChlcnJvcikgewogCQkJCWNoYXIgaXA2YnVmW0lORVQ2X0FERFJTVFJMRU5dOwpAQCAt OTgyLDcgKzk4MSw3IEBACiAJICogU2VsZWN0IGEgc291cmNlIHdob3NlIHNjb3BlIGlzIHRoZSBz YW1lIGFzIHRoYXQgb2YgdGhlIGRlc3QuCiAJICovCiAJaW42X3NwbGl0c2NvcGUoJmRhZGRyNiwg JmRzdDYsICZzY29wZWlkKTsKLQllcnJvciA9IGluNl9zZWxlY3RzcmNfYWRkcihSVF9ERUZBVUxU X0ZJQiwgJmRzdDYsCisJZXJyb3IgPSBpbjZfc2VsZWN0c3JjX2FkZHIoZmlibnVtLCAmZHN0NiwK IAkgICAgc2NvcGVpZCwgaWZwLCAmc3JjNiwgTlVMTCk7CiAJaWYgKGVycm9yKSB7CiAJCWNoYXIg aXA2YnVmW0lORVQ2X0FERFJTVFJMRU5dOwpkaWZmIC0tZ2l0IGEvc3lzL25ldGluZXQ2L25kNi5o IGIvc3lzL25ldGluZXQ2L25kNi5oCi0tLSBhL3N5cy9uZXRpbmV0Ni9uZDYuaAorKysgYi9zeXMv bmV0aW5ldDYvbmQ2LmgKQEAgLTQ2OSw2ICs0NjksNyBAQAogdm9pZCBuZDZfcnNfaW5wdXQoc3Ry dWN0IG1idWYgKiwgaW50LCBpbnQpOwogdm9pZCBuZDZfcmFfaW5wdXQoc3RydWN0IG1idWYgKiwg aW50LCBpbnQpOwogdm9pZCBkZWZyb3V0ZXJfcmVzZXQodm9pZCk7Cit2b2lkIGRlZnJvdXRlcl9z ZWxlY3RfZmliKGludCBmaWJudW0pOwogdm9pZCBkZWZyb3V0ZXJfc2VsZWN0KHZvaWQpOwogdm9p ZCBkZWZyb3V0ZXJfcmVmKHN0cnVjdCBuZF9kZWZyb3V0ZXIgKik7CiB2b2lkIGRlZnJvdXRlcl9y ZWxlKHN0cnVjdCBuZF9kZWZyb3V0ZXIgKik7CmRpZmYgLS1naXQgYS9zeXMvbmV0aW5ldDYvbmQ2 LmMgYi9zeXMvbmV0aW5ldDYvbmQ2LmMKLS0tIGEvc3lzL25ldGluZXQ2L25kNi5jCisrKyBiL3N5 cy9uZXRpbmV0Ni9uZDYuYwpAQCAtMTU3LDYgKzE1Nyw3IEBACiAJc3RydWN0IHNvY2thZGRyX2Rs IGd3OwogCXN0cnVjdCBpZm5ldCAqaWZwOwogCWludCB0eXBlOworCWludCBmaWJudW07CiAKIAlM TEVfV0xPQ0tfQVNTRVJUKGxsZSk7CiAKQEAgLTE5NCw4ICsxOTUsOSBAQAogCXJ0aW5mby5ydGlf aW5mb1tSVEFYX0RTVF0gPSAoc3RydWN0IHNvY2thZGRyICopJmRzdDsKIAlydGluZm8ucnRpX2lu Zm9bUlRBWF9HQVRFV0FZXSA9IChzdHJ1Y3Qgc29ja2FkZHIgKikmZ3c7CiAJcnRpbmZvLnJ0aV9h ZGRycyA9IFJUQV9EU1QgfCBSVEFfR0FURVdBWTsKKwlmaWJudW0gPSBWX3J0X2FkZF9hZGRyX2Fs bGZpYnMgPyBSVF9BTExfRklCUyA6IGlmcC0+aWZfZmliOwogCXJ0X21pc3Ntc2dfZmliKHR5cGUs ICZydGluZm8sIFJURl9IT1NUIHwgUlRGX0xMREFUQSB8ICgKLQkgICAgdHlwZSA9PSBSVE1fQURE ID8gUlRGX1VQOiAwKSwgMCwgUlRfREVGQVVMVF9GSUIpOworCSAgICB0eXBlID09IFJUTV9BREQg PyBSVEZfVVA6IDApLCAwLCBmaWJudW0pOwogfQogCiAvKgpAQCAtMTIwMCw3ICsxMjAyLDcgQEAK IAogCWlmIChORF9JRklORk8oaWZwKS0+ZmxhZ3MgJiBORDZfSUZGX0FDQ0VQVF9SVEFEVikgewog CQkvKiBSZWZyZXNoIGRlZmF1bHQgcm91dGVyIGxpc3QuICovCi0JCWRlZnJvdXRlcl9zZWxlY3Qo KTsKKwkJZGVmcm91dGVyX3NlbGVjdF9maWIoaWZwLT5pZl9maWIpOwogCX0KIH0KIApAQCAtMTI1 Myw3ICsxMjU1LDcgQEAKIG5kNl9pc19uZXdfYWRkcl9uZWlnaGJvcihjb25zdCBzdHJ1Y3Qgc29j a2FkZHJfaW42ICphZGRyLCBzdHJ1Y3QgaWZuZXQgKmlmcCkKIHsKIAlzdHJ1Y3QgbmRfcHJlZml4 ICpwcjsKLQlzdHJ1Y3QgaWZhZGRyICpkc3RhZGRyOworCXN0cnVjdCBpZmFkZHIgKmlmYTsKIAlz dHJ1Y3QgcnRfYWRkcmluZm8gaW5mbzsKIAlzdHJ1Y3Qgc29ja2FkZHJfaW42IHJ0X2tleTsKIAlj b25zdCBzdHJ1Y3Qgc29ja2FkZHIgKmRzdDY7CkBAIC0xMjg3LDkgKzEyODksNiBAQAogCWJ6ZXJv KCZpbmZvLCBzaXplb2YoaW5mbykpOwogCWluZm8ucnRpX2luZm9bUlRBWF9EU1RdID0gKHN0cnVj dCBzb2NrYWRkciAqKSZydF9rZXk7CiAKLQkvKiBBbHdheXMgdXNlIHRoZSBkZWZhdWx0IEZJQiBo ZXJlLiBYWE1FIC0gd2h5PyAqLwotCWZpYm51bSA9IFJUX0RFRkFVTFRfRklCOwotCiAJLyoKIAkg KiBJZiB0aGUgYWRkcmVzcyBtYXRjaGVzIG9uZSBvZiBvdXIgYWRkcmVzc2VzLAogCSAqIGl0IHNo b3VsZCBiZSBhIG5laWdoYm9yLgpAQCAtMTMwMywxOSArMTMwMiwzMSBAQAogCQkJY29udGludWU7 CiAKIAkJaWYgKChwci0+bmRwcl9zdGF0ZWZsYWdzICYgTkRQUkZfT05MSU5LKSA9PSAwKSB7Ci0J CQkvKiBBbHdheXMgdXNlIHRoZSBkZWZhdWx0IEZJQiBoZXJlLiAqLwogCQkJZHN0NiA9IChjb25z dCBzdHJ1Y3Qgc29ja2FkZHIgKikmcHItPm5kcHJfcHJlZml4OwogCi0JCQlnZW5pZCA9IFZfbmQ2 X2xpc3RfZ2VuaWQ7Ci0JCQlORDZfUlVOTE9DSygpOwotCi0JCQkvKiBSZXN0b3JlIGxlbmd0aCBm aWVsZCBiZWZvcmUgcmV0cnlpbmcgbG9va3VwICovCi0JCQlydF9rZXkuc2luNl9sZW4gPSBzaXpl b2YocnRfa2V5KTsKLQkJCWVycm9yID0gcmliX2xvb2t1cF9pbmZvKGZpYm51bSwgZHN0NiwgMCwg MCwgJmluZm8pOworCQkJLyoKKwkJCSAqIFdlIG9ubHkgbmVlZCB0byBjaGVjayBhbGwgRklCcyBp ZiBhZGRfYWRkcl9hbGxmaWJzCisJCQkgKiBpcyB1bnNldC4gSWYgc2V0LCBjaGVja2luZyBhbnkg RklCIHdpbGwgc3VmZmljZS4KKwkJCSAqLworCQkJZmlibnVtID0gVl9ydF9hZGRfYWRkcl9hbGxm aWJzID8gcnRfbnVtZmlicyAtIDEgOiAwOworCQkJZm9yICg7IGZpYm51bSA8IHJ0X251bWZpYnM7 IGZpYm51bSsrKSB7CisJCQkJZ2VuaWQgPSBWX25kNl9saXN0X2dlbmlkOworCQkJCU5ENl9SVU5M T0NLKCk7CiAKLQkJCU5ENl9STE9DSygpOwotCQkJaWYgKGdlbmlkICE9IFZfbmQ2X2xpc3RfZ2Vu aWQpCi0JCQkJZ290byByZXN0YXJ0OworCQkJCS8qCisJCQkJICogUmVzdG9yZSBsZW5ndGggZmll bGQgYmVmb3JlCisJCQkJICogcmV0cnlpbmcgbG9va3VwCisJCQkJICovCisJCQkJcnRfa2V5LnNp bjZfbGVuID0gc2l6ZW9mKHJ0X2tleSk7CisJCQkJZXJyb3IgPSByaWJfbG9va3VwX2luZm8oZmli bnVtLCBkc3Q2LCAwLCAwLAorCQkJCQkJICAgICAgICAmaW5mbyk7CisKKwkJCQlORDZfUkxPQ0so KTsKKwkJCQlpZiAoZ2VuaWQgIT0gVl9uZDZfbGlzdF9nZW5pZCkKKwkJCQkJZ290byByZXN0YXJ0 OworCQkJCWlmIChlcnJvciA9PSAwKQorCQkJCQlicmVhazsKKwkJCX0KIAkJCWlmIChlcnJvciAh PSAwKQogCQkJCWNvbnRpbnVlOwogCkBAIC0xMzQ2LDEzICsxMzU3LDE4IEBACiAJICogSWYgdGhl IGFkZHJlc3MgaXMgYXNzaWduZWQgb24gdGhlIG5vZGUgb2YgdGhlIG90aGVyIHNpZGUgb2YKIAkg KiBhIHAycCBpbnRlcmZhY2UsIHRoZSBhZGRyZXNzIHNob3VsZCBiZSBhIG5laWdoYm9yLgogCSAq LwotCWRzdGFkZHIgPSBpZmFfaWZ3aXRoZHN0YWRkcigoY29uc3Qgc3RydWN0IHNvY2thZGRyICop YWRkciwgUlRfQUxMX0ZJQlMpOwotCWlmIChkc3RhZGRyICE9IE5VTEwpIHsKLQkJaWYgKGRzdGFk ZHItPmlmYV9pZnAgPT0gaWZwKSB7Ci0JCQlpZmFfZnJlZShkc3RhZGRyKTsKLQkJCXJldHVybiAo MSk7CisJaWYgKGlmcC0+aWZfZmxhZ3MgJiBJRkZfUE9JTlRPUE9JTlQpIHsKKwkJSUZfQUREUl9S TE9DSyhpZnApOworCQlUQUlMUV9GT1JFQUNIKGlmYSwgJmlmcC0+aWZfYWRkcmhlYWQsIGlmYV9s aW5rKSB7CisJCQlpZiAoaWZhLT5pZmFfYWRkci0+c2FfZmFtaWx5ICE9IGFkZHItPnNpbjZfZmFt aWx5KQorCQkJCWNvbnRpbnVlOworCQkJaWYgKGlmYS0+aWZhX2RzdGFkZHIgIT0gTlVMTCAmJgor CQkJICAgIHNhX2VxdWFsKGFkZHIsIGlmYS0+aWZhX2RzdGFkZHIpKSB7CisJCQkJSUZfQUREUl9S VU5MT0NLKGlmcCk7CisJCQkJcmV0dXJuIDE7CisJCQl9CiAJCX0KLQkJaWZhX2ZyZWUoZHN0YWRk cik7CisJCUlGX0FERFJfUlVOTE9DSyhpZnApOwogCX0KIAogCS8qCkBAIC0xNDg1LDcgKzE1MDEs NyBAQAogCQkJLyoKIAkJCSAqIFdlIG5lZWQgdG8gdW5sb2NrIHRvIGF2b2lkIGEgTE9SIHdpdGgg cnQ2X2ZsdXNoKCkgd2l0aCB0aGUKIAkJCSAqIHJuaCBhbmQgZm9yIHRoZSBjYWxscyB0byBwZnhs aXN0X29ubGlua19jaGVjaygpIGFuZAotCQkJICogZGVmcm91dGVyX3NlbGVjdCgpIGluIHRoZSBi bG9jayBmdXJ0aGVyIGRvd24gZm9yIGNhbGxzCisJCQkgKiBkZWZyb3V0ZXJfc2VsZWN0X2ZpYigp IGluIHRoZSBibG9jayBmdXJ0aGVyIGRvd24gZm9yIGNhbGxzCiAJCQkgKiBpbnRvIG5kNl9sb29r dXAoKS4gIFdlIHN0aWxsIGhvbGQgYSByZWYuCiAJCQkgKi8KIAkJCUxMRV9XVU5MT0NLKGxuKTsK QEAgLTE1MDAsNyArMTUxNiw3IEBACiAKIAkJaWYgKGRyKSB7CiAJCQkvKgotCQkJICogU2luY2Ug ZGVmcm91dGVyX3NlbGVjdCgpIGRvZXMgbm90IGFmZmVjdCB0aGUKKwkJCSAqIFNpbmNlIGRlZnJv dXRlcl9zZWxlY3RfZmliKCkgZG9lcyBub3QgYWZmZWN0IHRoZQogCQkJICogb24tbGluayBkZXRl cm1pbmF0aW9uIGFuZCBNSVA2IG5lZWRzIHRoZSBjaGVjawogCQkJICogYmVmb3JlIHRoZSBkZWZh dWx0IHJvdXRlciBzZWxlY3Rpb24sIHdlIHBlcmZvcm0KIAkJCSAqIHRoZSBjaGVjayBub3cuCkBA IC0xNTEwLDcgKzE1MjYsNyBAQAogCQkJLyoKIAkJCSAqIFJlZnJlc2ggZGVmYXVsdCByb3V0ZXIg bGlzdC4KIAkJCSAqLwotCQkJZGVmcm91dGVyX3NlbGVjdCgpOworCQkJZGVmcm91dGVyX3NlbGVj dF9maWIoZHItPmlmcC0+aWZfZmliKTsKIAkJfQogCiAJCS8qCkBAIC0yMTA0LDIwICsyMTIwLDIw IEBACiAJICogUXVlc3Rpb246IGNhbiB3ZSByZXN0cmljdCB0aGUgZmlyc3QgY29uZGl0aW9uIHRv IHRoZSAiaXNfbmV3ZW50cnkiCiAJICogY2FzZT8KIAkgKiBYWFg6IHdoZW4gd2UgaGVhciBhbiBS QSBmcm9tIGEgbmV3IHJvdXRlciB3aXRoIHRoZSBsaW5rLWxheWVyCi0JICogYWRkcmVzcyBvcHRp b24sIGRlZnJvdXRlcl9zZWxlY3QoKSBpcyBjYWxsZWQgdHdpY2UsIHNpbmNlCisJICogYWRkcmVz cyBvcHRpb24sIGRlZnJvdXRlcl9zZWxlY3RfZmliKCkgaXMgY2FsbGVkIHR3aWNlLCBzaW5jZQog CSAqIGRlZnJ0cmxpc3RfdXBkYXRlIGNhbGxlZCB0aGUgZnVuY3Rpb24gYXMgd2VsbC4gIEhvd2V2 ZXIsIEkgYmVsaWV2ZQogCSAqIHdlIGNhbiBjb21wcm9taXNlIHRoZSBvdmVyaGVhZCwgc2luY2Ug aXQgb25seSBoYXBwZW5zIHRoZSBmaXJzdAogCSAqIHRpbWUuCi0JICogWFhYOiBhbHRob3VnaCBk ZWZyb3V0ZXJfc2VsZWN0KCkgc2hvdWxkIG5vdCBoYXZlIGEgYmFkIGVmZmVjdAorCSAqIFhYWDog YWx0aG91Z2ggZGVmcm91dGVyX3NlbGVjdF9maWIoKSBzaG91bGQgbm90IGhhdmUgYSBiYWQgZWZm ZWN0CiAJICogZm9yIHRob3NlIGFyZSBub3QgYXV0b2NvbmZpZ3VyZWQgaG9zdHMsIHdlIGV4cGxp Y2l0bHkgYXZvaWQgc3VjaAogCSAqIGNhc2VzIGZvciBzYWZldHkuCiAJICovCiAJaWYgKChkb191 cGRhdGUgfHwgaXNfbmV3ZW50cnkpICYmIHJvdXRlciAmJgogCSAgICBORF9JRklORk8oaWZwKS0+ ZmxhZ3MgJiBORDZfSUZGX0FDQ0VQVF9SVEFEVikgewogCQkvKgogCQkgKiBndWFyYW50ZWVkIHJl Y3Vyc2lvbgogCQkgKi8KLQkJZGVmcm91dGVyX3NlbGVjdCgpOworCQlkZWZyb3V0ZXJfc2VsZWN0 X2ZpYihpZnAtPmlmX2ZpYik7CiAJfQogfQogCmRpZmYgLS1naXQgYS9zeXMvbmV0aW5ldDYvaW42 X3NyYy5jIGIvc3lzL25ldGluZXQ2L2luNl9zcmMuYwotLS0gYS9zeXMvbmV0aW5ldDYvaW42X3Ny Yy5jCisrKyBiL3N5cy9uZXRpbmV0Ni9pbjZfc3JjLmMKQEAgLTI5Nyw3ICsyOTcsNyBAQAogCSAq LwogCS8qIGdldCB0aGUgb3V0Z29pbmcgaW50ZXJmYWNlICovCiAJaWYgKChlcnJvciA9IGluNl9z ZWxlY3RpZihkc3Rzb2NrLCBvcHRzLCBtb3B0cywgJmlmcCwgb2lmcCwKLQkgICAgKGlucCAhPSBO VUxMKSA/IGlucC0+aW5wX2luYy5pbmNfZmlibnVtIDogUlRfREVGQVVMVF9GSUIpKSAhPSAwKQor CSAgICAoaW5wICE9IE5VTEwpID8gaW5wLT5pbnBfaW5jLmluY19maWJudW0gOiBmaWJudW0pKSAh PSAwKQogCQlyZXR1cm4gKGVycm9yKTsKIAogI2lmZGVmIERJQUdOT1NUSUMKQEAgLTU2Myw3ICs1 NjMsNyBAQAogCXVpbnQzMl90IGZpYm51bTsKIAlpbnQgZXJyb3I7CiAKLQlmaWJudW0gPSAoaW5w ICE9IE5VTEwpID8gaW5wLT5pbnBfaW5jLmluY19maWJudW0gOiBSVF9ERUZBVUxUX0ZJQjsKKwlm aWJudW0gPSBpbnAtPmlucF9pbmMuaW5jX2ZpYm51bTsKIAlyZXRpZnAgPSBOVUxMOwogCiAJZXJy b3IgPSBpbjZfc2VsZWN0c3JjKGZpYm51bSwgZHN0c29jaywgb3B0cywgaW5wLCBjcmVkLCAmcmV0 aWZwLCBzcmNwKTsKZGlmZiAtLWdpdCBhL3N5cy9uZXRpbmV0Ni9pbjYuYyBiL3N5cy9uZXRpbmV0 Ni9pbjYuYwotLS0gYS9zeXMvbmV0aW5ldDYvaW42LmMKKysrIGIvc3lzL25ldGluZXQ2L2luNi5j CkBAIC0xNTksNiArMTU5LDcgQEAKIAlzdHJ1Y3Qgc29ja2FkZHJfZGwgZ2F0ZXdheTsKIAlzdHJ1 Y3Qgc29ja2FkZHJfaW42IG1hc2ssIGFkZHI7CiAJc3RydWN0IHJ0ZW50cnkgcnQ7CisJaW50IGZp Ym51bTsKIAogCS8qCiAJICogaW5pdGlhbGl6ZSBmb3IgcnRtc2cgZ2VuZXJhdGlvbgpAQCAtMTc2 LDggKzE3Nyw5IEBACiAJcnQucnRfZmxhZ3MgPSBSVEZfSE9TVCB8IFJURl9TVEFUSUM7CiAJaWYg KGNtZCA9PSBSVE1fQUREKQogCQlydC5ydF9mbGFncyB8PSBSVEZfVVA7Ci0JLyogQW5ub3VuY2Ug YXJyaXZhbCBvZiBsb2NhbCBhZGRyZXNzIHRvIGFsbCBGSUJzLiAqLwotCXJ0X25ld2FkZHJtc2co Y21kLCAmaWEtPmlhX2lmYSwgMCwgJnJ0KTsKKwlmaWJudW0gPSBWX3J0X2FkZF9hZGRyX2FsbGZp YnMgPyBSVF9BTExfRklCUyA6IGlhNjJpZmEoaWEpLT5pZmFfaWZwLT5pZl9maWI7CisJLyogQW5u b3VuY2UgYXJyaXZhbCBvZiBsb2NhbCBhZGRyZXNzIHRvIHRoaXMgRklCLiAqLworCXJ0X25ld2Fk ZHJtc2dfZmliKGNtZCwgJmlhLT5pYV9pZmEsIDAsICZydCwgZmlibnVtKTsKIH0KIAogaW50CkBA IC0yMTE3LDE1ICsyMTE5LDE1IEBACiAJdWludDMyX3Qgc2NvcGVpZDsKIAlpbnQgZXJyb3I7CiAJ Y2hhciBpcDZidWZbSU5FVDZfQUREUlNUUkxFTl07CisJaW50IGZpYm51bTsKIAogCUtBU1NFUlQo bDNhZGRyLT5zYV9mYW1pbHkgPT0gQUZfSU5FVDYsCiAJICAgICgic2luX2ZhbWlseSAlZCIsIGwz YWRkci0+c2FfZmFtaWx5KSk7CiAKLQkvKiBPdXIgbG9jYWwgYWRkcmVzc2VzIGFyZSBhbHdheXMg b25seSBpbnN0YWxsZWQgb24gdGhlIGRlZmF1bHQgRklCLiAqLwotCiAJc2luNiA9IChjb25zdCBz dHJ1Y3Qgc29ja2FkZHJfaW42ICopbDNhZGRyOwogCWluNl9zcGxpdHNjb3BlKCZzaW42LT5zaW42 X2FkZHIsICZkc3QsICZzY29wZWlkKTsKLQllcnJvciA9IGZpYjZfbG9va3VwX25oX2Jhc2ljKFJU X0RFRkFVTFRfRklCLCAmZHN0LCBzY29wZWlkLCAwLCAwLCAmbmg2KTsKKwlmaWJudW0gPSBWX3J0 X2FkZF9hZGRyX2FsbGZpYnMgPyBSVF9ERUZBVUxUX0ZJQiA6IGlmcC0+aWZfZmliOworCWVycm9y ID0gZmliNl9sb29rdXBfbmhfYmFzaWMoZmlibnVtLCAmZHN0LCBzY29wZWlkLCAwLCAwLCAmbmg2 KTsKIAlpZiAoZXJyb3IgIT0gMCB8fCAobmg2Lm5oX2ZsYWdzICYgTkhGX0dBVEVXQVkpIHx8IG5o Ni5uaF9pZnAgIT0gaWZwKSB7CiAJCXN0cnVjdCBpZmFkZHIgKmlmYTsKIAkJLyoKZGlmZiAtLWdp dCBhL3N5cy9uZXRpbmV0Ni9pY21wNi5jIGIvc3lzL25ldGluZXQ2L2ljbXA2LmMKLS0tIGEvc3lz L25ldGluZXQ2L2ljbXA2LmMKKysrIGIvc3lzL25ldGluZXQ2L2ljbXA2LmMKQEAgLTIxNDcsNyAr MjE0Nyw3IEBACiAJCSAqIHNvdXJjZSBhZGRyZXNzIG9mIHRoZSBlcnJvbmVvdXMgcGFja2V0Lgog CQkgKi8KIAkJaW42X3NwbGl0c2NvcGUoJmlwNi0+aXA2X3NyYywgJmRzdDYsICZzY29wZWlkKTsK LQkJZXJyb3IgPSBpbjZfc2VsZWN0c3JjX2FkZHIoUlRfREVGQVVMVF9GSUIsICZkc3Q2LAorCQll cnJvciA9IGluNl9zZWxlY3RzcmNfYWRkcihNX0dFVEZJQihtKSwgJmRzdDYsCiAJCSAgICBzY29w ZWlkLCBOVUxMLCAmc3JjNiwgJmhsaW0pOwogCiAJCWlmIChlcnJvcikgewpAQCAtMjI4OSw3ICsy Mjg5LDcgQEAKIAl1aW50MzJfdCBzY29wZWlkOwogCiAJaW42X3NwbGl0c2NvcGUoJnJlZGRzdDYs ICZrZHN0LCAmc2NvcGVpZCk7Ci0JaWYgKGZpYjZfbG9va3VwX25oX2Jhc2ljKFJUX0RFRkFVTFRf RklCLCAma2RzdCwgc2NvcGVpZCwgMCwgMCwmbmg2KT09MCl7CisJaWYgKGZpYjZfbG9va3VwX25o X2Jhc2ljKGlmcC0+aWZfZmliLCAma2RzdCwgc2NvcGVpZCwgMCwgMCwmbmg2KT09MCl7CiAJCWlm ICgobmg2Lm5oX2ZsYWdzICYgTkhGX0dBVEVXQVkpID09IDApIHsKIAkJCW5kNmxvZygoTE9HX0VS UiwKIAkJCSAgICAiSUNNUDYgcmVkaXJlY3QgcmVqZWN0ZWQ7IG5vIHJvdXRlICIKCg== --b1_af28b28da6507256460ae036304910f5--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?af28b28da6507256460ae036304910f5>