From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH] x86/traps: Drop use_error_code parameter from do_{, guest_}trap() Date: Mon, 8 Aug 2016 10:51:03 +0100 Message-ID: <1470649863-23605-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Jan Beulich List-Id: xen-devel@lists.xenproject.org V2hldGhlciBvciBub3QgYW4gZXJyb3IgY29kZSBpcyBuZWVkZWQgY2FuIGJlIGRldGVybWludGVk IGVudGlyZWx5IGZyb20gdGhlCnRyYXBuciBwYXJhbXRlciwgYXMgZXJyb3IgY29kZXMgYXJlIGFy Y2hpdGVjdHVyYWxseSBzcGVjaWZpZWQuCgpJbnRyb2R1Y2UgVFJBUF9IQVZFX0VDIGFzIGEgYml0 bWFwIG9mIHJlc2VydmVkIHZlY3RvcnMgd2hpY2ggaGF2ZSBlcnJvciBjb2RlcywKYW5kIGRyb3Ag dGhlIHVzZV9lcnJvcl9jb2RlIGZyb20gYWxsIGNhbGxzaXRlcy4KCkFzIGEgcmVzdWx0LCB0aGUg RE9fRVJST1J7LF9OT0NPREV9KCkgbWFjcm9zIGJlY29tZSBlbnRpcmVseSBzdXBlcmZsb3VvdXMg YW5kCmNhbiBiZSBkcm9wcGVkLiAgVXBkYXRlIHRoZSBleGNlcHRpb25fdGFibGUgdG8gcG9pbnQg c3RyYWlnaHQgYXQgZG9fdHJhcCgpLgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5k cmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCkNDOiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3Vz ZS5jb20+CgpCbG9hdC1vLW1ldGVyIHNob3dzIGEgbW9kZXN0IG5ldCBjb2RlIGRlY3JlYXNlIG9m IDI2NCBieXRlcy4KLS0tCiB4ZW4vYXJjaC94ODYvdHJhcHMuYyAgICAgICAgICAgIHwgOTEgKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni94ODZf NjQvZW50cnkuUyAgICAgfCAxOCArKysrLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNz b3IuaCB8ICA2ICsrKwogMyBmaWxlcyBjaGFuZ2VkLCA1MiBpbnNlcnRpb25zKCspLCA2MyBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvdHJhcHMuYyBiL3hlbi9hcmNoL3g4 Ni90cmFwcy5jCmluZGV4IGIwNDI5NzYuLmMyMjhiNDUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4 Ni90cmFwcy5jCisrKyBiL3hlbi9hcmNoL3g4Ni90cmFwcy5jCkBAIC02MjUsMTIgKzYyNSwxNyBA QCB2b2lkIGZhdGFsX3RyYXAoY29uc3Qgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIGJvb2xf dCBzaG93X3JlbW90ZSkKICAgICAgICAgICAocmVncy0+ZWZsYWdzICYgWDg2X0VGTEFHU19JRikg PyAiIiA6ICIsIElOIElOVEVSUlVQVCBDT05URVhUIik7CiB9CiAKLXN0YXRpYyB2b2lkIGRvX2d1 ZXN0X3RyYXAoCi0gICAgaW50IHRyYXBuciwgY29uc3Qgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJl Z3MsIGludCB1c2VfZXJyb3JfY29kZSkKK3N0YXRpYyB2b2lkIGRvX2d1ZXN0X3RyYXAodW5zaWdu ZWQgaW50IHRyYXBuciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGNw dV91c2VyX3JlZ3MgKnJlZ3MpCiB7CiAgICAgc3RydWN0IHZjcHUgKnYgPSBjdXJyZW50OwogICAg IHN0cnVjdCB0cmFwX2JvdW5jZSAqdGI7CiAgICAgY29uc3Qgc3RydWN0IHRyYXBfaW5mbyAqdGk7 CisgICAgYm9vbF90IHVzZV9lcnJvcl9jb2RlOworCisgICAgQVNTRVJUKHRyYXBuciA8IDMyKTsK KworICAgIHVzZV9lcnJvcl9jb2RlID0gKFRSQVBfSEFWRV9FQyAmICgxdSA8PCB0cmFwbnIpKTsK IAogICAgIHRyYWNlX3B2X3RyYXAodHJhcG5yLCByZWdzLT5laXAsIHVzZV9lcnJvcl9jb2RlLCBy ZWdzLT5lcnJvcl9jb2RlKTsKIApAQCAtNjY2LDcgKzY3MSw3IEBAIHN0YXRpYyB2b2lkIGluc3Ry dWN0aW9uX2RvbmUoCiAgICAgICAgIGN1cnJlbnQtPmFyY2guZGVidWdyZWdbNl0gfD0gYnBtYXRj aCB8IERSX1NUQVRVU19SRVNFUlZFRF9PTkU7CiAgICAgICAgIGlmICggcmVncy0+ZWZsYWdzICYg WDg2X0VGTEFHU19URiApCiAgICAgICAgICAgICBjdXJyZW50LT5hcmNoLmRlYnVncmVnWzZdIHw9 IERSX1NURVA7Ci0gICAgICAgIGRvX2d1ZXN0X3RyYXAoVFJBUF9kZWJ1ZywgcmVncywgMCk7Cisg ICAgICAgIGRvX2d1ZXN0X3RyYXAoVFJBUF9kZWJ1ZywgcmVncyk7CiAgICAgfQogfQogCkBAIC03 MTQsNyArNzE5LDcgQEAgaW50IHNldF9ndWVzdF9tYWNoaW5lY2hlY2tfdHJhcGJvdW5jZSh2b2lk KQogICAgIHN0cnVjdCB2Y3B1ICp2ID0gY3VycmVudDsKICAgICBzdHJ1Y3QgdHJhcF9ib3VuY2Ug KnRiID0gJnYtPmFyY2gucHZfdmNwdS50cmFwX2JvdW5jZTsKICAKLSAgICBkb19ndWVzdF90cmFw KFRSQVBfbWFjaGluZV9jaGVjaywgZ3Vlc3RfY3B1X3VzZXJfcmVncygpLCAwKTsKKyAgICBkb19n dWVzdF90cmFwKFRSQVBfbWFjaGluZV9jaGVjaywgZ3Vlc3RfY3B1X3VzZXJfcmVncygpKTsKICAg ICB0Yi0+ZmxhZ3MgJj0gflRCRl9FWENFUFRJT047IC8qIG5vdCBuZWVkZWQgZm9yIE1DRSBkZWxp dmVyeSBwYXRoICovCiAgICAgcmV0dXJuICFudWxsX3RyYXBfYm91bmNlKHYsIHRiKTsKIH0KQEAg LTcyNyw3ICs3MzIsNyBAQCBpbnQgc2V0X2d1ZXN0X25taV90cmFwYm91bmNlKHZvaWQpCiB7CiAg ICAgc3RydWN0IHZjcHUgKnYgPSBjdXJyZW50OwogICAgIHN0cnVjdCB0cmFwX2JvdW5jZSAqdGIg PSAmdi0+YXJjaC5wdl92Y3B1LnRyYXBfYm91bmNlOwotICAgIGRvX2d1ZXN0X3RyYXAoVFJBUF9u bWksIGd1ZXN0X2NwdV91c2VyX3JlZ3MoKSwgMCk7CisgICAgZG9fZ3Vlc3RfdHJhcChUUkFQX25t aSwgZ3Vlc3RfY3B1X3VzZXJfcmVncygpKTsKICAgICB0Yi0+ZmxhZ3MgJj0gflRCRl9FWENFUFRJ T047IC8qIG5vdCBuZWVkZWQgZm9yIE5NSSBkZWxpdmVyeSBwYXRoICovCiAgICAgcmV0dXJuICFu dWxsX3RyYXBfYm91bmNlKHYsIHRiKTsKIH0KQEAgLTc0Myw3ICs3NDgsNyBAQCB2b2lkIGRvX3Jl c2VydmVkX3RyYXAoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgcGFuaWMoIkZBVEFM IFJFU0VSVkVEIFRSQVAgJSN4OiAlcyIsIHRyYXBuciwgdHJhcHN0cih0cmFwbnIpKTsKIH0KIAot c3RhdGljIHZvaWQgZG9fdHJhcChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywgaW50IHVzZV9l cnJvcl9jb2RlKQordm9pZCBkb190cmFwKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogewog ICAgIHN0cnVjdCB2Y3B1ICpjdXJyID0gY3VycmVudDsKICAgICB1bnNpZ25lZCBpbnQgdHJhcG5y ID0gcmVncy0+ZW50cnlfdmVjdG9yOwpAQCAtNzU3LDcgKzc2Miw3IEBAIHN0YXRpYyB2b2lkIGRv X3RyYXAoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIGludCB1c2VfZXJyb3JfY29kZSkKIAog ICAgIGlmICggZ3Vlc3RfbW9kZShyZWdzKSApCiAgICAgewotICAgICAgICBkb19ndWVzdF90cmFw KHRyYXBuciwgcmVncywgdXNlX2Vycm9yX2NvZGUpOworICAgICAgICBkb19ndWVzdF90cmFwKHRy YXBuciwgcmVncyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTc4OSwyOCArNzk0LDYg QEAgc3RhdGljIHZvaWQgZG9fdHJhcChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywgaW50IHVz ZV9lcnJvcl9jb2RlKQogICAgICAgICAgIHRyYXBuciwgdHJhcHN0cih0cmFwbnIpLCByZWdzLT5l cnJvcl9jb2RlKTsKIH0KIAotI2RlZmluZSBET19FUlJPUl9OT0NPREUobmFtZSkgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCi12b2lkIGRvXyMjbmFtZShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAq cmVncykgICAgICAgICAgICAgIFwKLXsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAotICAgIGRvX3RyYXAocmVncywgMCk7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCi19Ci0KLSNkZWZpbmUgRE9fRVJST1IobmFtZSkgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotdm9pZCBkb18jI25hbWUoc3RydWN0IGNw dV91c2VyX3JlZ3MgKnJlZ3MpICAgICAgICAgICAgICBcCi17ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICBkb190cmFwKHJlZ3MsIDEp OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotfQotCi1ET19FUlJPUl9OT0NP REUoZGl2aWRlX2Vycm9yKQotRE9fRVJST1JfTk9DT0RFKG92ZXJmbG93KQotRE9fRVJST1JfTk9D T0RFKGJvdW5kcykKLURPX0VSUk9SKCAgICAgICBpbnZhbGlkX1RTUykKLURPX0VSUk9SKCAgICAg ICBzZWdtZW50X25vdF9wcmVzZW50KQotRE9fRVJST1IoICAgICAgIHN0YWNrX3NlZ21lbnQpCi1E T19FUlJPUl9OT0NPREUoY29wcm9jZXNzb3JfZXJyb3IpCi1ET19FUlJPUiggICAgICAgYWxpZ25t ZW50X2NoZWNrKQotRE9fRVJST1JfTk9DT0RFKHNpbWRfY29wcm9jZXNzb3JfZXJyb3IpCi0KIC8q IFJldHVybnMgMCBpZiBub3QgaGFuZGxlZCwgYW5kIG5vbi0wIGZvciBzdWNjZXNzLiAqLwogaW50 IHJkbXNyX2h5cGVydmlzb3JfcmVncyh1aW50MzJfdCBpZHgsIHVpbnQ2NF90ICp2YWwpCiB7CkBA IC0xMzE4LDcgKzEzMDEsNyBAQCB2b2lkIGRvX2ludmFsaWRfb3Aoc3RydWN0IGNwdV91c2VyX3Jl Z3MgKnJlZ3MpCiAgICAgewogICAgICAgICBpZiAoICFlbXVsYXRlX2ludmFsaWRfcmR0c2NwKHJl Z3MpICYmCiAgICAgICAgICAgICAgIWVtdWxhdGVfZm9yY2VkX2ludmFsaWRfb3AocmVncykgKQot ICAgICAgICAgICAgZG9fZ3Vlc3RfdHJhcChUUkFQX2ludmFsaWRfb3AsIHJlZ3MsIDApOworICAg ICAgICAgICAgZG9fZ3Vlc3RfdHJhcChUUkFQX2ludmFsaWRfb3AsIHJlZ3MpOwogICAgICAgICBy ZXR1cm47CiAgICAgfQogCkBAIC0xNDMyLDcgKzE0MTUsNyBAQCB2b2lkIGRvX2ludDMoc3RydWN0 IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgICAgIHJldHVybjsKICAgICB9IAogCi0gICAgZG9f Z3Vlc3RfdHJhcChUUkFQX2ludDMsIHJlZ3MsIDApOworICAgIGRvX2d1ZXN0X3RyYXAoVFJBUF9p bnQzLCByZWdzKTsKIH0KIAogc3RhdGljIHZvaWQgcmVzZXJ2ZWRfYml0X3BhZ2VfZmF1bHQoCkBA IC0yNjA0LDcgKzI1ODcsNyBAQCBzdGF0aWMgaW50IGVtdWxhdGVfcHJpdmlsZWdlZF9vcChzdHJ1 Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAgICAgICAgICAgIGlmICggbG9jayB8fCByZXBfcHJl Zml4IHx8IG9wc2l6ZV9wcmVmaXgKICAgICAgICAgICAgICAgICAgfHwgISh2LT5hcmNoLnB2X3Zj cHUuY3RybHJlZ1s0XSAmIFg4Nl9DUjRfT1NYU0FWRSkgKQogICAgICAgICAgICAgewotICAgICAg ICAgICAgICAgIGRvX2d1ZXN0X3RyYXAoVFJBUF9pbnZhbGlkX29wLCByZWdzLCAwKTsKKyAgICAg ICAgICAgICAgICBkb19ndWVzdF90cmFwKFRSQVBfaW52YWxpZF9vcCwgcmVncyk7CiAgICAgICAg ICAgICAgICAgZ290byBza2lwOwogICAgICAgICAgICAgfQogCkBAIC0zMTM2LDEyICszMTE5LDEy IEBAIHN0YXRpYyB2b2lkIGVtdWxhdGVfZ2F0ZV9vcChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVn cykKICAgICAgICAgICgoKGFyID4+IDEzKSAmIDMpIDwgKHJlZ3MtPmNzICYgMykpIHx8CiAgICAg ICAgICAoKGFyICYgX1NFR01FTlRfVFlQRSkgIT0gMHhjMDApICkKICAgICB7Ci0gICAgICAgIGRv X2d1ZXN0X3RyYXAoVFJBUF9ncF9mYXVsdCwgcmVncywgMSk7CisgICAgICAgIGRvX2d1ZXN0X3Ry YXAoVFJBUF9ncF9mYXVsdCwgcmVncyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgaWYg KCAhKGFyICYgX1NFR01FTlRfUCkgKQogICAgIHsKLSAgICAgICAgZG9fZ3Vlc3RfdHJhcChUUkFQ X25vX3NlZ21lbnQsIHJlZ3MsIDEpOworICAgICAgICBkb19ndWVzdF90cmFwKFRSQVBfbm9fc2Vn bWVudCwgcmVncyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgZHBsID0gKGFyID4+IDEz KSAmIDM7CkBAIC0zMTU2LDcgKzMxMzksNyBAQCBzdGF0aWMgdm9pZCBlbXVsYXRlX2dhdGVfb3Ao c3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgICAgICAhKGFyICYgX1NFR01FTlRfUCkg fHwKICAgICAgICAgICEoYXIgJiBfU0VHTUVOVF9DT0RFKSApCiAgICAgewotICAgICAgICBkb19n dWVzdF90cmFwKFRSQVBfZ3BfZmF1bHQsIHJlZ3MsIDEpOworICAgICAgICBkb19ndWVzdF90cmFw KFRSQVBfZ3BfZmF1bHQsIHJlZ3MpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0zMzEw LDcgKzMyOTMsNyBAQCBzdGF0aWMgdm9pZCBlbXVsYXRlX2dhdGVfb3Aoc3RydWN0IGNwdV91c2Vy X3JlZ3MgKnJlZ3MpCiAgICAgaWYgKCBqdW1wIDwgMCApCiAgICAgewogIGZhaWw6Ci0gICAgICAg IGRvX2d1ZXN0X3RyYXAoVFJBUF9ncF9mYXVsdCwgcmVncywgMSk7CisgICAgICAgIGRvX2d1ZXN0 X3RyYXAoVFJBUF9ncF9mYXVsdCwgcmVncyk7CiAgc2tpcDoKICAgICAgICAgcmV0dXJuOwogICAg IH0KQEAgLTMzMjEsNyArMzMwNCw3IEBAIHN0YXRpYyB2b2lkIGVtdWxhdGVfZ2F0ZV9vcChzdHJ1 Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAgICAgICAgICEoYXIgJiBfU0VHTUVOVF9QKSB8fAog ICAgICAgICAgKChhciAmIF9TRUdNRU5UX0NPREUpICYmICEoYXIgJiBfU0VHTUVOVF9XUikpICkK ICAgICB7Ci0gICAgICAgIGRvX2d1ZXN0X3RyYXAoVFJBUF9ncF9mYXVsdCwgcmVncywgMSk7Cisg ICAgICAgIGRvX2d1ZXN0X3RyYXAoVFJBUF9ncF9mYXVsdCwgcmVncyk7CiAgICAgICAgIHJldHVy bjsKICAgICB9CiAKQEAgLTMzMzIsNyArMzMxNSw3IEBAIHN0YXRpYyB2b2lkIGVtdWxhdGVfZ2F0 ZV9vcChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAgICBBU1NFUlQoKG9wbmRfc2VsICYg fjMpID09IHJlZ3MtPmVycm9yX2NvZGUpOwogICAgIGlmICggZHBsIDwgKG9wbmRfc2VsICYgMykg KQogICAgIHsKLSAgICAgICAgZG9fZ3Vlc3RfdHJhcChUUkFQX2dwX2ZhdWx0LCByZWdzLCAxKTsK KyAgICAgICAgZG9fZ3Vlc3RfdHJhcChUUkFQX2dwX2ZhdWx0LCByZWdzKTsKICAgICAgICAgcmV0 dXJuOwogICAgIH0KIApAQCAtMzM0NCwxOSArMzMyNywxOSBAQCBzdGF0aWMgdm9pZCBlbXVsYXRl X2dhdGVfb3Aoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgICAgICAgKChhciA+PiAx MykgJiAzKSAhPSAocmVncy0+Y3MgJiAzKSkgKQogICAgIHsKICAgICAgICAgcmVncy0+ZXJyb3Jf Y29kZSA9IHNlbDsKLSAgICAgICAgZG9fZ3Vlc3RfdHJhcChUUkFQX2dwX2ZhdWx0LCByZWdzLCAx KTsKKyAgICAgICAgZG9fZ3Vlc3RfdHJhcChUUkFQX2dwX2ZhdWx0LCByZWdzKTsKICAgICAgICAg cmV0dXJuOwogICAgIH0KICAgICBpZiAoICEoYXIgJiBfU0VHTUVOVF9QKSApCiAgICAgewogICAg ICAgICByZWdzLT5lcnJvcl9jb2RlID0gc2VsOwotICAgICAgICBkb19ndWVzdF90cmFwKFRSQVBf bm9fc2VnbWVudCwgcmVncywgMSk7CisgICAgICAgIGRvX2d1ZXN0X3RyYXAoVFJBUF9ub19zZWdt ZW50LCByZWdzKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBpZiAoIG9mZiA+IGxpbWl0 ICkKICAgICB7CiAgICAgICAgIHJlZ3MtPmVycm9yX2NvZGUgPSAwOwotICAgICAgICBkb19ndWVz dF90cmFwKFRSQVBfZ3BfZmF1bHQsIHJlZ3MsIDEpOworICAgICAgICBkb19ndWVzdF90cmFwKFRS QVBfZ3BfZmF1bHQsIHJlZ3MpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0zMzgzLDcg KzMzNjYsNyBAQCBzdGF0aWMgdm9pZCBlbXVsYXRlX2dhdGVfb3Aoc3RydWN0IGNwdV91c2VyX3Jl Z3MgKnJlZ3MpCiAgICAgICAgICAgICAvKiBJbm5lciBzdGFjayBrbm93biBvbmx5IGZvciBrZXJu ZWwgcmluZy4gKi8KICAgICAgICAgICAgIGlmICggKHNlbCAmIDMpICE9IEdVRVNUX0tFUk5FTF9S UEwodi0+ZG9tYWluKSApCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgZG9fZ3Vlc3Rf dHJhcChUUkFQX2dwX2ZhdWx0LCByZWdzLCAxKTsKKyAgICAgICAgICAgICAgICBkb19ndWVzdF90 cmFwKFRSQVBfZ3BfZmF1bHQsIHJlZ3MpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAg ICAgICAgIH0KICAgICAgICAgICAgIGVzcCA9IHYtPmFyY2gucHZfdmNwdS5rZXJuZWxfc3A7CkBA IC0zMzk2LDIwICszMzc5LDIwIEBAIHN0YXRpYyB2b2lkIGVtdWxhdGVfZ2F0ZV9vcChzdHJ1Y3Qg Y3B1X3VzZXJfcmVncyAqcmVncykKICAgICAgICAgICAgICAgICAgIShhciAmIF9TRUdNRU5UX1dS KSApCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgcmVncy0+ZXJyb3JfY29kZSA9IHNz ICYgfjM7Ci0gICAgICAgICAgICAgICAgZG9fZ3Vlc3RfdHJhcChUUkFQX2ludmFsaWRfdHNzLCBy ZWdzLCAxKTsKKyAgICAgICAgICAgICAgICBkb19ndWVzdF90cmFwKFRSQVBfaW52YWxpZF90c3Ms IHJlZ3MpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KICAgICAgICAg ICAgIGlmICggIShhciAmIF9TRUdNRU5UX1ApIHx8CiAgICAgICAgICAgICAgICAgICFjaGVja19z dGFja19saW1pdChhciwgbGltaXQsIGVzcCwgKDQgKyBucGFybSkgKiA0KSApCiAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgcmVncy0+ZXJyb3JfY29kZSA9IHNzICYgfjM7Ci0gICAgICAg ICAgICAgICAgZG9fZ3Vlc3RfdHJhcChUUkFQX3N0YWNrX2Vycm9yLCByZWdzLCAxKTsKKyAgICAg ICAgICAgICAgICBkb19ndWVzdF90cmFwKFRSQVBfc3RhY2tfZXJyb3IsIHJlZ3MpOwogICAgICAg ICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHN0a3AgPSAodW5z aWduZWQgaW50ICopKHVuc2lnbmVkIGxvbmcpKCh1bnNpZ25lZCBpbnQpYmFzZSArIGVzcCk7CiAg ICAgICAgICAgICBpZiAoICFjb21wYXRfYWNjZXNzX29rKHN0a3AgLSA0IC0gbnBhcm0sICg0ICsg bnBhcm0pICogNCkgKQogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGRvX2d1ZXN0X3Ry YXAoVFJBUF9ncF9mYXVsdCwgcmVncywgMSk7CisgICAgICAgICAgICAgICAgZG9fZ3Vlc3RfdHJh cChUUkFQX2dwX2ZhdWx0LCByZWdzKTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg ICAgICB9CiAgICAgICAgICAgICBwdXNoKHJlZ3MtPnNzKTsKQEAgLTM0MjQsMTEgKzM0MDcsMTEg QEAgc3RhdGljIHZvaWQgZW11bGF0ZV9nYXRlX29wKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdz KQogICAgICAgICAgICAgICAgICAgICAgKGFyICYgX1NFR01FTlRfQ09ERSkgfHwKICAgICAgICAg ICAgICAgICAgICAgICEoYXIgJiBfU0VHTUVOVF9XUikgfHwKICAgICAgICAgICAgICAgICAgICAg ICFjaGVja19zdGFja19saW1pdChhciwgbGltaXQsIGVzcCArIG5wYXJtICogNCwgbnBhcm0gKiA0 KSApCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBkb19ndWVzdF90cmFwKFRSQVBfZ3BfZmF1 bHQsIHJlZ3MsIDEpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4gZG9fZ3Vlc3RfdHJhcChU UkFQX2dwX2ZhdWx0LCByZWdzKTsKICAgICAgICAgICAgICAgICB1c3RrcCA9ICh1bnNpZ25lZCBp bnQgKikodW5zaWduZWQgbG9uZykoKHVuc2lnbmVkIGludCliYXNlICsgcmVncy0+X2VzcCArIG5w YXJtICogNCk7CiAgICAgICAgICAgICAgICAgaWYgKCAhY29tcGF0X2FjY2Vzc19vayh1c3RrcCAt IG5wYXJtLCBucGFybSAqIDQpICkKICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAg ICAgIGRvX2d1ZXN0X3RyYXAoVFJBUF9ncF9mYXVsdCwgcmVncywgMSk7CisgICAgICAgICAgICAg ICAgICAgIGRvX2d1ZXN0X3RyYXAoVFJBUF9ncF9mYXVsdCwgcmVncyk7CiAgICAgICAgICAgICAg ICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgZG8KQEAg LTM0NTQsMTkgKzM0MzcsMTkgQEAgc3RhdGljIHZvaWQgZW11bGF0ZV9nYXRlX29wKHN0cnVjdCBj cHVfdXNlcl9yZWdzICpyZWdzKQogICAgICAgICAgICAgaWYgKCAhcmVhZF9kZXNjcmlwdG9yKHNz LCB2LCByZWdzLCAmYmFzZSwgJmxpbWl0LCAmYXIsIDApIHx8CiAgICAgICAgICAgICAgICAgICgo YXIgPj4gMTMpICYgMykgIT0gKHNlbCAmIDMpICkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAg ICAgICBkb19ndWVzdF90cmFwKFRSQVBfZ3BfZmF1bHQsIHJlZ3MsIDEpOworICAgICAgICAgICAg ICAgIGRvX2d1ZXN0X3RyYXAoVFJBUF9ncF9mYXVsdCwgcmVncyk7CiAgICAgICAgICAgICAgICAg cmV0dXJuOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKCAhY2hlY2tfc3RhY2tfbGlt aXQoYXIsIGxpbWl0LCBlc3AsIDIgKiA0KSApCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgcmVncy0+ZXJyb3JfY29kZSA9IDA7Ci0gICAgICAgICAgICAgICAgZG9fZ3Vlc3RfdHJhcChU UkFQX3N0YWNrX2Vycm9yLCByZWdzLCAxKTsKKyAgICAgICAgICAgICAgICBkb19ndWVzdF90cmFw KFRSQVBfc3RhY2tfZXJyb3IsIHJlZ3MpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAg ICAgICAgIH0KICAgICAgICAgICAgIHN0a3AgPSAodW5zaWduZWQgaW50ICopKHVuc2lnbmVkIGxv bmcpKCh1bnNpZ25lZCBpbnQpYmFzZSArIGVzcCk7CiAgICAgICAgICAgICBpZiAoICFjb21wYXRf YWNjZXNzX29rKHN0a3AgLSAyLCAyICogNCkgKQogICAgICAgICAgICAgewotICAgICAgICAgICAg ICAgIGRvX2d1ZXN0X3RyYXAoVFJBUF9ncF9mYXVsdCwgcmVncywgMSk7CisgICAgICAgICAgICAg ICAgZG9fZ3Vlc3RfdHJhcChUUkFQX2dwX2ZhdWx0LCByZWdzKTsKICAgICAgICAgICAgICAgICBy ZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTM1MjcsNyArMzUxMCw3IEBAIHZv aWQgZG9fZ2VuZXJhbF9wcm90ZWN0aW9uKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAg ICAgICBpZiAoIHBlcm1pdF9zb2Z0aW50KFRJX0dFVF9EUEwodGkpLCB2LCByZWdzKSApCiAgICAg ICAgIHsKICAgICAgICAgICAgIHJlZ3MtPmVpcCArPSAyOwotICAgICAgICAgICAgZG9fZ3Vlc3Rf dHJhcCh2ZWN0b3IsIHJlZ3MsIDApOworICAgICAgICAgICAgZG9fZ3Vlc3RfdHJhcCh2ZWN0b3Is IHJlZ3MpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgfQpAQCAtMzU0Niw3 ICszNTI5LDcgQEAgdm9pZCBkb19nZW5lcmFsX3Byb3RlY3Rpb24oc3RydWN0IGNwdV91c2VyX3Jl Z3MgKnJlZ3MpCiAgICAgfQogCiAgICAgLyogUGFzcyBvbiBHUEYgYXMgaXMuICovCi0gICAgZG9f Z3Vlc3RfdHJhcChUUkFQX2dwX2ZhdWx0LCByZWdzLCAxKTsKKyAgICBkb19ndWVzdF90cmFwKFRS QVBfZ3BfZmF1bHQsIHJlZ3MpOwogICAgIHJldHVybjsKIAogIGdwX2luX2tlcm5lbDoKQEAgLTM3 NjIsNyArMzc0NSw3IEBAIHZvaWQgZG9fZGV2aWNlX25vdF9hdmFpbGFibGUoc3RydWN0IGNwdV91 c2VyX3JlZ3MgKnJlZ3MpCiAKICAgICBpZiAoIGN1cnItPmFyY2gucHZfdmNwdS5jdHJscmVnWzBd ICYgWDg2X0NSMF9UUyApCiAgICAgewotICAgICAgICBkb19ndWVzdF90cmFwKFRSQVBfbm9fZGV2 aWNlLCByZWdzLCAwKTsKKyAgICAgICAgZG9fZ3Vlc3RfdHJhcChUUkFQX25vX2RldmljZSwgcmVn cyk7CiAgICAgICAgIGN1cnItPmFyY2gucHZfdmNwdS5jdHJscmVnWzBdICY9IH5YODZfQ1IwX1RT OwogICAgIH0KICAgICBlbHNlCkBAIC0zODM1LDcgKzM4MTgsNyBAQCB2b2lkIGRvX2RlYnVnKHN0 cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgIHYtPmFyY2guZGVidWdyZWdbNl0gPSByZWFk X2RlYnVncmVnKDYpOwogCiAgICAgbGVyX2VuYWJsZSgpOwotICAgIGRvX2d1ZXN0X3RyYXAoVFJB UF9kZWJ1ZywgcmVncywgMCk7CisgICAgZG9fZ3Vlc3RfdHJhcChUUkFQX2RlYnVnLCByZWdzKTsK ICAgICByZXR1cm47CiAKICBvdXQ6CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveDg2XzY0L2Vu dHJ5LlMgYi94ZW4vYXJjaC94ODYveDg2XzY0L2VudHJ5LlMKaW5kZXggZjcxNzhjZC4uNjRkMjYw YSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3g4Nl82NC9lbnRyeS5TCisrKyBiL3hlbi9hcmNo L3g4Ni94ODZfNjQvZW50cnkuUwpAQCAtNzE1LDI2ICs3MTUsMjYgQEAgR0xPQkFMKHRyYXBfbm9w KQogLnNlY3Rpb24gLnJvZGF0YSwgImEiLCBAcHJvZ2JpdHMKIAogRU5UUlkoZXhjZXB0aW9uX3Rh YmxlKQotICAgICAgICAucXVhZCBkb19kaXZpZGVfZXJyb3IKKyAgICAgICAgLnF1YWQgZG9fdHJh cAogICAgICAgICAucXVhZCBkb19kZWJ1ZwogICAgICAgICAucXVhZCBkb19ubWkKICAgICAgICAg LnF1YWQgZG9faW50MwotICAgICAgICAucXVhZCBkb19vdmVyZmxvdwotICAgICAgICAucXVhZCBk b19ib3VuZHMKKyAgICAgICAgLnF1YWQgZG9fdHJhcAorICAgICAgICAucXVhZCBkb190cmFwCiAg ICAgICAgIC5xdWFkIGRvX2ludmFsaWRfb3AKICAgICAgICAgLnF1YWQgZG9fZGV2aWNlX25vdF9h dmFpbGFibGUKICAgICAgICAgLnF1YWQgZG9fcmVzZXJ2ZWRfdHJhcCAvKiBkb3VibGVfZmF1bHQg LSBoYXMgaXRzIG93biBlbnRyeS4gKi8KICAgICAgICAgLnF1YWQgZG9fcmVzZXJ2ZWRfdHJhcCAv KiBjb3Byb2Nfc2VnX292ZXJydW4gLSBJbnRlbCAzODcgb25seS4gKi8KLSAgICAgICAgLnF1YWQg ZG9faW52YWxpZF9UU1MKLSAgICAgICAgLnF1YWQgZG9fc2VnbWVudF9ub3RfcHJlc2VudAotICAg ICAgICAucXVhZCBkb19zdGFja19zZWdtZW50CisgICAgICAgIC5xdWFkIGRvX3RyYXAKKyAgICAg ICAgLnF1YWQgZG9fdHJhcAorICAgICAgICAucXVhZCBkb190cmFwCiAgICAgICAgIC5xdWFkIGRv X2dlbmVyYWxfcHJvdGVjdGlvbgogICAgICAgICAucXVhZCBkb19wYWdlX2ZhdWx0CiAgICAgICAg IC5xdWFkIGRvX3Jlc2VydmVkX3RyYXAgLyogRGVmYXVsdCBQSUMgc3B1cmlvdXMgaXJxIC0gYXJj aGl0ZWN0dXJhbGx5IHJlc2VydmVkLiAqLwotICAgICAgICAucXVhZCBkb19jb3Byb2Nlc3Nvcl9l cnJvcgotICAgICAgICAucXVhZCBkb19hbGlnbm1lbnRfY2hlY2sKKyAgICAgICAgLnF1YWQgZG9f dHJhcAorICAgICAgICAucXVhZCBkb190cmFwCiAgICAgICAgIC5xdWFkIGRvX21hY2hpbmVfY2hl Y2sKLSAgICAgICAgLnF1YWQgZG9fc2ltZF9jb3Byb2Nlc3Nvcl9lcnJvcgorICAgICAgICAucXVh ZCBkb190cmFwCiAgICAgICAgIC5yZXB0IFRSQVBfbnIgLSAoKC4gLSBleGNlcHRpb25fdGFibGUp IC8gOCkKICAgICAgICAgLnF1YWQgZG9fcmVzZXJ2ZWRfdHJhcCAvKiBBcmNoaXRlY3R1cmFsbHkg cmVzZXJ2ZWQgZXhjZXB0aW9ucy4gKi8KICAgICAgICAgLmVuZHIKZGlmZiAtLWdpdCBhL3hlbi9p bmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nv ci5oCmluZGV4IGM2OWQ3YTQuLjQ4N2FlMjggMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14 ODYvcHJvY2Vzc29yLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaApAQCAt MTE3LDYgKzExNywxMiBAQAogI2RlZmluZSBUUkFQX3ZpcnR1YWxpc2F0aW9uICAgMjAKICNkZWZp bmUgVFJBUF9uciAgICAgICAgICAgICAgIDMyCiAKKyNkZWZpbmUgVFJBUF9IQVZFX0VDICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAoKDF1 IDw8IFRSQVBfZG91YmxlX2ZhdWx0KSB8ICgxdSA8PCBUUkFQX2ludmFsaWRfdHNzKSB8ICAgICAg ICAgICAgIFwKKyAgICAgKDF1IDw8IFRSQVBfbm9fc2VnbWVudCkgfCAoMXUgPDwgVFJBUF9zdGFj a19lcnJvcikgfCAgICAgICAgICAgICAgIFwKKyAgICAgKDF1IDw8IFRSQVBfZ3BfZmF1bHQpIHwg KDF1IDw8IFRSQVBfcGFnZV9mYXVsdCkgfCAgICAgICAgICAgICAgICAgIFwKKyAgICAgKDF1IDw8 IFRSQVBfYWxpZ25tZW50X2NoZWNrKSkKKwogLyogU2V0IGZvciBlbnRyeSB2aWEgU1lTQ0FMTC4g SW5mb3JtcyByZXR1cm4gY29kZSB0byB1c2UgU1lTUkVUUSBub3QgSVJFVFEuICovCiAvKiBOQi4g U2FtZSBhcyBWR0NGX2luX3N5c2NhbGwuIE5vIGJpdHMgaW4gY29tbW9uIHdpdGggYW55IG90aGVy IFRSQVBfIGRlZm4uICovCiAjZGVmaW5lIFRSQVBfc3lzY2FsbCAgICAgICAgIDI1NgotLSAKMi4x LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK