From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH 26/60] xen: let vcpu_create() select processor Date: Tue, 28 May 2019 12:32:39 +0200 Message-ID: <20190528103313.1343-27-jgross@suse.com> References: <20190528103313.1343-1-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hVZQ8-0004hO-Nl for xen-devel@lists.xenproject.org; Tue, 28 May 2019 10:33:28 +0000 In-Reply-To: <20190528103313.1343-1-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Jan Beulich , Dario Faggioli , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org VG9kYXkgdGhlcmUgYXJlIHR3byBkaXN0aW5jdCBzY2VuYXJpb3MgZm9yIHZjcHVfY3JlYXRlKCk6 IGVpdGhlciBmb3IKY3JlYXRpb24gb2YgaWRsZS1kb21haW4gdmNwdXMgKHZjcHVpZCA9PSBwcm9j ZXNzb3IpIG9yIGZvciBjcmVhdGlvbiBvZgoibm9ybWFsIiBkb21haW4gdmNwdXMgKGluY2x1ZGlu ZyBkb20wKSwgd2hlcmUgdGhlIGNhbGxlciBzZWxlY3RzIHRoZQppbml0aWFsIHByb2Nlc3NvciBv biBhIHJvdW5kLXJvYmluIHNjaGVtZSBvZiB0aGUgYWxsb3dlZCBwcm9jZXNzb3JzCihhbGxvd2Vk IGJlaW5nIGJhc2VkIG9uIGNwdXBvb2wgYW5kIGFmZmluaXRpZXMpLgoKSW5zdGVhZCBvZiBwYXNz aW5nIHRoZSBpbml0aWFsIHByb2Nlc3NvciB0byB2Y3B1X2NyZWF0ZSgpIGFuZCBwYXNzaW5nCm9u IHRvIHNjaGVkX2luaXRfdmNwdSgpIGxldCBzY2hlZF9pbml0X3ZjcHUoKSBkbyB0aGUgcHJvY2Vz c29yCnNlbGVjdGlvbi4gRm9yIHN1cHBvcnRpbmcgZG9tMCB2Y3B1IGNyZWF0aW9uIHVzZSB0aGUg bm9kZV9hZmZpbml0eSBvZgp0aGUgZG9tYWluIGFzIGEgYmFzZSBmb3Igc2VsZWN0aW5nIHRoZSBw cm9jZXNzb3JzLiBVc2VyIGRvbWFpbnMgd2lsbApoYXZlIGluaXRpYWxseSBhbGwgbm9kZXMgc2V0 LCBzbyB0aGlzIGlzIG5vIGRpZmZlcmVudCBiZWhhdmlvciBjb21wYXJlZAp0byB0b2RheS4KClRv IGJlIGFibGUgdG8gdXNlIGNvbnN0IHN0cnVjdCBkb21haW4gKiBtYWtlIGNwdXBvb2xfZG9tYWlu X2NwdW1hc2soKQp0YWtlIGEgY29uc3QgZG9tYWluIHBvaW50ZXIsIHRvby4KClNpZ25lZC1vZmYt Ynk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KQWNrZWQtYnk6IEFuZHJldyBDb29w ZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQpSRkMgVjI6IGFkZCBBU1NFUlQoKSwg bW9kaWZ5IGVycm9yIG1lc3NhZ2UgKEFuZHJldyBDb29wZXIpClYxOiBjb25zdGlmeSBwb2ludGVy cywgYXZvaWQgY3B1bWFzayBvbiBzdGFjayAoSmFuIEJldWxpY2gpCi0tLQogeGVuL2FyY2gvYXJt L2RvbWFpbl9idWlsZC5jICAgICAgfCAxMyArKysrKystLS0tLS0KIHhlbi9hcmNoL3g4Ni9kb20w X2J1aWxkLmMgICAgICAgIHwgMTAgKysrLS0tLS0tCiB4ZW4vYXJjaC94ODYvaHZtL2RvbTBfYnVp bGQuYyAgICB8ICA5ICsrLS0tLS0tCiB4ZW4vYXJjaC94ODYvcHYvZG9tMF9idWlsZC5jICAgICB8 IDEwICsrLS0tLS0tLQogeGVuL2NvbW1vbi9kb21haW4uYyAgICAgICAgICAgICAgfCAgNSArKy0t LQogeGVuL2NvbW1vbi9kb21jdGwuYyAgICAgICAgICAgICAgfCAxMCArKy0tLS0tLS0KIHhlbi9j b21tb24vc2NoZWR1bGUuYyAgICAgICAgICAgIHwgNDQgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9kb20wX2J1aWxkLmggfCAgMyAr LS0KIHhlbi9pbmNsdWRlL3hlbi9kb21haW4uaCAgICAgICAgIHwgIDMgKy0tCiB4ZW4vaW5jbHVk ZS94ZW4vc2NoZWQtaWYuaCAgICAgICB8ICAyICstCiB4ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaCAg ICAgICAgICB8ICAyICstCiAxMSBmaWxlcyBjaGFuZ2VkLCA2MiBpbnNlcnRpb25zKCspLCA0OSBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMgYi94 ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMKaW5kZXggZDk4MzY3NzlkMS4uODZhNmU0YmY3YiAx MDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jCisrKyBiL3hlbi9hcmNoL2Fy bS9kb21haW5fYnVpbGQuYwpAQCAtODAsNyArODAsNyBAQCB1bnNpZ25lZCBpbnQgX19pbml0IGRv bTBfbWF4X3ZjcHVzKHZvaWQpCiAKIHN0cnVjdCB2Y3B1ICpfX2luaXQgYWxsb2NfZG9tMF92Y3B1 MChzdHJ1Y3QgZG9tYWluICpkb20wKQogewotICAgIHJldHVybiB2Y3B1X2NyZWF0ZShkb20wLCAw LCAwKTsKKyAgICByZXR1cm4gdmNwdV9jcmVhdGUoZG9tMCwgMCk7CiB9CiAKIHN0YXRpYyB1bnNp Z25lZCBpbnQgX19pbml0IGdldF9hbGxvY2F0aW9uX3NpemUocGFkZHJfdCBzaXplKQpAQCAtMTky Myw3ICsxOTIzLDcgQEAgc3RhdGljIHZvaWQgX19pbml0IGZpbmRfZ250dGFiX3JlZ2lvbihzdHJ1 Y3QgZG9tYWluICpkLAogCiBzdGF0aWMgaW50IF9faW5pdCBjb25zdHJ1Y3RfZG9tYWluKHN0cnVj dCBkb21haW4gKmQsIHN0cnVjdCBrZXJuZWxfaW5mbyAqa2luZm8pCiB7Ci0gICAgaW50IGksIGNw dTsKKyAgICBpbnQgaTsKICAgICBzdHJ1Y3QgdmNwdSAqdiA9IGQtPnZjcHVbMF07CiAgICAgc3Ry dWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MgPSAmdi0+YXJjaC5jcHVfaW5mby0+Z3Vlc3RfY3B1X3Vz ZXJfcmVnczsKIApAQCAtMTk4NiwxMiArMTk4NiwxMSBAQCBzdGF0aWMgaW50IF9faW5pdCBjb25z dHJ1Y3RfZG9tYWluKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBrZXJuZWxfaW5mbyAqa2luZm8p CiAgICAgfQogI2VuZGlmCiAKLSAgICBmb3IgKCBpID0gMSwgY3B1ID0gMDsgaSA8IGQtPm1heF92 Y3B1czsgaSsrICkKKyAgICBmb3IgKCBpID0gMTsgaSA8IGQtPm1heF92Y3B1czsgaSsrICkKICAg ICB7Ci0gICAgICAgIGNwdSA9IGNwdW1hc2tfY3ljbGUoY3B1LCAmY3B1X29ubGluZV9tYXApOwot ICAgICAgICBpZiAoIHZjcHVfY3JlYXRlKGQsIGksIGNwdSkgPT0gTlVMTCApCisgICAgICAgIGlm ICggdmNwdV9jcmVhdGUoZCwgaSkgPT0gTlVMTCApCiAgICAgICAgIHsKLSAgICAgICAgICAgIHBy aW50aygiRmFpbGVkIHRvIGFsbG9jYXRlIGRvbTAgdmNwdSAlZCBvbiBwY3B1ICVkXG4iLCBpLCBj cHUpOworICAgICAgICAgICAgcHJpbnRrKCJGYWlsZWQgdG8gYWxsb2NhdGUgZDB2JXVcbiIsIGkp OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApAQCAtMjAyNiw3ICsyMDI1LDcgQEAg c3RhdGljIGludCBfX2luaXQgY29uc3RydWN0X2RvbVUoc3RydWN0IGRvbWFpbiAqZCwKIAogICAg IGtpbmZvLnZwbDAxMSA9IGR0X3Byb3BlcnR5X3JlYWRfYm9vbChub2RlLCAidnBsMDExIik7CiAK LSAgICBpZiAoIHZjcHVfY3JlYXRlKGQsIDAsIDApID09IE5VTEwgKQorICAgIGlmICggdmNwdV9j cmVhdGUoZCwgMCkgPT0gTlVMTCApCiAgICAgICAgIHJldHVybiAtRU5PTUVNOwogICAgIGQtPm1h eF9wYWdlcyA9IH4wVTsKIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbTBfYnVpbGQuYyBi L3hlbi9hcmNoL3g4Ni9kb20wX2J1aWxkLmMKaW5kZXggOWIwNjM2MzljOS4uOWMyM2NmNmFhYiAx MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2RvbTBfYnVpbGQuYworKysgYi94ZW4vYXJjaC94ODYv ZG9tMF9idWlsZC5jCkBAIC0xOTgsMTIgKzE5OCw5IEBAIGN1c3RvbV9wYXJhbSgiZG9tMF9ub2Rl cyIsIHBhcnNlX2RvbTBfbm9kZXMpOwogCiBzdGF0aWMgY3B1bWFza190IF9faW5pdGRhdGEgZG9t MF9jcHVzOwogCi1zdHJ1Y3QgdmNwdSAqX19pbml0IGRvbTBfc2V0dXBfdmNwdShzdHJ1Y3QgZG9t YWluICpkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50 IHZjcHVfaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp bnQgcHJldl9jcHUpCitzdHJ1Y3QgdmNwdSAqX19pbml0IGRvbTBfc2V0dXBfdmNwdShzdHJ1Y3Qg ZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgdmNwdV9pZCkKIHsKLSAgICB1bnNpZ25lZCBpbnQgY3B1 ID0gY3B1bWFza19jeWNsZShwcmV2X2NwdSwgJmRvbTBfY3B1cyk7Ci0gICAgc3RydWN0IHZjcHUg KnYgPSB2Y3B1X2NyZWF0ZShkLCB2Y3B1X2lkLCBjcHUpOworICAgIHN0cnVjdCB2Y3B1ICp2ID0g dmNwdV9jcmVhdGUoZCwgdmNwdV9pZCk7CiAKICAgICBpZiAoIHYgKQogICAgIHsKQEAgLTI3Myw4 ICsyNzAsNyBAQCBzdHJ1Y3QgdmNwdSAqX19pbml0IGFsbG9jX2RvbTBfdmNwdTAoc3RydWN0IGRv bWFpbiAqZG9tMCkKICAgICBkb20wLT5ub2RlX2FmZmluaXR5ID0gZG9tMF9ub2RlczsKICAgICBk b20wLT5hdXRvX25vZGVfYWZmaW5pdHkgPSAhZG9tMF9ucl9weG1zOwogCi0gICAgcmV0dXJuIGRv bTBfc2V0dXBfdmNwdShkb20wLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY3B1bWFz a19sYXN0KCZkb20wX2NwdXMpIC8qIHNvIGl0IHdyYXBzIGFyb3VuZCB0byBmaXJzdCBwY3B1ICov KTsKKyAgICByZXR1cm4gZG9tMF9zZXR1cF92Y3B1KGRvbTAsIDApOwogfQogCiAjaWZkZWYgQ09O RklHX1NIQURPV19QQUdJTkcKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vZG9tMF9idWls ZC5jIGIveGVuL2FyY2gveDg2L2h2bS9kb20wX2J1aWxkLmMKaW5kZXggODg0NTM5OWFlOS4uZmQ4 ZDk2MDliMSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9kb20wX2J1aWxkLmMKKysrIGIv eGVuL2FyY2gveDg2L2h2bS9kb20wX2J1aWxkLmMKQEAgLTYxNCw3ICs2MTQsNyBAQCBzdGF0aWMg aW50IF9faW5pdCBwdmhfc2V0dXBfY3B1cyhzdHJ1Y3QgZG9tYWluICpkLCBwYWRkcl90IGVudHJ5 LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZHJfdCBzdGFydF9pbmZvKQog ewogICAgIHN0cnVjdCB2Y3B1ICp2ID0gZC0+dmNwdVswXTsKLSAgICB1bnNpZ25lZCBpbnQgY3B1 ID0gdi0+cHJvY2Vzc29yLCBpOworICAgIHVuc2lnbmVkIGludCBpOwogICAgIGludCByYzsKICAg ICAvKgogICAgICAqIFRoaXMgc2V0cyB0aGUgdkNQVSBzdGF0ZSBhY2NvcmRpbmcgdG8gdGhlIHN0 YXRlIGRlc2NyaWJlZCBpbgpAQCAtNjM2LDEyICs2MzYsNyBAQCBzdGF0aWMgaW50IF9faW5pdCBw dmhfc2V0dXBfY3B1cyhzdHJ1Y3QgZG9tYWluICpkLCBwYWRkcl90IGVudHJ5LAogICAgIH07CiAK ICAgICBmb3IgKCBpID0gMTsgaSA8IGQtPm1heF92Y3B1czsgaSsrICkKLSAgICB7Ci0gICAgICAg IGNvbnN0IHN0cnVjdCB2Y3B1ICpwID0gZG9tMF9zZXR1cF92Y3B1KGQsIGksIGNwdSk7Ci0KLSAg ICAgICAgaWYgKCBwICkKLSAgICAgICAgICAgIGNwdSA9IHAtPnByb2Nlc3NvcjsKLSAgICB9Cisg ICAgICAgIGRvbTBfc2V0dXBfdmNwdShkLCBpKTsKIAogICAgIGRvbWFpbl91cGRhdGVfbm9kZV9h ZmZpbml0eShkKTsKIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3B2L2RvbTBfYnVpbGQuYyBi L3hlbi9hcmNoL3g4Ni9wdi9kb20wX2J1aWxkLmMKaW5kZXggOTAzNjExZmIwZC4uMjE1YzJlN2Q4 NCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3B2L2RvbTBfYnVpbGQuYworKysgYi94ZW4vYXJj aC94ODYvcHYvZG9tMF9idWlsZC5jCkBAIC0yODUsNyArMjg1LDcgQEAgaW50IF9faW5pdCBkb20w X2NvbnN0cnVjdF9wdihzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBtb2R1bGVfdCAqaW5pdHJkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFy ICpjbWRsaW5lKQogewotICAgIGludCBpLCBjcHUsIHJjLCBjb21wYXRpYmxlLCBvcmRlciwgbWFj aGluZTsKKyAgICBpbnQgaSwgcmMsIGNvbXBhdGlibGUsIG9yZGVyLCBtYWNoaW5lOwogICAgIHN0 cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzOwogICAgIHVuc2lnbmVkIGxvbmcgcGZuLCBtZm47CiAg ICAgdW5zaWduZWQgbG9uZyBucl9wYWdlczsKQEAgLTY5NCwxNCArNjk0LDggQEAgaW50IF9faW5p dCBkb20wX2NvbnN0cnVjdF9wdihzdHJ1Y3QgZG9tYWluICpkLAogCiAgICAgcHJpbnRrKCJEb20l dSBoYXMgbWF4aW11bSAldSBWQ1BVc1xuIiwgZC0+ZG9tYWluX2lkLCBkLT5tYXhfdmNwdXMpOwog Ci0gICAgY3B1ID0gdi0+cHJvY2Vzc29yOwogICAgIGZvciAoIGkgPSAxOyBpIDwgZC0+bWF4X3Zj cHVzOyBpKysgKQotICAgIHsKLSAgICAgICAgY29uc3Qgc3RydWN0IHZjcHUgKnAgPSBkb20wX3Nl dHVwX3ZjcHUoZCwgaSwgY3B1KTsKLQotICAgICAgICBpZiAoIHAgKQotICAgICAgICAgICAgY3B1 ID0gcC0+cHJvY2Vzc29yOwotICAgIH0KKyAgICAgICAgZG9tMF9zZXR1cF92Y3B1KGQsIGkpOwog CiAgICAgZG9tYWluX3VwZGF0ZV9ub2RlX2FmZmluaXR5KGQpOwogICAgIGQtPmFyY2gucGFnaW5n Lm1vZGUgPSAwOwpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9kb21haW4uYyBiL3hlbi9jb21tb24v ZG9tYWluLmMKaW5kZXggYzIwMGU5MDI0Zi4uMmQzNDI3ZWIwZiAxMDA2NDQKLS0tIGEveGVuL2Nv bW1vbi9kb21haW4uYworKysgYi94ZW4vY29tbW9uL2RvbWFpbi5jCkBAIC0xMjgsOCArMTI4LDcg QEAgc3RhdGljIHZvaWQgdmNwdV9kZXN0cm95KHN0cnVjdCB2Y3B1ICp2KQogICAgIGZyZWVfdmNw dV9zdHJ1Y3Qodik7CiB9CiAKLXN0cnVjdCB2Y3B1ICp2Y3B1X2NyZWF0ZSgKLSAgICBzdHJ1Y3Qg ZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgdmNwdV9pZCwgdW5zaWduZWQgaW50IGNwdV9pZCkKK3N0 cnVjdCB2Y3B1ICp2Y3B1X2NyZWF0ZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgdmNw dV9pZCkKIHsKICAgICBzdHJ1Y3QgdmNwdSAqdjsKIApAQCAtMTYxLDcgKzE2MCw3IEBAIHN0cnVj dCB2Y3B1ICp2Y3B1X2NyZWF0ZSgKICAgICAgICAgaW5pdF93YWl0cXVldWVfdmNwdSh2KTsKICAg ICB9CiAKLSAgICBpZiAoIHNjaGVkX2luaXRfdmNwdSh2LCBjcHVfaWQpICE9IDAgKQorICAgIGlm ICggc2NoZWRfaW5pdF92Y3B1KHYpICE9IDAgKQogICAgICAgICBnb3RvIGZhaWxfd3E7CiAKICAg ICBpZiAoIGFyY2hfdmNwdV9jcmVhdGUodikgIT0gMCApCmRpZmYgLS1naXQgYS94ZW4vY29tbW9u L2RvbWN0bC5jIGIveGVuL2NvbW1vbi9kb21jdGwuYwppbmRleCBiYzk4NmQxMzFkLi5lNDhmMTdj YjE5IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL2RvbWN0bC5jCisrKyBiL3hlbi9jb21tb24vZG9t Y3RsLmMKQEAgLTU0MCw4ICs1NDAsNyBAQCBsb25nIGRvX2RvbWN0bChYRU5fR1VFU1RfSEFORExF X1BBUkFNKHhlbl9kb21jdGxfdCkgdV9kb21jdGwpCiAKICAgICBjYXNlIFhFTl9ET01DVExfbWF4 X3ZjcHVzOgogICAgIHsKLSAgICAgICAgdW5zaWduZWQgaW50IGksIG1heCA9IG9wLT51Lm1heF92 Y3B1cy5tYXgsIGNwdTsKLSAgICAgICAgY3B1bWFza190ICpvbmxpbmU7CisgICAgICAgIHVuc2ln bmVkIGludCBpLCBtYXggPSBvcC0+dS5tYXhfdmNwdXMubWF4OwogCiAgICAgICAgIHJldCA9IC1F SU5WQUw7CiAgICAgICAgIGlmICggKGQgPT0gY3VycmVudC0+ZG9tYWluKSB8fCAvKiBubyBkb21h aW5fcGF1c2UoKSAqLwpAQCAtNTUyLDE4ICs1NTEsMTMgQEAgbG9uZyBkb19kb21jdGwoWEVOX0dV RVNUX0hBTkRMRV9QQVJBTSh4ZW5fZG9tY3RsX3QpIHVfZG9tY3RsKQogICAgICAgICBkb21haW5f cGF1c2UoZCk7CiAKICAgICAgICAgcmV0ID0gLUVOT01FTTsKLSAgICAgICAgb25saW5lID0gY3B1 cG9vbF9kb21haW5fY3B1bWFzayhkKTsKIAogICAgICAgICBmb3IgKCBpID0gMDsgaSA8IG1heDsg aSsrICkKICAgICAgICAgewogICAgICAgICAgICAgaWYgKCBkLT52Y3B1W2ldICE9IE5VTEwgKQog ICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgICAgICBjcHUgPSAoaSA9PSAwKSA/ Ci0gICAgICAgICAgICAgICAgY3B1bWFza19hbnkob25saW5lKSA6Ci0gICAgICAgICAgICAgICAg Y3B1bWFza19jeWNsZShkLT52Y3B1W2ktMV0tPnByb2Nlc3Nvciwgb25saW5lKTsKLQotICAgICAg ICAgICAgaWYgKCB2Y3B1X2NyZWF0ZShkLCBpLCBjcHUpID09IE5VTEwgKQorICAgICAgICAgICAg aWYgKCB2Y3B1X2NyZWF0ZShkLCBpKSA9PSBOVUxMICkKICAgICAgICAgICAgICAgICBnb3RvIG1h eHZjcHVfb3V0OwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2NoZWR1bGUu YyBiL3hlbi9jb21tb24vc2NoZWR1bGUuYwppbmRleCA1M2EzZTU1ZjBiLi4yYzFiYTMyZDgzIDEw MDY0NAotLS0gYS94ZW4vY29tbW9uL3NjaGVkdWxlLmMKKysrIGIveGVuL2NvbW1vbi9zY2hlZHVs ZS5jCkBAIC0zMTQsMTQgKzMxNCw1MiBAQCBzdGF0aWMgc3RydWN0IHNjaGVkX3VuaXQgKnNjaGVk X2FsbG9jX3VuaXQoc3RydWN0IHZjcHUgKnYpCiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKLWludCBz Y2hlZF9pbml0X3ZjcHUoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCBwcm9jZXNzb3IpCitz dGF0aWMgdW5zaWduZWQgaW50IHNjaGVkX3NlbGVjdF9pbml0aWFsX2NwdShjb25zdCBzdHJ1Y3Qg dmNwdSAqdikKK3sKKyAgICBjb25zdCBzdHJ1Y3QgZG9tYWluICpkID0gdi0+ZG9tYWluOworICAg IG5vZGVpZF90IG5vZGU7CisgICAgc3BpbmxvY2tfdCAqbG9jazsKKyAgICB1bnNpZ25lZCBsb25n IGZsYWdzOworICAgIHVuc2lnbmVkIGludCBjcHVfcmV0LCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lk KCk7CisgICAgY3B1bWFza190ICpjcHVzID0gY3B1bWFza19zY3JhdGNoX2NwdShjcHUpOworCisg ICAgbG9jayA9IHBjcHVfc2NoZWR1bGVfbG9ja19pcnFzYXZlKGNwdSwgJmZsYWdzKTsKKyAgICBj cHVtYXNrX2NsZWFyKGNwdXMpOworICAgIGZvcl9lYWNoX25vZGVfbWFzayAoIG5vZGUsIGQtPm5v ZGVfYWZmaW5pdHkgKQorICAgICAgICBjcHVtYXNrX29yKGNwdXMsIGNwdXMsICZub2RlX3RvX2Nw dW1hc2sobm9kZSkpOworICAgIGNwdW1hc2tfYW5kKGNwdXMsIGNwdXMsIGNwdXBvb2xfZG9tYWlu X2NwdW1hc2soZCkpOworICAgIGlmICggY3B1bWFza19lbXB0eShjcHVzKSApCisgICAgICAgIGNw dW1hc2tfY29weShjcHVzLCBjcHVwb29sX2RvbWFpbl9jcHVtYXNrKGQpKTsKKworICAgIGlmICgg di0+dmNwdV9pZCA9PSAwICkKKyAgICAgICAgY3B1X3JldCA9IGNwdW1hc2tfZmlyc3QoY3B1cyk7 CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgLyogV2UgY2FuIHJlbHkgb24gcHJldmlvdXMgdmNw dSBiZWluZyBhdmFpbGFibGUuICovCisgICAgICAgIEFTU0VSVCghaXNfaWRsZV9kb21haW4oZCkp OworCisgICAgICAgIGNwdV9yZXQgPSBjcHVtYXNrX2N5Y2xlKGQtPnZjcHVbdi0+dmNwdV9pZCAt IDFdLT5wcm9jZXNzb3IsIGNwdXMpOworICAgIH0KKworICAgIHBjcHVfc2NoZWR1bGVfdW5sb2Nr X2lycXJlc3RvcmUobG9jaywgZmxhZ3MsIGNwdSk7CisKKyAgICByZXR1cm4gY3B1X3JldDsKK30K KworaW50IHNjaGVkX2luaXRfdmNwdShzdHJ1Y3QgdmNwdSAqdikKIHsKICAgICBzdHJ1Y3QgZG9t YWluICpkID0gdi0+ZG9tYWluOwogICAgIHN0cnVjdCBzY2hlZF91bml0ICp1bml0OworICAgIHVu c2lnbmVkIGludCBwcm9jZXNzb3I7CiAKICAgICBpZiAoICh1bml0ID0gc2NoZWRfYWxsb2NfdW5p dCh2KSkgPT0gTlVMTCApCiAgICAgICAgIHJldHVybiAxOwogCisgICAgaWYgKCBpc19pZGxlX2Rv bWFpbihkKSApCisgICAgICAgIHByb2Nlc3NvciA9IHYtPnZjcHVfaWQ7CisgICAgZWxzZQorICAg ICAgICBwcm9jZXNzb3IgPSBzY2hlZF9zZWxlY3RfaW5pdGlhbF9jcHUodik7CisKICAgICBzY2hl ZF9zZXRfcmVzKHVuaXQsIGdldF9zY2hlZF9yZXMocHJvY2Vzc29yKSk7CiAKICAgICAvKiBJbml0 aWFsaXNlIHRoZSBwZXItdmNwdSB0aW1lcnMuICovCkBAIC0xNjczLDcgKzE3MTEsNyBAQCBzdGF0 aWMgaW50IGNwdV9zY2hlZHVsZV91cCh1bnNpZ25lZCBpbnQgY3B1KQogICAgICAgICByZXR1cm4g MDsKIAogICAgIGlmICggaWRsZV92Y3B1W2NwdV0gPT0gTlVMTCApCi0gICAgICAgIHZjcHVfY3Jl YXRlKGlkbGVfdmNwdVswXS0+ZG9tYWluLCBjcHUsIGNwdSk7CisgICAgICAgIHZjcHVfY3JlYXRl KGlkbGVfdmNwdVswXS0+ZG9tYWluLCBjcHUpOwogICAgIGVsc2UKICAgICB7CiAgICAgICAgIHN0 cnVjdCB2Y3B1ICppZGxlID0gaWRsZV92Y3B1W2NwdV07CkBAIC0xODk0LDcgKzE5MzIsNyBAQCB2 b2lkIF9faW5pdCBzY2hlZHVsZXJfaW5pdCh2b2lkKQogICAgIEJVR19PTihucl9jcHVfaWRzID4g QVJSQVlfU0laRShpZGxlX3ZjcHUpKTsKICAgICBpZGxlX2RvbWFpbi0+dmNwdSA9IGlkbGVfdmNw dTsKICAgICBpZGxlX2RvbWFpbi0+bWF4X3ZjcHVzID0gbnJfY3B1X2lkczsKLSAgICBpZiAoIHZj cHVfY3JlYXRlKGlkbGVfZG9tYWluLCAwLCAwKSA9PSBOVUxMICkKKyAgICBpZiAoIHZjcHVfY3Jl YXRlKGlkbGVfZG9tYWluLCAwKSA9PSBOVUxMICkKICAgICAgICAgQlVHKCk7CiAgICAgZ2V0X3Nj aGVkX3JlcygwKS0+Y3VyciA9IGlkbGVfdmNwdVswXS0+c2NoZWRfdW5pdDsKICAgICBnZXRfc2No ZWRfcmVzKDApLT5zY2hlZF9wcml2ID0gc2NoZWRfYWxsb2NfcGRhdGEoJm9wcywgMCk7CmRpZmYg LS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2RvbTBfYnVpbGQuaCBiL3hlbi9pbmNsdWRlL2Fz bS14ODYvZG9tMF9idWlsZC5oCmluZGV4IDMzYTU0ODM3MzkuLjNlYjRiMDM2ZTEgMTAwNjQ0Ci0t LSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tMF9idWlsZC5oCisrKyBiL3hlbi9pbmNsdWRlL2Fz bS14ODYvZG9tMF9idWlsZC5oCkBAIC0xMSw4ICsxMSw3IEBAIGV4dGVybiB1bnNpZ25lZCBpbnQg ZG9tMF9tZW1mbGFnczsKIHVuc2lnbmVkIGxvbmcgZG9tMF9jb21wdXRlX25yX3BhZ2VzKHN0cnVj dCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg ZWxmX2RvbV9wYXJtcyAqcGFybXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1bnNpZ25lZCBsb25nIGluaXRyZF9sZW4pOwotc3RydWN0IHZjcHUgKmRvbTBfc2V0dXBfdmNw dShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgdmNwdV9pZCwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGNwdSk7CitzdHJ1Y3QgdmNwdSAqZG9tMF9zZXR1 cF92Y3B1KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCB2Y3B1X2lkKTsKIGludCBkb20w X3NldHVwX3Blcm1pc3Npb25zKHN0cnVjdCBkb21haW4gKmQpOwogCiBpbnQgZG9tMF9jb25zdHJ1 Y3RfcHYoc3RydWN0IGRvbWFpbiAqZCwgY29uc3QgbW9kdWxlX3QgKmltYWdlLApkaWZmIC0tZ2l0 IGEveGVuL2luY2x1ZGUveGVuL2RvbWFpbi5oIGIveGVuL2luY2x1ZGUveGVuL2RvbWFpbi5oCmlu ZGV4IGQxYmZjODJmNTcuLmE2ZTkyOTY4NWMgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9k b21haW4uaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vZG9tYWluLmgKQEAgLTEzLDggKzEzLDcgQEAg dHlwZWRlZiB1bmlvbiB7CiAgICAgc3RydWN0IGNvbXBhdF92Y3B1X2d1ZXN0X2NvbnRleHQgKmNt cDsKIH0gdmNwdV9ndWVzdF9jb250ZXh0X3UgX19hdHRyaWJ1dGVfXygoX190cmFuc3BhcmVudF91 bmlvbl9fKSk7CiAKLXN0cnVjdCB2Y3B1ICp2Y3B1X2NyZWF0ZSgKLSAgICBzdHJ1Y3QgZG9tYWlu ICpkLCB1bnNpZ25lZCBpbnQgdmNwdV9pZCwgdW5zaWduZWQgaW50IGNwdV9pZCk7CitzdHJ1Y3Qg dmNwdSAqdmNwdV9jcmVhdGUoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHZjcHVfaWQp OwogCiB1bnNpZ25lZCBpbnQgZG9tMF9tYXhfdmNwdXModm9pZCk7CiBzdHJ1Y3QgdmNwdSAqYWxs b2NfZG9tMF92Y3B1MChzdHJ1Y3QgZG9tYWluICpkb20wKTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNs dWRlL3hlbi9zY2hlZC1pZi5oIGIveGVuL2luY2x1ZGUveGVuL3NjaGVkLWlmLmgKaW5kZXggY2E3 MGZmYjdlOS4uMmE4Nzg5YjQzOCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL3NjaGVkLWlm LmgKKysrIGIveGVuL2luY2x1ZGUveGVuL3NjaGVkLWlmLmgKQEAgLTQ1Miw3ICs0NTIsNyBAQCBz dHJ1Y3QgY3B1cG9vbAogI2RlZmluZSBjcHVwb29sX29ubGluZV9jcHVtYXNrKF9wb29sKSBcCiAg ICAgKCgoX3Bvb2wpID09IE5VTEwpID8gJmNwdV9vbmxpbmVfbWFwIDogKF9wb29sKS0+Y3B1X3Zh bGlkKQogCi1zdGF0aWMgaW5saW5lIGNwdW1hc2tfdCogY3B1cG9vbF9kb21haW5fY3B1bWFzayhz dHJ1Y3QgZG9tYWluICpkKQorc3RhdGljIGlubGluZSBjcHVtYXNrX3QqIGNwdXBvb2xfZG9tYWlu X2NwdW1hc2soY29uc3Qgc3RydWN0IGRvbWFpbiAqZCkKIHsKICAgICAvKgogICAgICAqIGQtPmNw dXBvb2wgaXMgTlVMTCBvbmx5IGZvciB0aGUgaWRsZSBkb21haW4sIGFuZCBubyBvbmUgc2hvdWxk CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaCBiL3hlbi9pbmNsdWRlL3hlbi9z Y2hlZC5oCmluZGV4IDEzYmFiMjU4ZDUuLmIxNGRmZjZmYzQgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNs dWRlL3hlbi9zY2hlZC5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9zY2hlZC5oCkBAIC02NjAsNyAr NjYwLDcgQEAgdm9pZCBfX2RvbWFpbl9jcmFzaChzdHJ1Y3QgZG9tYWluICpkKTsKIHZvaWQgbm9y ZXR1cm4gYXNtX2RvbWFpbl9jcmFzaF9zeW5jaHJvbm91cyh1bnNpZ25lZCBsb25nIGFkZHIpOwog CiB2b2lkIHNjaGVkdWxlcl9pbml0KHZvaWQpOwotaW50ICBzY2hlZF9pbml0X3ZjcHUoc3RydWN0 IHZjcHUgKnYsIHVuc2lnbmVkIGludCBwcm9jZXNzb3IpOworaW50ICBzY2hlZF9pbml0X3ZjcHUo c3RydWN0IHZjcHUgKnYpOwogdm9pZCBzY2hlZF9kZXN0cm95X3ZjcHUoc3RydWN0IHZjcHUgKnYp OwogaW50ICBzY2hlZF9pbml0X2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkLCBpbnQgcG9vbGlkKTsK IHZvaWQgc2NoZWRfZGVzdHJveV9kb21haW4oc3RydWN0IGRvbWFpbiAqZCk7Ci0tIAoyLjE2LjQK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xp c3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id F1BD4C04AB6 for ; Tue, 28 May 2019 10:33:57 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C7F352075C for ; Tue, 28 May 2019 10:33:57 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C7F352075C Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hVZQK-000562-H0; Tue, 28 May 2019 10:33:40 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hVZQ8-0004hO-Nl for xen-devel@lists.xenproject.org; Tue, 28 May 2019 10:33:28 +0000 X-Inumbo-ID: 057f2141-8134-11e9-8980-bc764e045a96 Received: from mx1.suse.de (unknown [195.135.220.15]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 057f2141-8134-11e9-8980-bc764e045a96; Tue, 28 May 2019 10:33:24 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 44DABB048; Tue, 28 May 2019 10:33:23 +0000 (UTC) From: Juergen Gross To: xen-devel@lists.xenproject.org Date: Tue, 28 May 2019 12:32:39 +0200 Message-Id: <20190528103313.1343-27-jgross@suse.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20190528103313.1343-1-jgross@suse.com> References: <20190528103313.1343-1-jgross@suse.com> Subject: [Xen-devel] [PATCH 26/60] xen: let vcpu_create() select processor X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Juergen Gross , Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Jan Beulich , Dario Faggioli , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Message-ID: <20190528103239.TTCVFzPEjqbeV66Ayh4DqHKmkllmcqK0eYe-G2Ztfsw@z> VG9kYXkgdGhlcmUgYXJlIHR3byBkaXN0aW5jdCBzY2VuYXJpb3MgZm9yIHZjcHVfY3JlYXRlKCk6 IGVpdGhlciBmb3IKY3JlYXRpb24gb2YgaWRsZS1kb21haW4gdmNwdXMgKHZjcHVpZCA9PSBwcm9j ZXNzb3IpIG9yIGZvciBjcmVhdGlvbiBvZgoibm9ybWFsIiBkb21haW4gdmNwdXMgKGluY2x1ZGlu ZyBkb20wKSwgd2hlcmUgdGhlIGNhbGxlciBzZWxlY3RzIHRoZQppbml0aWFsIHByb2Nlc3NvciBv biBhIHJvdW5kLXJvYmluIHNjaGVtZSBvZiB0aGUgYWxsb3dlZCBwcm9jZXNzb3JzCihhbGxvd2Vk IGJlaW5nIGJhc2VkIG9uIGNwdXBvb2wgYW5kIGFmZmluaXRpZXMpLgoKSW5zdGVhZCBvZiBwYXNz aW5nIHRoZSBpbml0aWFsIHByb2Nlc3NvciB0byB2Y3B1X2NyZWF0ZSgpIGFuZCBwYXNzaW5nCm9u IHRvIHNjaGVkX2luaXRfdmNwdSgpIGxldCBzY2hlZF9pbml0X3ZjcHUoKSBkbyB0aGUgcHJvY2Vz c29yCnNlbGVjdGlvbi4gRm9yIHN1cHBvcnRpbmcgZG9tMCB2Y3B1IGNyZWF0aW9uIHVzZSB0aGUg bm9kZV9hZmZpbml0eSBvZgp0aGUgZG9tYWluIGFzIGEgYmFzZSBmb3Igc2VsZWN0aW5nIHRoZSBw cm9jZXNzb3JzLiBVc2VyIGRvbWFpbnMgd2lsbApoYXZlIGluaXRpYWxseSBhbGwgbm9kZXMgc2V0 LCBzbyB0aGlzIGlzIG5vIGRpZmZlcmVudCBiZWhhdmlvciBjb21wYXJlZAp0byB0b2RheS4KClRv IGJlIGFibGUgdG8gdXNlIGNvbnN0IHN0cnVjdCBkb21haW4gKiBtYWtlIGNwdXBvb2xfZG9tYWlu X2NwdW1hc2soKQp0YWtlIGEgY29uc3QgZG9tYWluIHBvaW50ZXIsIHRvby4KClNpZ25lZC1vZmYt Ynk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KQWNrZWQtYnk6IEFuZHJldyBDb29w ZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQpSRkMgVjI6IGFkZCBBU1NFUlQoKSwg bW9kaWZ5IGVycm9yIG1lc3NhZ2UgKEFuZHJldyBDb29wZXIpClYxOiBjb25zdGlmeSBwb2ludGVy cywgYXZvaWQgY3B1bWFzayBvbiBzdGFjayAoSmFuIEJldWxpY2gpCi0tLQogeGVuL2FyY2gvYXJt L2RvbWFpbl9idWlsZC5jICAgICAgfCAxMyArKysrKystLS0tLS0KIHhlbi9hcmNoL3g4Ni9kb20w X2J1aWxkLmMgICAgICAgIHwgMTAgKysrLS0tLS0tCiB4ZW4vYXJjaC94ODYvaHZtL2RvbTBfYnVp bGQuYyAgICB8ICA5ICsrLS0tLS0tCiB4ZW4vYXJjaC94ODYvcHYvZG9tMF9idWlsZC5jICAgICB8 IDEwICsrLS0tLS0tLQogeGVuL2NvbW1vbi9kb21haW4uYyAgICAgICAgICAgICAgfCAgNSArKy0t LQogeGVuL2NvbW1vbi9kb21jdGwuYyAgICAgICAgICAgICAgfCAxMCArKy0tLS0tLS0KIHhlbi9j b21tb24vc2NoZWR1bGUuYyAgICAgICAgICAgIHwgNDQgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9kb20wX2J1aWxkLmggfCAgMyAr LS0KIHhlbi9pbmNsdWRlL3hlbi9kb21haW4uaCAgICAgICAgIHwgIDMgKy0tCiB4ZW4vaW5jbHVk ZS94ZW4vc2NoZWQtaWYuaCAgICAgICB8ICAyICstCiB4ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaCAg ICAgICAgICB8ICAyICstCiAxMSBmaWxlcyBjaGFuZ2VkLCA2MiBpbnNlcnRpb25zKCspLCA0OSBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMgYi94 ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMKaW5kZXggZDk4MzY3NzlkMS4uODZhNmU0YmY3YiAx MDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jCisrKyBiL3hlbi9hcmNoL2Fy bS9kb21haW5fYnVpbGQuYwpAQCAtODAsNyArODAsNyBAQCB1bnNpZ25lZCBpbnQgX19pbml0IGRv bTBfbWF4X3ZjcHVzKHZvaWQpCiAKIHN0cnVjdCB2Y3B1ICpfX2luaXQgYWxsb2NfZG9tMF92Y3B1 MChzdHJ1Y3QgZG9tYWluICpkb20wKQogewotICAgIHJldHVybiB2Y3B1X2NyZWF0ZShkb20wLCAw LCAwKTsKKyAgICByZXR1cm4gdmNwdV9jcmVhdGUoZG9tMCwgMCk7CiB9CiAKIHN0YXRpYyB1bnNp Z25lZCBpbnQgX19pbml0IGdldF9hbGxvY2F0aW9uX3NpemUocGFkZHJfdCBzaXplKQpAQCAtMTky Myw3ICsxOTIzLDcgQEAgc3RhdGljIHZvaWQgX19pbml0IGZpbmRfZ250dGFiX3JlZ2lvbihzdHJ1 Y3QgZG9tYWluICpkLAogCiBzdGF0aWMgaW50IF9faW5pdCBjb25zdHJ1Y3RfZG9tYWluKHN0cnVj dCBkb21haW4gKmQsIHN0cnVjdCBrZXJuZWxfaW5mbyAqa2luZm8pCiB7Ci0gICAgaW50IGksIGNw dTsKKyAgICBpbnQgaTsKICAgICBzdHJ1Y3QgdmNwdSAqdiA9IGQtPnZjcHVbMF07CiAgICAgc3Ry dWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MgPSAmdi0+YXJjaC5jcHVfaW5mby0+Z3Vlc3RfY3B1X3Vz ZXJfcmVnczsKIApAQCAtMTk4NiwxMiArMTk4NiwxMSBAQCBzdGF0aWMgaW50IF9faW5pdCBjb25z dHJ1Y3RfZG9tYWluKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBrZXJuZWxfaW5mbyAqa2luZm8p CiAgICAgfQogI2VuZGlmCiAKLSAgICBmb3IgKCBpID0gMSwgY3B1ID0gMDsgaSA8IGQtPm1heF92 Y3B1czsgaSsrICkKKyAgICBmb3IgKCBpID0gMTsgaSA8IGQtPm1heF92Y3B1czsgaSsrICkKICAg ICB7Ci0gICAgICAgIGNwdSA9IGNwdW1hc2tfY3ljbGUoY3B1LCAmY3B1X29ubGluZV9tYXApOwot ICAgICAgICBpZiAoIHZjcHVfY3JlYXRlKGQsIGksIGNwdSkgPT0gTlVMTCApCisgICAgICAgIGlm ICggdmNwdV9jcmVhdGUoZCwgaSkgPT0gTlVMTCApCiAgICAgICAgIHsKLSAgICAgICAgICAgIHBy aW50aygiRmFpbGVkIHRvIGFsbG9jYXRlIGRvbTAgdmNwdSAlZCBvbiBwY3B1ICVkXG4iLCBpLCBj cHUpOworICAgICAgICAgICAgcHJpbnRrKCJGYWlsZWQgdG8gYWxsb2NhdGUgZDB2JXVcbiIsIGkp OwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApAQCAtMjAyNiw3ICsyMDI1LDcgQEAg c3RhdGljIGludCBfX2luaXQgY29uc3RydWN0X2RvbVUoc3RydWN0IGRvbWFpbiAqZCwKIAogICAg IGtpbmZvLnZwbDAxMSA9IGR0X3Byb3BlcnR5X3JlYWRfYm9vbChub2RlLCAidnBsMDExIik7CiAK LSAgICBpZiAoIHZjcHVfY3JlYXRlKGQsIDAsIDApID09IE5VTEwgKQorICAgIGlmICggdmNwdV9j cmVhdGUoZCwgMCkgPT0gTlVMTCApCiAgICAgICAgIHJldHVybiAtRU5PTUVNOwogICAgIGQtPm1h eF9wYWdlcyA9IH4wVTsKIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbTBfYnVpbGQuYyBi L3hlbi9hcmNoL3g4Ni9kb20wX2J1aWxkLmMKaW5kZXggOWIwNjM2MzljOS4uOWMyM2NmNmFhYiAx MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2RvbTBfYnVpbGQuYworKysgYi94ZW4vYXJjaC94ODYv ZG9tMF9idWlsZC5jCkBAIC0xOTgsMTIgKzE5OCw5IEBAIGN1c3RvbV9wYXJhbSgiZG9tMF9ub2Rl cyIsIHBhcnNlX2RvbTBfbm9kZXMpOwogCiBzdGF0aWMgY3B1bWFza190IF9faW5pdGRhdGEgZG9t MF9jcHVzOwogCi1zdHJ1Y3QgdmNwdSAqX19pbml0IGRvbTBfc2V0dXBfdmNwdShzdHJ1Y3QgZG9t YWluICpkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50 IHZjcHVfaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp bnQgcHJldl9jcHUpCitzdHJ1Y3QgdmNwdSAqX19pbml0IGRvbTBfc2V0dXBfdmNwdShzdHJ1Y3Qg ZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgdmNwdV9pZCkKIHsKLSAgICB1bnNpZ25lZCBpbnQgY3B1 ID0gY3B1bWFza19jeWNsZShwcmV2X2NwdSwgJmRvbTBfY3B1cyk7Ci0gICAgc3RydWN0IHZjcHUg KnYgPSB2Y3B1X2NyZWF0ZShkLCB2Y3B1X2lkLCBjcHUpOworICAgIHN0cnVjdCB2Y3B1ICp2ID0g dmNwdV9jcmVhdGUoZCwgdmNwdV9pZCk7CiAKICAgICBpZiAoIHYgKQogICAgIHsKQEAgLTI3Myw4 ICsyNzAsNyBAQCBzdHJ1Y3QgdmNwdSAqX19pbml0IGFsbG9jX2RvbTBfdmNwdTAoc3RydWN0IGRv bWFpbiAqZG9tMCkKICAgICBkb20wLT5ub2RlX2FmZmluaXR5ID0gZG9tMF9ub2RlczsKICAgICBk b20wLT5hdXRvX25vZGVfYWZmaW5pdHkgPSAhZG9tMF9ucl9weG1zOwogCi0gICAgcmV0dXJuIGRv bTBfc2V0dXBfdmNwdShkb20wLCAwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgY3B1bWFz a19sYXN0KCZkb20wX2NwdXMpIC8qIHNvIGl0IHdyYXBzIGFyb3VuZCB0byBmaXJzdCBwY3B1ICov KTsKKyAgICByZXR1cm4gZG9tMF9zZXR1cF92Y3B1KGRvbTAsIDApOwogfQogCiAjaWZkZWYgQ09O RklHX1NIQURPV19QQUdJTkcKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vZG9tMF9idWls ZC5jIGIveGVuL2FyY2gveDg2L2h2bS9kb20wX2J1aWxkLmMKaW5kZXggODg0NTM5OWFlOS4uZmQ4 ZDk2MDliMSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9kb20wX2J1aWxkLmMKKysrIGIv eGVuL2FyY2gveDg2L2h2bS9kb20wX2J1aWxkLmMKQEAgLTYxNCw3ICs2MTQsNyBAQCBzdGF0aWMg aW50IF9faW5pdCBwdmhfc2V0dXBfY3B1cyhzdHJ1Y3QgZG9tYWluICpkLCBwYWRkcl90IGVudHJ5 LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZHJfdCBzdGFydF9pbmZvKQog ewogICAgIHN0cnVjdCB2Y3B1ICp2ID0gZC0+dmNwdVswXTsKLSAgICB1bnNpZ25lZCBpbnQgY3B1 ID0gdi0+cHJvY2Vzc29yLCBpOworICAgIHVuc2lnbmVkIGludCBpOwogICAgIGludCByYzsKICAg ICAvKgogICAgICAqIFRoaXMgc2V0cyB0aGUgdkNQVSBzdGF0ZSBhY2NvcmRpbmcgdG8gdGhlIHN0 YXRlIGRlc2NyaWJlZCBpbgpAQCAtNjM2LDEyICs2MzYsNyBAQCBzdGF0aWMgaW50IF9faW5pdCBw dmhfc2V0dXBfY3B1cyhzdHJ1Y3QgZG9tYWluICpkLCBwYWRkcl90IGVudHJ5LAogICAgIH07CiAK ICAgICBmb3IgKCBpID0gMTsgaSA8IGQtPm1heF92Y3B1czsgaSsrICkKLSAgICB7Ci0gICAgICAg IGNvbnN0IHN0cnVjdCB2Y3B1ICpwID0gZG9tMF9zZXR1cF92Y3B1KGQsIGksIGNwdSk7Ci0KLSAg ICAgICAgaWYgKCBwICkKLSAgICAgICAgICAgIGNwdSA9IHAtPnByb2Nlc3NvcjsKLSAgICB9Cisg ICAgICAgIGRvbTBfc2V0dXBfdmNwdShkLCBpKTsKIAogICAgIGRvbWFpbl91cGRhdGVfbm9kZV9h ZmZpbml0eShkKTsKIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3B2L2RvbTBfYnVpbGQuYyBi L3hlbi9hcmNoL3g4Ni9wdi9kb20wX2J1aWxkLmMKaW5kZXggOTAzNjExZmIwZC4uMjE1YzJlN2Q4 NCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3B2L2RvbTBfYnVpbGQuYworKysgYi94ZW4vYXJj aC94ODYvcHYvZG9tMF9idWlsZC5jCkBAIC0yODUsNyArMjg1LDcgQEAgaW50IF9faW5pdCBkb20w X2NvbnN0cnVjdF9wdihzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBtb2R1bGVfdCAqaW5pdHJkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFy ICpjbWRsaW5lKQogewotICAgIGludCBpLCBjcHUsIHJjLCBjb21wYXRpYmxlLCBvcmRlciwgbWFj aGluZTsKKyAgICBpbnQgaSwgcmMsIGNvbXBhdGlibGUsIG9yZGVyLCBtYWNoaW5lOwogICAgIHN0 cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzOwogICAgIHVuc2lnbmVkIGxvbmcgcGZuLCBtZm47CiAg ICAgdW5zaWduZWQgbG9uZyBucl9wYWdlczsKQEAgLTY5NCwxNCArNjk0LDggQEAgaW50IF9faW5p dCBkb20wX2NvbnN0cnVjdF9wdihzdHJ1Y3QgZG9tYWluICpkLAogCiAgICAgcHJpbnRrKCJEb20l dSBoYXMgbWF4aW11bSAldSBWQ1BVc1xuIiwgZC0+ZG9tYWluX2lkLCBkLT5tYXhfdmNwdXMpOwog Ci0gICAgY3B1ID0gdi0+cHJvY2Vzc29yOwogICAgIGZvciAoIGkgPSAxOyBpIDwgZC0+bWF4X3Zj cHVzOyBpKysgKQotICAgIHsKLSAgICAgICAgY29uc3Qgc3RydWN0IHZjcHUgKnAgPSBkb20wX3Nl dHVwX3ZjcHUoZCwgaSwgY3B1KTsKLQotICAgICAgICBpZiAoIHAgKQotICAgICAgICAgICAgY3B1 ID0gcC0+cHJvY2Vzc29yOwotICAgIH0KKyAgICAgICAgZG9tMF9zZXR1cF92Y3B1KGQsIGkpOwog CiAgICAgZG9tYWluX3VwZGF0ZV9ub2RlX2FmZmluaXR5KGQpOwogICAgIGQtPmFyY2gucGFnaW5n Lm1vZGUgPSAwOwpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9kb21haW4uYyBiL3hlbi9jb21tb24v ZG9tYWluLmMKaW5kZXggYzIwMGU5MDI0Zi4uMmQzNDI3ZWIwZiAxMDA2NDQKLS0tIGEveGVuL2Nv bW1vbi9kb21haW4uYworKysgYi94ZW4vY29tbW9uL2RvbWFpbi5jCkBAIC0xMjgsOCArMTI4LDcg QEAgc3RhdGljIHZvaWQgdmNwdV9kZXN0cm95KHN0cnVjdCB2Y3B1ICp2KQogICAgIGZyZWVfdmNw dV9zdHJ1Y3Qodik7CiB9CiAKLXN0cnVjdCB2Y3B1ICp2Y3B1X2NyZWF0ZSgKLSAgICBzdHJ1Y3Qg ZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgdmNwdV9pZCwgdW5zaWduZWQgaW50IGNwdV9pZCkKK3N0 cnVjdCB2Y3B1ICp2Y3B1X2NyZWF0ZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgdmNw dV9pZCkKIHsKICAgICBzdHJ1Y3QgdmNwdSAqdjsKIApAQCAtMTYxLDcgKzE2MCw3IEBAIHN0cnVj dCB2Y3B1ICp2Y3B1X2NyZWF0ZSgKICAgICAgICAgaW5pdF93YWl0cXVldWVfdmNwdSh2KTsKICAg ICB9CiAKLSAgICBpZiAoIHNjaGVkX2luaXRfdmNwdSh2LCBjcHVfaWQpICE9IDAgKQorICAgIGlm ICggc2NoZWRfaW5pdF92Y3B1KHYpICE9IDAgKQogICAgICAgICBnb3RvIGZhaWxfd3E7CiAKICAg ICBpZiAoIGFyY2hfdmNwdV9jcmVhdGUodikgIT0gMCApCmRpZmYgLS1naXQgYS94ZW4vY29tbW9u L2RvbWN0bC5jIGIveGVuL2NvbW1vbi9kb21jdGwuYwppbmRleCBiYzk4NmQxMzFkLi5lNDhmMTdj YjE5IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL2RvbWN0bC5jCisrKyBiL3hlbi9jb21tb24vZG9t Y3RsLmMKQEAgLTU0MCw4ICs1NDAsNyBAQCBsb25nIGRvX2RvbWN0bChYRU5fR1VFU1RfSEFORExF X1BBUkFNKHhlbl9kb21jdGxfdCkgdV9kb21jdGwpCiAKICAgICBjYXNlIFhFTl9ET01DVExfbWF4 X3ZjcHVzOgogICAgIHsKLSAgICAgICAgdW5zaWduZWQgaW50IGksIG1heCA9IG9wLT51Lm1heF92 Y3B1cy5tYXgsIGNwdTsKLSAgICAgICAgY3B1bWFza190ICpvbmxpbmU7CisgICAgICAgIHVuc2ln bmVkIGludCBpLCBtYXggPSBvcC0+dS5tYXhfdmNwdXMubWF4OwogCiAgICAgICAgIHJldCA9IC1F SU5WQUw7CiAgICAgICAgIGlmICggKGQgPT0gY3VycmVudC0+ZG9tYWluKSB8fCAvKiBubyBkb21h aW5fcGF1c2UoKSAqLwpAQCAtNTUyLDE4ICs1NTEsMTMgQEAgbG9uZyBkb19kb21jdGwoWEVOX0dV RVNUX0hBTkRMRV9QQVJBTSh4ZW5fZG9tY3RsX3QpIHVfZG9tY3RsKQogICAgICAgICBkb21haW5f cGF1c2UoZCk7CiAKICAgICAgICAgcmV0ID0gLUVOT01FTTsKLSAgICAgICAgb25saW5lID0gY3B1 cG9vbF9kb21haW5fY3B1bWFzayhkKTsKIAogICAgICAgICBmb3IgKCBpID0gMDsgaSA8IG1heDsg aSsrICkKICAgICAgICAgewogICAgICAgICAgICAgaWYgKCBkLT52Y3B1W2ldICE9IE5VTEwgKQog ICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgICAgICBjcHUgPSAoaSA9PSAwKSA/ Ci0gICAgICAgICAgICAgICAgY3B1bWFza19hbnkob25saW5lKSA6Ci0gICAgICAgICAgICAgICAg Y3B1bWFza19jeWNsZShkLT52Y3B1W2ktMV0tPnByb2Nlc3Nvciwgb25saW5lKTsKLQotICAgICAg ICAgICAgaWYgKCB2Y3B1X2NyZWF0ZShkLCBpLCBjcHUpID09IE5VTEwgKQorICAgICAgICAgICAg aWYgKCB2Y3B1X2NyZWF0ZShkLCBpKSA9PSBOVUxMICkKICAgICAgICAgICAgICAgICBnb3RvIG1h eHZjcHVfb3V0OwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2NoZWR1bGUu YyBiL3hlbi9jb21tb24vc2NoZWR1bGUuYwppbmRleCA1M2EzZTU1ZjBiLi4yYzFiYTMyZDgzIDEw MDY0NAotLS0gYS94ZW4vY29tbW9uL3NjaGVkdWxlLmMKKysrIGIveGVuL2NvbW1vbi9zY2hlZHVs ZS5jCkBAIC0zMTQsMTQgKzMxNCw1MiBAQCBzdGF0aWMgc3RydWN0IHNjaGVkX3VuaXQgKnNjaGVk X2FsbG9jX3VuaXQoc3RydWN0IHZjcHUgKnYpCiAgICAgcmV0dXJuIE5VTEw7CiB9CiAKLWludCBz Y2hlZF9pbml0X3ZjcHUoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCBwcm9jZXNzb3IpCitz dGF0aWMgdW5zaWduZWQgaW50IHNjaGVkX3NlbGVjdF9pbml0aWFsX2NwdShjb25zdCBzdHJ1Y3Qg dmNwdSAqdikKK3sKKyAgICBjb25zdCBzdHJ1Y3QgZG9tYWluICpkID0gdi0+ZG9tYWluOworICAg IG5vZGVpZF90IG5vZGU7CisgICAgc3BpbmxvY2tfdCAqbG9jazsKKyAgICB1bnNpZ25lZCBsb25n IGZsYWdzOworICAgIHVuc2lnbmVkIGludCBjcHVfcmV0LCBjcHUgPSBzbXBfcHJvY2Vzc29yX2lk KCk7CisgICAgY3B1bWFza190ICpjcHVzID0gY3B1bWFza19zY3JhdGNoX2NwdShjcHUpOworCisg ICAgbG9jayA9IHBjcHVfc2NoZWR1bGVfbG9ja19pcnFzYXZlKGNwdSwgJmZsYWdzKTsKKyAgICBj cHVtYXNrX2NsZWFyKGNwdXMpOworICAgIGZvcl9lYWNoX25vZGVfbWFzayAoIG5vZGUsIGQtPm5v ZGVfYWZmaW5pdHkgKQorICAgICAgICBjcHVtYXNrX29yKGNwdXMsIGNwdXMsICZub2RlX3RvX2Nw dW1hc2sobm9kZSkpOworICAgIGNwdW1hc2tfYW5kKGNwdXMsIGNwdXMsIGNwdXBvb2xfZG9tYWlu X2NwdW1hc2soZCkpOworICAgIGlmICggY3B1bWFza19lbXB0eShjcHVzKSApCisgICAgICAgIGNw dW1hc2tfY29weShjcHVzLCBjcHVwb29sX2RvbWFpbl9jcHVtYXNrKGQpKTsKKworICAgIGlmICgg di0+dmNwdV9pZCA9PSAwICkKKyAgICAgICAgY3B1X3JldCA9IGNwdW1hc2tfZmlyc3QoY3B1cyk7 CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgLyogV2UgY2FuIHJlbHkgb24gcHJldmlvdXMgdmNw dSBiZWluZyBhdmFpbGFibGUuICovCisgICAgICAgIEFTU0VSVCghaXNfaWRsZV9kb21haW4oZCkp OworCisgICAgICAgIGNwdV9yZXQgPSBjcHVtYXNrX2N5Y2xlKGQtPnZjcHVbdi0+dmNwdV9pZCAt IDFdLT5wcm9jZXNzb3IsIGNwdXMpOworICAgIH0KKworICAgIHBjcHVfc2NoZWR1bGVfdW5sb2Nr X2lycXJlc3RvcmUobG9jaywgZmxhZ3MsIGNwdSk7CisKKyAgICByZXR1cm4gY3B1X3JldDsKK30K KworaW50IHNjaGVkX2luaXRfdmNwdShzdHJ1Y3QgdmNwdSAqdikKIHsKICAgICBzdHJ1Y3QgZG9t YWluICpkID0gdi0+ZG9tYWluOwogICAgIHN0cnVjdCBzY2hlZF91bml0ICp1bml0OworICAgIHVu c2lnbmVkIGludCBwcm9jZXNzb3I7CiAKICAgICBpZiAoICh1bml0ID0gc2NoZWRfYWxsb2NfdW5p dCh2KSkgPT0gTlVMTCApCiAgICAgICAgIHJldHVybiAxOwogCisgICAgaWYgKCBpc19pZGxlX2Rv bWFpbihkKSApCisgICAgICAgIHByb2Nlc3NvciA9IHYtPnZjcHVfaWQ7CisgICAgZWxzZQorICAg ICAgICBwcm9jZXNzb3IgPSBzY2hlZF9zZWxlY3RfaW5pdGlhbF9jcHUodik7CisKICAgICBzY2hl ZF9zZXRfcmVzKHVuaXQsIGdldF9zY2hlZF9yZXMocHJvY2Vzc29yKSk7CiAKICAgICAvKiBJbml0 aWFsaXNlIHRoZSBwZXItdmNwdSB0aW1lcnMuICovCkBAIC0xNjczLDcgKzE3MTEsNyBAQCBzdGF0 aWMgaW50IGNwdV9zY2hlZHVsZV91cCh1bnNpZ25lZCBpbnQgY3B1KQogICAgICAgICByZXR1cm4g MDsKIAogICAgIGlmICggaWRsZV92Y3B1W2NwdV0gPT0gTlVMTCApCi0gICAgICAgIHZjcHVfY3Jl YXRlKGlkbGVfdmNwdVswXS0+ZG9tYWluLCBjcHUsIGNwdSk7CisgICAgICAgIHZjcHVfY3JlYXRl KGlkbGVfdmNwdVswXS0+ZG9tYWluLCBjcHUpOwogICAgIGVsc2UKICAgICB7CiAgICAgICAgIHN0 cnVjdCB2Y3B1ICppZGxlID0gaWRsZV92Y3B1W2NwdV07CkBAIC0xODk0LDcgKzE5MzIsNyBAQCB2 b2lkIF9faW5pdCBzY2hlZHVsZXJfaW5pdCh2b2lkKQogICAgIEJVR19PTihucl9jcHVfaWRzID4g QVJSQVlfU0laRShpZGxlX3ZjcHUpKTsKICAgICBpZGxlX2RvbWFpbi0+dmNwdSA9IGlkbGVfdmNw dTsKICAgICBpZGxlX2RvbWFpbi0+bWF4X3ZjcHVzID0gbnJfY3B1X2lkczsKLSAgICBpZiAoIHZj cHVfY3JlYXRlKGlkbGVfZG9tYWluLCAwLCAwKSA9PSBOVUxMICkKKyAgICBpZiAoIHZjcHVfY3Jl YXRlKGlkbGVfZG9tYWluLCAwKSA9PSBOVUxMICkKICAgICAgICAgQlVHKCk7CiAgICAgZ2V0X3Nj aGVkX3JlcygwKS0+Y3VyciA9IGlkbGVfdmNwdVswXS0+c2NoZWRfdW5pdDsKICAgICBnZXRfc2No ZWRfcmVzKDApLT5zY2hlZF9wcml2ID0gc2NoZWRfYWxsb2NfcGRhdGEoJm9wcywgMCk7CmRpZmYg LS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2RvbTBfYnVpbGQuaCBiL3hlbi9pbmNsdWRlL2Fz bS14ODYvZG9tMF9idWlsZC5oCmluZGV4IDMzYTU0ODM3MzkuLjNlYjRiMDM2ZTEgMTAwNjQ0Ci0t LSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tMF9idWlsZC5oCisrKyBiL3hlbi9pbmNsdWRlL2Fz bS14ODYvZG9tMF9idWlsZC5oCkBAIC0xMSw4ICsxMSw3IEBAIGV4dGVybiB1bnNpZ25lZCBpbnQg ZG9tMF9tZW1mbGFnczsKIHVuc2lnbmVkIGxvbmcgZG9tMF9jb21wdXRlX25yX3BhZ2VzKHN0cnVj dCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg ZWxmX2RvbV9wYXJtcyAqcGFybXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1bnNpZ25lZCBsb25nIGluaXRyZF9sZW4pOwotc3RydWN0IHZjcHUgKmRvbTBfc2V0dXBfdmNw dShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgdmNwdV9pZCwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGNwdSk7CitzdHJ1Y3QgdmNwdSAqZG9tMF9zZXR1 cF92Y3B1KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCB2Y3B1X2lkKTsKIGludCBkb20w X3NldHVwX3Blcm1pc3Npb25zKHN0cnVjdCBkb21haW4gKmQpOwogCiBpbnQgZG9tMF9jb25zdHJ1 Y3RfcHYoc3RydWN0IGRvbWFpbiAqZCwgY29uc3QgbW9kdWxlX3QgKmltYWdlLApkaWZmIC0tZ2l0 IGEveGVuL2luY2x1ZGUveGVuL2RvbWFpbi5oIGIveGVuL2luY2x1ZGUveGVuL2RvbWFpbi5oCmlu ZGV4IGQxYmZjODJmNTcuLmE2ZTkyOTY4NWMgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9k b21haW4uaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vZG9tYWluLmgKQEAgLTEzLDggKzEzLDcgQEAg dHlwZWRlZiB1bmlvbiB7CiAgICAgc3RydWN0IGNvbXBhdF92Y3B1X2d1ZXN0X2NvbnRleHQgKmNt cDsKIH0gdmNwdV9ndWVzdF9jb250ZXh0X3UgX19hdHRyaWJ1dGVfXygoX190cmFuc3BhcmVudF91 bmlvbl9fKSk7CiAKLXN0cnVjdCB2Y3B1ICp2Y3B1X2NyZWF0ZSgKLSAgICBzdHJ1Y3QgZG9tYWlu ICpkLCB1bnNpZ25lZCBpbnQgdmNwdV9pZCwgdW5zaWduZWQgaW50IGNwdV9pZCk7CitzdHJ1Y3Qg dmNwdSAqdmNwdV9jcmVhdGUoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHZjcHVfaWQp OwogCiB1bnNpZ25lZCBpbnQgZG9tMF9tYXhfdmNwdXModm9pZCk7CiBzdHJ1Y3QgdmNwdSAqYWxs b2NfZG9tMF92Y3B1MChzdHJ1Y3QgZG9tYWluICpkb20wKTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNs dWRlL3hlbi9zY2hlZC1pZi5oIGIveGVuL2luY2x1ZGUveGVuL3NjaGVkLWlmLmgKaW5kZXggY2E3 MGZmYjdlOS4uMmE4Nzg5YjQzOCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL3NjaGVkLWlm LmgKKysrIGIveGVuL2luY2x1ZGUveGVuL3NjaGVkLWlmLmgKQEAgLTQ1Miw3ICs0NTIsNyBAQCBz dHJ1Y3QgY3B1cG9vbAogI2RlZmluZSBjcHVwb29sX29ubGluZV9jcHVtYXNrKF9wb29sKSBcCiAg ICAgKCgoX3Bvb2wpID09IE5VTEwpID8gJmNwdV9vbmxpbmVfbWFwIDogKF9wb29sKS0+Y3B1X3Zh bGlkKQogCi1zdGF0aWMgaW5saW5lIGNwdW1hc2tfdCogY3B1cG9vbF9kb21haW5fY3B1bWFzayhz dHJ1Y3QgZG9tYWluICpkKQorc3RhdGljIGlubGluZSBjcHVtYXNrX3QqIGNwdXBvb2xfZG9tYWlu X2NwdW1hc2soY29uc3Qgc3RydWN0IGRvbWFpbiAqZCkKIHsKICAgICAvKgogICAgICAqIGQtPmNw dXBvb2wgaXMgTlVMTCBvbmx5IGZvciB0aGUgaWRsZSBkb21haW4sIGFuZCBubyBvbmUgc2hvdWxk CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaCBiL3hlbi9pbmNsdWRlL3hlbi9z Y2hlZC5oCmluZGV4IDEzYmFiMjU4ZDUuLmIxNGRmZjZmYzQgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNs dWRlL3hlbi9zY2hlZC5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9zY2hlZC5oCkBAIC02NjAsNyAr NjYwLDcgQEAgdm9pZCBfX2RvbWFpbl9jcmFzaChzdHJ1Y3QgZG9tYWluICpkKTsKIHZvaWQgbm9y ZXR1cm4gYXNtX2RvbWFpbl9jcmFzaF9zeW5jaHJvbm91cyh1bnNpZ25lZCBsb25nIGFkZHIpOwog CiB2b2lkIHNjaGVkdWxlcl9pbml0KHZvaWQpOwotaW50ICBzY2hlZF9pbml0X3ZjcHUoc3RydWN0 IHZjcHUgKnYsIHVuc2lnbmVkIGludCBwcm9jZXNzb3IpOworaW50ICBzY2hlZF9pbml0X3ZjcHUo c3RydWN0IHZjcHUgKnYpOwogdm9pZCBzY2hlZF9kZXN0cm95X3ZjcHUoc3RydWN0IHZjcHUgKnYp OwogaW50ICBzY2hlZF9pbml0X2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkLCBpbnQgcG9vbGlkKTsK IHZvaWQgc2NoZWRfZGVzdHJveV9kb21haW4oc3RydWN0IGRvbWFpbiAqZCk7Ci0tIAoyLjE2LjQK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2 ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xp c3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs