From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexey G Subject: Re: [PATCH] xen-mapcache: Fix the bug when overlapping emulated DMA operations may cause inconsistency in guest memory mappings Date: Thu, 20 Jul 2017 15:53:01 +1000 Message-ID: <20170720155301.00005fca@gmail.com> References: <20170711060015.00004b1f@gmail.com> <20170719190629.00001a7b@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Stefano Stabellini Cc: Anthony PERARD , james.mckenzie@bromium.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org T24gV2VkLCAxOSBKdWwgMjAxNyAxMTowMDoyNiAtMDcwMCAoUERUKQpTdGVmYW5vIFN0YWJlbGxp bmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+IHdyb3RlOgoKPiBNeSBleHBlY3RhdGlvbiBpcyB0 aGF0IHVubG9ja2VkIG1hcHBpbmdzIGFyZSBtdWNoIG1vcmUgZnJlcXVlbnQgdGhhbgo+IGxvY2tl ZCBtYXBwaW5ncy4gQWxzbywgSSBleHBlY3QgdGhhdCBvbmx5IHZlcnkgcmFyZWx5IHdlJ2xsIGJl IGFibGUgdG8KPiByZXVzZSBsb2NrZWQgbWFwcGluZ3MuIE92ZXIgdGhlIGNvdXJzZSBvZiBhIFZN IGxpZmV0aW1lLCBpdCBzZWVtcyB0byBtZQo+IHRoYXQgd2Fsa2luZyB0aGUgbGlzdCBldmVyeSB0 aW1lIHdvdWxkIGNvc3QgbW9yZSB0aGFuIGl0IHdvdWxkIGJlbmVmaXQuCj4gCj4gVGhlc2UgYXJl IG9ubHkgImV4cGVjdGF0aW9ucyIsIEkgd291bGQgbG92ZSB0byBzZWUgbnVtYmVycy4gTnVtYmVy cyBtYWtlCj4gZm9yIGJldHRlciBkZWNpc2lvbnMgOi0pICBXb3VsZCB5b3UgYmUgdXAgZm9yIGdh dGhlcmluZyBzb21lIG9mIHRoZXNlCj4gbnVtYmVycz8gU3VjaCBhcyBob3cgbWFueSB0aW1lcyB5 b3UgZ2V0IHRvIHJldXNlIGxvY2tlZCBtYXBwaW5ncyBhbmQgaG93Cj4gbWFueSB0aW1lcyB3ZSB3 YWxrIGl0ZW1zIG9uIHRoZSBsaXN0IGZydWl0bGVzc2x5Pwo+IAo+IE90aGVyd2lzZSwgd291bGQg eW91IGJlIHVwIGZvciBqdXN0IHRlc3RpbmcgdGhlIG1vZGlmaWVkIHZlcnNpb24gb2YgdGhlCj4g cGF0Y2ggSSBzZW50IHRvIHZlcmlmeSB0aGF0IHNvbHZlcyB0aGUgYnVnPwoKTnVtYmVycyB3aWxs IHNob3cgdGhhdCB0aGVyZSBpcyBhIG9uZSBzaW5nbGUgZW50cnkgaW4gdGhlIGJ1Y2tldCdzIGxp c3QKbW9zdCBvZiB0aGUgdGltZS4gOikgRXZlbiB0d28gZW50cmllcyBhcmUgcmFyZSBlbmNvdW50 ZXJzLCB0eXBpY2FsbHkgdG8gYmUKc2VlbiBvbmx5IHdoZW4gZ3Vlc3QgcGVyZm9ybXMgc29tZSBp bnRlbnNpdmUgSS9PLiBPSywgSSdsbCBjb2xsZWN0IHNvbWUgcmVhbApzdGF0cyBmb3IgZGlmZmVy ZW50IHNjZW5hcmlvcywgdGhlc2UgYXJlIGludGVyZXN0aW5nIG51bWJlcnMsIG1pZ2h0IGNvbWUK dXNlZnVsIGZvciBsYXRlciBvcHRpbWl6YXRpb25zLgoKVGhlIGFwcHJvYWNoIHlvdXIgcHJvcG9z ZWQgaXMgZ29vZCwgYnV0IGl0IGFsbG93cyByZXVzaW5nIG9mIHN1aXRhYmxlCmxvY2tlZCBlbnRy aWVzIG9ubHkgd2hlbiB0aGV5IGNvbWUgZmlyc3QgaW4gbGlzdCAoYW4gZXhpc3RpbmcgYmVoYXZp b3IpLgpCdXQgd2UgY2FuIGFjdHVhbGx5IHJldXNlIGEgbG9ja2VkIGVudHJ5IHdoaWNoIG1heSBj b21lIG5leHQgKGlmIGFueSkgaW4KdGhlIGxpc3QgYXMgd2VsbC4gV2hlbiB3ZSBoYXZlIHRoZSBz aXR1YXRpb24gd2hlbiBsb2NrPTAgZW50cnkgY29tZXMgZmlyc3QKaW4gdGhlIGxpc3QgYW5kIGxv Y2s9MSBlbnRyeSBpcyB0aGUgc2Vjb25kIC0tIHRoZXJlIGlzIGEgY2hhbmNlIHRoZSBmaXJzdApl bnRyeSB3YXMgYSAyTUItdHlwZSAobXVzdCBiZSBzb21lIHJlYXNvbiB3aHkgMm5kIGVudHJ5IHdh cyBhZGRlZCB0byB0aGUKbGlzdCksIHNvIHBpY2tpbmcgaXQgZm9yIGEgbG9jazAtcmVxdWVzdCBt aWdodCByZXN1bHQgaW4KeGVuX3JlbWFwX2J1Y2tldC4uLiB3aGljaCBzaG91bGQgYmUgYXZvaWRl ZC4gQW55d2F5LCB0aGVyZSBpcyBubyBiaWcgZGVhbAp3aGljaCBhcHByb2FjaCBpcyBiZXR0ZXIg YXMgdGhlc2Ugc2l0dWF0aW9ucyBhcmUgdW5jb21tb24uIEFmdGVyIGFsbCwKbW9zdGx5IGl0J3Mg anVzdCBhIHNpbmdsZSBlbnRyeSBpbiB0aGUgYnVja2V0J3MgbGlzdC4gCgo+ID4gT25lIHBvc3Np YmxlIG1pbm9yIG9wdGltaXphdGlvbiBmb3IgeGVuLW1hcGNhY2hlIHdvdWxkIGJlIHRvIHJldXNl Cj4gPiBsYXJnZXIgbWFwcGluZ3MgZm9yIG1hcHBpbmdzIG9mIGxlc3NlciBjYWNoZV9zaXplLiBS aWdodCBub3cgZXhpc3RpbmcKPiA+IGNvZGUgZG9lcyBjaGVja3MgaW4gdGhlICJlbnRyeS0+c2l6 ZSA9PSBjYWNoZV9zaXplIiBtYW5uZXIsIHdoaWxlIHdlCj4gPiBjYW4gdXNlICJlbnRyeS0+c2l6 ZSA+PSBjYWNoZV9zaXplIiBoZXJlLiBIb3dldmVyLCB3ZSBtYXkgZW5kIHVwIHdpdGgKPiA+IHJl c2lkZW50IE1hcENhY2hlRW50cmllcyBiZWluZyBtYXBwZWQgdG8gYSBiaWdnZXIgbWFwcGluZyBz aXplcyB0aGFuCj4gPiBuZWNlc3NhcnkgYW5kIHRodXMgbWlnaHQgbmVlZCB0byBhZGQgcmVtYXBw aW5nIGJhY2sgdG8gdGhlIG5vcm1hbCBzaXplCj4gPiBpbiB4ZW5faW52YWxpZGF0ZV9tYXBfY2Fj aGVfZW50cnlfdW5sb2NrZWQoKSB3aGVuIHRoZXJlIGFyZSBubyBvdGhlcgo+ID4gbWFwcGluZ3Mu ICAKPiAKPiBZZXMsIEkgdGhvdWdodCBhYm91dCBpdCwgdGhhdCB3b3VsZCBiZSBhIGdvb2QgaW1w cm92ZW1lbnQgdG8gaGF2ZS4KCldlbGwsIGl0IGFwcGVhcnMgdGhlcmUgaXMgYSBsb3Qgb2Ygc3Bh Y2UgZm9yIGltcHJvdmVtZW50cyBpbiB4ZW4tbWFwY2FjaGUKdXNhZ2UuIFByb2JhYmx5IGdldHRp bmcgcmlkIG9mIHRoZSBsb2NrMC9sb2NrMS1yZXF1ZXN0IHNlcGFyYXRpb24gd2lsbAphbGxvdyB0 byBkcmFzdGljYWxseSByZWR1Y2UgdGhlIG51bWJlciBvZiB4ZW5fcmVtYXBfYnVja2V0IGNhbGxz LgoKClRoZXJlIGFsc28gbWlnaHQgYmUgYSBwb3NzaWJsZSBidWcgZm9yIGxvY2swLW1hcHBpbmdz IGJlaW5nIHJlbWFwcGVkIGJ5CmNvbmN1cnJlbnQgeGVuLW1hcGNhY2hlIHJlcXVlc3RzLiAKClRo ZSB3aG9sZSB4ZW5fbWFwX2NhY2hlKGFkZHIsIDAsIGxvY2s9MCkgdGhpbmcgbG9va3MgdmVyeSBz dHJhbmdlLiBBcyBpdApzZWVtcywgdGhlIGlkZWEgd2FzIHRvIGhhdmUgYSB3YXkgdG8gcmVjZWl2 ZSBhIHRlbXBvcmFyeSBtYXBwaW5nIHRvIHJlYWQKc29tZSB0aW55IGl0ZW0gZnJvbSBndWVzdCdz IFJBTSBhbmQgYWZ0ZXIgdGhhdCBsZWF2aW5nIHRoaXMgbWFwcGluZyBvbiBpdHMKb3duIHdpdGhv dXQgYm90aGVyaW5nIHRvIHVubWFwIGl0LiBTbyBpdCB3aWxsIGJlIGVpdGhlciByZXVzZWQgbGF0 ZXIgYnkKc29tZSBvdGhlciBsb2NrMC8xLXJlcXVlc3Qgb3IgZXZlbiByZW1hcHBlZC4KCkl0IGFw cGVhcnMgdGhhdCBsb2NrPTAgbWFwcGluZ3MgYXJlIHZlcnkgZnJhZ2lsZS4gVGhlaXIgdHlwaWNh bCB1c2FnZQpzY2VuYXJpbyBpcyBsaWtlIHRoaXM6CgogICAgcmN1X3JlYWRfbG9jaygpOwogICAg Li4uCiAgICBwdHIgPSBxZW11X21hcF9yYW1fcHRyKG1yLT5yYW1fYmxvY2ssIGFkZHIxKTsKICAg IG1lbWNweShidWYsIHB0ciwgbGVuKTsKICAgIC4uLgogICAgcmN1X3JlYWRfdW5sb2NrKCk7CgpI ZXJlIHFlbXVfbWFwX3JhbV9wdHIgY2FsbHMgeGVuX21hcF9jYWNoZShsb2NrPTApIHdoaWNoIHJl dHVybnMgdGhlIGFjdHVhbApwdHIuIFRoaXMgc2NlbmFyaW8gYXNzdW1lcyB0aGVyZSB3aWxsIGJl IG5vIGludGVydmVudGlvbiBiZXR3ZWVuCnFlbXVfbWFwX3JhbV9wdHIgYW5kIHJjdV9yZWFkX3Vu bG9jaywgcHJvdmlkaW5nIHB0ciB2YWxpZGl0eS4KClRoaXMgbWlnaHQgYmUgb2sgZm9yIFFFTVUg YWxvbmUsIGJ1dCB3aXRoIHVuZGVybHlpbmcgeGVuLW1hcGNhY2hlIHVzYWdlCml0IHNlZW1zIHRv IGJlIGFzc3VtZWQgZm9yIFJDVSByZWFkIGxvY2sgdG8gcHJvdmlkZSBwcm90ZWN0aW9uIGFnYWlu c3QKY29uY3VycmVudCByZW1hcHBpbmdzIG9mIHB0cidzIE1hcENhY2hlRW50cnkuLi4gd2hpY2gg aXQgZG9lc24ndCBvYnZpb3VzbHkuClRoZSBwcm9ibGVtIGlzIHRoYXQgcmN1X3JlYWRfbG9jaygp IHNlZW1zIHRvIGJlIHVzZWQgdG8gcHJvdGVjdCBRRU1VIHN0dWZmCm9ubHksIGxlYXZpbmcgdXMg b25seSBtYXBjYWNoZV8odW4pbG9jayB0byBzeW5jIGV4ZWN1dGlvbi4gQnV0LCB1cG9uIHJldHVy bgpmcm9tIHFlbXVfbWFwX3JhbV9wdHIgd2UgZG9uJ3QgaG9sZCB0aGUgeGVuLW1hcGNhY2hlIGxv Y2sgYW55bW9yZSwgc28gdGhlCnF1ZXN0aW9uIGlzIGhvdyByY3UgcmVhZCBsb2NrIHN1cHBvc2Vk IHRvIHNhdmUgdXMgZnJvbSBjb25jdXJyZW50CnFlbXVfbWFwX3JhbV9wdHIvcWVtdV9yYW1fcHRy X2xlbmd0aCdzPyBJZiB0aGVyZSB3aWxsIGJlIHNvbWUgRE1BIG1hcHBpbmcKKGxvY2s9MSkgZm9y IHRoYXQgYWRkcmVzc19pbmRleCBvciBldmVuIHNvbWUgYW5vdGhlciBsb2NrMC1yZWFkIChvZgpk aWZmZXJlbnQgc2l6ZSkgLS0gdGhleSB3aWxsIHNlZSBhbiB1bmxvY2tlZCBlbnRyeSB3aGljaCBj YW4gYmUgcmVtYXBwZWQKd2l0aG91dCBoZXNpdGF0aW9uLCBicmVha2luZyB0aGUgcHRyIG1hcHBp bmcgd2hpY2ggbWlnaHQgYmUgc3RpbGwgaW4gdXNlLgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==