From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shuai Ruan Subject: Re: [V4] x86/xsaves: fix overwriting between non-lazy/lazy xsaves Date: Tue, 15 Mar 2016 17:40:37 +0800 Message-ID: <44168.0163880394$1458035125@news.gmane.org> References: <1457598165-10393-1-git-send-email-shuai.ruan@linux.intel.com> <56E14CCA02000078000DB219@prv-mh.provo.novell.com> <20160311064516.GA11162@shuai.ruan@linux.intel.com> <56E2A8F502000078000DB869@prv-mh.provo.novell.com> Reply-To: Shuai Ruan Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <56E2A8F502000078000DB869@prv-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Jan Beulich Cc: andrew.cooper3@citrix.com, keir@xen.org, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org T24gRnJpLCBNYXIgMTEsIDIwMTYgYXQgMDM6MTY6MDVBTSAtMDcwMCwgSmFuIEJldWxpY2ggd3Jv dGU6Cj4gSSBkb24ndCB0aGluayB0aGlzIGlzIHdoYXQgd2Ugd2FudC4gSW4gbm8gY2FzZSBpcyB0 aGlzIHdoYXQgSSBoYXZlCj4gYmVlbiBhc2tpbmcgZm9yICh3aGljaCBhbHNvIGFwcGxpZXMgdG8g dGhlIHJlbWFpbmRlciBvZiB5b3VyIHJlcGx5KS4KPiBKdXN0IHRvIHJlLWl0ZXJhdGU6IENvZGUg b3V0c2lkZSBvZiB0aGUgY29kZSB4c2F2ZSgpIC8geHJzdG9yKCkKPiBmdW5jdGlvbnMgc2hvdWxk IG5vdCBiZSBjb25jZXJuZWQgYXQgYWxsIHdoYXQgc3BlY2lmaWMgc2F2ZSBhbmQKPiByZXN0b3Jl IGluc3RydWN0aW9ucyBhcmUgYmVpbmcgdXNlZC4gQWxsIGl0IG5lZWRzIHRvIGNhcmUgYWJvdXQg aXMKPiB0byBrbm93IHdoYXQgbGF5b3V0IHRoZSBkYXRhIGlzIGluLCBhbmQgd2hldGhlciBjb21w YWN0aW9uIG9yCj4gZXhwYW5zaW9uIGlzIG5lZWRlZCB3aGlsZSB0cmFuc2ZlcnJpbmcgc3RhdGUg ZnJvbSAvIHRvIGEgZ3Vlc3QuCj4gCj4gVGhlIGZhY3QgdGhhdCB3ZSBpbnRyb2R1Y2UgYSBzeW50 aGV0aWMgZmVhdHVyZSBoZXJlIGlzIHNvbGVseSB0bwo+IHNhdGlzZnkgdGhlIGFsdGVybmF0aXZl IGluc3RydWN0aW9uIHBhdGNoaW5nIG1lY2hhbmlzbSAoYW5kIGl0Cj4gY291bGQgYmUgZHJvcHBl ZCBpZiBib3RoIHRoZSBzYXZlIGFuZCByZXN0b3JlIHBhdGhzIGNhbWUgdG8KPiB1c2UgZnVydGhl ciBjb25kaXRpb25hbHMsIHdoaWNoIG1heSB3ZWxsIGJlIGRlc2lyYWJsZSAtIEkgdGhpbmsgSQo+ IGhhZCBzdWdnZXN0ZWQgdGhpcyBmb3Igb25lIG9mIHRoZSB0d28gcGF0aHMgYWxyZWFkeSkuIEFu ZAo+IHBlcmhhcHMgaXQgd2FzIGEgbWlzdGFrZSB0byBzY2F0dGVyIGFyb3VuZCB0aGUgc2V0dGlu ZyBvZgo+IFhTVEFURV9DT01QQUNUSU9OX0VOQUJMRUQuCj4gCj4gTWF5IEkgYXNrIHRoYXQgeW91 IHRha2UgYSBsaXR0bGUgc3RlcCBiYWNrIGFuZCB0aGluayBhYm91dCB3aGF0Cj4gb3VyIG5lZWRz IGhlcmUgcmVhbGx5IGFyZT8gRm9yIHRoaXMgcGxlYXNlIGNvbnNpZGVyIHRoYXQgd2Ugd2FudAo+ IHRvIHNhdmUvcmVzdG9yZSBzdGF0ZSB3aXRoIGFzIGxpdHRsZSBvdmVyaGVhZCBhcyBwb3NzaWJs ZSAoaS5lLiBpdAo+IG1heSBiZSB3YXJyYW50ZWQgdG8gbWFrZSB0aGUgY2hvaWNlIG9mIGluc3Ry dWN0aW9uIGRlcGVuZCBvbgo+IHRoZSBzZXQgb2YgY29tcG9uZW50cyB0aGF0IG5lZWQgc2F2aW5n L3Jlc3RvcmluZywgcmF0aGVyIHRoYW4KPiBqdXN0IHRoZSBhdmFpbGFiaWxpdHkgb2YgY2VydGFp biBpbnN0cnVjdGlvbnMpLiBBbmQgdGhhdCBjaG9pY2Ugb2YKPiBpbnN0cnVjdGlvbihzKSBzaG91 bGQgYmUgYXMgdHJhbnNwYXJlbnQgdG8gdGhlIHJlc3Qgb2YgdGhlCj4gaHlwZXJ2aXNvciBhcyBw b3NzaWJsZS4gV2hpY2ggZm9yIGV4YW1wbGUgbWVhbnMgLi4uCj4gCj4gPj4gT3IgbWF5YmUgKHRv IGFtZW5kIHRoZSBmaXJzdCBjb21tZW50IGFib3ZlKQo+ID4+ICJ1c2luZ194c2F2ZV9jb21wYWN0 IiBpcyBhY3R1YWxseSB0aGUgd3JvbmcgdGVybSBub3csIGFuZCB0aGlzCj4gPj4gcmVhbGx5IG5l ZWRzIHRvIGJlY29tZSAidXNpbmdfeHNhdmVzIiAoaW4gd2hpY2ggY2FzZSB0aGUgY2hhbmdlCj4g Pj4gc3VnZ2VzdGVkIGluIHRoYXQgZmlyc3QgY29tbWVudCB3b3VsZG4ndCBiZSBuZWVkZWQgYW55 bW9yZSkuIEluCj4gPiBUaGUgdGVybSB1c2luZ194c2F2ZV9jb21wYWN0IGlzIGNvbmZ1c2luZyhh Y3R1YWxseSBoZXJlIHVzaW5nX3hzYXZlX2NvbXBhY3QKPiA+IG1lYW5zIHVzaW5nX3hzYXZlcyku IFdpbGwgY2hhbmdlIHVzaW5nX3hzYXZlX2NvbXBhY3QgLT4gdXNpbmdfeHNhdmVzLgo+IAo+IC4u LiB0aGF0ICJ1c2luZ194c2F2ZXMiIGlzIG5vdCB3aGF0IHRoZSByZXN0IG9mIHRoZSBoeXBlcnZp c29yIGlzCj4gaW4gbmVlZCBvZiBrbm93aW5nL2NoZWNraW5nLiBBbGwgdGhhdCBvdGhlciBjb2Rl IGEgbW9zdCBuZWVkcyB0bwo+IGtub3cvY2hlY2sgd2hldGhlciB0aGUgc3RhdGUgaXMgLyBuZWVk cyB0byBiZSBpbiBjb21wYWN0ZWQgZm9ybS4KPiAKPiBKYW4KPiAKU3VyZS4gSSB3cml0ZSBhIGZl dyBrZXkgcG9pbnRzIGhlcmUuCgoxLiBGb3Igd2hlbiB0byB1c2UgIlhTVEFURV9DT01QQUNUSU9O X0VOQUJMRUQiCjEpLiBpdCB3aWxsIG9ubHkgYmUgc2V0IGluIHhyc3RvcigpLgoyKS4gYWxsIGNv ZGUgb3V0c2lkZSB4c2F2ZSgpL3hyc3RvcigpIChleGNsdWRlIGNvbXByZXNzX3hzYXZlX3N0YXRl cygpKSAKICAgIG9ubHkgY2hlY2sgd2hldGhlciBYU1RBVEVfQ09NUEFDVElPTl9FTkFCTEVEIGlz IHNldCBvciBub3QuCgoyLiBGb3Igd2hlbiB0byB1c2UgInVzaW5nX3hzYXZlcyIKMSkuIG9ubHkg dXNlZCBpbiB4cnN0b3IoKS94c2F2ZSgpLgoyKS4geHJzdG9yIHdpbGwgbm90IHN0aWNrIHRvIGFs dGVybmF0aXZlIHBhdGNoaW5nLiBXaWxsIHVzZQogICAgaWYodXNlX3hzYXZlcykgaW5zdGVhZC4K CjMuIEZvciBzYXZlL3Jlc3RvcmUobWlncmF0aW9uKQoxKS4gZm9yIHNhdmUsIGl0IGlzIG9rIHRv IGNoZWNrIFhTVEFURV9DT01QQUNUSU9OX0VOQUJMRUQgb2YKICAgIHhzYXZlLT54c2F2ZV9oZHIu eGNvbXBfYnYgdG8gZGVjaWRlIHdoZXRoZXIgZXhwYW5kZWQgaXMgCiAgICBuZWVkZWQgb3Igbm90 LgoyKS4gZm9yIHJlc3RvcmUsIGluIGNvbXByZXNzX3hzYXZlX3N0YXRlcygpLCB3ZSBjYW4gbm90 IGNoZWNrCiAgICBYU1RBVEVfQ09NUEFDVElPTl9FTkFCTEVEIG9mIHhzYXZlLT54c2F2ZV9oZHIu eGNvbXBfYnYgCiAgICB0byBkZWNpZGUgd2hldGhlciBjb21wcmVzcyBpcyBuZWVkZWQgb3Igbm90 IChmb3IgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgWFNUQVRFX0NPTVBBQ1RJT05fRU5B QkxFRCB3aWxsIG9ubHkgYmUgc2V0IHdoZW4gcGVyZm9ybSAgICAgICAgICAgICAgICAgICAgIAog ICAgZmlyc3QgeHJzdG9yKCkpLgogICAgd2Ugc2hvdWxkIHVzZSAidXNpbmdfeHNhdmVzIiBpcyB0 ZWxsIHdoZXRoZXIgY29tcGFjdCBpcyBuZWVkZWQKICAgIG9yIG5vdC4odGhpcyBpcyB0aGUgb25s eSBwbGFjZSBvdXRzaWRlIHhzYXZlKCkveHJzdG9yKCkKICAgIGRlcGVuZCBvbiAidXNpbmdfeHNh dmVzIikKICAgIENvZGUgaW4gY29tcHJlc3NfeHNhdmVfc3RhdGVzIGxvb2tzIGFzIGZvbGxvdy4K ICAgIC4uLi4KICAgIGlmICggIXVzaW5nX3hzYXZlcyAmJiAheHNhdmVfYXJlYV9jb21wcmVzcyhz cmMpICkKICAgIHsKICAJbWVtY3B5CglyZXR1cm4gCiAgICB9CiAgICAuLi4uLgogICAgY29tcHJl c3Mgc3JjCiAgICAKCkZvciBtb3JlIGRldGFpbDoKCXhyc3RvcigpIHdpbGwgbG9vayBhcyBmb2xs b3c6CglpZiAoIHVzaW5nX3hzYXZlcyApCgl7CgkJaWYgKCB1bmxpa2VseSghKHBydC0+eHNhdmVf aGRyLT54Y29tX2J2ICYKCQkgICAgICAgICAgICAgIFhTVEFURV9DT01QQUNUSU9OX0VOQUJMRUQp KSApCgkJICAgICAgIHB0ci0+eHNhdmVfaGRyLT54Y29tcF9idiA9CgkJICAgICAgICAgICAgICAg ICAgICBwdHItPnhzYXZlX2hkci0+eHN0YXRlX2J2IHwKCQkgICAgICAgICAgICAgICAgICAgIFhT VEFURV9DT01QQUNUSU9OX0VOQUJMRUQ7CgkJWFJTVE9SUzsKCX0KCWVsc2UKCQlYUlNUT1I7CgpB bnkgY29tbWVudHMgb24gdGhpcz8gCgpJIGtub3cgeW91IGFyZSBidXN5IDopIGFuZCByZWFsbHkg dGhhbmtzIGZvciAKeW91ciB0aW1lIHNwZW50IG9uIG1ha2luZyB0aGlzIGNsZWFyIHRvIG1lLgoK PiAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ IFhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKPiBYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwo+IGh0dHA6 Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMu eGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK