From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Xu, Quan" Subject: [PATCH v8 11/11] vt-d: add __must_check annotation to IOMMU flush pointers and handlers Date: Mon, 13 Jun 2016 23:17:18 +0800 Message-ID: <1465831038-43005-12-git-send-email-quan.xu@intel.com> References: <1465831038-43005-1-git-send-email-quan.xu@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1465831038-43005-1-git-send-email-quan.xu@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Kevin Tian , dario.faggioli@citrix.com, Feng Wu , Jan Beulich , Quan Xu List-Id: xen-devel@lists.xenproject.org RnJvbTogUXVhbiBYdSA8cXVhbi54dUBpbnRlbC5jb20+CgpTaWduZWQtb2ZmLWJ5OiBRdWFuIFh1 IDxxdWFuLnh1QGludGVsLmNvbT4KQWNrZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50 ZWwuY29tPgpSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgoKQ0M6 IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQ0M6IEtldmluIFRpYW4gPGtldmluLnRp YW5AaW50ZWwuY29tPgpDQzogRmVuZyBXdSA8ZmVuZy53dUBpbnRlbC5jb20+Ci0tLQogeGVuL2Ry aXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMgIHwgNTAgKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuaCAgfCAx MSArKysrKy0tLQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3FpbnZhbC5jIHwgMTQgKysr KystLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYyBiL3hl bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCmluZGV4IDliODgyZWEuLjVmNDhlODkg MTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCisrKyBiL3hl bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9pb21tdS5jCkBAIC0zMzUsMTAgKzMzNSw5IEBAIHN0 YXRpYyB2b2lkIGlvbW11X2ZsdXNoX3dyaXRlX2J1ZmZlcihzdHJ1Y3QgaW9tbXUgKmlvbW11KQog fQogCiAvKiByZXR1cm4gdmFsdWUgZGV0ZXJtaW5lIGlmIHdlIG5lZWQgYSB3cml0ZSBidWZmZXIg Zmx1c2ggKi8KLXN0YXRpYyBpbnQgZmx1c2hfY29udGV4dF9yZWcoCi0gICAgdm9pZCAqX2lvbW11 LAotICAgIHUxNiBkaWQsIHUxNiBzb3VyY2VfaWQsIHU4IGZ1bmN0aW9uX21hc2ssIHU2NCB0eXBl LAotICAgIGludCBmbHVzaF9ub25fcHJlc2VudF9lbnRyeSkKK3N0YXRpYyBpbnQgX19tdXN0X2No ZWNrIGZsdXNoX2NvbnRleHRfcmVnKHZvaWQgKl9pb21tdSwgdTE2IGRpZCwgdTE2IHNvdXJjZV9p ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU4IGZ1bmN0aW9u X21hc2ssIHU2NCB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYm9vbF90IGZsdXNoX25vbl9wcmVzZW50X2VudHJ5KQogewogICAgIHN0cnVjdCBpb21tdSAq aW9tbXUgPSAoc3RydWN0IGlvbW11ICopIF9pb21tdTsKICAgICB1NjQgdmFsID0gMDsKQEAgLTM4 OSw3ICszODgsNyBAQCBzdGF0aWMgaW50IGZsdXNoX2NvbnRleHRfcmVnKAogfQogCiBzdGF0aWMg aW50IF9fbXVzdF9jaGVjayBpb21tdV9mbHVzaF9jb250ZXh0X2dsb2JhbChzdHJ1Y3QgaW9tbXUg KmlvbW11LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW50IGZsdXNoX25vbl9wcmVzZW50X2VudHJ5KQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbF90IGZsdXNoX25vbl9wcmVzZW50X2VudHJ5 KQogewogICAgIHN0cnVjdCBpb21tdV9mbHVzaCAqZmx1c2ggPSBpb21tdV9nZXRfZmx1c2goaW9t bXUpOwogICAgIHJldHVybiBmbHVzaC0+Y29udGV4dChpb21tdSwgMCwgMCwgMCwgRE1BX0NDTURf R0xPQkFMX0lOVkwsCkBAIC0zOTksNyArMzk4LDcgQEAgc3RhdGljIGludCBfX211c3RfY2hlY2sg aW9tbXVfZmx1c2hfY29udGV4dF9nbG9iYWwoc3RydWN0IGlvbW11ICppb21tdSwKIHN0YXRpYyBp bnQgX19tdXN0X2NoZWNrIGlvbW11X2ZsdXNoX2NvbnRleHRfZGV2aWNlKHN0cnVjdCBpb21tdSAq aW9tbXUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1MTYgZGlkLCB1MTYgc291cmNlX2lkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdTggZnVuY3Rpb25fbWFzaywKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBmbHVzaF9ub25fcHJlc2VudF9l bnRyeSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJvb2xfdCBmbHVzaF9ub25fcHJlc2VudF9lbnRyeSkKIHsKICAgICBzdHJ1Y3QgaW9tbXVfZmx1 c2ggKmZsdXNoID0gaW9tbXVfZ2V0X2ZsdXNoKGlvbW11KTsKICAgICByZXR1cm4gZmx1c2gtPmNv bnRleHQoaW9tbXUsIGRpZCwgc291cmNlX2lkLCBmdW5jdGlvbl9tYXNrLApAQCAtNDA4LDkgKzQw NywxMCBAQCBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBpb21tdV9mbHVzaF9jb250ZXh0X2Rldmlj ZShzdHJ1Y3QgaW9tbXUgKmlvbW11LAogfQogCiAvKiByZXR1cm4gdmFsdWUgZGV0ZXJtaW5lIGlm IHdlIG5lZWQgYSB3cml0ZSBidWZmZXIgZmx1c2ggKi8KLXN0YXRpYyBpbnQgZmx1c2hfaW90bGJf cmVnKHZvaWQgKl9pb21tdSwgdTE2IGRpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHU2 NCBhZGRyLCB1bnNpZ25lZCBpbnQgc2l6ZV9vcmRlciwgdTY0IHR5cGUsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICBpbnQgZmx1c2hfbm9uX3ByZXNlbnRfZW50cnksIGludCBmbHVzaF9kZXZf aW90bGIpCitzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBmbHVzaF9pb3RsYl9yZWcodm9pZCAqX2lv bW11LCB1MTYgZGlkLCB1NjQgYWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1bnNpZ25lZCBpbnQgc2l6ZV9vcmRlciwgdTY0IHR5cGUsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbF90IGZsdXNoX25vbl9wcmVzZW50X2VudHJ5 LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xfdCBmbHVzaF9k ZXZfaW90bGIpCiB7CiAgICAgc3RydWN0IGlvbW11ICppb21tdSA9IChzdHJ1Y3QgaW9tbXUgKikg X2lvbW11OwogICAgIGludCB0bGJfb2Zmc2V0ID0gZWNhcF9pb3RsYl9vZmZzZXQoaW9tbXUtPmVj YXApOwpAQCAtNDc1LDggKzQ3NSw4IEBAIHN0YXRpYyBpbnQgZmx1c2hfaW90bGJfcmVnKHZvaWQg Kl9pb21tdSwgdTE2IGRpZCwKIH0KIAogc3RhdGljIGludCBfX211c3RfY2hlY2sgaW9tbXVfZmx1 c2hfaW90bGJfZ2xvYmFsKHN0cnVjdCBpb21tdSAqaW9tbXUsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGZsdXNoX25vbl9wcmVzZW50X2VudHJ5 LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBm bHVzaF9kZXZfaW90bGIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYm9vbF90IGZsdXNoX25vbl9wcmVzZW50X2VudHJ5LAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xfdCBmbHVzaF9kZXZfaW90bGIp CiB7CiAgICAgc3RydWN0IGlvbW11X2ZsdXNoICpmbHVzaCA9IGlvbW11X2dldF9mbHVzaChpb21t dSk7CiAgICAgaW50IHN0YXR1czsKQEAgLTQ5NCw4ICs0OTQsOCBAQCBzdGF0aWMgaW50IF9fbXVz dF9jaGVjayBpb21tdV9mbHVzaF9pb3RsYl9nbG9iYWwoc3RydWN0IGlvbW11ICppb21tdSwKIH0K IAogc3RhdGljIGludCBfX211c3RfY2hlY2sgaW9tbXVfZmx1c2hfaW90bGJfZHNpKHN0cnVjdCBp b21tdSAqaW9tbXUsIHUxNiBkaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaW50IGZsdXNoX25vbl9wcmVzZW50X2VudHJ5LAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBmbHVzaF9kZXZfaW90bGIpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbF90IGZsdXNoX25v bl9wcmVzZW50X2VudHJ5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJvb2xfdCBmbHVzaF9kZXZfaW90bGIpCiB7CiAgICAgc3RydWN0IGlvbW11X2ZsdXNo ICpmbHVzaCA9IGlvbW11X2dldF9mbHVzaChpb21tdSk7CiAgICAgaW50IHN0YXR1czsKQEAgLTUx NCw4ICs1MTQsOCBAQCBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBpb21tdV9mbHVzaF9pb3RsYl9k c2koc3RydWN0IGlvbW11ICppb21tdSwgdTE2IGRpZCwKIAogc3RhdGljIGludCBfX211c3RfY2hl Y2sgaW9tbXVfZmx1c2hfaW90bGJfcHNpKHN0cnVjdCBpb21tdSAqaW9tbXUsIHUxNiBkaWQsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTY0IGFkZHIsIHVu c2lnbmVkIGludCBvcmRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpbnQgZmx1c2hfbm9uX3ByZXNlbnRfZW50cnksCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGZsdXNoX2Rldl9pb3RsYikKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sX3QgZmx1c2hfbm9uX3By ZXNlbnRfZW50cnksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYm9vbF90IGZsdXNoX2Rldl9pb3RsYikKIHsKICAgICBzdHJ1Y3QgaW9tbXVfZmx1c2ggKmZs dXNoID0gaW9tbXVfZ2V0X2ZsdXNoKGlvbW11KTsKICAgICBpbnQgc3RhdHVzOwpAQCAtNTQ5LDcg KzU0OSw3IEBAIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGlvbW11X2ZsdXNoX2FsbCh2b2lkKQog ewogICAgIHN0cnVjdCBhY3BpX2RyaGRfdW5pdCAqZHJoZDsKICAgICBzdHJ1Y3QgaW9tbXUgKmlv bW11OwotICAgIGludCBmbHVzaF9kZXZfaW90bGI7CisgICAgYm9vbF90IGZsdXNoX2Rldl9pb3Rs YjsKICAgICBpbnQgcmMgPSAwOwogCiAgICAgZmx1c2hfYWxsX2NhY2hlKCk7CkBAIC01NTksNyAr NTU5LDcgQEAgc3RhdGljIGludCBfX211c3RfY2hlY2sgaW9tbXVfZmx1c2hfYWxsKHZvaWQpCiAK ICAgICAgICAgaW9tbXUgPSBkcmhkLT5pb21tdTsKICAgICAgICAgaW9tbXVfcmMgPSBpb21tdV9m bHVzaF9jb250ZXh0X2dsb2JhbChpb21tdSwgMCk7Ci0gICAgICAgIGZsdXNoX2Rldl9pb3RsYiA9 IGZpbmRfYXRzX2Rldl9kcmhkKGlvbW11KSA/IDEgOiAwOworICAgICAgICBmbHVzaF9kZXZfaW90 bGIgPSAhIWZpbmRfYXRzX2Rldl9kcmhkKGlvbW11KTsKICAgICAgICAgaW9tbXVfcmV0ID0gaW9t bXVfZmx1c2hfaW90bGJfZ2xvYmFsKGlvbW11LCAwLCBmbHVzaF9kZXZfaW90bGIpOwogCiAgICAg ICAgIC8qCkBAIC01OTEsNyArNTkxLDcgQEAgc3RhdGljIGludCBfX211c3RfY2hlY2sgaW9tbXVf Zmx1c2hfaW90bGIoc3RydWN0IGRvbWFpbiAqZCwKICAgICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpo ZCA9IGRvbV9pb21tdShkKTsKICAgICBzdHJ1Y3QgYWNwaV9kcmhkX3VuaXQgKmRyaGQ7CiAgICAg c3RydWN0IGlvbW11ICppb21tdTsKLSAgICBpbnQgZmx1c2hfZGV2X2lvdGxiOworICAgIGJvb2xf dCBmbHVzaF9kZXZfaW90bGI7CiAgICAgaW50IGlvbW11X2RvbWlkOwogICAgIGludCByYyA9IDA7 CiAKQEAgLTYwNiw3ICs2MDYsNyBAQCBzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBpb21tdV9mbHVz aF9pb3RsYihzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICBpZiAoICF0ZXN0X2JpdChpb21tdS0+ aW5kZXgsICZoZC0+YXJjaC5pb21tdV9iaXRtYXApICkKICAgICAgICAgICAgIGNvbnRpbnVlOwog Ci0gICAgICAgIGZsdXNoX2Rldl9pb3RsYiA9IGZpbmRfYXRzX2Rldl9kcmhkKGlvbW11KSA/IDEg OiAwOworICAgICAgICBmbHVzaF9kZXZfaW90bGIgPSAhIWZpbmRfYXRzX2Rldl9kcmhkKGlvbW11 KTsKICAgICAgICAgaW9tbXVfZG9taWQ9IGRvbWFpbl9pb21tdV9kb21pZChkLCBpb21tdSk7CiAg ICAgICAgIGlmICggaW9tbXVfZG9taWQgPT0gLTEgKQogICAgICAgICAgICAgY29udGludWU7CkBA IC0xMzE4LDcgKzEzMTgsNyBAQCBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoCiAgICAg dTY0IG1hZGRyLCBwZ2RfbWFkZHI7CiAgICAgdTE2IHNlZyA9IGlvbW11LT5pbnRlbC0+ZHJoZC0+ c2VnbWVudDsKICAgICBpbnQgYWdhdywgcmMsIHJldDsKLSAgICBpbnQgZmx1c2hfZGV2X2lvdGxi OworICAgIGJvb2xfdCBmbHVzaF9kZXZfaW90bGI7CiAKICAgICBBU1NFUlQocGNpZGV2c19sb2Nr ZWQoKSk7CiAgICAgc3Bpbl9sb2NrKCZpb21tdS0+bG9jayk7CkBAIC0xNDM0LDcgKzE0MzQsNyBA QCBpbnQgZG9tYWluX2NvbnRleHRfbWFwcGluZ19vbmUoCiAgICAgLyogQ29udGV4dCBlbnRyeSB3 YXMgcHJldmlvdXNseSBub24tcHJlc2VudCAod2l0aCBkb21pZCAwKS4gKi8KICAgICByYyA9IGlv bW11X2ZsdXNoX2NvbnRleHRfZGV2aWNlKGlvbW11LCAwLCBQQ0lfQkRGMihidXMsIGRldmZuKSwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERNQV9DQ01EX01BU0tfTk9CSVQs IDEpOwotICAgIGZsdXNoX2Rldl9pb3RsYiA9IGZpbmRfYXRzX2Rldl9kcmhkKGlvbW11KSA/IDEg OiAwOworICAgIGZsdXNoX2Rldl9pb3RsYiA9ICEhZmluZF9hdHNfZGV2X2RyaGQoaW9tbXUpOwog ICAgIHJldCA9IGlvbW11X2ZsdXNoX2lvdGxiX2RzaShpb21tdSwgMCwgMSwgZmx1c2hfZGV2X2lv dGxiKTsKIAogICAgIC8qCkBAIC0xNTUzLDcgKzE1NTMsNyBAQCBpbnQgZG9tYWluX2NvbnRleHRf dW5tYXBfb25lKAogICAgIHN0cnVjdCBjb250ZXh0X2VudHJ5ICpjb250ZXh0LCAqY29udGV4dF9l bnRyaWVzOwogICAgIHU2NCBtYWRkcjsKICAgICBpbnQgaW9tbXVfZG9taWQsIHJjLCByZXQ7Ci0g ICAgaW50IGZsdXNoX2Rldl9pb3RsYjsKKyAgICBib29sX3QgZmx1c2hfZGV2X2lvdGxiOwogCiAg ICAgQVNTRVJUKHBjaWRldnNfbG9ja2VkKCkpOwogICAgIHNwaW5fbG9jaygmaW9tbXUtPmxvY2sp OwpAQCAtMTU4NSw3ICsxNTg1LDcgQEAgaW50IGRvbWFpbl9jb250ZXh0X3VubWFwX29uZSgKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDSV9CREYyKGJ1cywgZGV2Zm4pLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BX0NDTURfTUFTS19OT0JJVCwg MCk7CiAKLSAgICBmbHVzaF9kZXZfaW90bGIgPSBmaW5kX2F0c19kZXZfZHJoZChpb21tdSkgPyAx IDogMDsKKyAgICBmbHVzaF9kZXZfaW90bGIgPSAhIWZpbmRfYXRzX2Rldl9kcmhkKGlvbW11KTsK ICAgICByZXQgPSBpb21tdV9mbHVzaF9pb3RsYl9kc2koaW9tbXUsIGlvbW11X2RvbWlkLCAwLCBm bHVzaF9kZXZfaW90bGIpOwogCiAgICAgLyoKQEAgLTE4MjAsNyArMTgyMCw3IEBAIGludCBpb21t dV9wdGVfZmx1c2goc3RydWN0IGRvbWFpbiAqZCwgdTY0IGdmbiwgdTY0ICpwdGUsCiAgICAgc3Ry dWN0IGFjcGlfZHJoZF91bml0ICpkcmhkOwogICAgIHN0cnVjdCBpb21tdSAqaW9tbXUgPSBOVUxM OwogICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11KGQpOwotICAgIGludCBm bHVzaF9kZXZfaW90bGI7CisgICAgYm9vbF90IGZsdXNoX2Rldl9pb3RsYjsKICAgICBpbnQgaW9t bXVfZG9taWQ7CiAgICAgaW50IHJjID0gMDsKIApAQCAtMTgzMiw3ICsxODMyLDcgQEAgaW50IGlv bW11X3B0ZV9mbHVzaChzdHJ1Y3QgZG9tYWluICpkLCB1NjQgZ2ZuLCB1NjQgKnB0ZSwKICAgICAg ICAgaWYgKCAhdGVzdF9iaXQoaW9tbXUtPmluZGV4LCAmaGQtPmFyY2guaW9tbXVfYml0bWFwKSAp CiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBmbHVzaF9kZXZfaW90bGIgPSBmaW5k X2F0c19kZXZfZHJoZChpb21tdSkgPyAxIDogMDsKKyAgICAgICAgZmx1c2hfZGV2X2lvdGxiID0g ISFmaW5kX2F0c19kZXZfZHJoZChpb21tdSk7CiAgICAgICAgIGlvbW11X2RvbWlkPSBkb21haW5f aW9tbXVfZG9taWQoZCwgaW9tbXUpOwogICAgICAgICBpZiAoIGlvbW11X2RvbWlkID09IC0xICkK ICAgICAgICAgICAgIGNvbnRpbnVlOwpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91 Z2gvdnRkL2lvbW11LmggYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuaAppbmRl eCBjNTVlZTA4Li5lNmNmNzM4IDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92 dGQvaW9tbXUuaAorKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuaApAQCAt NTE0LDEwICs1MTQsMTMgQEAgc3RydWN0IGlyX2N0cmwgewogfTsKIAogc3RydWN0IGlvbW11X2Zs dXNoIHsKLSAgICBpbnQgKCpjb250ZXh0KSh2b2lkICppb21tdSwgdTE2IGRpZCwgdTE2IHNvdXJj ZV9pZCwKLSAgICAgICAgICAgICAgICAgICB1OCBmdW5jdGlvbl9tYXNrLCB1NjQgdHlwZSwgaW50 IG5vbl9wcmVzZW50X2VudHJ5X2ZsdXNoKTsKLSAgICBpbnQgKCppb3RsYikodm9pZCAqaW9tbXUs IHUxNiBkaWQsIHU2NCBhZGRyLCB1bnNpZ25lZCBpbnQgc2l6ZV9vcmRlciwKLSAgICAgICAgICAg ICAgICAgdTY0IHR5cGUsIGludCBmbHVzaF9ub25fcHJlc2VudF9lbnRyeSwgaW50IGZsdXNoX2Rl dl9pb3RsYik7CisgICAgaW50IF9fbXVzdF9jaGVjayAoKmNvbnRleHQpKHZvaWQgKmlvbW11LCB1 MTYgZGlkLCB1MTYgc291cmNlX2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 OCBmdW5jdGlvbl9tYXNrLCB1NjQgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYm9vbF90IG5vbl9wcmVzZW50X2VudHJ5X2ZsdXNoKTsKKyAgICBpbnQgX19tdXN0X2NoZWNr ICgqaW90bGIpKHZvaWQgKmlvbW11LCB1MTYgZGlkLCB1NjQgYWRkciwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBzaXplX29yZGVyLCB1NjQgdHlwZSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xfdCBmbHVzaF9ub25fcHJlc2VudF9lbnRyeSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xfdCBmbHVzaF9kZXZfaW90bGIpOwog fTsKIAogc3RydWN0IGludGVsX2lvbW11IHsKZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0 aHJvdWdoL3Z0ZC9xaW52YWwuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9xaW52YWwu YwppbmRleCBiODFiMGJkLi5hYTc4NDFhIDEwMDY0NAotLS0gYS94ZW4vZHJpdmVycy9wYXNzdGhy b3VnaC92dGQvcWludmFsLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3FpbnZh bC5jCkBAIC0yNzQsOSArMjc0LDkgQEAgaW50IGlvbW11X2ZsdXNoX2llY19pbmRleChzdHJ1Y3Qg aW9tbXUgKmlvbW11LCB1OCBpbSwgdTE2IGlpZHgpCiAgICByZXR1cm4gX19pb21tdV9mbHVzaF9p ZWMoaW9tbXUsIElFQ19JTkRFWF9JTlZMLCBpbSwgaWlkeCk7CiB9CiAKLXN0YXRpYyBpbnQgZmx1 c2hfY29udGV4dF9xaSgKLSAgICB2b2lkICpfaW9tbXUsIHUxNiBkaWQsIHUxNiBzaWQsIHU4IGZt LCB1NjQgdHlwZSwKLSAgICBpbnQgZmx1c2hfbm9uX3ByZXNlbnRfZW50cnkpCitzdGF0aWMgaW50 IF9fbXVzdF9jaGVjayBmbHVzaF9jb250ZXh0X3FpKHZvaWQgKl9pb21tdSwgdTE2IGRpZCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTE2IHNpZCwgdTggZm0sIHU2 NCB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sX3Qg Zmx1c2hfbm9uX3ByZXNlbnRfZW50cnkpCiB7CiAgICAgaW50IHJldCA9IDA7CiAgICAgc3RydWN0 IGlvbW11ICppb21tdSA9IChzdHJ1Y3QgaW9tbXUgKilfaW9tbXU7CkBAIC0zMDUsMTAgKzMwNSwx MCBAQCBzdGF0aWMgaW50IGZsdXNoX2NvbnRleHRfcWkoCiAgICAgcmV0dXJuIHJldDsKIH0KIAot c3RhdGljIGludCBmbHVzaF9pb3RsYl9xaSgKLSAgICB2b2lkICpfaW9tbXUsIHUxNiBkaWQsCi0g ICAgdTY0IGFkZHIsIHVuc2lnbmVkIGludCBzaXplX29yZGVyLCB1NjQgdHlwZSwKLSAgICBpbnQg Zmx1c2hfbm9uX3ByZXNlbnRfZW50cnksIGludCBmbHVzaF9kZXZfaW90bGIpCitzdGF0aWMgaW50 IF9fbXVzdF9jaGVjayBmbHVzaF9pb3RsYl9xaSh2b2lkICpfaW9tbXUsIHUxNiBkaWQsIHU2NCBh ZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50 IHNpemVfb3JkZXIsIHU2NCB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYm9vbF90IGZsdXNoX25vbl9wcmVzZW50X2VudHJ5LAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYm9vbF90IGZsdXNoX2Rldl9pb3RsYikKIHsKICAgICB1OCBk ciA9IDAsIGR3ID0gMDsKICAgICBpbnQgcmV0ID0gMDsKLS0gCjEuOS4xCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK