From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Xu, Quan" Subject: [PATCH v7 11/11] vt-d: add __must_check annotation to IOMMU flush pointers and handlers Date: Wed, 8 Jun 2016 16:59:04 +0800 Message-ID: <1465376344-28290-12-git-send-email-quan.xu@intel.com> References: <1465376344-28290-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: <1465376344-28290-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 IDxxdWFuLnh1QGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz dXNlLmNvbT4KCkNDOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CkNDOiBLZXZpbiBU aWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4KQ0M6IEZlbmcgV3UgPGZlbmcud3VAaW50ZWwuY29t PgoKdjc6IHVzaW5nICEhIGluc3RlYWQgb2YgPzogLgotLS0KIHhlbi9kcml2ZXJzL3Bhc3N0aHJv dWdoL3Z0ZC9pb21tdS5jICB8IDQ0ICsrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t LQogeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmggIHwgMTEgKysrKystLS0tCiB4 ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvcWludmFsLmMgfCAxNCArKysrKystLS0tLS0KIDMg ZmlsZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgMzMgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmMgYi94ZW4vZHJpdmVycy9w YXNzdGhyb3VnaC92dGQvaW9tbXUuYwppbmRleCA4YWQ4NjJlLi5mYzVjNzZjIDEwMDY0NAotLS0g YS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuYworKysgYi94ZW4vZHJpdmVycy9w YXNzdGhyb3VnaC92dGQvaW9tbXUuYwpAQCAtMzM1LDEwICszMzUsOSBAQCBzdGF0aWMgdm9pZCBp b21tdV9mbHVzaF93cml0ZV9idWZmZXIoc3RydWN0IGlvbW11ICppb21tdSkKIH0KIAogLyogcmV0 dXJuIHZhbHVlIGRldGVybWluZSBpZiB3ZSBuZWVkIGEgd3JpdGUgYnVmZmVyIGZsdXNoICovCi1z dGF0aWMgaW50IGZsdXNoX2NvbnRleHRfcmVnKAotICAgIHZvaWQgKl9pb21tdSwKLSAgICB1MTYg ZGlkLCB1MTYgc291cmNlX2lkLCB1OCBmdW5jdGlvbl9tYXNrLCB1NjQgdHlwZSwKLSAgICBpbnQg Zmx1c2hfbm9uX3ByZXNlbnRfZW50cnkpCitzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBmbHVzaF9j b250ZXh0X3JlZyh2b2lkICpfaW9tbXUsIHUxNiBkaWQsIHUxNiBzb3VyY2VfaWQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1OCBmdW5jdGlvbl9tYXNrLCB1NjQg dHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xfdCBm bHVzaF9ub25fcHJlc2VudF9lbnRyeSkKIHsKICAgICBzdHJ1Y3QgaW9tbXUgKmlvbW11ID0gKHN0 cnVjdCBpb21tdSAqKSBfaW9tbXU7CiAgICAgdTY0IHZhbCA9IDA7CkBAIC0zODksNyArMzg4LDcg QEAgc3RhdGljIGludCBmbHVzaF9jb250ZXh0X3JlZygKIH0KIAogc3RhdGljIGludCBfX211c3Rf Y2hlY2sgaW9tbXVfZmx1c2hfY29udGV4dF9nbG9iYWwoc3RydWN0IGlvbW11ICppb21tdSwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBmbHVz aF9ub25fcHJlc2VudF9lbnRyeSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJvb2xfdCBmbHVzaF9ub25fcHJlc2VudF9lbnRyeSkKIHsKICAgICBz dHJ1Y3QgaW9tbXVfZmx1c2ggKmZsdXNoID0gaW9tbXVfZ2V0X2ZsdXNoKGlvbW11KTsKICAgICBy ZXR1cm4gZmx1c2gtPmNvbnRleHQoaW9tbXUsIDAsIDAsIDAsIERNQV9DQ01EX0dMT0JBTF9JTlZM LApAQCAtMzk5LDcgKzM5OCw3IEBAIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGlvbW11X2ZsdXNo X2NvbnRleHRfZ2xvYmFsKHN0cnVjdCBpb21tdSAqaW9tbXUsCiBzdGF0aWMgaW50IF9fbXVzdF9j aGVjayBpb21tdV9mbHVzaF9jb250ZXh0X2RldmljZShzdHJ1Y3QgaW9tbXUgKmlvbW11LAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTE2IGRpZCwg dTE2IHNvdXJjZV9pZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHU4IGZ1bmN0aW9uX21hc2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpbnQgZmx1c2hfbm9uX3ByZXNlbnRfZW50cnkpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sX3QgZmx1 c2hfbm9uX3ByZXNlbnRfZW50cnkpCiB7CiAgICAgc3RydWN0IGlvbW11X2ZsdXNoICpmbHVzaCA9 IGlvbW11X2dldF9mbHVzaChpb21tdSk7CiAgICAgcmV0dXJuIGZsdXNoLT5jb250ZXh0KGlvbW11 LCBkaWQsIHNvdXJjZV9pZCwgZnVuY3Rpb25fbWFzaywKQEAgLTQwOCw5ICs0MDcsMTAgQEAgc3Rh dGljIGludCBfX211c3RfY2hlY2sgaW9tbXVfZmx1c2hfY29udGV4dF9kZXZpY2Uoc3RydWN0IGlv bW11ICppb21tdSwKIH0KIAogLyogcmV0dXJuIHZhbHVlIGRldGVybWluZSBpZiB3ZSBuZWVkIGEg d3JpdGUgYnVmZmVyIGZsdXNoICovCi1zdGF0aWMgaW50IGZsdXNoX2lvdGxiX3JlZyh2b2lkICpf aW9tbXUsIHUxNiBkaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB1NjQgYWRkciwgdW5z aWduZWQgaW50IHNpemVfb3JkZXIsIHU2NCB0eXBlLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW50IGZsdXNoX25vbl9wcmVzZW50X2VudHJ5LCBpbnQgZmx1c2hfZGV2X2lvdGxiKQorc3Rh dGljIGludCBfX211c3RfY2hlY2sgZmx1c2hfaW90bGJfcmVnKHZvaWQgKl9pb21tdSwgdTE2IGRp ZCwgdTY0IGFkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z aWduZWQgaW50IHNpemVfb3JkZXIsIHU2NCB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJvb2xfdCBmbHVzaF9ub25fcHJlc2VudF9lbnRyeSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sX3QgZmx1c2hfZGV2X2lvdGxiKQog ewogICAgIHN0cnVjdCBpb21tdSAqaW9tbXUgPSAoc3RydWN0IGlvbW11ICopIF9pb21tdTsKICAg ICBpbnQgdGxiX29mZnNldCA9IGVjYXBfaW90bGJfb2Zmc2V0KGlvbW11LT5lY2FwKTsKQEAgLTQ3 NSw4ICs0NzUsOCBAQCBzdGF0aWMgaW50IGZsdXNoX2lvdGxiX3JlZyh2b2lkICpfaW9tbXUsIHUx NiBkaWQsCiB9CiAKIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGlvbW11X2ZsdXNoX2lvdGxiX2ds b2JhbChzdHJ1Y3QgaW9tbXUgKmlvbW11LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGludCBmbHVzaF9ub25fcHJlc2VudF9lbnRyeSwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZmx1c2hfZGV2X2lv dGxiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJv b2xfdCBmbHVzaF9ub25fcHJlc2VudF9lbnRyeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBib29sX3QgZmx1c2hfZGV2X2lvdGxiKQogewogICAgIHN0 cnVjdCBpb21tdV9mbHVzaCAqZmx1c2ggPSBpb21tdV9nZXRfZmx1c2goaW9tbXUpOwogICAgIGlu dCBzdGF0dXM7CkBAIC00OTQsOCArNDk0LDggQEAgc3RhdGljIGludCBfX211c3RfY2hlY2sgaW9t bXVfZmx1c2hfaW90bGJfZ2xvYmFsKHN0cnVjdCBpb21tdSAqaW9tbXUsCiB9CiAKIHN0YXRpYyBp bnQgX19tdXN0X2NoZWNrIGlvbW11X2ZsdXNoX2lvdGxiX2RzaShzdHJ1Y3QgaW9tbXUgKmlvbW11 LCB1MTYgZGlkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGludCBmbHVzaF9ub25fcHJlc2VudF9lbnRyeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpbnQgZmx1c2hfZGV2X2lvdGxiKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xfdCBmbHVzaF9ub25fcHJlc2VudF9l bnRyeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29s X3QgZmx1c2hfZGV2X2lvdGxiKQogewogICAgIHN0cnVjdCBpb21tdV9mbHVzaCAqZmx1c2ggPSBp b21tdV9nZXRfZmx1c2goaW9tbXUpOwogICAgIGludCBzdGF0dXM7CkBAIC01MTQsOCArNTE0LDgg QEAgc3RhdGljIGludCBfX211c3RfY2hlY2sgaW9tbXVfZmx1c2hfaW90bGJfZHNpKHN0cnVjdCBp b21tdSAqaW9tbXUsIHUxNiBkaWQsCiAKIHN0YXRpYyBpbnQgX19tdXN0X2NoZWNrIGlvbW11X2Zs dXNoX2lvdGxiX3BzaShzdHJ1Y3QgaW9tbXUgKmlvbW11LCB1MTYgZGlkLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHU2NCBhZGRyLCB1bnNpZ25lZCBpbnQg b3JkZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50 IGZsdXNoX25vbl9wcmVzZW50X2VudHJ5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGludCBmbHVzaF9kZXZfaW90bGIpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbF90IGZsdXNoX25vbl9wcmVzZW50X2VudHJ5 LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xfdCBm bHVzaF9kZXZfaW90bGIpCiB7CiAgICAgc3RydWN0IGlvbW11X2ZsdXNoICpmbHVzaCA9IGlvbW11 X2dldF9mbHVzaChpb21tdSk7CiAgICAgaW50IHN0YXR1czsKQEAgLTU3MCw3ICs1NzAsNyBAQCBz dGF0aWMgaW50IF9fbXVzdF9jaGVjayBpb21tdV9mbHVzaF9hbGwodm9pZCkKICAgICAgICAgcmMg PSBpb21tdV9mbHVzaF9jb250ZXh0X2dsb2JhbChpb21tdSwgMCk7CiAgICAgICAgIGlmICggcmMg PD0gMCApCiAgICAgICAgIHsKLSAgICAgICAgICAgIGludCBmbHVzaF9kZXZfaW90bGIgPSBmaW5k X2F0c19kZXZfZHJoZChpb21tdSkgPyAxIDogMDsKKyAgICAgICAgICAgIGJvb2xfdCBmbHVzaF9k ZXZfaW90bGIgPSAhIWZpbmRfYXRzX2Rldl9kcmhkKGlvbW11KTsKICAgICAgICAgICAgIGludCBy ZXQgPSBpb21tdV9mbHVzaF9pb3RsYl9nbG9iYWwoaW9tbXUsIDAsIGZsdXNoX2Rldl9pb3RsYik7 CiAKICAgICAgICAgICAgIEFTU0VSVChyZXQgPD0gMCk7CkBAIC01OTUsNyArNTk1LDcgQEAgc3Rh dGljIGludCBfX211c3RfY2hlY2sgaW9tbXVfZmx1c2hfaW90bGIoc3RydWN0IGRvbWFpbiAqZCwK ICAgICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkKTsKICAgICBzdHJ1Y3Qg YWNwaV9kcmhkX3VuaXQgKmRyaGQ7CiAgICAgc3RydWN0IGlvbW11ICppb21tdTsKLSAgICBpbnQg Zmx1c2hfZGV2X2lvdGxiOworICAgIGJvb2xfdCBmbHVzaF9kZXZfaW90bGI7CiAgICAgaW50IGlv bW11X2RvbWlkOwogICAgIGludCByYyA9IDA7CiAKQEAgLTYxMCw3ICs2MTAsNyBAQCBzdGF0aWMg aW50IF9fbXVzdF9jaGVjayBpb21tdV9mbHVzaF9pb3RsYihzdHJ1Y3QgZG9tYWluICpkLAogICAg ICAgICBpZiAoICF0ZXN0X2JpdChpb21tdS0+aW5kZXgsICZoZC0+YXJjaC5pb21tdV9iaXRtYXAp ICkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGZsdXNoX2Rldl9pb3RsYiA9IGZp bmRfYXRzX2Rldl9kcmhkKGlvbW11KSA/IDEgOiAwOworICAgICAgICBmbHVzaF9kZXZfaW90bGIg PSAhIWZpbmRfYXRzX2Rldl9kcmhkKGlvbW11KTsKICAgICAgICAgaW9tbXVfZG9taWQ9IGRvbWFp bl9pb21tdV9kb21pZChkLCBpb21tdSk7CiAgICAgICAgIGlmICggaW9tbXVfZG9taWQgPT0gLTEg KQogICAgICAgICAgICAgY29udGludWU7CkBAIC0xNDUzLDcgKzE0NTMsNyBAQCBpbnQgZG9tYWlu X2NvbnRleHRfbWFwcGluZ19vbmUoCiAgICAgICovCiAgICAgaWYgKCByYyA8PSAwICkKICAgICB7 Ci0gICAgICAgIGludCBmbHVzaF9kZXZfaW90bGIgPSBmaW5kX2F0c19kZXZfZHJoZChpb21tdSkg PyAxIDogMDsKKyAgICAgICAgYm9vbF90IGZsdXNoX2Rldl9pb3RsYiA9ICEhZmluZF9hdHNfZGV2 X2RyaGQoaW9tbXUpOwogICAgICAgICBpbnQgcmV0ID0gaW9tbXVfZmx1c2hfaW90bGJfZHNpKGlv bW11LCAwLCAxLCBmbHVzaF9kZXZfaW90bGIpOwogCiAgICAgICAgIEFTU0VSVChyZXQgPD0gMCk7 CkBAIC0xNjE0LDcgKzE2MTQsNyBAQCBpbnQgZG9tYWluX2NvbnRleHRfdW5tYXBfb25lKAogICAg ICAqLwogICAgIGlmICggcmMgPD0gMCApCiAgICAgewotICAgICAgICBpbnQgZmx1c2hfZGV2X2lv dGxiID0gZmluZF9hdHNfZGV2X2RyaGQoaW9tbXUpID8gMSA6IDA7CisgICAgICAgIGJvb2xfdCBm bHVzaF9kZXZfaW90bGIgPSAhIWZpbmRfYXRzX2Rldl9kcmhkKGlvbW11KTsKICAgICAgICAgaW50 IHJldCA9IGlvbW11X2ZsdXNoX2lvdGxiX2RzaShpb21tdSwgaW9tbXVfZG9taWQsIDAsIGZsdXNo X2Rldl9pb3RsYik7CiAKICAgICAgICAgQVNTRVJUKHJldCA8PSAwKTsKQEAgLTE4NDUsNyArMTg0 NSw3IEBAIGludCBpb21tdV9wdGVfZmx1c2goc3RydWN0IGRvbWFpbiAqZCwgdTY0IGdmbiwgdTY0 ICpwdGUsCiAgICAgc3RydWN0IGFjcGlfZHJoZF91bml0ICpkcmhkOwogICAgIHN0cnVjdCBpb21t dSAqaW9tbXUgPSBOVUxMOwogICAgIHN0cnVjdCBkb21haW5faW9tbXUgKmhkID0gZG9tX2lvbW11 KGQpOwotICAgIGludCBmbHVzaF9kZXZfaW90bGI7CisgICAgYm9vbF90IGZsdXNoX2Rldl9pb3Rs YjsKICAgICBpbnQgaW9tbXVfZG9taWQ7CiAgICAgaW50IHJjID0gMDsKIApAQCAtMTg1Nyw3ICsx ODU3LDcgQEAgaW50IGlvbW11X3B0ZV9mbHVzaChzdHJ1Y3QgZG9tYWluICpkLCB1NjQgZ2ZuLCB1 NjQgKnB0ZSwKICAgICAgICAgaWYgKCAhdGVzdF9iaXQoaW9tbXUtPmluZGV4LCAmaGQtPmFyY2gu aW9tbXVfYml0bWFwKSApCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBmbHVzaF9k ZXZfaW90bGIgPSBmaW5kX2F0c19kZXZfZHJoZChpb21tdSkgPyAxIDogMDsKKyAgICAgICAgZmx1 c2hfZGV2X2lvdGxiID0gISFmaW5kX2F0c19kZXZfZHJoZChpb21tdSk7CiAgICAgICAgIGlvbW11 X2RvbWlkPSBkb21haW5faW9tbXVfZG9taWQoZCwgaW9tbXUpOwogICAgICAgICBpZiAoIGlvbW11 X2RvbWlkID09IC0xICkKICAgICAgICAgICAgIGNvbnRpbnVlOwpkaWZmIC0tZ2l0IGEveGVuL2Ry aXZlcnMvcGFzc3Rocm91Z2gvdnRkL2lvbW11LmggYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92 dGQvaW9tbXUuaAppbmRleCBjNTVlZTA4Li5lNmNmNzM4IDEwMDY0NAotLS0gYS94ZW4vZHJpdmVy cy9wYXNzdGhyb3VnaC92dGQvaW9tbXUuaAorKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC92 dGQvaW9tbXUuaApAQCAtNTE0LDEwICs1MTQsMTMgQEAgc3RydWN0IGlyX2N0cmwgewogfTsKIAog c3RydWN0IGlvbW11X2ZsdXNoIHsKLSAgICBpbnQgKCpjb250ZXh0KSh2b2lkICppb21tdSwgdTE2 IGRpZCwgdTE2IHNvdXJjZV9pZCwKLSAgICAgICAgICAgICAgICAgICB1OCBmdW5jdGlvbl9tYXNr LCB1NjQgdHlwZSwgaW50IG5vbl9wcmVzZW50X2VudHJ5X2ZsdXNoKTsKLSAgICBpbnQgKCppb3Rs Yikodm9pZCAqaW9tbXUsIHUxNiBkaWQsIHU2NCBhZGRyLCB1bnNpZ25lZCBpbnQgc2l6ZV9vcmRl ciwKLSAgICAgICAgICAgICAgICAgdTY0IHR5cGUsIGludCBmbHVzaF9ub25fcHJlc2VudF9lbnRy eSwgaW50IGZsdXNoX2Rldl9pb3RsYik7CisgICAgaW50IF9fbXVzdF9jaGVjayAoKmNvbnRleHQp KHZvaWQgKmlvbW11LCB1MTYgZGlkLCB1MTYgc291cmNlX2lkLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1OCBmdW5jdGlvbl9tYXNrLCB1NjQgdHlwZSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYm9vbF90IG5vbl9wcmVzZW50X2VudHJ5X2ZsdXNoKTsKKyAgICBp bnQgX19tdXN0X2NoZWNrICgqaW90bGIpKHZvaWQgKmlvbW11LCB1MTYgZGlkLCB1NjQgYWRkciwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBzaXplX29yZGVyLCB1 NjQgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xfdCBmbHVzaF9ub25f cHJlc2VudF9lbnRyeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2xfdCBmbHVz aF9kZXZfaW90bGIpOwogfTsKIAogc3RydWN0IGludGVsX2lvbW11IHsKZGlmZiAtLWdpdCBhL3hl bi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Z0ZC9xaW52YWwuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJv dWdoL3Z0ZC9xaW52YWwuYwppbmRleCBiODFiMGJkLi5hYTc4NDFhIDEwMDY0NAotLS0gYS94ZW4v ZHJpdmVycy9wYXNzdGhyb3VnaC92dGQvcWludmFsLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Ro cm91Z2gvdnRkL3FpbnZhbC5jCkBAIC0yNzQsOSArMjc0LDkgQEAgaW50IGlvbW11X2ZsdXNoX2ll Y19pbmRleChzdHJ1Y3QgaW9tbXUgKmlvbW11LCB1OCBpbSwgdTE2IGlpZHgpCiAgICByZXR1cm4g X19pb21tdV9mbHVzaF9pZWMoaW9tbXUsIElFQ19JTkRFWF9JTlZMLCBpbSwgaWlkeCk7CiB9CiAK LXN0YXRpYyBpbnQgZmx1c2hfY29udGV4dF9xaSgKLSAgICB2b2lkICpfaW9tbXUsIHUxNiBkaWQs IHUxNiBzaWQsIHU4IGZtLCB1NjQgdHlwZSwKLSAgICBpbnQgZmx1c2hfbm9uX3ByZXNlbnRfZW50 cnkpCitzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBmbHVzaF9jb250ZXh0X3FpKHZvaWQgKl9pb21t dSwgdTE2IGRpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdTE2 IHNpZCwgdTggZm0sIHU2NCB0eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBib29sX3QgZmx1c2hfbm9uX3ByZXNlbnRfZW50cnkpCiB7CiAgICAgaW50IHJldCA9 IDA7CiAgICAgc3RydWN0IGlvbW11ICppb21tdSA9IChzdHJ1Y3QgaW9tbXUgKilfaW9tbXU7CkBA IC0zMDUsMTAgKzMwNSwxMCBAQCBzdGF0aWMgaW50IGZsdXNoX2NvbnRleHRfcWkoCiAgICAgcmV0 dXJuIHJldDsKIH0KIAotc3RhdGljIGludCBmbHVzaF9pb3RsYl9xaSgKLSAgICB2b2lkICpfaW9t bXUsIHUxNiBkaWQsCi0gICAgdTY0IGFkZHIsIHVuc2lnbmVkIGludCBzaXplX29yZGVyLCB1NjQg dHlwZSwKLSAgICBpbnQgZmx1c2hfbm9uX3ByZXNlbnRfZW50cnksIGludCBmbHVzaF9kZXZfaW90 bGIpCitzdGF0aWMgaW50IF9fbXVzdF9jaGVjayBmbHVzaF9pb3RsYl9xaSh2b2lkICpfaW9tbXUs IHUxNiBkaWQsIHU2NCBhZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdW5zaWduZWQgaW50IHNpemVfb3JkZXIsIHU2NCB0eXBlLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYm9vbF90IGZsdXNoX25vbl9wcmVzZW50X2VudHJ5LAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbF90IGZsdXNoX2Rldl9pb3Rs YikKIHsKICAgICB1OCBkciA9IDAsIGR3ID0gMDsKICAgICBpbnQgcmV0ID0gMDsKLS0gCjEuOS4x CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRl dmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVu Lm9yZy94ZW4tZGV2ZWwK