From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH RFC V2 24/45] xen: let vcpu_create() select processor Date: Mon, 6 May 2019 08:56:23 +0200 Message-ID: <20190506065644.7415-25-jgross@suse.com> References: <20190506065644.7415-1-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hNXYi-00028X-3a for xen-devel@lists.xenproject.org; Mon, 06 May 2019 06:57:08 +0000 In-Reply-To: <20190506065644.7415-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 LCBzbyB0aGlzIGlzIG5vIGRpZmZlcmVudCBiZWhhdmlvciBjb21wYXJlZAp0byB0b2RheS4KClNp Z25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KQWNrZWQtYnk6IEFu ZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQpSRkMgVjI6IGFkZCBB U1NFUlQoKSwgbW9kaWZ5IGVycm9yIG1lc3NhZ2UgKEFuZHJldyBDb29wZXIpCi0tLQogeGVuL2Fy Y2gvYXJtL2RvbWFpbl9idWlsZC5jICAgICAgfCAxMyArKysrKystLS0tLS0tCiB4ZW4vYXJjaC94 ODYvZG9tMF9idWlsZC5jICAgICAgICB8IDEwICsrKy0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9odm0v ZG9tMF9idWlsZC5jICAgIHwgIDkgKystLS0tLS0tCiB4ZW4vYXJjaC94ODYvcHYvZG9tMF9idWls ZC5jICAgICB8IDEwICsrLS0tLS0tLS0KIHhlbi9jb21tb24vZG9tYWluLmMgICAgICAgICAgICAg IHwgIDUgKystLS0KIHhlbi9jb21tb24vZG9tY3RsLmMgICAgICAgICAgICAgIHwgMTAgKystLS0t LS0tLQogeGVuL2NvbW1vbi9zY2hlZHVsZS5jICAgICAgICAgICAgfCAzNCArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2RvbTBfYnVpbGQuaCB8 ICAzICstLQogeGVuL2luY2x1ZGUveGVuL2RvbWFpbi5oICAgICAgICAgfCAgMyArLS0KIHhlbi9p bmNsdWRlL3hlbi9zY2hlZC5oICAgICAgICAgIHwgIDIgKy0KIDEwIGZpbGVzIGNoYW5nZWQsIDUx IGluc2VydGlvbnMoKyksIDQ4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2Fy bS9kb21haW5fYnVpbGQuYyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwppbmRleCBkOTgz Njc3OWQxLi44NmE2ZTRiZjdiIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxk LmMKKysrIGIveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jCkBAIC04MCw3ICs4MCw3IEBAIHVu c2lnbmVkIGludCBfX2luaXQgZG9tMF9tYXhfdmNwdXModm9pZCkKIAogc3RydWN0IHZjcHUgKl9f aW5pdCBhbGxvY19kb20wX3ZjcHUwKHN0cnVjdCBkb21haW4gKmRvbTApCiB7Ci0gICAgcmV0dXJu IHZjcHVfY3JlYXRlKGRvbTAsIDAsIDApOworICAgIHJldHVybiB2Y3B1X2NyZWF0ZShkb20wLCAw KTsKIH0KIAogc3RhdGljIHVuc2lnbmVkIGludCBfX2luaXQgZ2V0X2FsbG9jYXRpb25fc2l6ZShw YWRkcl90IHNpemUpCkBAIC0xOTIzLDcgKzE5MjMsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgZmlu ZF9nbnR0YWJfcmVnaW9uKHN0cnVjdCBkb21haW4gKmQsCiAKIHN0YXRpYyBpbnQgX19pbml0IGNv bnN0cnVjdF9kb21haW4oc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGtlcm5lbF9pbmZvICpraW5m bykKIHsKLSAgICBpbnQgaSwgY3B1OworICAgIGludCBpOwogICAgIHN0cnVjdCB2Y3B1ICp2ID0g ZC0+dmNwdVswXTsKICAgICBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncyA9ICZ2LT5hcmNoLmNw dV9pbmZvLT5ndWVzdF9jcHVfdXNlcl9yZWdzOwogCkBAIC0xOTg2LDEyICsxOTg2LDExIEBAIHN0 YXRpYyBpbnQgX19pbml0IGNvbnN0cnVjdF9kb21haW4oc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0 IGtlcm5lbF9pbmZvICpraW5mbykKICAgICB9CiAjZW5kaWYKIAotICAgIGZvciAoIGkgPSAxLCBj cHUgPSAwOyBpIDwgZC0+bWF4X3ZjcHVzOyBpKysgKQorICAgIGZvciAoIGkgPSAxOyBpIDwgZC0+ bWF4X3ZjcHVzOyBpKysgKQogICAgIHsKLSAgICAgICAgY3B1ID0gY3B1bWFza19jeWNsZShjcHUs ICZjcHVfb25saW5lX21hcCk7Ci0gICAgICAgIGlmICggdmNwdV9jcmVhdGUoZCwgaSwgY3B1KSA9 PSBOVUxMICkKKyAgICAgICAgaWYgKCB2Y3B1X2NyZWF0ZShkLCBpKSA9PSBOVUxMICkKICAgICAg ICAgewotICAgICAgICAgICAgcHJpbnRrKCJGYWlsZWQgdG8gYWxsb2NhdGUgZG9tMCB2Y3B1ICVk IG9uIHBjcHUgJWRcbiIsIGksIGNwdSk7CisgICAgICAgICAgICBwcmludGsoIkZhaWxlZCB0byBh bGxvY2F0ZSBkMHYldVxuIiwgaSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCkBA IC0yMDI2LDcgKzIwMjUsNyBAQCBzdGF0aWMgaW50IF9faW5pdCBjb25zdHJ1Y3RfZG9tVShzdHJ1 Y3QgZG9tYWluICpkLAogCiAgICAga2luZm8udnBsMDExID0gZHRfcHJvcGVydHlfcmVhZF9ib29s KG5vZGUsICJ2cGwwMTEiKTsKIAotICAgIGlmICggdmNwdV9jcmVhdGUoZCwgMCwgMCkgPT0gTlVM TCApCisgICAgaWYgKCB2Y3B1X2NyZWF0ZShkLCAwKSA9PSBOVUxMICkKICAgICAgICAgcmV0dXJu IC1FTk9NRU07CiAgICAgZC0+bWF4X3BhZ2VzID0gfjBVOwogCmRpZmYgLS1naXQgYS94ZW4vYXJj aC94ODYvZG9tMF9idWlsZC5jIGIveGVuL2FyY2gveDg2L2RvbTBfYnVpbGQuYwppbmRleCA3M2Y1 NDA3YjBkLi5lNTUwZGI4YjAzIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tMF9idWlsZC5j CisrKyBiL3hlbi9hcmNoL3g4Ni9kb20wX2J1aWxkLmMKQEAgLTE5OCwxMiArMTk4LDkgQEAgY3Vz dG9tX3BhcmFtKCJkb20wX25vZGVzIiwgcGFyc2VfZG9tMF9ub2Rlcyk7CiAKIHN0YXRpYyBjcHVt YXNrX3QgX19pbml0ZGF0YSBkb20wX2NwdXM7CiAKLXN0cnVjdCB2Y3B1ICpfX2luaXQgZG9tMF9z ZXR1cF92Y3B1KHN0cnVjdCBkb21haW4gKmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1bnNpZ25lZCBpbnQgdmNwdV9pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVuc2lnbmVkIGludCBwcmV2X2NwdSkKK3N0cnVjdCB2Y3B1ICpfX2luaXQgZG9t MF9zZXR1cF92Y3B1KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCB2Y3B1X2lkKQogewot ICAgIHVuc2lnbmVkIGludCBjcHUgPSBjcHVtYXNrX2N5Y2xlKHByZXZfY3B1LCAmZG9tMF9jcHVz KTsKLSAgICBzdHJ1Y3QgdmNwdSAqdiA9IHZjcHVfY3JlYXRlKGQsIHZjcHVfaWQsIGNwdSk7Cisg ICAgc3RydWN0IHZjcHUgKnYgPSB2Y3B1X2NyZWF0ZShkLCB2Y3B1X2lkKTsKIAogICAgIGlmICgg diApCiAgICAgewpAQCAtMjczLDggKzI3MCw3IEBAIHN0cnVjdCB2Y3B1ICpfX2luaXQgYWxsb2Nf ZG9tMF92Y3B1MChzdHJ1Y3QgZG9tYWluICpkb20wKQogICAgIGRvbTAtPm5vZGVfYWZmaW5pdHkg PSBkb20wX25vZGVzOwogICAgIGRvbTAtPmF1dG9fbm9kZV9hZmZpbml0eSA9ICFkb20wX25yX3B4 bXM7CiAKLSAgICByZXR1cm4gZG9tMF9zZXR1cF92Y3B1KGRvbTAsIDAsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICBjcHVtYXNrX2xhc3QoJmRvbTBfY3B1cykgLyogc28gaXQgd3JhcHMgYXJv dW5kIHRvIGZpcnN0IHBjcHUgKi8pOworICAgIHJldHVybiBkb20wX3NldHVwX3ZjcHUoZG9tMCwg MCk7CiB9CiAKICNpZmRlZiBDT05GSUdfU0hBRE9XX1BBR0lORwpkaWZmIC0tZ2l0IGEveGVuL2Fy Y2gveDg2L2h2bS9kb20wX2J1aWxkLmMgYi94ZW4vYXJjaC94ODYvaHZtL2RvbTBfYnVpbGQuYwpp bmRleCBhYTU5OWYwOWVmLi4xNTE2NmJiYWE5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZt L2RvbTBfYnVpbGQuYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2RvbTBfYnVpbGQuYwpAQCAtNjE0 LDcgKzYxNCw3IEBAIHN0YXRpYyBpbnQgX19pbml0IHB2aF9zZXR1cF9jcHVzKHN0cnVjdCBkb21h aW4gKmQsIHBhZGRyX3QgZW50cnksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw YWRkcl90IHN0YXJ0X2luZm8pCiB7CiAgICAgc3RydWN0IHZjcHUgKnYgPSBkLT52Y3B1WzBdOwot ICAgIHVuc2lnbmVkIGludCBjcHUgPSB2LT5wcm9jZXNzb3IsIGk7CisgICAgdW5zaWduZWQgaW50 IGk7CiAgICAgaW50IHJjOwogICAgIC8qCiAgICAgICogVGhpcyBzZXRzIHRoZSB2Q1BVIHN0YXRl IGFjY29yZGluZyB0byB0aGUgc3RhdGUgZGVzY3JpYmVkIGluCkBAIC02MzYsMTIgKzYzNiw3IEBA IHN0YXRpYyBpbnQgX19pbml0IHB2aF9zZXR1cF9jcHVzKHN0cnVjdCBkb21haW4gKmQsIHBhZGRy X3QgZW50cnksCiAgICAgfTsKIAogICAgIGZvciAoIGkgPSAxOyBpIDwgZC0+bWF4X3ZjcHVzOyBp KysgKQotICAgIHsKLSAgICAgICAgY29uc3Qgc3RydWN0IHZjcHUgKnAgPSBkb20wX3NldHVwX3Zj cHUoZCwgaSwgY3B1KTsKLQotICAgICAgICBpZiAoIHAgKQotICAgICAgICAgICAgY3B1ID0gcC0+ cHJvY2Vzc29yOwotICAgIH0KKyAgICAgICAgZG9tMF9zZXR1cF92Y3B1KGQsIGkpOwogCiAgICAg ZG9tYWluX3VwZGF0ZV9ub2RlX2FmZmluaXR5KGQpOwogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94 ODYvcHYvZG9tMF9idWlsZC5jIGIveGVuL2FyY2gveDg2L3B2L2RvbTBfYnVpbGQuYwppbmRleCBj ZWYyZDQyMjU0Li44MDBiM2U2YjdkIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvcHYvZG9tMF9i dWlsZC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wdi9kb20wX2J1aWxkLmMKQEAgLTI4NSw3ICsyODUs NyBAQCBpbnQgX19pbml0IGRvbTBfY29uc3RydWN0X3B2KHN0cnVjdCBkb21haW4gKmQsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZV90ICppbml0cmQsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNoYXIgKmNtZGxpbmUpCiB7Ci0gICAgaW50IGksIGNwdSwgcmMsIGNv bXBhdGlibGUsIG9yZGVyLCBtYWNoaW5lOworICAgIGludCBpLCByYywgY29tcGF0aWJsZSwgb3Jk ZXIsIG1hY2hpbmU7CiAgICAgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3M7CiAgICAgdW5zaWdu ZWQgbG9uZyBwZm4sIG1mbjsKICAgICB1bnNpZ25lZCBsb25nIG5yX3BhZ2VzOwpAQCAtNjkzLDE0 ICs2OTMsOCBAQCBpbnQgX19pbml0IGRvbTBfY29uc3RydWN0X3B2KHN0cnVjdCBkb21haW4gKmQs CiAKICAgICBwcmludGsoIkRvbSV1IGhhcyBtYXhpbXVtICV1IFZDUFVzXG4iLCBkLT5kb21haW5f aWQsIGQtPm1heF92Y3B1cyk7CiAKLSAgICBjcHUgPSB2LT5wcm9jZXNzb3I7CiAgICAgZm9yICgg aSA9IDE7IGkgPCBkLT5tYXhfdmNwdXM7IGkrKyApCi0gICAgewotICAgICAgICBjb25zdCBzdHJ1 Y3QgdmNwdSAqcCA9IGRvbTBfc2V0dXBfdmNwdShkLCBpLCBjcHUpOwotCi0gICAgICAgIGlmICgg cCApCi0gICAgICAgICAgICBjcHUgPSBwLT5wcm9jZXNzb3I7Ci0gICAgfQorICAgICAgICBkb20w X3NldHVwX3ZjcHUoZCwgaSk7CiAKICAgICBkb21haW5fdXBkYXRlX25vZGVfYWZmaW5pdHkoZCk7 CiAgICAgZC0+YXJjaC5wYWdpbmcubW9kZSA9IDA7CmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2Rv bWFpbi5jIGIveGVuL2NvbW1vbi9kb21haW4uYwppbmRleCAxYzBhYmRhNjZmLi43OGE4MzhmYWIz IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL2RvbWFpbi5jCisrKyBiL3hlbi9jb21tb24vZG9tYWlu LmMKQEAgLTEyOSw4ICsxMjksNyBAQCBzdGF0aWMgdm9pZCB2Y3B1X2Rlc3Ryb3koc3RydWN0IHZj cHUgKnYpCiAgICAgZnJlZV92Y3B1X3N0cnVjdCh2KTsKIH0KIAotc3RydWN0IHZjcHUgKnZjcHVf Y3JlYXRlKAotICAgIHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCB2Y3B1X2lkLCB1bnNp Z25lZCBpbnQgY3B1X2lkKQorc3RydWN0IHZjcHUgKnZjcHVfY3JlYXRlKHN0cnVjdCBkb21haW4g KmQsIHVuc2lnbmVkIGludCB2Y3B1X2lkKQogewogICAgIHN0cnVjdCB2Y3B1ICp2OwogCkBAIC0x NjIsNyArMTYxLDcgQEAgc3RydWN0IHZjcHUgKnZjcHVfY3JlYXRlKAogICAgICAgICBpbml0X3dh aXRxdWV1ZV92Y3B1KHYpOwogICAgIH0KIAotICAgIGlmICggc2NoZWRfaW5pdF92Y3B1KHYsIGNw dV9pZCkgIT0gMCApCisgICAgaWYgKCBzY2hlZF9pbml0X3ZjcHUodikgIT0gMCApCiAgICAgICAg IGdvdG8gZmFpbF93cTsKIAogICAgIGlmICggYXJjaF92Y3B1X2NyZWF0ZSh2KSAhPSAwICkKZGlm ZiAtLWdpdCBhL3hlbi9jb21tb24vZG9tY3RsLmMgYi94ZW4vY29tbW9uL2RvbWN0bC5jCmluZGV4 IDg0NjQ3MTNkMmIuLjNmODZhMzM2Y2MgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vZG9tY3RsLmMK KysrIGIveGVuL2NvbW1vbi9kb21jdGwuYwpAQCAtNTQwLDggKzU0MCw3IEBAIGxvbmcgZG9fZG9t Y3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGVuX2RvbWN0bF90KSB1X2RvbWN0bCkKIAogICAg IGNhc2UgWEVOX0RPTUNUTF9tYXhfdmNwdXM6CiAgICAgewotICAgICAgICB1bnNpZ25lZCBpbnQg aSwgbWF4ID0gb3AtPnUubWF4X3ZjcHVzLm1heCwgY3B1OwotICAgICAgICBjcHVtYXNrX3QgKm9u bGluZTsKKyAgICAgICAgdW5zaWduZWQgaW50IGksIG1heCA9IG9wLT51Lm1heF92Y3B1cy5tYXg7 CiAKICAgICAgICAgcmV0ID0gLUVJTlZBTDsKICAgICAgICAgaWYgKCAoZCA9PSBjdXJyZW50LT5k b21haW4pIHx8IC8qIG5vIGRvbWFpbl9wYXVzZSgpICovCkBAIC01NTIsMTggKzU1MSwxMyBAQCBs b25nIGRvX2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlbl9kb21jdGxfdCkgdV9kb21j dGwpCiAgICAgICAgIGRvbWFpbl9wYXVzZShkKTsKIAogICAgICAgICByZXQgPSAtRU5PTUVNOwot ICAgICAgICBvbmxpbmUgPSBjcHVwb29sX2RvbWFpbl9jcHVtYXNrKGQpOwogCiAgICAgICAgIGZv ciAoIGkgPSAwOyBpIDwgbWF4OyBpKysgKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoIGQt PnZjcHVbaV0gIT0gTlVMTCApCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAg ICAgIGNwdSA9IChpID09IDApID8KLSAgICAgICAgICAgICAgICBjcHVtYXNrX2FueShvbmxpbmUp IDoKLSAgICAgICAgICAgICAgICBjcHVtYXNrX2N5Y2xlKGQtPnZjcHVbaS0xXS0+cHJvY2Vzc29y LCBvbmxpbmUpOwotCi0gICAgICAgICAgICBpZiAoIHZjcHVfY3JlYXRlKGQsIGksIGNwdSkgPT0g TlVMTCApCisgICAgICAgICAgICBpZiAoIHZjcHVfY3JlYXRlKGQsIGkpID09IE5VTEwgKQogICAg ICAgICAgICAgICAgIGdvdG8gbWF4dmNwdV9vdXQ7CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEv eGVuL2NvbW1vbi9zY2hlZHVsZS5jIGIveGVuL2NvbW1vbi9zY2hlZHVsZS5jCmluZGV4IGRmZDI2 MWQwMjkuLjljNTQ4MTFlODYgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vc2NoZWR1bGUuYworKysg Yi94ZW4vY29tbW9uL3NjaGVkdWxlLmMKQEAgLTMxNCwxNCArMzE0LDQyIEBAIHN0YXRpYyBzdHJ1 Y3Qgc2NoZWRfaXRlbSAqc2NoZWRfYWxsb2NfaXRlbShzdHJ1Y3QgdmNwdSAqdikKICAgICByZXR1 cm4gTlVMTDsKIH0KIAotaW50IHNjaGVkX2luaXRfdmNwdShzdHJ1Y3QgdmNwdSAqdiwgdW5zaWdu ZWQgaW50IHByb2Nlc3NvcikKK3N0YXRpYyB1bnNpZ25lZCBpbnQgc2NoZWRfc2VsZWN0X2luaXRp YWxfY3B1KHN0cnVjdCB2Y3B1ICp2KQoreworICAgIHN0cnVjdCBkb21haW4gKmQgPSB2LT5kb21h aW47CisgICAgbm9kZWlkX3Qgbm9kZTsKKyAgICBjcHVtYXNrX3QgY3B1czsKKworICAgIGNwdW1h c2tfY2xlYXIoJmNwdXMpOworICAgIGZvcl9lYWNoX25vZGVfbWFzayAoIG5vZGUsIGQtPm5vZGVf YWZmaW5pdHkgKQorICAgICAgICBjcHVtYXNrX29yKCZjcHVzLCAmY3B1cywgJm5vZGVfdG9fY3B1 bWFzayhub2RlKSk7CisgICAgY3B1bWFza19hbmQoJmNwdXMsICZjcHVzLCBjcHVwb29sX2RvbWFp bl9jcHVtYXNrKGQpKTsKKyAgICBpZiAoIGNwdW1hc2tfZW1wdHkoJmNwdXMpICkKKyAgICAgICAg Y3B1bWFza19jb3B5KCZjcHVzLCBjcHVwb29sX2RvbWFpbl9jcHVtYXNrKGQpKTsKKworICAgIGlm ICggdi0+dmNwdV9pZCA9PSAwICkKKyAgICAgICAgcmV0dXJuIGNwdW1hc2tfZmlyc3QoJmNwdXMp OworCisgICAgLyogV2UgY2FuIHJlbHkgb24gcHJldmlvdXMgdmNwdSBiZWluZyBhdmFpbGFibGUu ICovCisgICAgQVNTRVJUKCFpc19pZGxlX2RvbWFpbihkKSk7CisKKyAgICByZXR1cm4gY3B1bWFz a19jeWNsZShkLT52Y3B1W3YtPnZjcHVfaWQgLSAxXS0+cHJvY2Vzc29yLCAmY3B1cyk7Cit9CisK K2ludCBzY2hlZF9pbml0X3ZjcHUoc3RydWN0IHZjcHUgKnYpCiB7CiAgICAgc3RydWN0IGRvbWFp biAqZCA9IHYtPmRvbWFpbjsKICAgICBzdHJ1Y3Qgc2NoZWRfaXRlbSAqaXRlbTsKKyAgICB1bnNp Z25lZCBpbnQgcHJvY2Vzc29yOwogCiAgICAgaWYgKCAoaXRlbSA9IHNjaGVkX2FsbG9jX2l0ZW0o dikpID09IE5VTEwgKQogICAgICAgICByZXR1cm4gMTsKIAorICAgIGlmICggaXNfaWRsZV9kb21h aW4oZCkgKQorICAgICAgICBwcm9jZXNzb3IgPSB2LT52Y3B1X2lkOworICAgIGVsc2UKKyAgICAg ICAgcHJvY2Vzc29yID0gc2NoZWRfc2VsZWN0X2luaXRpYWxfY3B1KHYpOworCiAgICAgc2NoZWRf c2V0X3JlcyhpdGVtLCBwZXJfY3B1KHNjaGVkX3JlcywgcHJvY2Vzc29yKSk7CiAKICAgICAvKiBJ bml0aWFsaXNlIHRoZSBwZXItdmNwdSB0aW1lcnMuICovCkBAIC0xNjczLDcgKzE3MDEsNyBAQCBz dGF0aWMgaW50IGNwdV9zY2hlZHVsZV91cCh1bnNpZ25lZCBpbnQgY3B1KQogICAgICAgICByZXR1 cm4gMDsKIAogICAgIGlmICggaWRsZV92Y3B1W2NwdV0gPT0gTlVMTCApCi0gICAgICAgIHZjcHVf Y3JlYXRlKGlkbGVfdmNwdVswXS0+ZG9tYWluLCBjcHUsIGNwdSk7CisgICAgICAgIHZjcHVfY3Jl YXRlKGlkbGVfdmNwdVswXS0+ZG9tYWluLCBjcHUpOwogICAgIGVsc2UKICAgICB7CiAgICAgICAg IHN0cnVjdCB2Y3B1ICppZGxlID0gaWRsZV92Y3B1W2NwdV07CkBAIC0xODY3LDcgKzE4OTUsNyBA QCB2b2lkIF9faW5pdCBzY2hlZHVsZXJfaW5pdCh2b2lkKQogICAgIEJVR19PTihucl9jcHVfaWRz ID4gQVJSQVlfU0laRShpZGxlX3ZjcHUpKTsKICAgICBpZGxlX2RvbWFpbi0+dmNwdSA9IGlkbGVf dmNwdTsKICAgICBpZGxlX2RvbWFpbi0+bWF4X3ZjcHVzID0gbnJfY3B1X2lkczsKLSAgICBpZiAo IHZjcHVfY3JlYXRlKGlkbGVfZG9tYWluLCAwLCAwKSA9PSBOVUxMICkKKyAgICBpZiAoIHZjcHVf Y3JlYXRlKGlkbGVfZG9tYWluLCAwKSA9PSBOVUxMICkKICAgICAgICAgQlVHKCk7CiAgICAgdGhp c19jcHUoc2NoZWRfcmVzKS0+Y3VyciA9IGlkbGVfdmNwdVswXS0+c2NoZWRfaXRlbTsKICAgICB0 aGlzX2NwdShzY2hlZF9yZXMpLT5zY2hlZF9wcml2ID0gc2NoZWRfYWxsb2NfcGRhdGEoJm9wcywg MCk7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2RvbTBfYnVpbGQuaCBiL3hlbi9p bmNsdWRlL2FzbS14ODYvZG9tMF9idWlsZC5oCmluZGV4IDMzYTU0ODM3MzkuLjNlYjRiMDM2ZTEg MTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tMF9idWlsZC5oCisrKyBiL3hlbi9p bmNsdWRlL2FzbS14ODYvZG9tMF9idWlsZC5oCkBAIC0xMSw4ICsxMSw3IEBAIGV4dGVybiB1bnNp Z25lZCBpbnQgZG9tMF9tZW1mbGFnczsKIHVuc2lnbmVkIGxvbmcgZG9tMF9jb21wdXRlX25yX3Bh Z2VzKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgZWxmX2RvbV9wYXJtcyAqcGFybXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1bnNpZ25lZCBsb25nIGluaXRyZF9sZW4pOwotc3RydWN0IHZjcHUgKmRvbTBf c2V0dXBfdmNwdShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgdmNwdV9pZCwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGNwdSk7CitzdHJ1Y3QgdmNwdSAq ZG9tMF9zZXR1cF92Y3B1KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCB2Y3B1X2lkKTsK IGludCBkb20wX3NldHVwX3Blcm1pc3Npb25zKHN0cnVjdCBkb21haW4gKmQpOwogCiBpbnQgZG9t MF9jb25zdHJ1Y3RfcHYoc3RydWN0IGRvbWFpbiAqZCwgY29uc3QgbW9kdWxlX3QgKmltYWdlLApk aWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL2RvbWFpbi5oIGIveGVuL2luY2x1ZGUveGVuL2Rv bWFpbi5oCmluZGV4IGQxYmZjODJmNTcuLmE2ZTkyOTY4NWMgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNs dWRlL3hlbi9kb21haW4uaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vZG9tYWluLmgKQEAgLTEzLDgg KzEzLDcgQEAgdHlwZWRlZiB1bmlvbiB7CiAgICAgc3RydWN0IGNvbXBhdF92Y3B1X2d1ZXN0X2Nv bnRleHQgKmNtcDsKIH0gdmNwdV9ndWVzdF9jb250ZXh0X3UgX19hdHRyaWJ1dGVfXygoX190cmFu c3BhcmVudF91bmlvbl9fKSk7CiAKLXN0cnVjdCB2Y3B1ICp2Y3B1X2NyZWF0ZSgKLSAgICBzdHJ1 Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgdmNwdV9pZCwgdW5zaWduZWQgaW50IGNwdV9pZCk7 CitzdHJ1Y3QgdmNwdSAqdmNwdV9jcmVhdGUoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50 IHZjcHVfaWQpOwogCiB1bnNpZ25lZCBpbnQgZG9tMF9tYXhfdmNwdXModm9pZCk7CiBzdHJ1Y3Qg dmNwdSAqYWxsb2NfZG9tMF92Y3B1MChzdHJ1Y3QgZG9tYWluICpkb20wKTsKZGlmZiAtLWdpdCBh L3hlbi9pbmNsdWRlL3hlbi9zY2hlZC5oIGIveGVuL2luY2x1ZGUveGVuL3NjaGVkLmgKaW5kZXgg ZGExMTczNjVhZi4uODA1MmY5ODc4MCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL3NjaGVk LmgKKysrIGIveGVuL2luY2x1ZGUveGVuL3NjaGVkLmgKQEAgLTY2Myw3ICs2NjMsNyBAQCB2b2lk IF9fZG9tYWluX2NyYXNoKHN0cnVjdCBkb21haW4gKmQpOwogdm9pZCBub3JldHVybiBhc21fZG9t YWluX2NyYXNoX3N5bmNocm9ub3VzKHVuc2lnbmVkIGxvbmcgYWRkcik7CiAKIHZvaWQgc2NoZWR1 bGVyX2luaXQodm9pZCk7Ci1pbnQgIHNjaGVkX2luaXRfdmNwdShzdHJ1Y3QgdmNwdSAqdiwgdW5z aWduZWQgaW50IHByb2Nlc3Nvcik7CitpbnQgIHNjaGVkX2luaXRfdmNwdShzdHJ1Y3QgdmNwdSAq dik7CiB2b2lkIHNjaGVkX2Rlc3Ryb3lfdmNwdShzdHJ1Y3QgdmNwdSAqdik7CiBpbnQgIHNjaGVk X2luaXRfZG9tYWluKHN0cnVjdCBkb21haW4gKmQsIGludCBwb29saWQpOwogdm9pZCBzY2hlZF9k ZXN0cm95X2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkKTsKLS0gCjIuMTYuNAoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxp c3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVj dC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw= 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 C47EDC46470 for ; Mon, 6 May 2019 06:57:28 +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 953E0206A3 for ; Mon, 6 May 2019 06:57:28 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 953E0206A3 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 1hNXYp-0002OG-CP; Mon, 06 May 2019 06:57:15 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hNXYi-00028X-3a for xen-devel@lists.xenproject.org; Mon, 06 May 2019 06:57:08 +0000 X-Inumbo-ID: 250093d4-6fcc-11e9-ab88-e374a13293b4 Received: from mx1.suse.de (unknown [195.135.220.15]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 250093d4-6fcc-11e9-ab88-e374a13293b4; Mon, 06 May 2019 06:57:00 +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 36C47AF25; Mon, 6 May 2019 06:56:55 +0000 (UTC) From: Juergen Gross To: xen-devel@lists.xenproject.org Date: Mon, 6 May 2019 08:56:23 +0200 Message-Id: <20190506065644.7415-25-jgross@suse.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <20190506065644.7415-1-jgross@suse.com> References: <20190506065644.7415-1-jgross@suse.com> Subject: [Xen-devel] [PATCH RFC V2 24/45] 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: <20190506065623.QX0ewsLAGd7jyWABWvLOwkQPubNC5Cj5tz_5SV2p7nM@z> VG9kYXkgdGhlcmUgYXJlIHR3byBkaXN0aW5jdCBzY2VuYXJpb3MgZm9yIHZjcHVfY3JlYXRlKCk6 IGVpdGhlciBmb3IKY3JlYXRpb24gb2YgaWRsZS1kb21haW4gdmNwdXMgKHZjcHVpZCA9PSBwcm9j ZXNzb3IpIG9yIGZvciBjcmVhdGlvbiBvZgoibm9ybWFsIiBkb21haW4gdmNwdXMgKGluY2x1ZGlu ZyBkb20wKSwgd2hlcmUgdGhlIGNhbGxlciBzZWxlY3RzIHRoZQppbml0aWFsIHByb2Nlc3NvciBv biBhIHJvdW5kLXJvYmluIHNjaGVtZSBvZiB0aGUgYWxsb3dlZCBwcm9jZXNzb3JzCihhbGxvd2Vk IGJlaW5nIGJhc2VkIG9uIGNwdXBvb2wgYW5kIGFmZmluaXRpZXMpLgoKSW5zdGVhZCBvZiBwYXNz aW5nIHRoZSBpbml0aWFsIHByb2Nlc3NvciB0byB2Y3B1X2NyZWF0ZSgpIGFuZCBwYXNzaW5nCm9u IHRvIHNjaGVkX2luaXRfdmNwdSgpIGxldCBzY2hlZF9pbml0X3ZjcHUoKSBkbyB0aGUgcHJvY2Vz c29yCnNlbGVjdGlvbi4gRm9yIHN1cHBvcnRpbmcgZG9tMCB2Y3B1IGNyZWF0aW9uIHVzZSB0aGUg bm9kZV9hZmZpbml0eSBvZgp0aGUgZG9tYWluIGFzIGEgYmFzZSBmb3Igc2VsZWN0aW5nIHRoZSBw cm9jZXNzb3JzLiBVc2VyIGRvbWFpbnMgd2lsbApoYXZlIGluaXRpYWxseSBhbGwgbm9kZXMgc2V0 LCBzbyB0aGlzIGlzIG5vIGRpZmZlcmVudCBiZWhhdmlvciBjb21wYXJlZAp0byB0b2RheS4KClNp Z25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KQWNrZWQtYnk6IEFu ZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQpSRkMgVjI6IGFkZCBB U1NFUlQoKSwgbW9kaWZ5IGVycm9yIG1lc3NhZ2UgKEFuZHJldyBDb29wZXIpCi0tLQogeGVuL2Fy Y2gvYXJtL2RvbWFpbl9idWlsZC5jICAgICAgfCAxMyArKysrKystLS0tLS0tCiB4ZW4vYXJjaC94 ODYvZG9tMF9idWlsZC5jICAgICAgICB8IDEwICsrKy0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9odm0v ZG9tMF9idWlsZC5jICAgIHwgIDkgKystLS0tLS0tCiB4ZW4vYXJjaC94ODYvcHYvZG9tMF9idWls ZC5jICAgICB8IDEwICsrLS0tLS0tLS0KIHhlbi9jb21tb24vZG9tYWluLmMgICAgICAgICAgICAg IHwgIDUgKystLS0KIHhlbi9jb21tb24vZG9tY3RsLmMgICAgICAgICAgICAgIHwgMTAgKystLS0t LS0tLQogeGVuL2NvbW1vbi9zY2hlZHVsZS5jICAgICAgICAgICAgfCAzNCArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2RvbTBfYnVpbGQuaCB8 ICAzICstLQogeGVuL2luY2x1ZGUveGVuL2RvbWFpbi5oICAgICAgICAgfCAgMyArLS0KIHhlbi9p bmNsdWRlL3hlbi9zY2hlZC5oICAgICAgICAgIHwgIDIgKy0KIDEwIGZpbGVzIGNoYW5nZWQsIDUx IGluc2VydGlvbnMoKyksIDQ4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2Fy bS9kb21haW5fYnVpbGQuYyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwppbmRleCBkOTgz Njc3OWQxLi44NmE2ZTRiZjdiIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxk LmMKKysrIGIveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jCkBAIC04MCw3ICs4MCw3IEBAIHVu c2lnbmVkIGludCBfX2luaXQgZG9tMF9tYXhfdmNwdXModm9pZCkKIAogc3RydWN0IHZjcHUgKl9f aW5pdCBhbGxvY19kb20wX3ZjcHUwKHN0cnVjdCBkb21haW4gKmRvbTApCiB7Ci0gICAgcmV0dXJu IHZjcHVfY3JlYXRlKGRvbTAsIDAsIDApOworICAgIHJldHVybiB2Y3B1X2NyZWF0ZShkb20wLCAw KTsKIH0KIAogc3RhdGljIHVuc2lnbmVkIGludCBfX2luaXQgZ2V0X2FsbG9jYXRpb25fc2l6ZShw YWRkcl90IHNpemUpCkBAIC0xOTIzLDcgKzE5MjMsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgZmlu ZF9nbnR0YWJfcmVnaW9uKHN0cnVjdCBkb21haW4gKmQsCiAKIHN0YXRpYyBpbnQgX19pbml0IGNv bnN0cnVjdF9kb21haW4oc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGtlcm5lbF9pbmZvICpraW5m bykKIHsKLSAgICBpbnQgaSwgY3B1OworICAgIGludCBpOwogICAgIHN0cnVjdCB2Y3B1ICp2ID0g ZC0+dmNwdVswXTsKICAgICBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncyA9ICZ2LT5hcmNoLmNw dV9pbmZvLT5ndWVzdF9jcHVfdXNlcl9yZWdzOwogCkBAIC0xOTg2LDEyICsxOTg2LDExIEBAIHN0 YXRpYyBpbnQgX19pbml0IGNvbnN0cnVjdF9kb21haW4oc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0 IGtlcm5lbF9pbmZvICpraW5mbykKICAgICB9CiAjZW5kaWYKIAotICAgIGZvciAoIGkgPSAxLCBj cHUgPSAwOyBpIDwgZC0+bWF4X3ZjcHVzOyBpKysgKQorICAgIGZvciAoIGkgPSAxOyBpIDwgZC0+ bWF4X3ZjcHVzOyBpKysgKQogICAgIHsKLSAgICAgICAgY3B1ID0gY3B1bWFza19jeWNsZShjcHUs ICZjcHVfb25saW5lX21hcCk7Ci0gICAgICAgIGlmICggdmNwdV9jcmVhdGUoZCwgaSwgY3B1KSA9 PSBOVUxMICkKKyAgICAgICAgaWYgKCB2Y3B1X2NyZWF0ZShkLCBpKSA9PSBOVUxMICkKICAgICAg ICAgewotICAgICAgICAgICAgcHJpbnRrKCJGYWlsZWQgdG8gYWxsb2NhdGUgZG9tMCB2Y3B1ICVk IG9uIHBjcHUgJWRcbiIsIGksIGNwdSk7CisgICAgICAgICAgICBwcmludGsoIkZhaWxlZCB0byBh bGxvY2F0ZSBkMHYldVxuIiwgaSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCkBA IC0yMDI2LDcgKzIwMjUsNyBAQCBzdGF0aWMgaW50IF9faW5pdCBjb25zdHJ1Y3RfZG9tVShzdHJ1 Y3QgZG9tYWluICpkLAogCiAgICAga2luZm8udnBsMDExID0gZHRfcHJvcGVydHlfcmVhZF9ib29s KG5vZGUsICJ2cGwwMTEiKTsKIAotICAgIGlmICggdmNwdV9jcmVhdGUoZCwgMCwgMCkgPT0gTlVM TCApCisgICAgaWYgKCB2Y3B1X2NyZWF0ZShkLCAwKSA9PSBOVUxMICkKICAgICAgICAgcmV0dXJu IC1FTk9NRU07CiAgICAgZC0+bWF4X3BhZ2VzID0gfjBVOwogCmRpZmYgLS1naXQgYS94ZW4vYXJj aC94ODYvZG9tMF9idWlsZC5jIGIveGVuL2FyY2gveDg2L2RvbTBfYnVpbGQuYwppbmRleCA3M2Y1 NDA3YjBkLi5lNTUwZGI4YjAzIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tMF9idWlsZC5j CisrKyBiL3hlbi9hcmNoL3g4Ni9kb20wX2J1aWxkLmMKQEAgLTE5OCwxMiArMTk4LDkgQEAgY3Vz dG9tX3BhcmFtKCJkb20wX25vZGVzIiwgcGFyc2VfZG9tMF9ub2Rlcyk7CiAKIHN0YXRpYyBjcHVt YXNrX3QgX19pbml0ZGF0YSBkb20wX2NwdXM7CiAKLXN0cnVjdCB2Y3B1ICpfX2luaXQgZG9tMF9z ZXR1cF92Y3B1KHN0cnVjdCBkb21haW4gKmQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1bnNpZ25lZCBpbnQgdmNwdV9pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVuc2lnbmVkIGludCBwcmV2X2NwdSkKK3N0cnVjdCB2Y3B1ICpfX2luaXQgZG9t MF9zZXR1cF92Y3B1KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCB2Y3B1X2lkKQogewot ICAgIHVuc2lnbmVkIGludCBjcHUgPSBjcHVtYXNrX2N5Y2xlKHByZXZfY3B1LCAmZG9tMF9jcHVz KTsKLSAgICBzdHJ1Y3QgdmNwdSAqdiA9IHZjcHVfY3JlYXRlKGQsIHZjcHVfaWQsIGNwdSk7Cisg ICAgc3RydWN0IHZjcHUgKnYgPSB2Y3B1X2NyZWF0ZShkLCB2Y3B1X2lkKTsKIAogICAgIGlmICgg diApCiAgICAgewpAQCAtMjczLDggKzI3MCw3IEBAIHN0cnVjdCB2Y3B1ICpfX2luaXQgYWxsb2Nf ZG9tMF92Y3B1MChzdHJ1Y3QgZG9tYWluICpkb20wKQogICAgIGRvbTAtPm5vZGVfYWZmaW5pdHkg PSBkb20wX25vZGVzOwogICAgIGRvbTAtPmF1dG9fbm9kZV9hZmZpbml0eSA9ICFkb20wX25yX3B4 bXM7CiAKLSAgICByZXR1cm4gZG9tMF9zZXR1cF92Y3B1KGRvbTAsIDAsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICBjcHVtYXNrX2xhc3QoJmRvbTBfY3B1cykgLyogc28gaXQgd3JhcHMgYXJv dW5kIHRvIGZpcnN0IHBjcHUgKi8pOworICAgIHJldHVybiBkb20wX3NldHVwX3ZjcHUoZG9tMCwg MCk7CiB9CiAKICNpZmRlZiBDT05GSUdfU0hBRE9XX1BBR0lORwpkaWZmIC0tZ2l0IGEveGVuL2Fy Y2gveDg2L2h2bS9kb20wX2J1aWxkLmMgYi94ZW4vYXJjaC94ODYvaHZtL2RvbTBfYnVpbGQuYwpp bmRleCBhYTU5OWYwOWVmLi4xNTE2NmJiYWE5IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZt L2RvbTBfYnVpbGQuYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2RvbTBfYnVpbGQuYwpAQCAtNjE0 LDcgKzYxNCw3IEBAIHN0YXRpYyBpbnQgX19pbml0IHB2aF9zZXR1cF9jcHVzKHN0cnVjdCBkb21h aW4gKmQsIHBhZGRyX3QgZW50cnksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw YWRkcl90IHN0YXJ0X2luZm8pCiB7CiAgICAgc3RydWN0IHZjcHUgKnYgPSBkLT52Y3B1WzBdOwot ICAgIHVuc2lnbmVkIGludCBjcHUgPSB2LT5wcm9jZXNzb3IsIGk7CisgICAgdW5zaWduZWQgaW50 IGk7CiAgICAgaW50IHJjOwogICAgIC8qCiAgICAgICogVGhpcyBzZXRzIHRoZSB2Q1BVIHN0YXRl IGFjY29yZGluZyB0byB0aGUgc3RhdGUgZGVzY3JpYmVkIGluCkBAIC02MzYsMTIgKzYzNiw3IEBA IHN0YXRpYyBpbnQgX19pbml0IHB2aF9zZXR1cF9jcHVzKHN0cnVjdCBkb21haW4gKmQsIHBhZGRy X3QgZW50cnksCiAgICAgfTsKIAogICAgIGZvciAoIGkgPSAxOyBpIDwgZC0+bWF4X3ZjcHVzOyBp KysgKQotICAgIHsKLSAgICAgICAgY29uc3Qgc3RydWN0IHZjcHUgKnAgPSBkb20wX3NldHVwX3Zj cHUoZCwgaSwgY3B1KTsKLQotICAgICAgICBpZiAoIHAgKQotICAgICAgICAgICAgY3B1ID0gcC0+ cHJvY2Vzc29yOwotICAgIH0KKyAgICAgICAgZG9tMF9zZXR1cF92Y3B1KGQsIGkpOwogCiAgICAg ZG9tYWluX3VwZGF0ZV9ub2RlX2FmZmluaXR5KGQpOwogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94 ODYvcHYvZG9tMF9idWlsZC5jIGIveGVuL2FyY2gveDg2L3B2L2RvbTBfYnVpbGQuYwppbmRleCBj ZWYyZDQyMjU0Li44MDBiM2U2YjdkIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvcHYvZG9tMF9i dWlsZC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wdi9kb20wX2J1aWxkLmMKQEAgLTI4NSw3ICsyODUs NyBAQCBpbnQgX19pbml0IGRvbTBfY29uc3RydWN0X3B2KHN0cnVjdCBkb21haW4gKmQsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZV90ICppbml0cmQsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNoYXIgKmNtZGxpbmUpCiB7Ci0gICAgaW50IGksIGNwdSwgcmMsIGNv bXBhdGlibGUsIG9yZGVyLCBtYWNoaW5lOworICAgIGludCBpLCByYywgY29tcGF0aWJsZSwgb3Jk ZXIsIG1hY2hpbmU7CiAgICAgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3M7CiAgICAgdW5zaWdu ZWQgbG9uZyBwZm4sIG1mbjsKICAgICB1bnNpZ25lZCBsb25nIG5yX3BhZ2VzOwpAQCAtNjkzLDE0 ICs2OTMsOCBAQCBpbnQgX19pbml0IGRvbTBfY29uc3RydWN0X3B2KHN0cnVjdCBkb21haW4gKmQs CiAKICAgICBwcmludGsoIkRvbSV1IGhhcyBtYXhpbXVtICV1IFZDUFVzXG4iLCBkLT5kb21haW5f aWQsIGQtPm1heF92Y3B1cyk7CiAKLSAgICBjcHUgPSB2LT5wcm9jZXNzb3I7CiAgICAgZm9yICgg aSA9IDE7IGkgPCBkLT5tYXhfdmNwdXM7IGkrKyApCi0gICAgewotICAgICAgICBjb25zdCBzdHJ1 Y3QgdmNwdSAqcCA9IGRvbTBfc2V0dXBfdmNwdShkLCBpLCBjcHUpOwotCi0gICAgICAgIGlmICgg cCApCi0gICAgICAgICAgICBjcHUgPSBwLT5wcm9jZXNzb3I7Ci0gICAgfQorICAgICAgICBkb20w X3NldHVwX3ZjcHUoZCwgaSk7CiAKICAgICBkb21haW5fdXBkYXRlX25vZGVfYWZmaW5pdHkoZCk7 CiAgICAgZC0+YXJjaC5wYWdpbmcubW9kZSA9IDA7CmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL2Rv bWFpbi5jIGIveGVuL2NvbW1vbi9kb21haW4uYwppbmRleCAxYzBhYmRhNjZmLi43OGE4MzhmYWIz IDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL2RvbWFpbi5jCisrKyBiL3hlbi9jb21tb24vZG9tYWlu LmMKQEAgLTEyOSw4ICsxMjksNyBAQCBzdGF0aWMgdm9pZCB2Y3B1X2Rlc3Ryb3koc3RydWN0IHZj cHUgKnYpCiAgICAgZnJlZV92Y3B1X3N0cnVjdCh2KTsKIH0KIAotc3RydWN0IHZjcHUgKnZjcHVf Y3JlYXRlKAotICAgIHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCB2Y3B1X2lkLCB1bnNp Z25lZCBpbnQgY3B1X2lkKQorc3RydWN0IHZjcHUgKnZjcHVfY3JlYXRlKHN0cnVjdCBkb21haW4g KmQsIHVuc2lnbmVkIGludCB2Y3B1X2lkKQogewogICAgIHN0cnVjdCB2Y3B1ICp2OwogCkBAIC0x NjIsNyArMTYxLDcgQEAgc3RydWN0IHZjcHUgKnZjcHVfY3JlYXRlKAogICAgICAgICBpbml0X3dh aXRxdWV1ZV92Y3B1KHYpOwogICAgIH0KIAotICAgIGlmICggc2NoZWRfaW5pdF92Y3B1KHYsIGNw dV9pZCkgIT0gMCApCisgICAgaWYgKCBzY2hlZF9pbml0X3ZjcHUodikgIT0gMCApCiAgICAgICAg IGdvdG8gZmFpbF93cTsKIAogICAgIGlmICggYXJjaF92Y3B1X2NyZWF0ZSh2KSAhPSAwICkKZGlm ZiAtLWdpdCBhL3hlbi9jb21tb24vZG9tY3RsLmMgYi94ZW4vY29tbW9uL2RvbWN0bC5jCmluZGV4 IDg0NjQ3MTNkMmIuLjNmODZhMzM2Y2MgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vZG9tY3RsLmMK KysrIGIveGVuL2NvbW1vbi9kb21jdGwuYwpAQCAtNTQwLDggKzU0MCw3IEBAIGxvbmcgZG9fZG9t Y3RsKFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0oeGVuX2RvbWN0bF90KSB1X2RvbWN0bCkKIAogICAg IGNhc2UgWEVOX0RPTUNUTF9tYXhfdmNwdXM6CiAgICAgewotICAgICAgICB1bnNpZ25lZCBpbnQg aSwgbWF4ID0gb3AtPnUubWF4X3ZjcHVzLm1heCwgY3B1OwotICAgICAgICBjcHVtYXNrX3QgKm9u bGluZTsKKyAgICAgICAgdW5zaWduZWQgaW50IGksIG1heCA9IG9wLT51Lm1heF92Y3B1cy5tYXg7 CiAKICAgICAgICAgcmV0ID0gLUVJTlZBTDsKICAgICAgICAgaWYgKCAoZCA9PSBjdXJyZW50LT5k b21haW4pIHx8IC8qIG5vIGRvbWFpbl9wYXVzZSgpICovCkBAIC01NTIsMTggKzU1MSwxMyBAQCBs b25nIGRvX2RvbWN0bChYRU5fR1VFU1RfSEFORExFX1BBUkFNKHhlbl9kb21jdGxfdCkgdV9kb21j dGwpCiAgICAgICAgIGRvbWFpbl9wYXVzZShkKTsKIAogICAgICAgICByZXQgPSAtRU5PTUVNOwot ICAgICAgICBvbmxpbmUgPSBjcHVwb29sX2RvbWFpbl9jcHVtYXNrKGQpOwogCiAgICAgICAgIGZv ciAoIGkgPSAwOyBpIDwgbWF4OyBpKysgKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoIGQt PnZjcHVbaV0gIT0gTlVMTCApCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAg ICAgIGNwdSA9IChpID09IDApID8KLSAgICAgICAgICAgICAgICBjcHVtYXNrX2FueShvbmxpbmUp IDoKLSAgICAgICAgICAgICAgICBjcHVtYXNrX2N5Y2xlKGQtPnZjcHVbaS0xXS0+cHJvY2Vzc29y LCBvbmxpbmUpOwotCi0gICAgICAgICAgICBpZiAoIHZjcHVfY3JlYXRlKGQsIGksIGNwdSkgPT0g TlVMTCApCisgICAgICAgICAgICBpZiAoIHZjcHVfY3JlYXRlKGQsIGkpID09IE5VTEwgKQogICAg ICAgICAgICAgICAgIGdvdG8gbWF4dmNwdV9vdXQ7CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEv eGVuL2NvbW1vbi9zY2hlZHVsZS5jIGIveGVuL2NvbW1vbi9zY2hlZHVsZS5jCmluZGV4IGRmZDI2 MWQwMjkuLjljNTQ4MTFlODYgMTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vc2NoZWR1bGUuYworKysg Yi94ZW4vY29tbW9uL3NjaGVkdWxlLmMKQEAgLTMxNCwxNCArMzE0LDQyIEBAIHN0YXRpYyBzdHJ1 Y3Qgc2NoZWRfaXRlbSAqc2NoZWRfYWxsb2NfaXRlbShzdHJ1Y3QgdmNwdSAqdikKICAgICByZXR1 cm4gTlVMTDsKIH0KIAotaW50IHNjaGVkX2luaXRfdmNwdShzdHJ1Y3QgdmNwdSAqdiwgdW5zaWdu ZWQgaW50IHByb2Nlc3NvcikKK3N0YXRpYyB1bnNpZ25lZCBpbnQgc2NoZWRfc2VsZWN0X2luaXRp YWxfY3B1KHN0cnVjdCB2Y3B1ICp2KQoreworICAgIHN0cnVjdCBkb21haW4gKmQgPSB2LT5kb21h aW47CisgICAgbm9kZWlkX3Qgbm9kZTsKKyAgICBjcHVtYXNrX3QgY3B1czsKKworICAgIGNwdW1h c2tfY2xlYXIoJmNwdXMpOworICAgIGZvcl9lYWNoX25vZGVfbWFzayAoIG5vZGUsIGQtPm5vZGVf YWZmaW5pdHkgKQorICAgICAgICBjcHVtYXNrX29yKCZjcHVzLCAmY3B1cywgJm5vZGVfdG9fY3B1 bWFzayhub2RlKSk7CisgICAgY3B1bWFza19hbmQoJmNwdXMsICZjcHVzLCBjcHVwb29sX2RvbWFp bl9jcHVtYXNrKGQpKTsKKyAgICBpZiAoIGNwdW1hc2tfZW1wdHkoJmNwdXMpICkKKyAgICAgICAg Y3B1bWFza19jb3B5KCZjcHVzLCBjcHVwb29sX2RvbWFpbl9jcHVtYXNrKGQpKTsKKworICAgIGlm ICggdi0+dmNwdV9pZCA9PSAwICkKKyAgICAgICAgcmV0dXJuIGNwdW1hc2tfZmlyc3QoJmNwdXMp OworCisgICAgLyogV2UgY2FuIHJlbHkgb24gcHJldmlvdXMgdmNwdSBiZWluZyBhdmFpbGFibGUu ICovCisgICAgQVNTRVJUKCFpc19pZGxlX2RvbWFpbihkKSk7CisKKyAgICByZXR1cm4gY3B1bWFz a19jeWNsZShkLT52Y3B1W3YtPnZjcHVfaWQgLSAxXS0+cHJvY2Vzc29yLCAmY3B1cyk7Cit9CisK K2ludCBzY2hlZF9pbml0X3ZjcHUoc3RydWN0IHZjcHUgKnYpCiB7CiAgICAgc3RydWN0IGRvbWFp biAqZCA9IHYtPmRvbWFpbjsKICAgICBzdHJ1Y3Qgc2NoZWRfaXRlbSAqaXRlbTsKKyAgICB1bnNp Z25lZCBpbnQgcHJvY2Vzc29yOwogCiAgICAgaWYgKCAoaXRlbSA9IHNjaGVkX2FsbG9jX2l0ZW0o dikpID09IE5VTEwgKQogICAgICAgICByZXR1cm4gMTsKIAorICAgIGlmICggaXNfaWRsZV9kb21h aW4oZCkgKQorICAgICAgICBwcm9jZXNzb3IgPSB2LT52Y3B1X2lkOworICAgIGVsc2UKKyAgICAg ICAgcHJvY2Vzc29yID0gc2NoZWRfc2VsZWN0X2luaXRpYWxfY3B1KHYpOworCiAgICAgc2NoZWRf c2V0X3JlcyhpdGVtLCBwZXJfY3B1KHNjaGVkX3JlcywgcHJvY2Vzc29yKSk7CiAKICAgICAvKiBJ bml0aWFsaXNlIHRoZSBwZXItdmNwdSB0aW1lcnMuICovCkBAIC0xNjczLDcgKzE3MDEsNyBAQCBz dGF0aWMgaW50IGNwdV9zY2hlZHVsZV91cCh1bnNpZ25lZCBpbnQgY3B1KQogICAgICAgICByZXR1 cm4gMDsKIAogICAgIGlmICggaWRsZV92Y3B1W2NwdV0gPT0gTlVMTCApCi0gICAgICAgIHZjcHVf Y3JlYXRlKGlkbGVfdmNwdVswXS0+ZG9tYWluLCBjcHUsIGNwdSk7CisgICAgICAgIHZjcHVfY3Jl YXRlKGlkbGVfdmNwdVswXS0+ZG9tYWluLCBjcHUpOwogICAgIGVsc2UKICAgICB7CiAgICAgICAg IHN0cnVjdCB2Y3B1ICppZGxlID0gaWRsZV92Y3B1W2NwdV07CkBAIC0xODY3LDcgKzE4OTUsNyBA QCB2b2lkIF9faW5pdCBzY2hlZHVsZXJfaW5pdCh2b2lkKQogICAgIEJVR19PTihucl9jcHVfaWRz ID4gQVJSQVlfU0laRShpZGxlX3ZjcHUpKTsKICAgICBpZGxlX2RvbWFpbi0+dmNwdSA9IGlkbGVf dmNwdTsKICAgICBpZGxlX2RvbWFpbi0+bWF4X3ZjcHVzID0gbnJfY3B1X2lkczsKLSAgICBpZiAo IHZjcHVfY3JlYXRlKGlkbGVfZG9tYWluLCAwLCAwKSA9PSBOVUxMICkKKyAgICBpZiAoIHZjcHVf Y3JlYXRlKGlkbGVfZG9tYWluLCAwKSA9PSBOVUxMICkKICAgICAgICAgQlVHKCk7CiAgICAgdGhp c19jcHUoc2NoZWRfcmVzKS0+Y3VyciA9IGlkbGVfdmNwdVswXS0+c2NoZWRfaXRlbTsKICAgICB0 aGlzX2NwdShzY2hlZF9yZXMpLT5zY2hlZF9wcml2ID0gc2NoZWRfYWxsb2NfcGRhdGEoJm9wcywg MCk7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2RvbTBfYnVpbGQuaCBiL3hlbi9p bmNsdWRlL2FzbS14ODYvZG9tMF9idWlsZC5oCmluZGV4IDMzYTU0ODM3MzkuLjNlYjRiMDM2ZTEg MTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tMF9idWlsZC5oCisrKyBiL3hlbi9p bmNsdWRlL2FzbS14ODYvZG9tMF9idWlsZC5oCkBAIC0xMSw4ICsxMSw3IEBAIGV4dGVybiB1bnNp Z25lZCBpbnQgZG9tMF9tZW1mbGFnczsKIHVuc2lnbmVkIGxvbmcgZG9tMF9jb21wdXRlX25yX3Bh Z2VzKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgZWxmX2RvbV9wYXJtcyAqcGFybXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1bnNpZ25lZCBsb25nIGluaXRyZF9sZW4pOwotc3RydWN0IHZjcHUgKmRvbTBf c2V0dXBfdmNwdShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgdmNwdV9pZCwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGNwdSk7CitzdHJ1Y3QgdmNwdSAq ZG9tMF9zZXR1cF92Y3B1KHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCB2Y3B1X2lkKTsK IGludCBkb20wX3NldHVwX3Blcm1pc3Npb25zKHN0cnVjdCBkb21haW4gKmQpOwogCiBpbnQgZG9t MF9jb25zdHJ1Y3RfcHYoc3RydWN0IGRvbWFpbiAqZCwgY29uc3QgbW9kdWxlX3QgKmltYWdlLApk aWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUveGVuL2RvbWFpbi5oIGIveGVuL2luY2x1ZGUveGVuL2Rv bWFpbi5oCmluZGV4IGQxYmZjODJmNTcuLmE2ZTkyOTY4NWMgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNs dWRlL3hlbi9kb21haW4uaAorKysgYi94ZW4vaW5jbHVkZS94ZW4vZG9tYWluLmgKQEAgLTEzLDgg KzEzLDcgQEAgdHlwZWRlZiB1bmlvbiB7CiAgICAgc3RydWN0IGNvbXBhdF92Y3B1X2d1ZXN0X2Nv bnRleHQgKmNtcDsKIH0gdmNwdV9ndWVzdF9jb250ZXh0X3UgX19hdHRyaWJ1dGVfXygoX190cmFu c3BhcmVudF91bmlvbl9fKSk7CiAKLXN0cnVjdCB2Y3B1ICp2Y3B1X2NyZWF0ZSgKLSAgICBzdHJ1 Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgdmNwdV9pZCwgdW5zaWduZWQgaW50IGNwdV9pZCk7 CitzdHJ1Y3QgdmNwdSAqdmNwdV9jcmVhdGUoc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50 IHZjcHVfaWQpOwogCiB1bnNpZ25lZCBpbnQgZG9tMF9tYXhfdmNwdXModm9pZCk7CiBzdHJ1Y3Qg dmNwdSAqYWxsb2NfZG9tMF92Y3B1MChzdHJ1Y3QgZG9tYWluICpkb20wKTsKZGlmZiAtLWdpdCBh L3hlbi9pbmNsdWRlL3hlbi9zY2hlZC5oIGIveGVuL2luY2x1ZGUveGVuL3NjaGVkLmgKaW5kZXgg ZGExMTczNjVhZi4uODA1MmY5ODc4MCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUveGVuL3NjaGVk LmgKKysrIGIveGVuL2luY2x1ZGUveGVuL3NjaGVkLmgKQEAgLTY2Myw3ICs2NjMsNyBAQCB2b2lk IF9fZG9tYWluX2NyYXNoKHN0cnVjdCBkb21haW4gKmQpOwogdm9pZCBub3JldHVybiBhc21fZG9t YWluX2NyYXNoX3N5bmNocm9ub3VzKHVuc2lnbmVkIGxvbmcgYWRkcik7CiAKIHZvaWQgc2NoZWR1 bGVyX2luaXQodm9pZCk7Ci1pbnQgIHNjaGVkX2luaXRfdmNwdShzdHJ1Y3QgdmNwdSAqdiwgdW5z aWduZWQgaW50IHByb2Nlc3Nvcik7CitpbnQgIHNjaGVkX2luaXRfdmNwdShzdHJ1Y3QgdmNwdSAq dik7CiB2b2lkIHNjaGVkX2Rlc3Ryb3lfdmNwdShzdHJ1Y3QgdmNwdSAqdik7CiBpbnQgIHNjaGVk X2luaXRfZG9tYWluKHN0cnVjdCBkb21haW4gKmQsIGludCBwb29saWQpOwogdm9pZCBzY2hlZF9k ZXN0cm95X2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkKTsKLS0gCjIuMTYuNAoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxp c3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVj dC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=