From owner-freebsd-pf@FreeBSD.ORG Thu Jun 18 15:53:37 2015 Return-Path: Delivered-To: freebsd-pf@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0A25BB0A for ; Thu, 18 Jun 2015 15:53:37 +0000 (UTC) (envelope-from daemon-user@FreeBSD.org) Received: from phabric-backend.isc.freebsd.org (phabric-backend.isc.freebsd.org [IPv6:2001:4f8:3:ffe0:406a:0:50:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DA4FD908 for ; Thu, 18 Jun 2015 15:53:36 +0000 (UTC) (envelope-from daemon-user@FreeBSD.org) Received: from phabric-backend.isc.freebsd.org (phabric-backend.isc.freebsd.org [127.0.1.5]) by phabric-backend.isc.freebsd.org (8.14.9/8.14.9) with ESMTP id t5IFranl003809 for ; Thu, 18 Jun 2015 15:53:36 GMT (envelope-from daemon-user@phabric-backend.isc.freebsd.org) Received: (from daemon-user@localhost) by phabric-backend.isc.freebsd.org (8.14.9/8.14.9/Submit) id t5IFraWo003805; Thu, 18 Jun 2015 15:53:36 GMT (envelope-from daemon-user) Date: Thu, 18 Jun 2015 15:53:36 +0000 To: freebsd-pf@freebsd.org From: "nvass-gmx.com (Nikos Vassiliadis)" Reply-to: D1944+331+90181aefda88703e@FreeBSD.org Subject: [Differential] [Updated, 170 lines] D1944: PF and VIMAGE fixes Message-ID: <0f1c72a4a2ff12f041db4bba0b930ff9@localhost.localdomain> X-Priority: 3 Thread-Topic: D1944: PF and VIMAGE fixes X-Herald-Rules: none X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-Cc: X-Phabricator-Cc: X-Phabricator-Cc: X-Phabricator-Cc: X-Phabricator-Cc: In-Reply-To: References: Thread-Index: NDc2NzM0MzY4OTdiYThiNTU1MjY2ZDZmMTJiIFWC6YA= Precedence: bulk X-Phabricator-Sent-This-Message: Yes X-Mail-Transport-Agent: MetaMTA X-Auto-Response-Suppress: All X-Phabricator-Mail-Tags: , , MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_0f1c72a4a2ff12f041db4bba0b930ff9" X-BeenThere: freebsd-pf@freebsd.org X-Mailman-Version: 2.1.20 List-Id: "Technical discussion and general questions about packet filter \(pf\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 18 Jun 2015 15:53:37 -0000 --b1_0f1c72a4a2ff12f041db4bba0b930ff9 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: 8bit nvass-gmx.com updated this revision to Diff 6288. nvass-gmx.com added a comment. Updated to today's head branch. Please review CHANGES SINCE LAST UPDATE https://reviews.freebsd.org/D1944?vs=5290&id=6288 REVISION DETAIL https://reviews.freebsd.org/D1944 AFFECTED FILES sys/net/pfvar.h sys/netpfil/pf/pf.c sys/netpfil/pf/pf_if.c sys/netpfil/pf/pf_ioctl.c sys/netpfil/pf/pf_norm.c EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: nvass-gmx.com, bz, zec, trociny, kristof, gnn, glebius, rodrigc Cc: julian, robak, freebsd-virtualization-list, freebsd-pf-list, freebsd-net-list --b1_0f1c72a4a2ff12f041db4bba0b930ff9 Content-Type: text/x-patch; charset=utf-8; name="D1944.6288.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D1944.6288.patch" ZGlmZiAtLWdpdCBhL3N5cy9uZXRwZmlsL3BmL3BmX25vcm0uYyBiL3N5cy9uZXRwZmlsL3BmL3Bm X25vcm0uYwotLS0gYS9zeXMvbmV0cGZpbC9wZi9wZl9ub3JtLmMKKysrIGIvc3lzL25ldHBmaWwv cGYvcGZfbm9ybS5jCkBAIC0xODAsNyArMTgwLDcgQEAKICNlbmRpZgkvKiBJTkVUICovCiAKIHZv aWQKLXBmX25vcm1hbGl6ZV9pbml0KHZvaWQpCitwZl92bmV0X25vcm1hbGl6ZV9pbml0KHZvaWQp CiB7CiAKIAlWX3BmX2ZyYWdfeiA9IHVtYV96Y3JlYXRlKCJwZiBmcmFncyIsIHNpemVvZihzdHJ1 Y3QgcGZfZnJhZ21lbnQpLApkaWZmIC0tZ2l0IGEvc3lzL25ldHBmaWwvcGYvcGZfaW9jdGwuYyBi L3N5cy9uZXRwZmlsL3BmL3BmX2lvY3RsLmMKLS0tIGEvc3lzL25ldHBmaWwvcGYvcGZfaW9jdGwu YworKysgYi9zeXMvbmV0cGZpbC9wZi9wZl9pb2N0bC5jCkBAIC04Nyw3ICs4Nyw4IEBACiAjaW5j bHVkZSA8bmV0L2FsdHEvYWx0cS5oPgogI2VuZGlmCiAKLXN0YXRpYyBpbnQJCSBwZmF0dGFjaCh2 b2lkKTsKK3N0YXRpYyBpbnQJCSBwZl92bmV0X2luaXQodm9pZCk7CitzdGF0aWMgaW50CQkgcGZf dm5ldF91bmluaXQodm9pZCk7CiBzdGF0aWMgc3RydWN0IHBmX3Bvb2wJKnBmX2dldF9wb29sKGNo YXIgKiwgdV9pbnQzMl90LCB1X2ludDhfdCwgdV9pbnQzMl90LAogCQkJICAgIHVfaW50OF90LCB1 X2ludDhfdCwgdV9pbnQ4X3QpOwogCkBAIC0xNDksNiArMTUwLDcgQEAKICNkZWZpbmUgRFBGUFJJ TlRGKG4sIHgpIGlmIChWX3BmX3N0YXR1cy5kZWJ1ZyA+PSAobikpIHByaW50ZiB4CiAKIHN0cnVj dCBjZGV2ICpwZl9kZXY7CitpbnQgbnVtYmVyX29mX3ZuZXRzID0gMDsKIAogLyoKICAqIFhYWCAt IFRoZXNlIGFyZSBuZXcgYW5kIG5lZWQgdG8gYmUgY2hlY2tlZCB3aGVuIG1vdmVpbmcgdG8gYSBu ZXcgdmVyc2lvbgpAQCAtMjA1LDE3ICsyMDcsMTYgQEAKIHBmbG9nX3BhY2tldF90CQkJKnBmbG9n X3BhY2tldF9wdHIgPSBOVUxMOwogCiBzdGF0aWMgaW50Ci1wZmF0dGFjaCh2b2lkKQorcGZfdm5l dF9pbml0KHZvaWQpCiB7CiAJdV9pbnQzMl90ICpteV90aW1lb3V0ID0gVl9wZl9kZWZhdWx0X3J1 bGUudGltZW91dDsKIAlpbnQgZXJyb3I7CiAKLQlpZiAoSVNfREVGQVVMVF9WTkVUKGN1cnZuZXQp KQotCQlwZl9tdGFnX2luaXRpYWxpemUoKTsKLQlwZl9pbml0aWFsaXplKCk7CisJbnVtYmVyX29m X3ZuZXRzKys7CisJcGZfdm5ldF9pbml0aWFsaXplKCk7CiAJcGZyX2luaXRpYWxpemUoKTsKLQlw ZmlfaW5pdGlhbGl6ZSgpOwotCXBmX25vcm1hbGl6ZV9pbml0KCk7CisJcGZpX3ZuZXRfaW5pdGlh bGl6ZSgpOworCXBmX3ZuZXRfbm9ybWFsaXplX2luaXQoKTsKIAogCVZfcGZfbGltaXRzW1BGX0xJ TUlUX1NUQVRFU10ubGltaXQgPSBQRlNUQVRFX0hJV0FUOwogCVZfcGZfbGltaXRzW1BGX0xJTUlU X1NSQ19OT0RFU10ubGltaXQgPSBQRlNOT0RFX0hJV0FUOwpAQCAtMjg3LDcgKzI4OCw2MyBAQAog CiAJcmV0dXJuICgwKTsKIH0KK1ZORVRfU1lTSU5JVChwZl92bmV0X2luaXQsIFNJX1NVQl9QUk9U T19JRkFUVEFDSERPTUFJTiwgU0lfT1JERVJfQU5ZIC0gMjU1LAorICAgIHBmX3ZuZXRfaW5pdCwg TlVMTCk7CiAKK3N0YXRpYyBpbnQKK3BmX3ZuZXRfdW5pbml0KHZvaWQpCit7CisJaW50IGVycm9y ID0gMDsKKworCW51bWJlcl9vZl92bmV0cy0tOworCUtBU1NFUlQobnVtYmVyX29mX3ZuZXRzID49 IDAsICgibnVtYmVyIG9mIHZuZXRzIDwgMCIpKTsKKworCVBGX1JVTEVTX1JMT0NLKCk7CisJVl9w Zl9lbmRfdGhyZWFkcysrOworCVBGX1JVTEVTX1JVTkxPQ0soKTsKKwl3YWtldXAocGZfcHVyZ2Vf dGhyZWFkKTsKKwl3aGlsZSAoVl9wZl9lbmRfdGhyZWFkcyA8IDIpCisJCXBhdXNlKCJwZnVubGQi LCBoeiAvIDkpOworCisJVl9wZl9zdGF0dXMucnVubmluZyA9IDA7CisJc3dpX3JlbW92ZShWX3Bm X3N3aV9jb29raWUpOworCWVycm9yID0gZGVob29rX3BmKCk7CisJaWYgKGVycm9yKSB7CisJCS8q CisJCSAqIFNob3VsZCBub3QgaGFwcGVuIQorCQkgKiBYWFggRHVlIHRvIGVycm9yIGNvZGUgRVNS Q0gsIGtsZHVubG9hZCB3aWxsIHNob3cKKwkJICogYSBtZXNzYWdlIGxpa2UgJ05vIHN1Y2ggcHJv Y2VzcycuCisJCSAqLworCQlwcmludGYoIiVzIDogcGZpbCB1bnJlZ2lzdGVyYXRpb24gZmFpbFxu IiwgX19GVU5DVElPTl9fKTsKKwkJcmV0dXJuIGVycm9yOworCX0KKwlQRl9SVUxFU19XTE9DSygp OworCXNodXRkb3duX3BmKCk7CisJcGZfbm9ybWFsaXplX2NsZWFudXAoKTsKKwlwZmlfY2xlYW51 cCgpOworCXBmcl9jbGVhbnVwKCk7CisJcGZfb3NmcF9mbHVzaCgpOworCXBmX2NsZWFudXAoKTsK KworCS8qCisJICogRm9yIHRoZSBsYXN0IFZORVQgd2UgcGVyZm9ybSB0aGUgZmluYWwgY2xlYW51 cAorCSAqLworCWlmIChudW1iZXJfb2Zfdm5ldHMgPT0gMCkgeworCQlwZl91bmluaXRfZXZlbnRo YW5kbGVycygpOworCQlwZl9tdGFnX2NsZWFudXAoKTsKKwl9CisJUEZfUlVMRVNfV1VOTE9DSygp OworCWlmIChudW1iZXJfb2Zfdm5ldHMgPT0gMCkgeworCQlkZXN0cm95X2RldihwZl9kZXYpOwor CQlyd19kZXN0cm95KCZwZl9ydWxlc19sb2NrKTsKKwkJc3hfZGVzdHJveSgmcGZfaW9jdGxfbG9j ayk7CisJfQorCisJcmV0dXJuIChlcnJvcik7Cit9CitWTkVUX1NZU1VOSU5JVChwZl92bmV0X3Vu aW5pdCwgU0lfU1VCX1BST1RPX0lGQVRUQUNIRE9NQUlOLCBTSV9PUkRFUl9BTlkgLSAyNTUsCisg ICAgcGZfdm5ldF91bmluaXQsIE5VTEwpOworCiBzdGF0aWMgc3RydWN0IHBmX3Bvb2wgKgogcGZf Z2V0X3Bvb2woY2hhciAqYW5jaG9yLCB1X2ludDMyX3QgdGlja2V0LCB1X2ludDhfdCBydWxlX2Fj dGlvbiwKICAgICB1X2ludDMyX3QgcnVsZV9udW1iZXIsIHVfaW50OF90IHJfbGFzdCwgdV9pbnQ4 X3QgYWN0aXZlLApAQCAtMzcwNywyNyArMzc2NCwxMiBAQAogc3RhdGljIGludAogcGZfbG9hZCh2 b2lkKQogewotCWludCBlcnJvcjsKIAotCVZORVRfSVRFUkFUT1JfREVDTCh2bmV0X2l0ZXIpOwot Ci0JVk5FVF9MSVNUX1JMT0NLKCk7Ci0JVk5FVF9GT1JFQUNIKHZuZXRfaXRlcikgewotCQlDVVJW TkVUX1NFVCh2bmV0X2l0ZXIpOwotCQlWX3BmX3BmaWxfaG9va2VkID0gMDsKLQkJVl9wZl9lbmRf dGhyZWFkcyA9IDA7Ci0JCVRBSUxRX0lOSVQoJlZfcGZfdGFncyk7Ci0JCVRBSUxRX0lOSVQoJlZf cGZfcWlkcyk7Ci0JCUNVUlZORVRfUkVTVE9SRSgpOwotCX0KLQlWTkVUX0xJU1RfUlVOTE9DSygp OwotCiAJcndfaW5pdCgmcGZfcnVsZXNfbG9jaywgInBmIHJ1bGVzZXRzIik7CiAJc3hfaW5pdCgm cGZfaW9jdGxfbG9jaywgInBmIGlvY3RsIik7Ci0KIAlwZl9kZXYgPSBtYWtlX2RldigmcGZfY2Rl dnN3LCAwLCAwLCAwLCAwNjAwLCBQRl9OQU1FKTsKLQlpZiAoKGVycm9yID0gcGZhdHRhY2goKSkg IT0gMCkKLQkJcmV0dXJuIChlcnJvcik7CisJcGZfbXRhZ19pbml0aWFsaXplKCk7CisgICAgICAg IHBmX2luaXRfZXZlbnRoYW5kbGVycygpOwogCiAJcmV0dXJuICgwKTsKIH0KQEAgLTM3MzUsNDAg KzM3NzcsOCBAQAogc3RhdGljIGludAogcGZfdW5sb2FkKHZvaWQpCiB7Ci0JaW50IGVycm9yID0g MDsKIAotCVZfcGZfc3RhdHVzLnJ1bm5pbmcgPSAwOwotCXN3aV9yZW1vdmUoVl9wZl9zd2lfY29v a2llKTsKLQllcnJvciA9IGRlaG9va19wZigpOwotCWlmIChlcnJvcikgewotCQkvKgotCQkgKiBT aG91bGQgbm90IGhhcHBlbiEKLQkJICogWFhYIER1ZSB0byBlcnJvciBjb2RlIEVTUkNILCBrbGR1 bmxvYWQgd2lsbCBzaG93Ci0JCSAqIGEgbWVzc2FnZSBsaWtlICdObyBzdWNoIHByb2Nlc3MnLgot CQkgKi8KLQkJcHJpbnRmKCIlcyA6IHBmaWwgdW5yZWdpc3RlcmF0aW9uIGZhaWxcbiIsIF9fRlVO Q1RJT05fXyk7Ci0JCXJldHVybiBlcnJvcjsKLQl9Ci0JUEZfUlVMRVNfV0xPQ0soKTsKLQlzaHV0 ZG93bl9wZigpOwotCVZfcGZfZW5kX3RocmVhZHMgPSAxOwotCXdoaWxlIChWX3BmX2VuZF90aHJl YWRzIDwgMikgewotCQl3YWtldXBfb25lKHBmX3B1cmdlX3RocmVhZCk7Ci0JCXJ3X3NsZWVwKHBm X3B1cmdlX3RocmVhZCwgJnBmX3J1bGVzX2xvY2ssIDAsICJwZnRtbyIsIDApOwotCX0KLQlQRl9S VUxFU19XVU5MT0NLKCk7Ci0JcGZfbm9ybWFsaXplX2NsZWFudXAoKTsKLQlwZmlfY2xlYW51cCgp OwotCXBmcl9jbGVhbnVwKCk7Ci0JcGZfb3NmcF9mbHVzaCgpOwotCXBmX2NsZWFudXAoKTsKLQlp ZiAoSVNfREVGQVVMVF9WTkVUKGN1cnZuZXQpKQotCQlwZl9tdGFnX2NsZWFudXAoKTsKLQlkZXN0 cm95X2RldihwZl9kZXYpOwotCXJ3X2Rlc3Ryb3koJnBmX3J1bGVzX2xvY2spOwotCXN4X2Rlc3Ry b3koJnBmX2lvY3RsX2xvY2spOwotCi0JcmV0dXJuIChlcnJvcik7CisJcmV0dXJuICgwKTsKIH0K IAogc3RhdGljIGludApkaWZmIC0tZ2l0IGEvc3lzL25ldHBmaWwvcGYvcGZfaWYuYyBiL3N5cy9u ZXRwZmlsL3BmL3BmX2lmLmMKLS0tIGEvc3lzL25ldHBmaWwvcGYvcGZfaWYuYworKysgYi9zeXMv bmV0cGZpbC9wZi9wZl9pZi5jCkBAIC0xMDcsNyArMTA3LDcgQEAKICAgICBNVFhfREVGKTsKIAog dm9pZAotcGZpX2luaXRpYWxpemUodm9pZCkKK3BmaV92bmV0X2luaXRpYWxpemUodm9pZCkKIHsK IAlzdHJ1Y3QgaWZnX2dyb3VwICppZmc7CiAJc3RydWN0IGlmbmV0ICppZnA7CkBAIC0xMjMsMTYg KzEyMywyNCBAQAogCVBGX1JVTEVTX1dVTkxPQ0soKTsKIAogCUlGTkVUX1JMT0NLKCk7Ci0JVEFJ TFFfRk9SRUFDSChpZmcsICZWX2lmZ19oZWFkLCBpZmdfbmV4dCkKKwlUQUlMUV9GT1JFQUNIKGlm ZywgJlZfaWZnX2hlYWQsIGlmZ19uZXh0KSB7CiAJCXBmaV9hdHRhY2hfaWZncm91cChpZmcpOwot CVRBSUxRX0ZPUkVBQ0goaWZwLCAmVl9pZm5ldCwgaWZfbGluaykKKwl9CisJVEFJTFFfRk9SRUFD SChpZnAsICZWX2lmbmV0LCBpZl9saW5rKSB7CisJCUNVUlZORVRfU0VUKGlmcC0+aWZfdm5ldCk7 CiAJCXBmaV9hdHRhY2hfaWZuZXQoaWZwKTsKKwkJQ1VSVk5FVF9SRVNUT1JFKCk7CisJfQogCUlG TkVUX1JVTkxPQ0soKTsKK30KIAordm9pZAorcGZfaW5pdF9ldmVudGhhbmRsZXJzKHZvaWQpIHsK KwogCXBmaV9hdHRhY2hfY29va2llID0gRVZFTlRIQU5ETEVSX1JFR0lTVEVSKGlmbmV0X2Fycml2 YWxfZXZlbnQsCi0JICAgIHBmaV9hdHRhY2hfaWZuZXRfZXZlbnQsIE5VTEwsIEVWRU5USEFORExF Ul9QUklfQU5ZKTsKKwkgICAgcGZpX2F0dGFjaF9pZm5ldF9ldmVudCwgY3Vydm5ldCwgRVZFTlRI QU5ETEVSX1BSSV9BTlkpOwogCXBmaV9kZXRhY2hfY29va2llID0gRVZFTlRIQU5ETEVSX1JFR0lT VEVSKGlmbmV0X2RlcGFydHVyZV9ldmVudCwKLQkgICAgcGZpX2RldGFjaF9pZm5ldF9ldmVudCwg TlVMTCwgRVZFTlRIQU5ETEVSX1BSSV9BTlkpOworCSAgICBwZmlfZGV0YWNoX2lmbmV0X2V2ZW50 LCBjdXJ2bmV0LCBFVkVOVEhBTkRMRVJfUFJJX0FOWSk7CiAJcGZpX2F0dGFjaF9ncm91cF9jb29r aWUgPSBFVkVOVEhBTkRMRVJfUkVHSVNURVIoZ3JvdXBfYXR0YWNoX2V2ZW50LAogCSAgICBwZmlf YXR0YWNoX2dyb3VwX2V2ZW50LCBjdXJ2bmV0LCBFVkVOVEhBTkRMRVJfUFJJX0FOWSk7CiAJcGZp X2NoYW5nZV9ncm91cF9jb29raWUgPSBFVkVOVEhBTkRMRVJfUkVHSVNURVIoZ3JvdXBfY2hhbmdl X2V2ZW50LApAQCAtMTQwLDEzICsxNDgsMTEgQEAKIAlwZmlfZGV0YWNoX2dyb3VwX2Nvb2tpZSA9 IEVWRU5USEFORExFUl9SRUdJU1RFUihncm91cF9kZXRhY2hfZXZlbnQsCiAJICAgIHBmaV9kZXRh Y2hfZ3JvdXBfZXZlbnQsIGN1cnZuZXQsIEVWRU5USEFORExFUl9QUklfQU5ZKTsKIAlwZmlfaWZh ZGRyX2V2ZW50X2Nvb2tpZSA9IEVWRU5USEFORExFUl9SRUdJU1RFUihpZmFkZHJfZXZlbnQsCi0J ICAgIHBmaV9pZmFkZHJfZXZlbnQsIE5VTEwsIEVWRU5USEFORExFUl9QUklfQU5ZKTsKKwkgICAg cGZpX2lmYWRkcl9ldmVudCwgY3Vydm5ldCwgRVZFTlRIQU5ETEVSX1BSSV9BTlkpOwogfQogCiB2 b2lkCi1wZmlfY2xlYW51cCh2b2lkKQotewotCXN0cnVjdCBwZmlfa2lmICpwOworcGZfdW5pbml0 X2V2ZW50aGFuZGxlcnModm9pZCkgewogCiAJRVZFTlRIQU5ETEVSX0RFUkVHSVNURVIoaWZuZXRf YXJyaXZhbF9ldmVudCwgcGZpX2F0dGFjaF9jb29raWUpOwogCUVWRU5USEFORExFUl9ERVJFR0lT VEVSKGlmbmV0X2RlcGFydHVyZV9ldmVudCwgcGZpX2RldGFjaF9jb29raWUpOwpAQCAtMTU0LDcg KzE2MCwxMyBAQAogCUVWRU5USEFORExFUl9ERVJFR0lTVEVSKGdyb3VwX2NoYW5nZV9ldmVudCwg cGZpX2NoYW5nZV9ncm91cF9jb29raWUpOwogCUVWRU5USEFORExFUl9ERVJFR0lTVEVSKGdyb3Vw X2RldGFjaF9ldmVudCwgcGZpX2RldGFjaF9ncm91cF9jb29raWUpOwogCUVWRU5USEFORExFUl9E RVJFR0lTVEVSKGlmYWRkcl9ldmVudCwgcGZpX2lmYWRkcl9ldmVudF9jb29raWUpOworfQogCit2 b2lkCitwZmlfY2xlYW51cCh2b2lkKQoreworCXN0cnVjdCBwZmlfa2lmICpwOworCiAJVl9wZmlf YWxsID0gTlVMTDsKIAl3aGlsZSAoKHAgPSBSQl9NSU4ocGZpX2lmaGVhZCwgJlZfcGZpX2lmcykp KSB7CiAJCVJCX1JFTU9WRShwZmlfaWZoZWFkLCAmVl9wZmlfaWZzLCBwKTsKQEAgLTgxMSw5ICs4 MjMsNyBAQAogcGZpX2F0dGFjaF9ncm91cF9ldmVudCh2b2lkICphcmcgLCBzdHJ1Y3QgaWZnX2dy b3VwICppZmcpCiB7CiAKLQlDVVJWTkVUX1NFVCgoc3RydWN0IHZuZXQgKilhcmcpOwogCXBmaV9h dHRhY2hfaWZncm91cChpZmcpOwotCUNVUlZORVRfUkVTVE9SRSgpOwogfQogCiBzdGF0aWMgdm9p ZApAQCAtODIzLDEzICs4MzMsMTEgQEAKIAogCWtpZiA9IG1hbGxvYyhzaXplb2YoKmtpZiksIFBG SV9NVFlQRSwgTV9XQUlUT0spOwogCi0JQ1VSVk5FVF9TRVQoKHN0cnVjdCB2bmV0ICopYXJnKTsK IAlQRl9SVUxFU19XTE9DSygpOwogCVZfcGZpX3VwZGF0ZSsrOwogCWtpZiA9IHBmaV9raWZfYXR0 YWNoKGtpZiwgZ25hbWUpOwogCXBmaV9raWZfdXBkYXRlKGtpZik7CiAJUEZfUlVMRVNfV1VOTE9D SygpOwotCUNVUlZORVRfUkVTVE9SRSgpOwogfQogCiBzdGF0aWMgdm9pZApkaWZmIC0tZ2l0IGEv c3lzL25ldHBmaWwvcGYvcGYuYyBiL3N5cy9uZXRwZmlsL3BmL3BmLmMKLS0tIGEvc3lzL25ldHBm aWwvcGYvcGYuYworKysgYi9zeXMvbmV0cGZpbC9wZi9wZi5jCkBAIC03NTQsNyArNzU0LDcgQEAK IAogLyogUGVyLXZuZXQgZGF0YSBzdG9yYWdlIHN0cnVjdHVyZXMgaW5pdGlhbGl6YXRpb24uICov CiB2b2lkCi1wZl9pbml0aWFsaXplKCkKK3BmX3ZuZXRfaW5pdGlhbGl6ZSgpCiB7CiAJc3RydWN0 IHBmX2tleWhhc2gJKmtoOwogCXN0cnVjdCBwZl9pZGhhc2gJKmloOwpkaWZmIC0tZ2l0IGEvc3lz L25ldC9wZnZhci5oIGIvc3lzL25ldC9wZnZhci5oCi0tLSBhL3N5cy9uZXQvcGZ2YXIuaAorKysg Yi9zeXMvbmV0L3BmdmFyLmgKQEAgLTE0OTQsNyArMTQ5NCw5IEBACiBWTkVUX0RFQ0xBUkUoc3Ry dWN0IHBmX3J1bGVxdWV1ZSwgcGZfdW5saW5rZWRfcnVsZXMpOwogI2RlZmluZQlWX3BmX3VubGlu a2VkX3J1bGVzCVZORVQocGZfdW5saW5rZWRfcnVsZXMpCiAKLXZvaWQJCQkJIHBmX2luaXRpYWxp emUodm9pZCk7Cit2b2lkCQkJCSBwZl9pbml0X2V2ZW50aGFuZGxlcnModm9pZCk7Cit2b2lkCQkJ CSBwZl91bmluaXRfZXZlbnRoYW5kbGVycyh2b2lkKTsKK3ZvaWQJCQkJIHBmX3ZuZXRfaW5pdGlh bGl6ZSh2b2lkKTsKIHZvaWQJCQkJIHBmX210YWdfaW5pdGlhbGl6ZSh2b2lkKTsKIHZvaWQJCQkJ IHBmX210YWdfY2xlYW51cCh2b2lkKTsKIHZvaWQJCQkJIHBmX2NsZWFudXAodm9pZCk7CkBAIC0x NTkwLDcgKzE1OTIsNyBAQAogCSAgICBzdHJ1Y3QgcGZfYWRkciAqLCBzYV9mYW1pbHlfdCk7CiBp bnQJcGZfbWF0Y2hfcG9ydCh1X2ludDhfdCwgdV9pbnQxNl90LCB1X2ludDE2X3QsIHVfaW50MTZf dCk7CiAKLXZvaWQJcGZfbm9ybWFsaXplX2luaXQodm9pZCk7Cit2b2lkCXBmX3ZuZXRfbm9ybWFs aXplX2luaXQodm9pZCk7CiB2b2lkCXBmX25vcm1hbGl6ZV9jbGVhbnVwKHZvaWQpOwogaW50CXBm X25vcm1hbGl6ZV90Y3AoaW50LCBzdHJ1Y3QgcGZpX2tpZiAqLCBzdHJ1Y3QgbWJ1ZiAqLCBpbnQs IGludCwgdm9pZCAqLAogCSAgICBzdHJ1Y3QgcGZfcGRlc2MgKik7CkBAIC0xNjQ4LDcgKzE2NTAs NyBAQAogVk5FVF9ERUNMQVJFKHN0cnVjdCBwZmlfa2lmICosCQkgcGZpX2FsbCk7CiAjZGVmaW5l CVZfcGZpX2FsbAkgCQkgVk5FVChwZmlfYWxsKQogCi12b2lkCQkgcGZpX2luaXRpYWxpemUodm9p ZCk7Cit2b2lkCQkgcGZpX3ZuZXRfaW5pdGlhbGl6ZSh2b2lkKTsKIHZvaWQJCSBwZmlfY2xlYW51 cCh2b2lkKTsKIHZvaWQJCSBwZmlfa2lmX3JlZihzdHJ1Y3QgcGZpX2tpZiAqKTsKIHZvaWQJCSBw Zmlfa2lmX3VucmVmKHN0cnVjdCBwZmlfa2lmICopOwoK --b1_0f1c72a4a2ff12f041db4bba0b930ff9--