From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dario Faggioli Subject: [PATCH v2 1/2] xen: fix a (latent) cpupool-related race during domain destroy Date: Thu, 14 Jul 2016 18:18:00 +0200 Message-ID: <146851308019.22413.8905002507733716302.stgit@Solace.fritz.box> References: <146851288308.22413.4619190133086534604.stgit@Solace.fritz.box> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([85.158.143.247]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bNjL8-0002DK-UF for xen-devel@lists.xenproject.org; Thu, 14 Jul 2016 16:18:19 +0000 Received: by mail-wm0-f68.google.com with SMTP id i5so9588619wmg.2 for ; Thu, 14 Jul 2016 09:18:17 -0700 (PDT) In-Reply-To: <146851288308.22413.4619190133086534604.stgit@Solace.fritz.box> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Juergen Gross , Andrew Cooper , George Dunlap , Jan Beulich List-Id: xen-devel@lists.xenproject.org U28sIGR1cmluZyBkb21haW4gZGVzdHJ1Y3Rpb24sIHdlIGRvOgogY3B1cG9vbF9ybV9kb21haW4o KSAgICBbIGluIGRvbWFpbl9kZXN0cm95KCkgXQogc2NoZWRfZGVzdHJveV9kb21haW4oKSBbIGlu IGNvbXBsZXRlX2RvbWFpbl9kZXN0cm95KCkgXQoKVGhlcmVmb3JlLCB0aGVyZSdzIGEgd2luZG93 IGR1cmluZyB3aGljaCwgZnJvbSB0aGUKc2NoZWR1bGVyJ3MgcG9pbnQgb2YgdmlldywgYSBkb21h aW4gc3RpbHN0cyBvdXRzaWRlCm9mIGFueSBjcHVwb29sLgoKSW4gZmFjdCwgY3B1cG9vbF9ybV9k b21haW4oKSBkb2VzIGQtPmNwdXBvb2w9TlVMTCwKYW5kIHdlIGRvbid0IGFsbG93IHRoYXQgdG8g aG9sZCB0cnVlLCBmb3IgYW55dGhpbmcKYnV0IHRoZSBpZGxlIGRvbWFpbiAoYW5kIHRoZXJlIGFy ZSwgaW4gZmFjdCwgQVNTRVJUKClzCmFuZCBCVUdfT04oKXMgdG8gdGhhdCBlZmZlY3QpLgoKQ3Vy cmVudGx5LCB3ZSBuZXZlciByZWFsbHkgY2hlY2sgZC0+Y3B1cG9vbCBkdXJpbmcgdGhlCndpbmRv dywgYnV0IHRoYXQgZG9lcyBub3QgbWVhbiB0aGUgcmFjZSBpcyBub3QgdGhlcmUuCkZvciBpbnN0 YW5jZSwgQ3JlZGl0MiBhdCBzb21lIHBvaW50IChkdXJpbmcgbG9hZCBiYWxhbmNpbmcpCml0ZXJh dGVzIG9uIHRoZSBsaXN0IG9mIGRvbWFpbnMsIGFuZCBpZiB3ZSBhZGQgbG9naWMgdGhhdApuZWVk cyBjaGVja2luZyBkLT5jcHVwb29sLCBhbmQgYW55IG9uZSBvZiB0aGVtIGhhZApjcHVwb29sX3Jt X2RvbWFpbigpIGNhbGxlZCBvbiBpdHNlbGYgYWxyZWFkeS4uLiBCb29tIQoKKEluIGZhY3QsIGNh bGxpbmcgX192Y3B1X2hhc19zb2Z0X2FmZmluaXR5KCkgZnJvbSBpbnNpZGUKYmFsYW5jZV9sb2Fk KCkgbWFrZXMgYHhsIHNodXRkb3duIDxkb21pZD4nIHJlbGlhYmx5CmNyYXNoLCBhbmQgdGhpcyBp cyBob3cgSSBkaXNjb3ZlcmVkIHRoaXMuKQoKT24gdGhlIG90aGVyIGhhbmQsIGNwdXBvb2xfcm1f ZG9tYWluKCkgIm9ubHkiIGRvZXMKY3B1cG9vbCByZWxhdGVkIGJvb2trZWVwaW5nLCBhbmQgdGhl cmUncyBubyBoYXJtCnBvc3Rwb25pbmcgaXQgYSBsaXR0bGUgYml0LgoKQWxzbywgY29uc2lkZXJp bmcgdGhhdCwgZHVyaW5nIGRvbWFpbiBpbml0aWFsaXphdGlvbiwKd2UgZG86CiBjcHVwb29sX2Fk ZF9kb21haW4oKQogc2NoZWRfaW5pdF9kb21haW4oKQoKSXQgbWFrZXMgc2Vuc2UgZm9yIHRoZSBk ZXN0cnVjdGlvbiBwYXRoIHRvIGxvb2sgbGlrZQp0aGUgb3Bwb3NpdGUgb2YgaXQsIGkuZS46CiBz Y2hlZF9kZXN0cm95X2RvbWFpbigpCiBjcHVwb29sX3JtX2RvbWFpbigpCgpBbmQgaGVuY2UgdGhh dCdzIHdoYXQgdGhpcyBwYXRjaCBkb2VzLgoKQWN0dWFsbHksIGZvciBiZXR0ZXIgcm9idXN0bmVz cywgd2hhdCB3ZSByZWFsbHkgZG8gaXMKbW92aW5nIGJvdGggY3B1cG9vbF9hZGRfZG9tYWluKCkg YW5kIGNwdXBvb2xfcm1fZG9tYWluKCkKaW5zaWRlIHNjaGVkX2luaXRfZG9tYWluKCkgYW5kIHNj aGVkX2Rlc3Ryb3lfZG9tYWluKCksCnJlc3BlY3RpdmVseSAoYW5kIGFsc28gYWRkIGEgY291cGxl IG9mIEFTU0VSVCgpLXMpLgoKU2lnbmVkLW9mZi1ieTogRGFyaW8gRmFnZ2lvbGkgPGRhcmlvLmZh Z2dpb2xpQGNpdHJpeC5jb20+Ci0tLQpDYzogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29t PgpDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQ2M6IEdlb3Jn ZSBEdW5sYXAgPEdlb3JnZS5EdW5sYXBAZXUuY2l0cml4LmNvbT4KQ2M6IEphbiBCZXVsaWNoIDxq YmV1bGljaEBzdXNlLmNvbT4KLS0tCkNoYW5nZXMgZnJvbSB2MToKICogZm9sbG93ZWQgQW5kcmV3 J3Mgc3VnZ2VzdGlvbiBvZiBtb3ZpbmcgdGhlIGNwdXBvb2wgZnVuY3Rpb25zIGluc2lkZSB0aGUK ICAgc2NoZWQgZnVuY3Rpb25zOwogKiByZXdvcmRlZCB0aGUgY2hhbmdlbG9nLgotLS0KIHhlbi9j b21tb24vZG9tYWluLmMgICAgIHwgICAgNyArLS0tLS0tCiB4ZW4vY29tbW9uL3NjaGVkdWxlLmMg ICB8ICAgMTMgKysrKysrKysrKysrLQogeGVuL2luY2x1ZGUveGVuL3NjaGVkLmggfCAgICAyICst CiAzIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEveGVuL2NvbW1vbi9kb21haW4uYyBiL3hlbi9jb21tb24vZG9tYWluLmMKaW5kZXgg NDJjMDdlZS4uMzM5ZWU1NiAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9kb21haW4uYworKysgYi94 ZW4vY29tbW9uL2RvbWFpbi5jCkBAIC0zNzksMTAgKzM3OSw3IEBAIHN0cnVjdCBkb21haW4gKmRv bWFpbl9jcmVhdGUoZG9taWRfdCBkb21pZCwgdW5zaWduZWQgaW50IGRvbWNyX2ZsYWdzLAogICAg ICAgICBnb3RvIGZhaWw7CiAgICAgaW5pdF9zdGF0dXMgfD0gSU5JVF9hcmNoOwogCi0gICAgaWYg KCAoZXJyID0gY3B1cG9vbF9hZGRfZG9tYWluKGQsIHBvb2xpZCkpICE9IDAgKQotICAgICAgICBn b3RvIGZhaWw7Ci0KLSAgICBpZiAoIChlcnIgPSBzY2hlZF9pbml0X2RvbWFpbihkKSkgIT0gMCAp CisgICAgaWYgKCAoZXJyID0gc2NoZWRfaW5pdF9kb21haW4oZCwgcG9vbGlkKSkgIT0gMCApCiAg ICAgICAgIGdvdG8gZmFpbDsKIAogICAgIGlmICggKGVyciA9IGxhdGVfaHdkb21faW5pdChkKSkg IT0gMCApCkBAIC04NjgsOCArODY1LDYgQEAgdm9pZCBkb21haW5fZGVzdHJveShzdHJ1Y3QgZG9t YWluICpkKQogCiAgICAgVFJBQ0VfMUQoVFJDX0RPTTBfRE9NX1JFTSwgZC0+ZG9tYWluX2lkKTsK IAotICAgIGNwdXBvb2xfcm1fZG9tYWluKGQpOwotCiAgICAgLyogRGVsZXRlIGZyb20gdGFzayBs aXN0IGFuZCB0YXNrIGhhc2h0YWJsZS4gKi8KICAgICBzcGluX2xvY2soJmRvbWxpc3RfdXBkYXRl X2xvY2spOwogICAgIHBkID0gJmRvbWFpbl9saXN0OwpkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9z Y2hlZHVsZS5jIGIveGVuL2NvbW1vbi9zY2hlZHVsZS5jCmluZGV4IDdhYzEyZDMuLjg1MmY4NDAg MTAwNjQ0Ci0tLSBhL3hlbi9jb21tb24vc2NoZWR1bGUuYworKysgYi94ZW4vY29tbW9uL3NjaGVk dWxlLmMKQEAgLTM3OSw4ICszNzksMTUgQEAgdm9pZCBzY2hlZF9kZXN0cm95X3ZjcHUoc3RydWN0 IHZjcHUgKnYpCiAgICAgU0NIRURfT1AoVkNQVTJPUCh2KSwgZnJlZV92ZGF0YSwgdi0+c2NoZWRf cHJpdik7CiB9CiAKLWludCBzY2hlZF9pbml0X2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkKQoraW50 IHNjaGVkX2luaXRfZG9tYWluKHN0cnVjdCBkb21haW4gKmQsIGludCBwb29saWQpCiB7CisgICAg aW50IHJldDsKKworICAgIEFTU0VSVChkLT5jcHVwb29sID09IE5VTEwpOworCisgICAgaWYgKCAo cmV0ID0gY3B1cG9vbF9hZGRfZG9tYWluKGQsIHBvb2xpZCkpICkKKyAgICAgICAgcmV0dXJuIHJl dDsKKwogICAgIFNDSEVEX1NUQVRfQ1JBTksoZG9tX2luaXQpOwogICAgIFRSQUNFXzFEKFRSQ19T Q0hFRF9ET01fQURELCBkLT5kb21haW5faWQpOwogICAgIHJldHVybiBTQ0hFRF9PUChET00yT1Ao ZCksIGluaXRfZG9tYWluLCBkKTsKQEAgLTM4OCw5ICszOTUsMTMgQEAgaW50IHNjaGVkX2luaXRf ZG9tYWluKHN0cnVjdCBkb21haW4gKmQpCiAKIHZvaWQgc2NoZWRfZGVzdHJveV9kb21haW4oc3Ry dWN0IGRvbWFpbiAqZCkKIHsKKyAgICBBU1NFUlQoZC0+Y3B1cG9vbCAhPSBOVUxMIHx8IGlzX2lk bGVfZG9tYWluKGQpKTsKKwogICAgIFNDSEVEX1NUQVRfQ1JBTksoZG9tX2Rlc3Ryb3kpOwogICAg IFRSQUNFXzFEKFRSQ19TQ0hFRF9ET01fUkVNLCBkLT5kb21haW5faWQpOwogICAgIFNDSEVEX09Q KERPTTJPUChkKSwgZGVzdHJveV9kb21haW4sIGQpOworCisgICAgY3B1cG9vbF9ybV9kb21haW4o ZCk7CiB9CiAKIHZvaWQgdmNwdV9zbGVlcF9ub3N5bmMoc3RydWN0IHZjcHUgKnYpCmRpZmYgLS1n aXQgYS94ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaCBiL3hlbi9pbmNsdWRlL3hlbi9zY2hlZC5oCmlu ZGV4IDQ2YzgyZTcuLjg4OGJjMTkgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hlbi9zY2hlZC5o CisrKyBiL3hlbi9pbmNsdWRlL3hlbi9zY2hlZC5oCkBAIC02MzcsNyArNjM3LDcgQEAgdm9pZCBu b3JldHVybiBhc21fZG9tYWluX2NyYXNoX3N5bmNocm9ub3VzKHVuc2lnbmVkIGxvbmcgYWRkcik7 CiB2b2lkIHNjaGVkdWxlcl9pbml0KHZvaWQpOwogaW50ICBzY2hlZF9pbml0X3ZjcHUoc3RydWN0 IHZjcHUgKnYsIHVuc2lnbmVkIGludCBwcm9jZXNzb3IpOwogdm9pZCBzY2hlZF9kZXN0cm95X3Zj cHUoc3RydWN0IHZjcHUgKnYpOwotaW50ICBzY2hlZF9pbml0X2RvbWFpbihzdHJ1Y3QgZG9tYWlu ICpkKTsKK2ludCAgc2NoZWRfaW5pdF9kb21haW4oc3RydWN0IGRvbWFpbiAqZCwgaW50IHBvb2xp ZCk7CiB2b2lkIHNjaGVkX2Rlc3Ryb3lfZG9tYWluKHN0cnVjdCBkb21haW4gKmQpOwogaW50IHNj aGVkX21vdmVfZG9tYWluKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBjcHVwb29sICpjKTsKIGxv bmcgc2NoZWRfYWRqdXN0KHN0cnVjdCBkb21haW4gKiwgc3RydWN0IHhlbl9kb21jdGxfc2NoZWR1 bGVyX29wICopOwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6 Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=