From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dongli Zhang Subject: Re: [PATCH v5 2/2] xen/blkback: rework connect_ring() to avoid inconsistent xenstore 'ring-page-order' set by malicious blkfront Date: Tue, 8 Jan 2019 16:24:32 +0800 Message-ID: <5c3760a1-4f45-a67b-3b70-80fa68ee4358__30634.6853533343$1546935661$gmane$org@oracle.com> References: <1546935350-20957-1-git-send-email-dongli.zhang@oracle.com> <1546935350-20957-2-git-send-email-dongli.zhang@oracle.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 1ggmeR-0000LS-Mx for xen-devel@lists.xenproject.org; Tue, 08 Jan 2019 08:22:19 +0000 In-Reply-To: <1546935350-20957-2-git-send-email-dongli.zhang@oracle.com> Content-Language: en-US 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, linux-block@vger.kernel.org, linux-kernel@vger.kernel.org Cc: axboe@kernel.dk, paul.durrant@citrix.com, konrad.wilk@oracle.com, roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org b29wcy4gUGxlYXNlIGlnbm9yZSB0aGlzIHY1IHBhdGNoLgoKSSBqdXN0IHJlYWxpemVkIExpbnVz IHN1Z2dlc3RlZCBpbiBhbiBvbGQgZW1haWwgbm90IHVzZSBCVUcoKS9CVUdfT04oKSBpbiB0aGUg Y29kZS4KCkkgd2lsbCBzd2l0Y2ggdG8gdGhlIFdBUk4oKSBzb2x1dGlvbiBhbmQgcmVzZW5kIGFn YWluLgoKU29ycnkgZm9yIHRoZSBqdW5rIGVtYWlsLgoKRG9uZ2xpIFpoYW5nCgpPbiAyMDE5LzEv OCDkuIvljYg0OjE1LCBEb25nbGkgWmhhbmcgd3JvdGU6Cj4gVGhlIHhlbnN0b3JlICdyaW5nLXBh Z2Utb3JkZXInIGlzIHVzZWQgZ2xvYmFsbHkgZm9yIGVhY2ggYmxrYmFjayBxdWV1ZSBhbmQKPiB0 aGVyZWZvcmUgc2hvdWxkIGJlIHJlYWQgZnJvbSB4ZW5zdG9yZSBvbmx5IG9uY2UuIEhvd2V2ZXIs IGl0IGlzIG9idGFpbmVkCj4gaW4gcmVhZF9wZXJfcmluZ19yZWZzKCkgd2hpY2ggbWlnaHQgYmUg Y2FsbGVkIG11bHRpcGxlIHRpbWVzIGR1cmluZyB0aGUKPiBpbml0aWFsaXphdGlvbiBvZiBlYWNo IGJsa2JhY2sgcXVldWUuCj4gCj4gSWYgdGhlIGJsa2Zyb250IGlzIG1hbGljaW91cyBhbmQgdGhl ICdyaW5nLXBhZ2Utb3JkZXInIGlzIHNldCBpbiBkaWZmZXJlbnQKPiB2YWx1ZSBieSBibGtmcm9u dCBldmVyeSB0aW1lIGJlZm9yZSBibGtiYWNrIHJlYWRzIGl0LCB0aGlzIG1heSBlbmQgdXAgYXQK PiB0aGUgIldBUk5fT04oaSAhPSAoWEVOX0JMS0lGX1JFUVNfUEVSX1BBR0UgKiBibGtpZi0+bnJf cmluZ19wYWdlcykpOyIgaW4KPiB4ZW5fYmxraWZfZGlzY29ubmVjdCgpIHdoZW4gZnJvbnRlbmQg aXMgZGVzdHJveWVkLgo+IAo+IFRoaXMgcGF0Y2ggcmV3b3JrcyBjb25uZWN0X3JpbmcoKSB0byBy ZWFkIHhlbnN0b3JlICdyaW5nLXBhZ2Utb3JkZXInIG9ubHkKPiBvbmNlLgo+IAo+IFNpZ25lZC1v ZmYtYnk6IERvbmdsaSBaaGFuZyA8ZG9uZ2xpLnpoYW5nQG9yYWNsZS5jb20+Cj4gLS0tCj4gQ2hh bmdlZCBzaW5jZSB2MToKPiAgICogY2hhbmdlIHRoZSBvcmRlciBvZiB4ZW5zdG9yZSByZWFkIGlu IHJlYWRfcGVyX3JpbmdfcmVmcwo+ICAgKiB1c2UgeGVuYnVzX3JlYWRfdW5zaWduZWQoKSBpbiBj b25uZWN0X3JpbmcoKQo+IAo+IENoYW5nZWQgc2luY2UgdjI6Cj4gICAqIHNpbXBsaWZ5IHRoZSBj b25kaXRpb24gY2hlY2sgYXMgIihlcnIgIT0gMSAmJiBucl9ncmVmcyA+IDEpIgo+ICAgKiBhdm9p ZCBzZXR0aW5nIGVyciBhcyAtRUlOVkFMIHRvIHJlbW92ZSBleHRyYSBvbmUgbGluZSBvZiBjb2Rl Cj4gCj4gQ2hhbmdlZCBzaW5jZSB2MzoKPiAgICogZXhpdCBhdCB0aGUgYmVnaW5uaW5nIGlmICFu cl9ncmVmcwo+ICAgKiBjaGFuZ2UgdGhlIGlmIHN0YXRlbWVudHMgdG8gYXZvaWQgdGVzdCAoZXJy ICE9IDEpIHR3aWNlCj4gICAqIGluaXRpYWxpemUgYSAnYmxraWYnIHN0YWNrIHZhcmlhYmxlIChy ZWZlciB0byBQQVRDSCAxLzIpCj4gCj4gQ2hhbmdlZCBzaW5jZSB2NDoKPiAgICogdXNlIEJVR19P TigpIHdoZW4gKG5yX2dyZWZzID09IDApIHRvIHJlbWluZGVyIHRoZSBkZXZlbG9wZXIKPiAgICog c2V0IGVyciA9IC1FSU5WQUwgYmVmb3JlIHhlbmJ1c19kZXZfZmF0YWwoKQo+IAo+ICBkcml2ZXJz L2Jsb2NrL3hlbi1ibGtiYWNrL3hlbmJ1cy5jIHwgNjkgKysrKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDQwIGluc2VydGlvbnMoKyksIDI5IGRl bGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL3hlbi1ibGtiYWNrL3hl bmJ1cy5jIGIvZHJpdmVycy9ibG9jay94ZW4tYmxrYmFjay94ZW5idXMuYwo+IGluZGV4IGE0YWFk YWMuLmY2MTQ2Y2QgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ibG9jay94ZW4tYmxrYmFjay94ZW5i dXMuYwo+ICsrKyBiL2RyaXZlcnMvYmxvY2sveGVuLWJsa2JhY2sveGVuYnVzLmMKPiBAQCAtOTI2 LDcgKzkyNiw3IEBAIHN0YXRpYyBpbnQgcmVhZF9wZXJfcmluZ19yZWZzKHN0cnVjdCB4ZW5fYmxr aWZfcmluZyAqcmluZywgY29uc3QgY2hhciAqZGlyKQo+ICAJaW50IGVyciwgaSwgajsKPiAgCXN0 cnVjdCB4ZW5fYmxraWYgKmJsa2lmID0gcmluZy0+YmxraWY7Cj4gIAlzdHJ1Y3QgeGVuYnVzX2Rl dmljZSAqZGV2ID0gYmxraWYtPmJlLT5kZXY7Cj4gLQl1bnNpZ25lZCBpbnQgcmluZ19wYWdlX29y ZGVyLCBucl9ncmVmcywgZXZ0Y2huOwo+ICsJdW5zaWduZWQgaW50IG5yX2dyZWZzLCBldnRjaG47 Cj4gIAo+ICAJZXJyID0geGVuYnVzX3NjYW5mKFhCVF9OSUwsIGRpciwgImV2ZW50LWNoYW5uZWwi LCAiJXUiLAo+ICAJCQkgICZldnRjaG4pOwo+IEBAIC05MzYsNDMgKzkzNiwzOSBAQCBzdGF0aWMg aW50IHJlYWRfcGVyX3JpbmdfcmVmcyhzdHJ1Y3QgeGVuX2Jsa2lmX3JpbmcgKnJpbmcsIGNvbnN0 IGNoYXIgKmRpcikKPiAgCQlyZXR1cm4gZXJyOwo+ICAJfQo+ICAKPiAtCWVyciA9IHhlbmJ1c19z Y2FuZihYQlRfTklMLCBkZXYtPm90aGVyZW5kLCAicmluZy1wYWdlLW9yZGVyIiwgIiV1IiwKPiAt CQkJICAmcmluZ19wYWdlX29yZGVyKTsKPiAtCWlmIChlcnIgIT0gMSkgewo+IC0JCWVyciA9IHhl bmJ1c19zY2FuZihYQlRfTklMLCBkaXIsICJyaW5nLXJlZiIsICIldSIsICZyaW5nX3JlZlswXSk7 Cj4gKwlucl9ncmVmcyA9IGJsa2lmLT5ucl9yaW5nX3BhZ2VzOwo+ICsKPiArCUJVR19PTighbnJf Z3JlZnMpOwo+ICsKPiArCWZvciAoaSA9IDA7IGkgPCBucl9ncmVmczsgaSsrKSB7Cj4gKwkJY2hh ciByaW5nX3JlZl9uYW1lW1JJTkdSRUZfTkFNRV9MRU5dOwo+ICsKPiArCQlzbnByaW50ZihyaW5n X3JlZl9uYW1lLCBSSU5HUkVGX05BTUVfTEVOLCAicmluZy1yZWYldSIsIGkpOwo+ICsJCWVyciA9 IHhlbmJ1c19zY2FuZihYQlRfTklMLCBkaXIsIHJpbmdfcmVmX25hbWUsCj4gKwkJCQkgICAiJXUi LCAmcmluZ19yZWZbaV0pOwo+ICsKPiAgCQlpZiAoZXJyICE9IDEpIHsKPiArCQkJaWYgKG5yX2dy ZWZzID09IDEpCj4gKwkJCQlicmVhazsKPiArCj4gIAkJCWVyciA9IC1FSU5WQUw7Cj4gLQkJCXhl bmJ1c19kZXZfZmF0YWwoZGV2LCBlcnIsICJyZWFkaW5nICVzL3JpbmctcmVmIiwgZGlyKTsKPiAr CQkJeGVuYnVzX2Rldl9mYXRhbChkZXYsIGVyciwgInJlYWRpbmcgJXMvJXMiLAo+ICsJCQkJCSBk aXIsIHJpbmdfcmVmX25hbWUpOwo+ICAJCQlyZXR1cm4gZXJyOwo+ICAJCX0KPiAtCQlucl9ncmVm cyA9IDE7Cj4gLQl9IGVsc2Ugewo+IC0JCXVuc2lnbmVkIGludCBpOwo+ICsJfQo+ICAKPiAtCQlp ZiAocmluZ19wYWdlX29yZGVyID4geGVuX2Jsa2lmX21heF9yaW5nX29yZGVyKSB7Cj4gKwlpZiAo ZXJyICE9IDEpIHsKPiArCQlXQVJOX09OKG5yX2dyZWZzICE9IDEpOwo+ICsKPiArCQllcnIgPSB4 ZW5idXNfc2NhbmYoWEJUX05JTCwgZGlyLCAicmluZy1yZWYiLCAiJXUiLAo+ICsJCQkJICAgJnJp bmdfcmVmWzBdKTsKPiArCQlpZiAoZXJyICE9IDEpIHsKPiAgCQkJZXJyID0gLUVJTlZBTDsKPiAt CQkJeGVuYnVzX2Rldl9mYXRhbChkZXYsIGVyciwgIiVzL3JlcXVlc3QgJWQgcmluZyBwYWdlIG9y ZGVyIGV4Y2VlZCBtYXg6JWQiLAo+IC0JCQkJCSBkaXIsIHJpbmdfcGFnZV9vcmRlciwKPiAtCQkJ CQkgeGVuX2Jsa2lmX21heF9yaW5nX29yZGVyKTsKPiArCQkJeGVuYnVzX2Rldl9mYXRhbChkZXYs IGVyciwgInJlYWRpbmcgJXMvcmluZy1yZWYiLCBkaXIpOwo+ICAJCQlyZXR1cm4gZXJyOwo+ICAJ CX0KPiAtCj4gLQkJbnJfZ3JlZnMgPSAxIDw8IHJpbmdfcGFnZV9vcmRlcjsKPiAtCQlmb3IgKGkg PSAwOyBpIDwgbnJfZ3JlZnM7IGkrKykgewo+IC0JCQljaGFyIHJpbmdfcmVmX25hbWVbUklOR1JF Rl9OQU1FX0xFTl07Cj4gLQo+IC0JCQlzbnByaW50ZihyaW5nX3JlZl9uYW1lLCBSSU5HUkVGX05B TUVfTEVOLCAicmluZy1yZWYldSIsIGkpOwo+IC0JCQllcnIgPSB4ZW5idXNfc2NhbmYoWEJUX05J TCwgZGlyLCByaW5nX3JlZl9uYW1lLAo+IC0JCQkJCSAgICIldSIsICZyaW5nX3JlZltpXSk7Cj4g LQkJCWlmIChlcnIgIT0gMSkgewo+IC0JCQkJZXJyID0gLUVJTlZBTDsKPiAtCQkJCXhlbmJ1c19k ZXZfZmF0YWwoZGV2LCBlcnIsICJyZWFkaW5nICVzLyVzIiwKPiAtCQkJCQkJIGRpciwgcmluZ19y ZWZfbmFtZSk7Cj4gLQkJCQlyZXR1cm4gZXJyOwo+IC0JCQl9Cj4gLQkJfQo+ICAJfQo+IC0JYmxr aWYtPm5yX3JpbmdfcGFnZXMgPSBucl9ncmVmczsKPiAgCj4gIAlmb3IgKGkgPSAwOyBpIDwgbnJf Z3JlZnMgKiBYRU5fQkxLSUZfUkVRU19QRVJfUEFHRTsgaSsrKSB7Cj4gIAkJcmVxID0ga3phbGxv YyhzaXplb2YoKnJlcSksIEdGUF9LRVJORUwpOwo+IEBAIC0xMDMxLDYgKzEwMjcsNyBAQCBzdGF0 aWMgaW50IGNvbm5lY3RfcmluZyhzdHJ1Y3QgYmFja2VuZF9pbmZvICpiZSkKPiAgCXNpemVfdCB4 c3BhdGhzaXplOwo+ICAJY29uc3Qgc2l6ZV90IHhlbnN0b3JlX3BhdGhfZXh0X3NpemUgPSAxMTsg Lyogc3VmZmljaWVudCBmb3IgIi9xdWV1ZS1OTk4iICovCj4gIAl1bnNpZ25lZCBpbnQgcmVxdWVz dGVkX251bV9xdWV1ZXMgPSAwOwo+ICsJdW5zaWduZWQgaW50IHJpbmdfcGFnZV9vcmRlcjsKPiAg Cj4gIAlwcl9kZWJ1ZygiJXMgJXNcbiIsIF9fZnVuY19fLCBkZXYtPm90aGVyZW5kKTsKPiAgCj4g QEAgLTEwNzYsNiArMTA3MywyMCBAQCBzdGF0aWMgaW50IGNvbm5lY3RfcmluZyhzdHJ1Y3QgYmFj a2VuZF9pbmZvICpiZSkKPiAgCQkgYmxraWYtPm5yX3JpbmdzLCBibGtpZi0+YmxrX3Byb3RvY29s LCBwcm90b2NvbCwKPiAgCQkgcGVyc19ncmFudHMgPyAicGVyc2lzdGVudCBncmFudHMiIDogIiIp Owo+ICAKPiArCXJpbmdfcGFnZV9vcmRlciA9IHhlbmJ1c19yZWFkX3Vuc2lnbmVkKGRldi0+b3Ro ZXJlbmQsCj4gKwkJCQkJICAgICAgICJyaW5nLXBhZ2Utb3JkZXIiLCAwKTsKPiArCj4gKwlpZiAo cmluZ19wYWdlX29yZGVyID4geGVuX2Jsa2lmX21heF9yaW5nX29yZGVyKSB7Cj4gKwkJZXJyID0g LUVJTlZBTDsKPiArCQl4ZW5idXNfZGV2X2ZhdGFsKGRldiwgZXJyLAo+ICsJCQkJICJyZXF1ZXN0 ZWQgcmluZyBwYWdlIG9yZGVyICVkIGV4Y2VlZCBtYXg6JWQiLAo+ICsJCQkJIHJpbmdfcGFnZV9v cmRlciwKPiArCQkJCSB4ZW5fYmxraWZfbWF4X3Jpbmdfb3JkZXIpOwo+ICsJCXJldHVybiBlcnI7 Cj4gKwl9Cj4gKwo+ICsJYmxraWYtPm5yX3JpbmdfcGFnZXMgPSAxIDw8IHJpbmdfcGFnZV9vcmRl cjsKPiArCj4gIAlpZiAoYmxraWYtPm5yX3JpbmdzID09IDEpCj4gIAkJcmV0dXJuIHJlYWRfcGVy X3JpbmdfcmVmcygmYmxraWYtPnJpbmdzWzBdLCBkZXYtPm90aGVyZW5kKTsKPiAgCWVsc2Ugewo+ IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRl dmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9s aXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==