From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dongli Zhang Subject: Re: [PATCH v4 2/2] xen/blkback: rework connect_ring() to avoid inconsistent xenstore 'ring-page-order' set by malicious blkfront Date: Mon, 7 Jan 2019 22:05:46 +0800 Message-ID: <35c7d495-2d6c-5fec-abf8-c5aef55cf866__30648.0334410027$1546869910$gmane$org@oracle.com> References: <1546839359-5478-1-git-send-email-dongli.zhang@oracle.com> <1546839359-5478-2-git-send-email-dongli.zhang@oracle.com> <20190107120107.euf7mrq7gk6bmibz@mac> 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 1ggVXa-0006p1-Du for xen-devel@lists.xenproject.org; Mon, 07 Jan 2019 14:06:06 +0000 In-Reply-To: <20190107120107.euf7mrq7gk6bmibz@mac> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= , Paul.Durrant@citrix.com Cc: axboe@kernel.dk, linux-block@vger.kernel.org, xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, konrad.wilk@oracle.com List-Id: xen-devel@lists.xenproject.org CgpPbiAwMS8wNy8yMDE5IDA4OjAxIFBNLCBSb2dlciBQYXUgTW9ubsOpIHdyb3RlOgo+IE9uIE1v biwgSmFuIDA3LCAyMDE5IGF0IDAxOjM1OjU5UE0gKzA4MDAsIERvbmdsaSBaaGFuZyB3cm90ZToK Pj4gVGhlIHhlbnN0b3JlICdyaW5nLXBhZ2Utb3JkZXInIGlzIHVzZWQgZ2xvYmFsbHkgZm9yIGVh Y2ggYmxrYmFjayBxdWV1ZSBhbmQKPj4gdGhlcmVmb3JlIHNob3VsZCBiZSByZWFkIGZyb20geGVu c3RvcmUgb25seSBvbmNlLiBIb3dldmVyLCBpdCBpcyBvYnRhaW5lZAo+PiBpbiByZWFkX3Blcl9y aW5nX3JlZnMoKSB3aGljaCBtaWdodCBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMgZHVyaW5nIHRo ZQo+PiBpbml0aWFsaXphdGlvbiBvZiBlYWNoIGJsa2JhY2sgcXVldWUuCj4+Cj4+IElmIHRoZSBi bGtmcm9udCBpcyBtYWxpY2lvdXMgYW5kIHRoZSAncmluZy1wYWdlLW9yZGVyJyBpcyBzZXQgaW4g ZGlmZmVyZW50Cj4+IHZhbHVlIGJ5IGJsa2Zyb250IGV2ZXJ5IHRpbWUgYmVmb3JlIGJsa2JhY2sg cmVhZHMgaXQsIHRoaXMgbWF5IGVuZCB1cCBhdAo+PiB0aGUgIldBUk5fT04oaSAhPSAoWEVOX0JM S0lGX1JFUVNfUEVSX1BBR0UgKiBibGtpZi0+bnJfcmluZ19wYWdlcykpOyIgaW4KPj4geGVuX2Js a2lmX2Rpc2Nvbm5lY3QoKSB3aGVuIGZyb250ZW5kIGlzIGRlc3Ryb3llZC4KPj4KPj4gVGhpcyBw YXRjaCByZXdvcmtzIGNvbm5lY3RfcmluZygpIHRvIHJlYWQgeGVuc3RvcmUgJ3JpbmctcGFnZS1v cmRlcicgb25seQo+PiBvbmNlLgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBEb25nbGkgWmhhbmcgPGRv bmdsaS56aGFuZ0BvcmFjbGUuY29tPgo+PiAtLS0KPj4gQ2hhbmdlZCBzaW5jZSB2MToKPj4gICAq IGNoYW5nZSB0aGUgb3JkZXIgb2YgeGVuc3RvcmUgcmVhZCBpbiByZWFkX3Blcl9yaW5nX3JlZnMK Pj4gICAqIHVzZSB4ZW5idXNfcmVhZF91bnNpZ25lZCgpIGluIGNvbm5lY3RfcmluZygpCj4+Cj4+ IENoYW5nZWQgc2luY2UgdjI6Cj4+ICAgKiBzaW1wbGlmeSB0aGUgY29uZGl0aW9uIGNoZWNrIGFz ICIoZXJyICE9IDEgJiYgbnJfZ3JlZnMgPiAxKSIKPj4gICAqIGF2b2lkIHNldHRpbmcgZXJyIGFz IC1FSU5WQUwgdG8gcmVtb3ZlIGV4dHJhIG9uZSBsaW5lIG9mIGNvZGUKPj4KPj4gQ2hhbmdlZCBz aW5jZSB2MzoKPj4gICAqIGV4aXQgYXQgdGhlIGJlZ2lubmluZyBpZiAhbnJfZ3JlZnMKPj4gICAq IGNoYW5nZSB0aGUgaWYgc3RhdGVtZW50cyB0byBhdm9pZCB0ZXN0IChlcnIgIT0gMSkgdHdpY2UK Pj4gICAqIGluaXRpYWxpemUgYSAnYmxraWYnIHN0YWNrIHZhcmlhYmxlIChyZWZlciB0byBQQVRD SCAxLzIpCj4+Cj4+ICBkcml2ZXJzL2Jsb2NrL3hlbi1ibGtiYWNrL3hlbmJ1cy5jIHwgNzYgKysr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KPj4gIDEgZmlsZSBjaGFuZ2VkLCA0 MyBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvYmxvY2sveGVuLWJsa2JhY2sveGVuYnVzLmMgYi9kcml2ZXJzL2Jsb2NrL3hlbi1ibGtiYWNr L3hlbmJ1cy5jCj4+IGluZGV4IGE0YWFkYWMuLmEyYWNiYzkgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZl cnMvYmxvY2sveGVuLWJsa2JhY2sveGVuYnVzLmMKPj4gKysrIGIvZHJpdmVycy9ibG9jay94ZW4t YmxrYmFjay94ZW5idXMuYwo+PiBAQCAtOTI2LDcgKzkyNiw3IEBAIHN0YXRpYyBpbnQgcmVhZF9w ZXJfcmluZ19yZWZzKHN0cnVjdCB4ZW5fYmxraWZfcmluZyAqcmluZywgY29uc3QgY2hhciAqZGly KQo+PiAgCWludCBlcnIsIGksIGo7Cj4+ICAJc3RydWN0IHhlbl9ibGtpZiAqYmxraWYgPSByaW5n LT5ibGtpZjsKPj4gIAlzdHJ1Y3QgeGVuYnVzX2RldmljZSAqZGV2ID0gYmxraWYtPmJlLT5kZXY7 Cj4+IC0JdW5zaWduZWQgaW50IHJpbmdfcGFnZV9vcmRlciwgbnJfZ3JlZnMsIGV2dGNobjsKPj4g Kwl1bnNpZ25lZCBpbnQgbnJfZ3JlZnMsIGV2dGNobjsKPj4gIAo+PiAgCWVyciA9IHhlbmJ1c19z Y2FuZihYQlRfTklMLCBkaXIsICJldmVudC1jaGFubmVsIiwgIiV1IiwKPj4gIAkJCSAgJmV2dGNo bik7Cj4+IEBAIC05MzYsNDMgKzkzNiwzOCBAQCBzdGF0aWMgaW50IHJlYWRfcGVyX3JpbmdfcmVm cyhzdHJ1Y3QgeGVuX2Jsa2lmX3JpbmcgKnJpbmcsIGNvbnN0IGNoYXIgKmRpcikKPj4gIAkJcmV0 dXJuIGVycjsKPj4gIAl9Cj4+ICAKPj4gLQllcnIgPSB4ZW5idXNfc2NhbmYoWEJUX05JTCwgZGV2 LT5vdGhlcmVuZCwgInJpbmctcGFnZS1vcmRlciIsICIldSIsCj4+IC0JCQkgICZyaW5nX3BhZ2Vf b3JkZXIpOwo+PiAtCWlmIChlcnIgIT0gMSkgewo+PiAtCQllcnIgPSB4ZW5idXNfc2NhbmYoWEJU X05JTCwgZGlyLCAicmluZy1yZWYiLCAiJXUiLCAmcmluZ19yZWZbMF0pOwo+PiArCW5yX2dyZWZz ID0gYmxraWYtPm5yX3JpbmdfcGFnZXM7Cj4+ICsKPj4gKwlpZiAodW5saWtlbHkoIW5yX2dyZWZz KSkKPj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gCj4gSXMgdGhpcyBldmVuIHBvc3NpYmxlPyBBRkFJ Q1QgcmVhZF9wZXJfcmluZ19yZWZzIHdpbGwgYWx3YXlzIGJlIGNhbGxlZAo+IHdpdGggYmxraWYt Pm5yX3JpbmdfcGFnZXMgIT0gMD8KPiAKPiBJZiBzbywgSSB3b3VsZCBjb25zaWRlciB0dXJuaW5n IHRoaXMgaW50byBhIEJVR19PTi9XQVJOX09OLgoKSXQgdXNlZCB0byBiZSAiV0FSTl9PTighbnJf Z3JlZnMpOyIgaW4gdGhlIHYzIG9mIHRoZSBwYXRjaC4KCkkgd291bGQgdHVybiBpdCBpbnRvIFdB Uk5fT04gaWYgaXQgaXMgZmluZSB3aXRoIGJvdGggUGF1bCBhbmQgeW91LgoKSSBwcmVmZXIgV0FS Tl9PTiBiZWNhdXNlIGl0IHdvdWxkIHJlbWluZCB0aGUgZGV2ZWxvcGVycyBpbiB0aGUgZnV0dXJl IHRoYXQKcmVhZF9wZXJfcmluZ19yZWZzKCkgc2hvdWxkIGJlIHVzZWQgb25seSB3aGVuIGJsa2lm LT5ucl9yaW5nX3BhZ2VzICE9IDAuCgo+IAo+PiArCj4+ICsJZm9yIChpID0gMDsgaSA8IG5yX2dy ZWZzOyBpKyspIHsKPj4gKwkJY2hhciByaW5nX3JlZl9uYW1lW1JJTkdSRUZfTkFNRV9MRU5dOwo+ PiArCj4+ICsJCXNucHJpbnRmKHJpbmdfcmVmX25hbWUsIFJJTkdSRUZfTkFNRV9MRU4sICJyaW5n LXJlZiV1IiwgaSk7Cj4+ICsJCWVyciA9IHhlbmJ1c19zY2FuZihYQlRfTklMLCBkaXIsIHJpbmdf cmVmX25hbWUsCj4+ICsJCQkJICAgIiV1IiwgJnJpbmdfcmVmW2ldKTsKPj4gKwo+PiAgCQlpZiAo ZXJyICE9IDEpIHsKPj4gLQkJCWVyciA9IC1FSU5WQUw7Cj4+IC0JCQl4ZW5idXNfZGV2X2ZhdGFs KGRldiwgZXJyLCAicmVhZGluZyAlcy9yaW5nLXJlZiIsIGRpcik7Cj4+IC0JCQlyZXR1cm4gZXJy Owo+PiAtCQl9Cj4+IC0JCW5yX2dyZWZzID0gMTsKPj4gLQl9IGVsc2Ugewo+PiAtCQl1bnNpZ25l ZCBpbnQgaTsKPj4gLQo+PiAtCQlpZiAocmluZ19wYWdlX29yZGVyID4geGVuX2Jsa2lmX21heF9y aW5nX29yZGVyKSB7Cj4+IC0JCQllcnIgPSAtRUlOVkFMOwo+PiAtCQkJeGVuYnVzX2Rldl9mYXRh bChkZXYsIGVyciwgIiVzL3JlcXVlc3QgJWQgcmluZyBwYWdlIG9yZGVyIGV4Y2VlZCBtYXg6JWQi LAo+PiAtCQkJCQkgZGlyLCByaW5nX3BhZ2Vfb3JkZXIsCj4+IC0JCQkJCSB4ZW5fYmxraWZfbWF4 X3Jpbmdfb3JkZXIpOwo+PiAtCQkJcmV0dXJuIGVycjsKPj4gKwkJCWlmIChucl9ncmVmcyA9PSAx KQo+PiArCQkJCWJyZWFrOwo+PiArCj4gCj4gWW91IG5lZWQgdG8gZWl0aGVyIHNldCBlcnIgdG8g RUlOVkFMIGJlZm9yZSBjYWxsaW5nIHhlbmJ1c19kZXZfZmF0YWwsCj4gb3IgY2FsbCB4ZW5idXNf ZGV2X2ZhdGFsIHdpdGggRUlOVkFMIGFzIHRoZSBzZWNvbmQgcGFyYW1ldGVyLgo+IAo+PiArCQkJ eGVuYnVzX2Rldl9mYXRhbChkZXYsIGVyciwgInJlYWRpbmcgJXMvJXMiLAo+PiArCQkJCQkgZGly LCByaW5nX3JlZl9uYW1lKTsKPj4gKwkJCXJldHVybiAtRUlOVkFMOwo+PiAgCQl9Cj4+ICsJfQo+ PiAgCj4+IC0JCW5yX2dyZWZzID0gMSA8PCByaW5nX3BhZ2Vfb3JkZXI7Cj4+IC0JCWZvciAoaSA9 IDA7IGkgPCBucl9ncmVmczsgaSsrKSB7Cj4+IC0JCQljaGFyIHJpbmdfcmVmX25hbWVbUklOR1JF Rl9OQU1FX0xFTl07Cj4+IC0KPj4gLQkJCXNucHJpbnRmKHJpbmdfcmVmX25hbWUsIFJJTkdSRUZf TkFNRV9MRU4sICJyaW5nLXJlZiV1IiwgaSk7Cj4+IC0JCQllcnIgPSB4ZW5idXNfc2NhbmYoWEJU X05JTCwgZGlyLCByaW5nX3JlZl9uYW1lLAo+PiAtCQkJCQkgICAiJXUiLCAmcmluZ19yZWZbaV0p Owo+PiAtCQkJaWYgKGVyciAhPSAxKSB7Cj4+IC0JCQkJZXJyID0gLUVJTlZBTDsKPj4gLQkJCQl4 ZW5idXNfZGV2X2ZhdGFsKGRldiwgZXJyLCAicmVhZGluZyAlcy8lcyIsCj4+IC0JCQkJCQkgZGly LCByaW5nX3JlZl9uYW1lKTsKPj4gLQkJCQlyZXR1cm4gZXJyOwo+PiAtCQkJfQo+PiArCWlmIChl cnIgIT0gMSkgewo+PiArCQlXQVJOX09OKG5yX2dyZWZzICE9IDEpOwo+PiArCj4+ICsJCWVyciA9 IHhlbmJ1c19zY2FuZihYQlRfTklMLCBkaXIsICJyaW5nLXJlZiIsICIldSIsCj4+ICsJCQkJICAg JnJpbmdfcmVmWzBdKTsKPj4gKwkJaWYgKGVyciAhPSAxKSB7Cj4+ICsJCQl4ZW5idXNfZGV2X2Zh dGFsKGRldiwgZXJyLCAicmVhZGluZyAlcy9yaW5nLXJlZiIsIGRpcik7Cj4gCj4gU2Vjb25kIHBh cmFtZXRlciBzaG91bGQgYmUgRUlOVkFMLCBvciBlcnIgc2hvdWxkIGJlIHNldCB0byBFSU5WQUwK PiBiZWZvcmUgY2FsbGluZyB4ZW5idXNfZGV2X2ZhdGFsLgo+IAo+IFRoYW5rcywgUm9nZXIuCj4g Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Cj4gWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCj4gaHR0 cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbAo+IAoK RG9uZ2xpIFpoYW5nCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs