From: Greg Kroah-Hartman Subject: [PATCH 4.19 054/152] pvcalls-front: Avoid get_free_pages(GFP_KERNEL) under spinlock Date: Mon, 25 Feb 2019 22:10:46 +0100 Message-ID: <20190225195047.304306206@linuxfoundation.org> References: <20190225195043.645958524@linuxfoundation.org> 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 1gyNhm-0000II-JU for xen-devel@lists.xenproject.org; Mon, 25 Feb 2019 21:22:30 +0000 In-Reply-To: <20190225195043.645958524@linuxfoundation.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: linux-kernel@vger.kernel.org Cc: Juergen Gross , Sasha Levin , Stefano Stabellini , Greg Kroah-Hartman , stable@vger.kernel.org, Julia Lawall , xen-devel@lists.xenproject.org, Boris Ostrovsky , Wen Yang List-Id: xen-devel@lists.xenproject.org NC4xOS1zdGFibGUgcmV2aWV3IHBhdGNoLiAgSWYgYW55b25lIGhhcyBhbnkgb2JqZWN0aW9ucywg cGxlYXNlIGxldCBtZSBrbm93LgoKLS0tLS0tLS0tLS0tLS0tLS0tCgpbIFVwc3RyZWFtIGNvbW1p dCA5ZjUxYzA1ZGM0MWE2ZDY5NDIzZTNkMDNkMThlYjdhYjIyZjllYzE5IF0KClRoZSBwcm9ibGVt IGlzIHRoYXQgd2UgY2FsbCB0aGlzIHdpdGggYSBzcGluIGxvY2sgaGVsZC4KVGhlIGNhbGwgdHJl ZSBpczoKcHZjYWxsc19mcm9udF9hY2NlcHQoKSBob2xkcyBiZWRhdGEtPnNvY2tldF9sb2NrLgog ICAgLT4gY3JlYXRlX2FjdGl2ZSgpCiAgICAgICAgLT4gX19nZXRfZnJlZV9wYWdlcygpIHVzZXMg R0ZQX0tFUk5FTAoKVGhlIGNyZWF0ZV9hY3RpdmUoKSBmdW5jdGlvbiBpcyBvbmx5IGNhbGxlZCBm cm9tIHB2Y2FsbHNfZnJvbnRfYWNjZXB0KCkKd2l0aCBhIHNwaW5fbG9jayBoZWxkLCBUaGUgYWxs b2NhdGlvbiBpcyBub3QgYWxsb3dlZCB0byBzbGVlcCBhbmQKR0ZQX0tFUk5FTCBpcyBub3Qgc3Vm ZmljaWVudC4KClRoaXMgaXNzdWUgd2FzIGRldGVjdGVkIGJ5IHVzaW5nIHRoZSBDb2NjaW5lbGxl IHNvZnR3YXJlLgoKdjI6IEFkZCBhIGZ1bmN0aW9uIGRvaW5nIHRoZSBhbGxvY2F0aW9ucyB3aGlj aCBpcyBjYWxsZWQKICAgIG91dHNpZGUgdGhlIGxvY2sgYW5kIHBhc3NpbmcgdGhlIGFsbG9jYXRl ZCBkYXRhIHRvCiAgICBjcmVhdGVfYWN0aXZlKCkuCgp2MzogVXNlIHRoZSBtYXRjaGluZyBkZWFs bG9jYXRvcnMgaS5lLiwgZnJlZV9wYWdlKCkKICAgIGFuZCBmcmVlX3BhZ2VzKCksIHJlc3BlY3Rp dmVseS4KCnY0OiBJdCB3b3VsZCBiZSBiZXR0ZXIgdG8gcHJlLXBvcHVsYXRlIG1hcCAoc3RydWN0 IHNvY2tfbWFwcGluZyksCiAgICByYXRoZXIgdGhhbiBpbnRyb2R1Y2luZyBvbmUgbW9yZSBuZXcg c3RydWN0LgoKdjU6IFNpbmNlIGFsbG9jYXRpbmcgdGhlIGRhdGEgb3V0c2lkZSBvZiB0aGlzIGNh bGwgaXQgc2hvdWxkIGFsc28KICAgIGJlIGZyZWVkIG91dHNpZGUsIHdoZW4gY3JlYXRlX2FjdGl2 ZSgpIGZhaWxzLgogICAgTW92ZSBremFsbG9jKHNpemVvZigqbWFwMiksIEdGUF9BVE9NSUMpIG91 dHNpZGUgc3BpbmxvY2sgYW5kCiAgICB1c2UgR0ZQX0tFUk5FTCBpbnN0ZWFkLgoKdjY6IERyb3Ag dGhlIHN1cGVyZmx1b3VzIGNhbGxzLgoKU3VnZ2VzdGVkLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jv c3NAc3VzZS5jb20+ClN1Z2dlc3RlZC1ieTogQm9yaXMgT3N0cm92c2t5IDxib3Jpcy5vc3Ryb3Zz a3lAb3JhY2xlLmNvbT4KU3VnZ2VzdGVkLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxs aW5pQGtlcm5lbC5vcmc+ClNpZ25lZC1vZmYtYnk6IFdlbiBZYW5nIDx3ZW4ueWFuZzk5QHp0ZS5j b20uY24+CkFja2VkLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5v cmc+CkNDOiBKdWxpYSBMYXdhbGwgPGp1bGlhLmxhd2FsbEBsaXA2LmZyPgpDQzogQm9yaXMgT3N0 cm92c2t5IDxib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNvbT4KQ0M6IEp1ZXJnZW4gR3Jvc3MgPGpn cm9zc0BzdXNlLmNvbT4KQ0M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVs Lm9yZz4KQ0M6IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpDQzogbGludXgta2VybmVs QHZnZXIua2VybmVsLm9yZwpTaWduZWQtb2ZmLWJ5OiBCb3JpcyBPc3Ryb3Zza3kgPGJvcmlzLm9z dHJvdnNreUBvcmFjbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBTYXNoYSBMZXZpbiA8c2FzaGFsQGtl cm5lbC5vcmc+Ci0tLQogZHJpdmVycy94ZW4vcHZjYWxscy1mcm9udC5jIHwgODEgKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDU5IGluc2VydGlv bnMoKyksIDIyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL3B2Y2FsbHMt ZnJvbnQuYyBiL2RyaXZlcnMveGVuL3B2Y2FsbHMtZnJvbnQuYwppbmRleCAwMTU4ODU4MmFlNjYz Li42MzU3MTYwZDQ2NmFiIDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9wdmNhbGxzLWZyb250LmMK KysrIGIvZHJpdmVycy94ZW4vcHZjYWxscy1mcm9udC5jCkBAIC0zNDEsNiArMzQxLDM5IEBAIGlu dCBwdmNhbGxzX2Zyb250X3NvY2tldChzdHJ1Y3Qgc29ja2V0ICpzb2NrKQogCXJldHVybiByZXQ7 CiB9CiAKK3N0YXRpYyB2b2lkIGZyZWVfYWN0aXZlX3Jpbmcoc3RydWN0IHNvY2tfbWFwcGluZyAq bWFwKQoreworCWZyZWVfcGFnZXMoKHVuc2lnbmVkIGxvbmcpbWFwLT5hY3RpdmUuZGF0YS5pbiwK KwkJCW1hcC0+YWN0aXZlLnJpbmctPnJpbmdfb3JkZXIpOworCWZyZWVfcGFnZSgodW5zaWduZWQg bG9uZyltYXAtPmFjdGl2ZS5yaW5nKTsKK30KKworc3RhdGljIGludCBhbGxvY19hY3RpdmVfcmlu ZyhzdHJ1Y3Qgc29ja19tYXBwaW5nICptYXApCit7CisJdm9pZCAqYnl0ZXM7CisKKwltYXAtPmFj dGl2ZS5yaW5nID0gKHN0cnVjdCBwdmNhbGxzX2RhdGFfaW50ZiAqKQorCQlnZXRfemVyb2VkX3Bh Z2UoR0ZQX0tFUk5FTCk7CisJaWYgKCFtYXAtPmFjdGl2ZS5yaW5nKQorCQlnb3RvIG91dDsKKwor CW1hcC0+YWN0aXZlLnJpbmctPnJpbmdfb3JkZXIgPSBQVkNBTExTX1JJTkdfT1JERVI7CisJYnl0 ZXMgPSAodm9pZCAqKV9fZ2V0X2ZyZWVfcGFnZXMoR0ZQX0tFUk5FTCB8IF9fR0ZQX1pFUk8sCisJ CQkJCVBWQ0FMTFNfUklOR19PUkRFUik7CisJaWYgKCFieXRlcykKKwkJZ290byBvdXQ7CisKKwlt YXAtPmFjdGl2ZS5kYXRhLmluID0gYnl0ZXM7CisJbWFwLT5hY3RpdmUuZGF0YS5vdXQgPSBieXRl cyArCisJCVhFTl9GTEVYX1JJTkdfU0laRShQVkNBTExTX1JJTkdfT1JERVIpOworCisJcmV0dXJu IDA7CisKK291dDoKKwlmcmVlX2FjdGl2ZV9yaW5nKG1hcCk7CisJcmV0dXJuIC1FTk9NRU07Cit9 CisKIHN0YXRpYyBpbnQgY3JlYXRlX2FjdGl2ZShzdHJ1Y3Qgc29ja19tYXBwaW5nICptYXAsIGlu dCAqZXZ0Y2huKQogewogCXZvaWQgKmJ5dGVzOwpAQCAtMzQ5LDE1ICszODIsNyBAQCBzdGF0aWMg aW50IGNyZWF0ZV9hY3RpdmUoc3RydWN0IHNvY2tfbWFwcGluZyAqbWFwLCBpbnQgKmV2dGNobikK IAkqZXZ0Y2huID0gLTE7CiAJaW5pdF93YWl0cXVldWVfaGVhZCgmbWFwLT5hY3RpdmUuaW5mbGln aHRfY29ubl9yZXEpOwogCi0JbWFwLT5hY3RpdmUucmluZyA9IChzdHJ1Y3QgcHZjYWxsc19kYXRh X2ludGYgKikKLQkJX19nZXRfZnJlZV9wYWdlKEdGUF9LRVJORUwgfCBfX0dGUF9aRVJPKTsKLQlp ZiAobWFwLT5hY3RpdmUucmluZyA9PSBOVUxMKQotCQlnb3RvIG91dF9lcnJvcjsKLQltYXAtPmFj dGl2ZS5yaW5nLT5yaW5nX29yZGVyID0gUFZDQUxMU19SSU5HX09SREVSOwotCWJ5dGVzID0gKHZv aWQgKilfX2dldF9mcmVlX3BhZ2VzKEdGUF9LRVJORUwgfCBfX0dGUF9aRVJPLAotCQkJCQlQVkNB TExTX1JJTkdfT1JERVIpOwotCWlmIChieXRlcyA9PSBOVUxMKQotCQlnb3RvIG91dF9lcnJvcjsK KwlieXRlcyA9IG1hcC0+YWN0aXZlLmRhdGEuaW47CiAJZm9yIChpID0gMDsgaSA8ICgxIDw8IFBW Q0FMTFNfUklOR19PUkRFUik7IGkrKykKIAkJbWFwLT5hY3RpdmUucmluZy0+cmVmW2ldID0gZ250 dGFiX2dyYW50X2ZvcmVpZ25fYWNjZXNzKAogCQkJcHZjYWxsc19mcm9udF9kZXYtPm90aGVyZW5k X2lkLApAQCAtMzY3LDEwICszOTIsNiBAQCBzdGF0aWMgaW50IGNyZWF0ZV9hY3RpdmUoc3RydWN0 IHNvY2tfbWFwcGluZyAqbWFwLCBpbnQgKmV2dGNobikKIAkJcHZjYWxsc19mcm9udF9kZXYtPm90 aGVyZW5kX2lkLAogCQlwZm5fdG9fZ2ZuKHZpcnRfdG9fcGZuKCh2b2lkICopbWFwLT5hY3RpdmUu cmluZykpLCAwKTsKIAotCW1hcC0+YWN0aXZlLmRhdGEuaW4gPSBieXRlczsKLQltYXAtPmFjdGl2 ZS5kYXRhLm91dCA9IGJ5dGVzICsKLQkJWEVOX0ZMRVhfUklOR19TSVpFKFBWQ0FMTFNfUklOR19P UkRFUik7Ci0KIAlyZXQgPSB4ZW5idXNfYWxsb2NfZXZ0Y2huKHB2Y2FsbHNfZnJvbnRfZGV2LCBl dnRjaG4pOwogCWlmIChyZXQpCiAJCWdvdG8gb3V0X2Vycm9yOwpAQCAtMzkxLDggKzQxMiw2IEBA IHN0YXRpYyBpbnQgY3JlYXRlX2FjdGl2ZShzdHJ1Y3Qgc29ja19tYXBwaW5nICptYXAsIGludCAq ZXZ0Y2huKQogb3V0X2Vycm9yOgogCWlmICgqZXZ0Y2huID49IDApCiAJCXhlbmJ1c19mcmVlX2V2 dGNobihwdmNhbGxzX2Zyb250X2RldiwgKmV2dGNobik7Ci0JZnJlZV9wYWdlcygodW5zaWduZWQg bG9uZyltYXAtPmFjdGl2ZS5kYXRhLmluLCBQVkNBTExTX1JJTkdfT1JERVIpOwotCWZyZWVfcGFn ZSgodW5zaWduZWQgbG9uZyltYXAtPmFjdGl2ZS5yaW5nKTsKIAlyZXR1cm4gcmV0OwogfQogCkBA IC00MTIsMTcgKzQzMSwyNCBAQCBpbnQgcHZjYWxsc19mcm9udF9jb25uZWN0KHN0cnVjdCBzb2Nr ZXQgKnNvY2ssIHN0cnVjdCBzb2NrYWRkciAqYWRkciwKIAkJcmV0dXJuIFBUUl9FUlIobWFwKTsK IAogCWJlZGF0YSA9IGRldl9nZXRfZHJ2ZGF0YSgmcHZjYWxsc19mcm9udF9kZXYtPmRldik7CisJ cmV0ID0gYWxsb2NfYWN0aXZlX3JpbmcobWFwKTsKKwlpZiAocmV0IDwgMCkgeworCQlwdmNhbGxz X2V4aXRfc29jayhzb2NrKTsKKwkJcmV0dXJuIHJldDsKKwl9CiAKIAlzcGluX2xvY2soJmJlZGF0 YS0+c29ja2V0X2xvY2spOwogCXJldCA9IGdldF9yZXF1ZXN0KGJlZGF0YSwgJnJlcV9pZCk7CiAJ aWYgKHJldCA8IDApIHsKIAkJc3Bpbl91bmxvY2soJmJlZGF0YS0+c29ja2V0X2xvY2spOworCQlm cmVlX2FjdGl2ZV9yaW5nKG1hcCk7CiAJCXB2Y2FsbHNfZXhpdF9zb2NrKHNvY2spOwogCQlyZXR1 cm4gcmV0OwogCX0KIAlyZXQgPSBjcmVhdGVfYWN0aXZlKG1hcCwgJmV2dGNobik7CiAJaWYgKHJl dCA8IDApIHsKIAkJc3Bpbl91bmxvY2soJmJlZGF0YS0+c29ja2V0X2xvY2spOworCQlmcmVlX2Fj dGl2ZV9yaW5nKG1hcCk7CiAJCXB2Y2FsbHNfZXhpdF9zb2NrKHNvY2spOwogCQlyZXR1cm4gcmV0 OwogCX0KQEAgLTc4NCwyNSArODEwLDM2IEBAIGludCBwdmNhbGxzX2Zyb250X2FjY2VwdChzdHJ1 Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3Qgc29ja2V0ICpuZXdzb2NrLCBpbnQgZmxhZ3MpCiAJCX0K IAl9CiAKLQlzcGluX2xvY2soJmJlZGF0YS0+c29ja2V0X2xvY2spOwotCXJldCA9IGdldF9yZXF1 ZXN0KGJlZGF0YSwgJnJlcV9pZCk7Ci0JaWYgKHJldCA8IDApIHsKKwltYXAyID0ga3phbGxvYyhz aXplb2YoKm1hcDIpLCBHRlBfS0VSTkVMKTsKKwlpZiAobWFwMiA9PSBOVUxMKSB7CiAJCWNsZWFy X2JpdChQVkNBTExTX0ZMQUdfQUNDRVBUX0lORkxJR0hULAogCQkJICAodm9pZCAqKSZtYXAtPnBh c3NpdmUuZmxhZ3MpOwotCQlzcGluX3VubG9jaygmYmVkYXRhLT5zb2NrZXRfbG9jayk7CisJCXB2 Y2FsbHNfZXhpdF9zb2NrKHNvY2spOworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisJcmV0ID0gYWxs b2NfYWN0aXZlX3JpbmcobWFwMik7CisJaWYgKHJldCA8IDApIHsKKwkJY2xlYXJfYml0KFBWQ0FM TFNfRkxBR19BQ0NFUFRfSU5GTElHSFQsCisJCQkJKHZvaWQgKikmbWFwLT5wYXNzaXZlLmZsYWdz KTsKKwkJa2ZyZWUobWFwMik7CiAJCXB2Y2FsbHNfZXhpdF9zb2NrKHNvY2spOwogCQlyZXR1cm4g cmV0OwogCX0KLQltYXAyID0ga3phbGxvYyhzaXplb2YoKm1hcDIpLCBHRlBfQVRPTUlDKTsKLQlp ZiAobWFwMiA9PSBOVUxMKSB7CisJc3Bpbl9sb2NrKCZiZWRhdGEtPnNvY2tldF9sb2NrKTsKKwly ZXQgPSBnZXRfcmVxdWVzdChiZWRhdGEsICZyZXFfaWQpOworCWlmIChyZXQgPCAwKSB7CiAJCWNs ZWFyX2JpdChQVkNBTExTX0ZMQUdfQUNDRVBUX0lORkxJR0hULAogCQkJICAodm9pZCAqKSZtYXAt PnBhc3NpdmUuZmxhZ3MpOwogCQlzcGluX3VubG9jaygmYmVkYXRhLT5zb2NrZXRfbG9jayk7CisJ CWZyZWVfYWN0aXZlX3JpbmcobWFwMik7CisJCWtmcmVlKG1hcDIpOwogCQlwdmNhbGxzX2V4aXRf c29jayhzb2NrKTsKLQkJcmV0dXJuIC1FTk9NRU07CisJCXJldHVybiByZXQ7CiAJfQorCiAJcmV0 ID0gY3JlYXRlX2FjdGl2ZShtYXAyLCAmZXZ0Y2huKTsKIAlpZiAocmV0IDwgMCkgeworCQlmcmVl X2FjdGl2ZV9yaW5nKG1hcDIpOwogCQlrZnJlZShtYXAyKTsKIAkJY2xlYXJfYml0KFBWQ0FMTFNf RkxBR19BQ0NFUFRfSU5GTElHSFQsCiAJCQkgICh2b2lkICopJm1hcC0+cGFzc2l2ZS5mbGFncyk7 Ci0tIAoyLjE5LjEKCgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qu b3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2 ZWw=