From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v2 3/4] xen/x86: Replace remaining mandatory barriers with SMP barriers Date: Wed, 16 Aug 2017 12:22:09 +0100 Message-ID: <1502882530-31700-4-git-send-email-andrew.cooper3@citrix.com> References: <1502882530-31700-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: In-Reply-To: <1502882530-31700-1-git-send-email-andrew.cooper3@citrix.com> 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 VGhlcmUgaXMgbm8gZnVuY3Rpb25hbCBjaGFuZ2UuICBYZW4gY3VycmVudGx5IGFzc2lnbmVzIHNt cF8qIG1lYW5pbmcgdG8KdGhlIG5vbi1zbXBfKiBiYXJyaWVycy4KCkFsbCBvZiB0aGVzZSB1c2Vz IGFyZSBqdXN0IHRvIGRlYWwgd2l0aCBzaGFyZWQgbWVtb3J5IGJldHdlZW4gbXVsdGlwbGUKcHJv Y2Vzc29ycywgc28gdXNlIHRoZSBzbXBfKigpIHdoaWNoIGFyZSB0aGUgY29ycmVjdCBiYXJyaWVy cyBmb3IgdGhlIHB1cnBvc2UuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcu Y29vcGVyM0BjaXRyaXguY29tPgotLS0KQ0M6IEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNlLmNv bT4KCnYyOgogKiBEcm9wIG1vcmUgdW5uZWNlc3NhcnkgYmFycmllcnMsIHJhdGhlciB0aGFuIGNv bnZlcnRpbmcgdGhlbSB0byBzbXAKLS0tCiB4ZW4vYXJjaC94ODYvYWNwaS9jcHVfaWRsZS5jICAg ICAgfCAgOCArKysrLS0tLQogeGVuL2FyY2gveDg2L2NwdS9tY2hlY2svYmFycmllci5jIHwgMTAg KysrKystLS0tLQogeGVuL2FyY2gveDg2L2NwdS9tY2hlY2svbWN0ZWxlbS5jIHwgIDQgKystLQog eGVuL2FyY2gveDg2L2dlbmFwaWMveDJhcGljLmMgICAgIHwgIDYgKysrLS0tCiB4ZW4vYXJjaC94 ODYvaHBldC5jICAgICAgICAgICAgICAgfCAgMiArLQogeGVuL2FyY2gveDg2L2h2bS9pb3JlcS5j ICAgICAgICAgIHwgIDQgKystLQogeGVuL2FyY2gveDg2L2lycS5jICAgICAgICAgICAgICAgIHwg IDQgKystLQogeGVuL2FyY2gveDg2L3NtcGJvb3QuYyAgICAgICAgICAgIHwgMTIgKysrKysrLS0t LS0tCiB4ZW4vYXJjaC94ODYvdGltZS5jICAgICAgICAgICAgICAgfCAgOCArKysrLS0tLQogeGVu L2luY2x1ZGUvYXNtLXg4Ni9kZXNjLmggICAgICAgIHwgIDggKysrKy0tLS0KIHhlbi9pbmNsdWRl L2FzbS14ODYvc3lzdGVtLmggICAgICB8ICAyICstCiAxMSBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNl cnRpb25zKCspLCAzNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvYWNw aS9jcHVfaWRsZS5jIGIveGVuL2FyY2gveDg2L2FjcGkvY3B1X2lkbGUuYwppbmRleCA1ODc5YWQ2 Li5kZWE4MzRjIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvYWNwaS9jcHVfaWRsZS5jCisrKyBi L3hlbi9hcmNoL3g4Ni9hY3BpL2NwdV9pZGxlLmMKQEAgLTM5MCw5ICszOTAsOSBAQCB2b2lkIG13 YWl0X2lkbGVfd2l0aF9oaW50cyh1bnNpZ25lZCBpbnQgZWF4LCB1bnNpZ25lZCBpbnQgZWN4KQog CiAgICAgaWYgKCBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfQ0xGTFVTSF9NT05JVE9SKSApCiAg ICAgewotICAgICAgICBtYigpOworICAgICAgICBzbXBfbWIoKTsKICAgICAgICAgY2xmbHVzaCgo dm9pZCAqKSZtd2FpdF93YWtldXAoY3B1KSk7Ci0gICAgICAgIG1iKCk7CisgICAgICAgIHNtcF9t YigpOwogICAgIH0KIAogICAgIF9fbW9uaXRvcigodm9pZCAqKSZtd2FpdF93YWtldXAoY3B1KSwg MCwgMCk7CkBAIC03NTUsMTAgKzc1NSwxMCBAQCB2b2lkIGFjcGlfZGVhZF9pZGxlKHZvaWQpCiAg ICAgICAgICAgICAgKiBpbnN0cnVjdGlvbiwgaGVuY2UgbWVtb3J5IGZlbmNlIGlzIG5lY2Vzc2Fy eSB0byBtYWtlIHN1cmUgYWxsIAogICAgICAgICAgICAgICogbG9hZC9zdG9yZSB2aXNpYmxlIGJl Zm9yZSBmbHVzaCBjYWNoZSBsaW5lLgogICAgICAgICAgICAgICovCi0gICAgICAgICAgICBtYigp OworICAgICAgICAgICAgc21wX21iKCk7CiAgICAgICAgICAgICBjbGZsdXNoKG13YWl0X3B0cik7 CiAgICAgICAgICAgICBfX21vbml0b3IobXdhaXRfcHRyLCAwLCAwKTsKLSAgICAgICAgICAgIG1i KCk7CisgICAgICAgICAgICBzbXBfbWIoKTsKICAgICAgICAgICAgIF9fbXdhaXQoY3gtPmFkZHJl c3MsIDApOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2NwdS9t Y2hlY2svYmFycmllci5jIGIveGVuL2FyY2gveDg2L2NwdS9tY2hlY2svYmFycmllci5jCmluZGV4 IDdkZThlNDUuLmE3ZTViMTkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL2Jh cnJpZXIuYworKysgYi94ZW4vYXJjaC94ODYvY3B1L21jaGVjay9iYXJyaWVyLmMKQEAgLTEyLDcg KzEyLDcgQEAgdm9pZCBtY2VfYmFycmllcl9pbml0KHN0cnVjdCBtY2Vfc29mdGlycV9iYXJyaWVy ICpiYXIpCiB2b2lkIG1jZV9iYXJyaWVyX2RlYyhzdHJ1Y3QgbWNlX3NvZnRpcnFfYmFycmllciAq YmFyKQogewogICAgIGF0b21pY19pbmMoJmJhci0+b3V0Z2VuKTsKLSAgICB3bWIoKTsKKyAgICBz bXBfd21iKCk7CiAgICAgYXRvbWljX2RlYygmYmFyLT52YWwpOwogfQogCkBAIC0yNCwxMiArMjQs MTIgQEAgdm9pZCBtY2VfYmFycmllcl9lbnRlcihzdHJ1Y3QgbWNlX3NvZnRpcnFfYmFycmllciAq YmFyLCBib29sIHdhaXQpCiAgICAgICAgIHJldHVybjsKICAgICBhdG9taWNfaW5jKCZiYXItPmlu Z2VuKTsKICAgICBnZW4gPSBhdG9taWNfcmVhZCgmYmFyLT5vdXRnZW4pOwotICAgIG1iKCk7Cisg ICAgc21wX21iKCk7CiAgICAgYXRvbWljX2luYygmYmFyLT52YWwpOwogICAgIHdoaWxlICggYXRv bWljX3JlYWQoJmJhci0+dmFsKSAhPSBudW1fb25saW5lX2NwdXMoKSAmJgogICAgICAgICAgICAg YXRvbWljX3JlYWQoJmJhci0+b3V0Z2VuKSA9PSBnZW4gKQogICAgIHsKLSAgICAgICAgICAgIG1i KCk7CisgICAgICAgICAgICBzbXBfbWIoKTsKICAgICAgICAgICAgIG1jZV9wYW5pY19jaGVjaygp OwogICAgIH0KIH0KQEAgLTQyLDEyICs0MiwxMiBAQCB2b2lkIG1jZV9iYXJyaWVyX2V4aXQoc3Ry dWN0IG1jZV9zb2Z0aXJxX2JhcnJpZXIgKmJhciwgYm9vbCB3YWl0KQogICAgICAgICByZXR1cm47 CiAgICAgYXRvbWljX2luYygmYmFyLT5vdXRnZW4pOwogICAgIGdlbiA9IGF0b21pY19yZWFkKCZi YXItPmluZ2VuKTsKLSAgICBtYigpOworICAgIHNtcF9tYigpOwogICAgIGF0b21pY19kZWMoJmJh ci0+dmFsKTsKICAgICB3aGlsZSAoIGF0b21pY19yZWFkKCZiYXItPnZhbCkgIT0gMCAmJgogICAg ICAgICAgICAgYXRvbWljX3JlYWQoJmJhci0+aW5nZW4pID09IGdlbiApCiAgICAgewotICAgICAg ICAgICAgbWIoKTsKKyAgICAgICAgICAgIHNtcF9tYigpOwogICAgICAgICAgICAgbWNlX3Bhbmlj X2NoZWNrKCk7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2NwdS9tY2hlY2sv bWN0ZWxlbS5jIGIveGVuL2FyY2gveDg2L2NwdS9tY2hlY2svbWN0ZWxlbS5jCmluZGV4IDE3MzE1 MTQuLmIwNzFkYzggMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUvbWNoZWNrL21jdGVsZW0u YworKysgYi94ZW4vYXJjaC94ODYvY3B1L21jaGVjay9tY3RlbGVtLmMKQEAgLTUwMSw5ICs1MDEs OSBAQCBzdGF0aWMgdm9pZCBtY3RlbGVtX2FwcGVuZF9wcm9jZXNzaW5nKG1jdGVsZW1fY2xhc3Nf dCB3aGljaCkKIAkJbHRlcC0+bWN0ZV9wcmV2ID0gKnByb2NsdHA7CiAJCSpwcm9jbHRwID0gZGFu Z2xpbmdbdGFyZ2V0XTsKIAl9Ci0Jd21iKCk7CisJc21wX3dtYigpOwogCWRhbmdsaW5nW3Rhcmdl dF0gPSBOVUxMOwotCXdtYigpOworCXNtcF93bWIoKTsKIH0KIAogbWN0ZWxlbV9jb29raWVfdCBt Y3RlbGVtX2NvbnN1bWVfb2xkZXN0X2JlZ2luKG1jdGVsZW1fY2xhc3NfdCB3aGljaCkKZGlmZiAt LWdpdCBhL3hlbi9hcmNoL3g4Ni9nZW5hcGljL3gyYXBpYy5jIGIveGVuL2FyY2gveDg2L2dlbmFw aWMveDJhcGljLmMKaW5kZXggNWZmZmIzMS4uNDc3OWIwZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gv eDg2L2dlbmFwaWMveDJhcGljLmMKKysrIGIveGVuL2FyY2gveDg2L2dlbmFwaWMveDJhcGljLmMK QEAgLTEwNiwxMiArMTA2LDEyIEBAIHN0YXRpYyB2b2lkIHNlbmRfSVBJX21hc2tfeDJhcGljX3Bo eXMoY29uc3QgY3B1bWFza190ICpjcHVtYXNrLCBpbnQgdmVjdG9yKQogICAgICAqIENQVSBpcyBz ZWVuIGJ5IG5vdGlmaWVkIHJlbW90ZSBDUFVzLiBUaGUgV1JNU1IgY29udGFpbmVkIHdpdGhpbgog ICAgICAqIGFwaWNfaWNyX3dyaXRlKCkgY2FuIG90aGVyd2lzZSBiZSBleGVjdXRlZCBlYXJseS4K ICAgICAgKiAKLSAgICAgKiBUaGUgcmVhc29uIG1iKCkgaXMgc3VmZmljaWVudCBoZXJlIGlzIHN1 YnRsZTogdGhlIHJlZ2lzdGVyIGFyZ3VtZW50cworICAgICAqIFRoZSByZWFzb24gc21wX21iKCkg aXMgc3VmZmljaWVudCBoZXJlIGlzIHN1YnRsZTogdGhlIHJlZ2lzdGVyIGFyZ3VtZW50cwogICAg ICAqIHRvIFdSTVNSIG11c3QgZGVwZW5kIG9uIGEgbWVtb3J5IHJlYWQgZXhlY3V0ZWQgYWZ0ZXIg dGhlIGJhcnJpZXIuIFRoaXMKICAgICAgKiBpcyBndWFyYW50ZWVkIGJ5IGNwdV9waHlzaWNhbF9p ZCgpLCB3aGljaCByZWFkcyBmcm9tIGEgZ2xvYmFsIGFycmF5IChhbmQKICAgICAgKiBzbyBjYW5u b3QgYmUgaG9pc3RlZCBhYm92ZSB0aGUgYmFycmllciBldmVuIGJ5IGEgY2xldmVyIGNvbXBpbGVy KS4KICAgICAgKi8KLSAgICBtYigpOworICAgIHNtcF9tYigpOwogCiAgICAgbG9jYWxfaXJxX3Nh dmUoZmxhZ3MpOwogCkBAIC0xMzUsNyArMTM1LDcgQEAgc3RhdGljIHZvaWQgc2VuZF9JUElfbWFz a194MmFwaWNfY2x1c3Rlcihjb25zdCBjcHVtYXNrX3QgKmNwdW1hc2ssIGludCB2ZWN0b3IpCiAg ICAgY29uc3QgY3B1bWFza190ICpjbHVzdGVyX2NwdXM7CiAgICAgdW5zaWduZWQgbG9uZyBmbGFn czsKIAotICAgIG1iKCk7IC8qIFNlZSBhYm92ZSBmb3IgYW4gZXhwbGFuYXRpb24uICovCisgICAg c21wX21iKCk7IC8qIFNlZSBhYm92ZSBmb3IgYW4gZXhwbGFuYXRpb24uICovCiAKICAgICBsb2Nh bF9pcnFfc2F2ZShmbGFncyk7CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9ocGV0LmMgYi94 ZW4vYXJjaC94ODYvaHBldC5jCmluZGV4IDgyMjljNjMuLmJjN2E4NTEgMTAwNjQ0Ci0tLSBhL3hl bi9hcmNoL3g4Ni9ocGV0LmMKKysrIGIveGVuL2FyY2gveDg2L2hwZXQuYwpAQCAtNjA4LDcgKzYw OCw3IEBAIHZvaWQgX19pbml0IGhwZXRfYnJvYWRjYXN0X2luaXQodm9pZCkKICAgICAgICAgaHBl dF9ldmVudHNbaV0uc2hpZnQgPSAzMjsKICAgICAgICAgaHBldF9ldmVudHNbaV0ubmV4dF9ldmVu dCA9IFNUSU1FX01BWDsKICAgICAgICAgc3Bpbl9sb2NrX2luaXQoJmhwZXRfZXZlbnRzW2ldLmxv Y2spOwotICAgICAgICB3bWIoKTsKKyAgICAgICAgc21wX3dtYigpOwogICAgICAgICBocGV0X2V2 ZW50c1tpXS5ldmVudF9oYW5kbGVyID0gaGFuZGxlX2hwZXRfYnJvYWRjYXN0OwogCiAgICAgICAg IGhwZXRfZXZlbnRzW2ldLm1zaS5tc2lfYXR0cmliLm1hc2tiaXQgPSAxOwpkaWZmIC0tZ2l0IGEv eGVuL2FyY2gveDg2L2h2bS9pb3JlcS5jIGIveGVuL2FyY2gveDg2L2h2bS9pb3JlcS5jCmluZGV4 IGIyYThiMGUuLmU5ODUxZjYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vaW9yZXEuYwor KysgYi94ZW4vYXJjaC94ODYvaHZtL2lvcmVxLmMKQEAgLTkxLDcgKzkxLDcgQEAgc3RhdGljIGJv b2xfdCBodm1fd2FpdF9mb3JfaW8oc3RydWN0IGh2bV9pb3JlcV92Y3B1ICpzdiwgaW9yZXFfdCAq cCkKICAgICB7CiAgICAgICAgIHVuc2lnbmVkIGludCBzdGF0ZSA9IHAtPnN0YXRlOwogCi0gICAg ICAgIHJtYigpOworICAgICAgICBzbXBfcm1iKCk7CiAgICAgICAgIHN3aXRjaCAoIHN0YXRlICkK ICAgICAgICAgewogICAgICAgICBjYXNlIFNUQVRFX0lPUkVRX05PTkU6CkBAIC0xMzI3LDcgKzEz MjcsNyBAQCBzdGF0aWMgaW50IGh2bV9zZW5kX2J1ZmZlcmVkX2lvcmVxKHN0cnVjdCBodm1faW9y ZXFfc2VydmVyICpzLCBpb3JlcV90ICpwKQogICAgIH0KIAogICAgIC8qIE1ha2UgdGhlIGlvcmVx X3QgdmlzaWJsZSAvYmVmb3JlLyB3cml0ZV9wb2ludGVyLiAqLwotICAgIHdtYigpOworICAgIHNt cF93bWIoKTsKICAgICBwZy0+cHRycy53cml0ZV9wb2ludGVyICs9IHF3ID8gMiA6IDE7CiAKICAg ICAvKiBDYW5vbmljYWxpemUgcmVhZC93cml0ZSBwb2ludGVycyB0byBwcmV2ZW50IHRoZWlyIG92 ZXJmbG93LiAqLwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2lycS5jIGIveGVuL2FyY2gveDg2 L2lycS5jCmluZGV4IDU3ZTZjMTguLmVlOWFmZDggMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9p cnEuYworKysgYi94ZW4vYXJjaC94ODYvaXJxLmMKQEAgLTc1OSw5ICs3NTksOSBAQCB2b2lkIGly cV9zZXRfYWZmaW5pdHkoc3RydWN0IGlycV9kZXNjICpkZXNjLCBjb25zdCBjcHVtYXNrX3QgKm1h c2spCiAgICAgCiAgICAgQVNTRVJUKHNwaW5faXNfbG9ja2VkKCZkZXNjLT5sb2NrKSk7CiAgICAg ZGVzYy0+c3RhdHVzICY9IH5JUlFfTU9WRV9QRU5ESU5HOwotICAgIHdtYigpOworICAgIHNtcF93 bWIoKTsKICAgICBjcHVtYXNrX2NvcHkoZGVzYy0+YXJjaC5wZW5kaW5nX21hc2ssIG1hc2spOwot ICAgIHdtYigpOworICAgIHNtcF93bWIoKTsKICAgICBkZXNjLT5zdGF0dXMgfD0gSVJRX01PVkVf UEVORElORzsKIH0KIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3NtcGJvb3QuYyBiL3hlbi9h cmNoL3g4Ni9zbXBib290LmMKaW5kZXggNWIwOTRiNC4uZWUxN2Y2ZCAxMDA2NDQKLS0tIGEveGVu L2FyY2gveDg2L3NtcGJvb3QuYworKysgYi94ZW4vYXJjaC94ODYvc21wYm9vdC5jCkBAIC03OSw3 ICs3OSw3IEBAIHN0YXRpYyBlbnVtIGNwdV9zdGF0ZSB7CiAgICAgQ1BVX1NUQVRFX0NBTExJTiwg ICAvKiBzbGF2ZSAtPiBtYXN0ZXI6IENvbXBsZXRlZCBwaGFzZSAyICovCiAgICAgQ1BVX1NUQVRF X09OTElORSAgICAvKiBtYXN0ZXIgLT4gc2xhdmU6IEdvIGZ1bGx5IG9ubGluZSBub3cuICovCiB9 IGNwdV9zdGF0ZTsKLSNkZWZpbmUgc2V0X2NwdV9zdGF0ZShzdGF0ZSkgZG8geyBtYigpOyBjcHVf c3RhdGUgPSAoc3RhdGUpOyB9IHdoaWxlICgwKQorI2RlZmluZSBzZXRfY3B1X3N0YXRlKHN0YXRl KSBkbyB7IHNtcF9tYigpOyBjcHVfc3RhdGUgPSAoc3RhdGUpOyB9IHdoaWxlICgwKQogCiB2b2lk ICpzdGFja19iYXNlW05SX0NQVVNdOwogCkBAIC0xMjYsNyArMTI2LDcgQEAgc3RhdGljIHZvaWQg c3luY2hyb25pemVfdHNjX21hc3Rlcih1bnNpZ25lZCBpbnQgc2xhdmUpCiAgICAgZm9yICggaSA9 IDE7IGkgPD0gNTsgaSsrICkKICAgICB7CiAgICAgICAgIHRzY192YWx1ZSA9IHJkdHNjX29yZGVy ZWQoKTsKLSAgICAgICAgd21iKCk7CisgICAgICAgIHNtcF93bWIoKTsKICAgICAgICAgYXRvbWlj X2luYygmdHNjX2NvdW50KTsKICAgICAgICAgd2hpbGUgKCBhdG9taWNfcmVhZCgmdHNjX2NvdW50 KSAhPSAoaTw8MSkgKQogICAgICAgICAgICAgY3B1X3JlbGF4KCk7CkBAIC0xNTEsNyArMTUxLDcg QEAgc3RhdGljIHZvaWQgc3luY2hyb25pemVfdHNjX3NsYXZlKHVuc2lnbmVkIGludCBzbGF2ZSkK ICAgICB7CiAgICAgICAgIHdoaWxlICggYXRvbWljX3JlYWQoJnRzY19jb3VudCkgIT0gKChpPDwx KS0xKSApCiAgICAgICAgICAgICBjcHVfcmVsYXgoKTsKLSAgICAgICAgcm1iKCk7CisgICAgICAg IHNtcF9ybWIoKTsKICAgICAgICAgLyoKICAgICAgICAgICogSWYgYSBDUFUgaGFzIGJlZW4gcGh5 c2ljYWxseSBob3RwbHVnZ2VkLCB3ZSBtYXkgYXMgd2VsbCB3cml0ZQogICAgICAgICAgKiB0byBp dHMgVFNDIGluIHNwaXRlIG9mIFg4Nl9GRUFUVVJFX1RTQ19SRUxJQUJMRS4gVGhlIHBsYXRmb3Jt IGRvZXMKQEAgLTU1MywxMyArNTUzLDEzIEBAIHN0YXRpYyBpbnQgZG9fYm9vdF9jcHUoaW50IGFw aWNpZCwgaW50IGNwdSkKICAgICAgICAgfQogICAgICAgICBlbHNlIGlmICggY3B1X3N0YXRlID09 IENQVV9TVEFURV9ERUFEICkKICAgICAgICAgewotICAgICAgICAgICAgcm1iKCk7CisgICAgICAg ICAgICBzbXBfcm1iKCk7CiAgICAgICAgICAgICByYyA9IGNwdV9lcnJvcjsKICAgICAgICAgfQog ICAgICAgICBlbHNlCiAgICAgICAgIHsKICAgICAgICAgICAgIGJvb3RfZXJyb3IgPSAxOwotICAg ICAgICAgICAgbWIoKTsKKyAgICAgICAgICAgIHNtcF9tYigpOwogICAgICAgICAgICAgaWYgKCBi b290c3ltKHRyYW1wb2xpbmVfY3B1X3N0YXJ0ZWQpID09IDB4QTUgKQogICAgICAgICAgICAgICAg IC8qIHRyYW1wb2xpbmUgc3RhcnRlZCBidXQuLi4/ICovCiAgICAgICAgICAgICAgICAgcHJpbnRr KCJTdHVjayA/P1xuIik7CkBAIC01NzcsNyArNTc3LDcgQEAgc3RhdGljIGludCBkb19ib290X2Nw dShpbnQgYXBpY2lkLCBpbnQgY3B1KQogCiAgICAgLyogbWFyayAic3R1Y2siIGFyZWEgYXMgbm90 IHN0dWNrICovCiAgICAgYm9vdHN5bSh0cmFtcG9saW5lX2NwdV9zdGFydGVkKSA9IDA7Ci0gICAg bWIoKTsKKyAgICBzbXBfbWIoKTsKIAogICAgIHNtcGJvb3RfcmVzdG9yZV93YXJtX3Jlc2V0X3Zl Y3RvcigpOwogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvdGltZS5jIGIveGVuL2FyY2gveDg2 L3RpbWUuYwppbmRleCBiOTg4Yjk0Li5hN2Q3ZDc3IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYv dGltZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni90aW1lLmMKQEAgLTk3NiwxMCArOTc2LDEwIEBAIHN0 YXRpYyB2b2lkIF9fdXBkYXRlX3ZjcHVfc3lzdGVtX3RpbWUoc3RydWN0IHZjcHUgKnYsIGludCBm b3JjZSkKIAogICAgIC8qIDEuIFVwZGF0ZSBndWVzdCBrZXJuZWwgdmVyc2lvbi4gKi8KICAgICBf dS52ZXJzaW9uID0gdS0+dmVyc2lvbiA9IHZlcnNpb25fdXBkYXRlX2JlZ2luKHUtPnZlcnNpb24p OwotICAgIHdtYigpOworICAgIHNtcF93bWIoKTsKICAgICAvKiAyLiBVcGRhdGUgYWxsIG90aGVy IGd1ZXN0IGtlcm5lbCBmaWVsZHMuICovCiAgICAgKnUgPSBfdTsKLSAgICB3bWIoKTsKKyAgICBz bXBfd21iKCk7CiAgICAgLyogMy4gVXBkYXRlIGd1ZXN0IGtlcm5lbCB2ZXJzaW9uLiAqLwogICAg IHUtPnZlcnNpb24gPSB2ZXJzaW9uX3VwZGF0ZV9lbmQodS0+dmVyc2lvbik7CiAKQEAgLTEwMDYs MTAgKzEwMDYsMTAgQEAgYm9vbCB1cGRhdGVfc2Vjb25kYXJ5X3N5c3RlbV90aW1lKHN0cnVjdCB2 Y3B1ICp2LAogICAgICAgICB1cGRhdGVfZ3Vlc3RfbWVtb3J5X3BvbGljeSh2LCAmcG9saWN5KTsK ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KLSAgICB3bWIoKTsKKyAgICBzbXBfd21iKCk7 CiAgICAgLyogMi4gVXBkYXRlIGFsbCBvdGhlciB1c2Vyc3BhY2UgZmllbGRzLiAqLwogICAgIF9f Y29weV90b19ndWVzdCh1c2VyX3UsIHUsIDEpOwotICAgIHdtYigpOworICAgIHNtcF93bWIoKTsK ICAgICAvKiAzLiBVcGRhdGUgdXNlcnNwYWNlIHZlcnNpb24uICovCiAgICAgdS0+dmVyc2lvbiA9 IHZlcnNpb25fdXBkYXRlX2VuZCh1LT52ZXJzaW9uKTsKICAgICBfX2NvcHlfZmllbGRfdG9fZ3Vl c3QodXNlcl91LCB1LCB2ZXJzaW9uKTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYv ZGVzYy5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9kZXNjLmgKaW5kZXggZGE5MjRiZi4uOTk1NmFh ZSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9kZXNjLmgKKysrIGIveGVuL2luY2x1 ZGUvYXNtLXg4Ni9kZXNjLmgKQEAgLTEyOCwxMCArMTI4LDEwIEBAIHN0YXRpYyBpbmxpbmUgdm9p ZCBfd3JpdGVfZ2F0ZV9sb3dlcih2b2xhdGlsZSBpZHRfZW50cnlfdCAqZ2F0ZSwKICNkZWZpbmUg X3NldF9nYXRlKGdhdGVfYWRkcix0eXBlLGRwbCxhZGRyKSAgICAgICAgICAgICAgIFwKIGRvIHsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAg ICAoZ2F0ZV9hZGRyKS0+YSA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK LSAgICB3bWIoKTsgLyogZGlzYWJsZSBnYXRlIC90aGVuLyByZXdyaXRlICovICAgICAgICAgICAg IFwKKyAgICBzbXBfd21iKCk7IC8qIGRpc2FibGUgZ2F0ZSAvdGhlbi8gcmV3cml0ZSAqLyAgICAg ICAgIFwKICAgICAoZ2F0ZV9hZGRyKS0+YiA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKICAgICAgICAgKCh1bnNpZ25lZCBsb25nKShhZGRyKSA+PiAzMik7ICAgICAgICAg ICAgICAgICAgIFwKLSAgICB3bWIoKTsgLyogcmV3cml0ZSAvdGhlbi8gZW5hYmxlIGdhdGUgKi8g ICAgICAgICAgICAgIFwKKyAgICBzbXBfd21iKCk7IC8qIHJld3JpdGUgL3RoZW4vIGVuYWJsZSBn YXRlICovICAgICAgICAgIFwKICAgICAoZ2F0ZV9hZGRyKS0+YSA9ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgKCgodW5zaWduZWQgbG9uZykoYWRkcikgJiAw eEZGRkYwMDAwVUwpIDw8IDMyKSB8IFwKICAgICAgICAgKCh1bnNpZ25lZCBsb25nKShkcGwpIDw8 IDQ1KSB8ICAgICAgICAgICAgICAgICAgIFwKQEAgLTE3NCwxMSArMTc0LDExIEBAIHN0YXRpYyBp bmxpbmUgdm9pZCBfdXBkYXRlX2dhdGVfYWRkcl9sb3dlcihpZHRfZW50cnlfdCAqZ2F0ZSwgdm9p ZCAqYWRkcikKICNkZWZpbmUgX3NldF90c3NsZHRfZGVzYyhkZXNjLGFkZHIsbGltaXQsdHlwZSkg ICAgICAgICAgIFwKIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKICAgICAoZGVzYylbMF0uYiA9IChkZXNjKVsxXS5iID0gMDsgICAgICAg ICAgICAgICAgICAgICAgIFwKLSAgICB3bWIoKTsgLyogZGlzYWJsZSBlbnRyeSAvdGhlbi8gcmV3 cml0ZSAqLyAgICAgICAgICAgIFwKKyAgICBzbXBfd21iKCk7IC8qIGRpc2FibGUgZW50cnkgL3Ro ZW4vIHJld3JpdGUgKi8gICAgICAgIFwKICAgICAoZGVzYylbMF0uYSA9ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgKCh1MzIpKGFkZHIpIDw8IDE2KSB8 ICgodTMyKShsaW1pdCkgJiAweEZGRkYpOyAgIFwKICAgICAoZGVzYylbMV0uYSA9ICh1MzIpKCgo dW5zaWduZWQgbG9uZykoYWRkcikpID4+IDMyKTsgIFwKLSAgICB3bWIoKTsgLyogcmV3cml0ZSAv dGhlbi8gZW5hYmxlIGVudHJ5ICovICAgICAgICAgICAgIFwKKyAgICBzbXBfd21iKCk7IC8qIHJl d3JpdGUgL3RoZW4vIGVuYWJsZSBlbnRyeSAqLyAgICAgICAgIFwKICAgICAoZGVzYylbMF0uYiA9 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgKCh1MzIp KGFkZHIpICYgMHhGRjAwMDAwMFUpIHwgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgKCh1 MzIpKHR5cGUpIDw8IDgpIHwgMHg4MDAwVSB8ICAgICAgICAgICAgICAgICAgIFwKZGlmZiAtLWdp dCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvc3lzdGVtLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3N5 c3RlbS5oCmluZGV4IGViNDk4ZjUuLjljYjZmZDcgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2Fz bS14ODYvc3lzdGVtLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9zeXN0ZW0uaApAQCAtMTgz LDcgKzE4Myw3IEBAIHN0YXRpYyBhbHdheXNfaW5saW5lIHVuc2lnbmVkIGxvbmcgX194YWRkKAog I2RlZmluZSBzbXBfd21iKCkgICAgICAgd21iKCkKIAogI2RlZmluZSBzZXRfbWIodmFyLCB2YWx1 ZSkgZG8geyB4Y2hnKCZ2YXIsIHZhbHVlKTsgfSB3aGlsZSAoMCkKLSNkZWZpbmUgc2V0X3dtYih2 YXIsIHZhbHVlKSBkbyB7IHZhciA9IHZhbHVlOyB3bWIoKTsgfSB3aGlsZSAoMCkKKyNkZWZpbmUg c2V0X3dtYih2YXIsIHZhbHVlKSBkbyB7IHZhciA9IHZhbHVlOyBzbXBfd21iKCk7IH0gd2hpbGUg KDApCiAKICNkZWZpbmUgbG9jYWxfaXJxX2Rpc2FibGUoKSAgICAgYXNtIHZvbGF0aWxlICggImNs aSIgOiA6IDogIm1lbW9yeSIgKQogI2RlZmluZSBsb2NhbF9pcnFfZW5hYmxlKCkgICAgICBhc20g dm9sYXRpbGUgKCAic3RpIiA6IDogOiAibWVtb3J5IiApCi0tIAoyLjEuNAoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxp c3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZl bAo=