Re: [Xen-devel] Weird altp2m behaviour when switching early to a new view

2018-04-13 Thread Razvan Cojocaru
On 04/11/2018 11:04 AM, Razvan Cojocaru wrote: > Debugging continues. Finally, the attached patch seems to get the display unstuck in my scenario, although for one guest I get: (XEN) d2v0 Unexpected vmexit: reason 49 (XEN) domain_crash called from vmx.c:4120 (XEN) Domain 2 (vcpu#0) crashed

Re: [Xen-devel] Weird altp2m behaviour when switching early to a new view

2018-04-13 Thread Razvan Cojocaru
On 04/13/2018 07:38 PM, Tamas K Lengyel wrote: > On Fri, Apr 13, 2018 at 8:44 AM, Razvan Cojocaru > wrote: >> On 04/11/2018 11:04 AM, Razvan Cojocaru wrote: >>> Debugging continues. >> >> Finally, the attached patch seems to get the display unstuck in my >>

Re: [Xen-devel] Weird altp2m behaviour when switching early to a new view

2018-04-16 Thread Razvan Cojocaru
On 04/16/2018 08:47 PM, George Dunlap wrote: > On 04/13/2018 03:44 PM, Razvan Cojocaru wrote: >> On 04/11/2018 11:04 AM, Razvan Cojocaru wrote: >>> Debugging continues. >> >> Finally, the attached patch seems to get the display unstuck in my >> scenario, alth

Re: [Xen-devel] Weird altp2m behaviour when switching early to a new view

2018-04-17 Thread Razvan Cojocaru
On 04/16/2018 11:21 PM, George Dunlap wrote: > On Mon, Apr 16, 2018 at 7:46 PM, Razvan Cojocaru > wrote: >> On 04/16/2018 08:47 PM, George Dunlap wrote: >>> On 04/13/2018 03:44 PM, Razvan Cojocaru wrote: >>>> On 04/11/2018 11:04 AM, Razvan Cojocaru

Re: [Xen-devel] Weird altp2m behaviour when switching early to a new view

2018-04-17 Thread Razvan Cojocaru
On 04/16/2018 11:21 PM, George Dunlap wrote: > On Mon, Apr 16, 2018 at 7:46 PM, Razvan Cojocaru > wrote: >> On 04/16/2018 08:47 PM, George Dunlap wrote: >>> On 04/13/2018 03:44 PM, Razvan Cojocaru wrote: >>>> On 04/11/2018 11:04 AM, Razvan Cojocaru

Re: [Xen-devel] Weird altp2m behaviour when switching early to a new view

2018-04-17 Thread Razvan Cojocaru
On 04/17/2018 11:24 AM, Razvan Cojocaru wrote: > On 04/16/2018 11:21 PM, George Dunlap wrote: >> On Mon, Apr 16, 2018 at 7:46 PM, Razvan Cojocaru >> wrote: >>> On 04/16/2018 08:47 PM, George Dunlap wrote: >>>> On 04/13/2018 03:44 PM, Razvan Cojocaru wrote:

Re: [Xen-devel] Weird altp2m behaviour when switching early to a new view

2018-04-17 Thread Razvan Cojocaru
On 04/17/2018 01:49 PM, Razvan Cojocaru wrote: > On 04/17/2018 11:24 AM, Razvan Cojocaru wrote: >> On 04/16/2018 11:21 PM, George Dunlap wrote: >>> On Mon, Apr 16, 2018 at 7:46 PM, Razvan Cojocaru >>> wrote: >>>> On 04/16/2018 08:47 PM, George Dunlap wrot

Re: [Xen-devel] Weird altp2m behaviour when switching early to a new view

2018-04-17 Thread Razvan Cojocaru
On 04/17/2018 04:53 PM, George Dunlap wrote: > On 04/17/2018 11:50 AM, Razvan Cojocaru wrote: >> void p2m_init_altp2m_ept(struct domain *d, unsigned int i) >> { >> struct p2m_domain *p2m = d->arch.altp2m_p2m[i]; >> +struct p2m_domain *hostp2m = p2m_

Re: [Xen-devel] Weird altp2m behaviour when switching early to a new view

2018-04-17 Thread Razvan Cojocaru
On 04/17/2018 05:58 PM, George Dunlap wrote: >>> It might be nice to have a more structured way of keeping all these >>> changes in sync, rather than relying on this open-coding everywhere. >> >> Very true. It has also occured to me that some of these issues would be >> at least partially mitigated

[Xen-devel] [PATCH] x86/p2m: fixed p2m_change_type_range() start / end check

2018-04-17 Thread Razvan Cojocaru
p2m_change_type_range() handles end > max_mapped_pfn, but not start > max_mapped_pfn. Check the latter just after grabbing the lock and bail if true. Signed-off-by: Razvan Cojocaru Suggested-by: George Dunlap --- xen/arch/x86/mm/p2m.c | 7 +++ 1 file changed, 7 insertions(+) diff -

Re: [Xen-devel] [PATCH] x86/p2m: fixed p2m_change_type_range() start / end check

2018-04-18 Thread Razvan Cojocaru
On 04/18/2018 10:38 AM, Jan Beulich wrote: On 17.04.18 at 19:16, wrote: >> --- a/xen/arch/x86/mm/p2m.c >> +++ b/xen/arch/x86/mm/p2m.c >> @@ -976,6 +976,13 @@ void p2m_change_type_range(struct domain *d, >> ASSERT(p2m_is_changeable(ot) && p2m_is_changeable(nt)); >> >> p2m_lock(p2m)

Re: [Xen-devel] [PATCH] x86/p2m: fixed p2m_change_type_range() start / end check

2018-04-18 Thread Razvan Cojocaru
On 04/18/2018 10:48 AM, Razvan Cojocaru wrote: > On 04/18/2018 10:38 AM, Jan Beulich wrote: >>>>> On 17.04.18 at 19:16, wrote: >>> --- a/xen/arch/x86/mm/p2m.c >>> +++ b/xen/arch/x86/mm/p2m.c >>> @@ -976,6 +976,13 @@ void p2m_change_type_range(struct

Re: [Xen-devel] Weird altp2m behaviour when switching early to a new view

2018-04-18 Thread Razvan Cojocaru
On 04/17/2018 04:53 PM, George Dunlap wrote: > On 04/17/2018 11:50 AM, Razvan Cojocaru wrote: >> void p2m_init_altp2m_ept(struct domain *d, unsigned int i) >> { >> struct p2m_domain *p2m = d->arch.altp2m_p2m[i]; >> +struct p2m_domain *hostp2m = p2m_

Re: [Xen-devel] Weird altp2m behaviour when switching early to a new view

2018-04-18 Thread Razvan Cojocaru
On 04/18/2018 01:45 PM, George Dunlap wrote: > On 04/18/2018 09:20 AM, Razvan Cojocaru wrote: >> On 04/17/2018 04:53 PM, George Dunlap wrote: >>> On 04/17/2018 11:50 AM, Razvan Cojocaru wrote: >>>> void p2m_init_altp2m_ept(struct domain *d, unsigned int i) >>&g

[Xen-devel] [PATCH V2] x86/p2m: fixed p2m_change_type_range() start / end check

2018-04-18 Thread Razvan Cojocaru
p2m_change_type_range() handles end > max_mapped_pfn, but not start > max_mapped_pfn. Check the latter just after grabbing the lock and bail if true. Signed-off-by: Razvan Cojocaru Suggested-by: George Dunlap --- Changes since V1: - Added ASSERT()s. - Wrapped the new condition in an un

Re: [Xen-devel] [PATCH V2] x86/p2m: fixed p2m_change_type_range() start / end check

2018-04-23 Thread Razvan Cojocaru
On 04/18/2018 04:12 PM, Razvan Cojocaru wrote: > p2m_change_type_range() handles end > max_mapped_pfn, but not > start > max_mapped_pfn. Check the latter just after grabbing the > lock and bail if true. > > Signed-off-by: Razvan Cojocaru > Suggested-by: George Dunlap >

Re: [Xen-devel] [PATCH V2] x86/p2m: fixed p2m_change_type_range() start / end check

2018-04-23 Thread Razvan Cojocaru
On 04/23/2018 02:47 PM, George Dunlap wrote: > On 04/18/2018 02:12 PM, Razvan Cojocaru wrote: >> p2m_change_type_range() handles end > max_mapped_pfn, but not >> start > max_mapped_pfn. Check the latter just after grabbing the >> lock and bail if true. >>

Re: [Xen-devel] [PATCH V2] x86/p2m: fixed p2m_change_type_range() start / end check

2018-04-23 Thread Razvan Cojocaru
On 04/23/2018 05:28 PM, George Dunlap wrote: > On 04/23/2018 12:56 PM, Razvan Cojocaru wrote: >> On 04/23/2018 02:47 PM, George Dunlap wrote: >>> On 04/18/2018 02:12 PM, Razvan Cojocaru wrote: >>>> p2m_change_type_range() handles end > max_mapped_pfn, but not >&

[Xen-devel] SVM MSRs issue

2018-04-24 Thread Razvan Cojocaru
Hello, While testing MSR vm_events, we've come accross some puzzling behaviour while trying to follow the guest's MSR_LSTAR: it starts out as zero, then it changes value before the first MSR write event, without going through svm_msr_write_intercept(). The culprit seems to be a svm_vmsave_pa() cal

Re: [Xen-devel] SVM MSRs issue

2018-04-24 Thread Razvan Cojocaru
> While testing MSR vm_events, we've come accross some puzzling behaviour > while trying to follow the guest's MSR_LSTAR: it starts out as zero, > then it changes value before the first MSR write event, without going > through svm_msr_write_intercept(). The culprit seems to be a > svm_vmsave_pa() c

Re: [Xen-devel] [PATCH for-4.11] x86/SVM: Fix intercepted {RD, WR}MSR for the SYS{CALL, ENTER} MSRs

2018-04-25 Thread Razvan Cojocaru
On 04/25/2018 09:49 AM, Jan Beulich wrote: On 24.04.18 at 20:51, wrote: --- a/xen/arch/x86/hvm/svm/svm.c +++ b/xen/arch/x86/hvm/svm/svm.c @@ -1883,6 +1883,22 @@ static int svm_msr_read_intercept(unsigned int msr, uint64_t *msr_content) switch ( msr ) { case MSR_IA32_SYSENTER_

Re: [Xen-devel] [PATCH for-4.11] x86/SVM: Fix intercepted {RD, WR}MSR for the SYS{CALL, ENTER} MSRs

2018-04-25 Thread Razvan Cojocaru
On 04/25/2018 09:49 AM, Jan Beulich wrote: On 24.04.18 at 20:51, wrote: >> --- a/xen/arch/x86/hvm/svm/svm.c >> +++ b/xen/arch/x86/hvm/svm/svm.c >> @@ -1883,6 +1883,22 @@ static int svm_msr_read_intercept(unsigned int msr, >> uint64_t *msr_content) >> switch ( msr ) >> { >> cas

Re: [Xen-devel] [PATCH v5] x86/mm: Suppresses vm_events caused by page-walks

2018-04-27 Thread Razvan Cojocaru
On 04/28/2018 12:30 AM, Tamas K Lengyel wrote: On Mon, Apr 23, 2018 at 2:00 AM, Alexandru Isaila wrote: This patch is adding a way to enable/disable inguest pagefault events. It introduces the xc_monitor_inguest_pagefault function and adds the inguest_pagefault_disabled in the monitor structure

Re: [Xen-devel] [PATCH v5] x86/mm: Suppresses vm_events caused by page-walks

2018-04-27 Thread Razvan Cojocaru
On 04/28/2018 09:13 AM, Razvan Cojocaru wrote: On 04/28/2018 12:30 AM, Tamas K Lengyel wrote: On Mon, Apr 23, 2018 at 2:00 AM, Alexandru Isaila wrote: This patch is adding a way to enable/disable inguest pagefault events. It introduces the xc_monitor_inguest_pagefault function and adds the

Re: [Xen-devel] [PATCH v5] x86/mm: Suppresses vm_events caused by page-walks

2018-04-30 Thread Razvan Cojocaru
On 04/30/2018 11:11 AM, Jan Beulich wrote: On 28.04.18 at 08:13, wrote: >> On 04/28/2018 12:30 AM, Tamas K Lengyel wrote: >>> On Mon, Apr 23, 2018 at 2:00 AM, Alexandru Isaila >>> wrote: This patch is adding a way to enable/disable inguest pagefault events. It introduces the xc_mon

Re: [Xen-devel] [PATCH V2] x86/p2m: fixed p2m_change_type_range() start / end check

2018-05-02 Thread Razvan Cojocaru
On 04/23/2018 02:47 PM, George Dunlap wrote: > On 04/18/2018 02:12 PM, Razvan Cojocaru wrote: >> p2m_change_type_range() handles end > max_mapped_pfn, but not >> start > max_mapped_pfn. Check the latter just after grabbing the >> lock and bail if true. >>

Re: [Xen-devel] [PATCH RESEND v1 0/7] Intel Processor Trace virtulization enabling

2018-05-02 Thread Razvan Cojocaru
On 05/03/2018 07:06 AM, Kang, Luwei wrote: Another thing is Xen's vmevent allows intercepting several other traced states. It seems that a more generic framework is needed to make PT work with vmevent subsystem? What is your thought on that? Hi Wei, I am not fully clear what is the "vmeve

[Xen-devel] [SVM] Getting the length of the current instruction in svm_vmexit_handler()

2018-03-14 Thread Razvan Cojocaru
Hello, We'd like to retrieve the length of the current instruction in svm_vmexit_handler(), specifically for the VMEXIT_EXCEPTION_DB and VMEXIT_EXCEPTION_BP cases. We've combed the vmcb to no avail. Everything we've thought to check (exitinfo1, exitinfo2, exitintinfo) turns out to be zero there w

Re: [Xen-devel] [SVM] Getting the length of the current instruction in svm_vmexit_handler()

2018-03-17 Thread Razvan Cojocaru
On 03/14/2018 07:06 PM, Andrew Cooper wrote: > On 14/03/18 15:53, Jan Beulich wrote: > On 14.03.18 at 15:56, wrote: >>> We'd like to retrieve the length of the current instruction in >>> svm_vmexit_handler(), specifically for the VMEXIT_EXCEPTION_DB and >>> VMEXIT_EXCEPTION_BP cases. >>> >>> W

Re: [Xen-devel] [SVM] Getting the length of the current instruction in svm_vmexit_handler()

2018-03-17 Thread Razvan Cojocaru
On 03/17/2018 11:45 PM, Andrew Cooper wrote: > On 17/03/18 21:11, Razvan Cojocaru wrote: >> On 03/14/2018 07:06 PM, Andrew Cooper wrote: >>> On 14/03/18 15:53, Jan Beulich wrote: >>>>>>> On 14.03.18 at 15:56, wrote: >>>>> We'

Re: [Xen-devel] [PATCH v1] hvm/svm: Implement Debug events

2018-03-19 Thread Razvan Cojocaru
On 03/19/2018 04:48 PM, Tamas K Lengyel wrote: > On Mon, Mar 19, 2018 at 8:07 AM, Alexandru Isaila > wrote: >> At this moment the Debug events for the AMD architecture are not >> forwarded to the monitor layer. >> >> This patch adds the Debug event to the common capabilities, adds >> the VMEXIT_IC

Re: [Xen-devel] X86 Community Call - Wed Apr 11, 14:00 - 15:00 UTC - Call for Agenda Items

2018-03-22 Thread Razvan Cojocaru
On 03/22/2018 12:22 PM, Lars Kurth wrote: > Hi all, > > please find attached  > a) Meeting details (just a link with timezones) – the meeting invite > will follow when we have an agenda >    Bridge details – will be sent with the meeting invite >    I am thinking of using GotoMeeting, but want to

Re: [Xen-devel] [PATCH] correct maintainers file

2018-03-28 Thread Razvan Cojocaru
event.c > F: xen/common/mem_access.c > F: xen/common/monitor.c > F: xen/common/vm_event.c > Acked-by: Razvan Cojocaru Thanks, Razvan ___ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel

[Xen-devel] [PATCH v10] x86/altp2m: support for setting restrictions for an array of pages

2018-03-29 Thread Razvan Cojocaru
On 03/13/2018 07:44 PM, Wei Liu wrote: > On Wed, Dec 13, 2017 at 04:22:20PM +0200, Petre Pircalabu wrote: > [...] > Tabs here. > > With this fixed, libxc bits: > > Acked-by: Wei Liu We seem to have (again) arrived at an impasse with this patch. To summarize, the original designers of altp2m ha

[Xen-devel] Altp2m/#VE page issue

2018-06-29 Thread Razvan Cojocaru
Hello, We're trying to get #VE to work with a "regular" guest page (that is, not a page that we get via xc_domain_increase_reservation_exact() / xc_domain_populate_physmap_exact()). However, the way Xen's code works now, it doesn't seem to be possible: http://xenbits.xen.org/gitweb/?p=xen.git;a=

Re: [Xen-devel] [PATCH] x86/altp2m: Add a subop for obtaining the mem access of a page

2018-06-29 Thread Razvan Cojocaru
On 06/29/2018 06:38 PM, Jan Beulich wrote: On 28.06.18 at 15:00, wrote: >> @@ -4666,6 +4667,23 @@ static int do_altp2m_op( >> } >> break; >> >> +case HVMOP_altp2m_get_mem_access: >> +if ( a.u.mem_access.pad ) >> +rc = -EINVAL; >> +else >> +

Re: [Xen-devel] Altp2m/#VE page issue

2018-06-29 Thread Razvan Cojocaru
On 06/29/2018 07:52 PM, Tamas K Lengyel wrote: > On Fri, Jun 29, 2018 at 9:25 AM Razvan Cojocaru > wrote: >> >> Hello, >> >> We're trying to get #VE to work with a "regular" guest page (that is, >> not a page t

Re: [Xen-devel] Altp2m/#VE page issue

2018-06-29 Thread Razvan Cojocaru
On 06/29/2018 10:29 PM, Razvan Cojocaru wrote: > On 06/29/2018 07:52 PM, Tamas K Lengyel wrote: >> On Fri, Jun 29, 2018 at 9:25 AM Razvan Cojocaru >> wrote: >>> >>> Hello, >>> >>> We're trying to get #VE to work with a "

Re: [Xen-devel] [PATCH] x86/altp2m: Add a subop for obtaining the mem access of a page

2018-07-02 Thread Razvan Cojocaru
On 07/02/2018 09:34 AM, Jan Beulich wrote: On 29.06.18 at 18:39, wrote: >> On 06/29/2018 06:38 PM, Jan Beulich wrote: >> On 28.06.18 at 15:00, wrote: @@ -4666,6 +4667,23 @@ static int do_altp2m_op( } break; +case HVMOP_altp2m_get_mem_acces

Re: [Xen-devel] [PATCH] x86/altp2m: Add a subop for obtaining the mem access of a page

2018-07-05 Thread Razvan Cojocaru
On 07/05/2018 05:35 PM, Tamas K Lengyel wrote: > Jan's comment here about the too broad exposure is not without a > point. For a security application to point in using altp2m and > memaccess is to have memory protections that the guest can't alter, so > even if the guest kernel gets compromised, so

Re: [Xen-devel] [PATCH] x86/altp2m: Add a subop for obtaining the mem access of a page

2018-07-06 Thread Razvan Cojocaru
On 07/05/2018 07:45 PM, Tamas K Lengyel wrote: > On Thu, Jul 5, 2018 at 9:22 AM Razvan Cojocaru > wrote: >> However, our particular application is only interested in setting (and >> querying) page restrictions from userspace (from the dom0 agent). It >> will also ne

Re: [Xen-devel] [PATCH V2] x86/p2m: fixed p2m_change_type_range() start / end check

2018-07-09 Thread Razvan Cojocaru
On 04/23/2018 05:33 PM, Razvan Cojocaru wrote: > On 04/23/2018 05:28 PM, George Dunlap wrote: >> On 04/23/2018 12:56 PM, Razvan Cojocaru wrote: >>> On 04/23/2018 02:47 PM, George Dunlap wrote: >>>> On 04/18/2018 02:12 PM, Razvan Cojocaru wrote: >>>

Re: [Xen-devel] [PATCH v2 2/2] x86/altp2m: Add a subop for obtaining the memaccess of a page

2018-07-09 Thread Razvan Cojocaru
On 07/09/2018 11:35 AM, Jan Beulich wrote: On 05.07.18 at 12:44, wrote: >> Both altp2m get/set memaccess functions use the struct >> xen_hvm_altp2m_mem_access which has now dropped the `set' part and has >> been renamed from xen_hvm_altp2m_set_mem_access. >> >> Signed-off-by: Adrian Pop > >

Re: [Xen-devel] [PATCH] x86/altp2m: Add a subop for obtaining the mem access of a page

2018-07-09 Thread Razvan Cojocaru
On 07/09/2018 02:04 PM, George Dunlap wrote: > On 07/06/2018 05:52 PM, Tamas K Lengyel wrote: >> On Fri, Jul 6, 2018 at 2:56 AM Razvan Cojocaru >> wrote: >>> >>> On 07/05/2018 07:45 PM, Tamas K Lengyel wrote: >>>> On Thu, Jul 5, 2018 at 9:22 AM Ra

Re: [Xen-devel] [PATCH] x86/altp2m: Add a subop for obtaining the mem access of a page

2018-07-09 Thread Razvan Cojocaru
On 07/09/2018 02:46 PM, George Dunlap wrote: > On 07/09/2018 12:18 PM, Razvan Cojocaru wrote: >> On 07/09/2018 02:04 PM, George Dunlap wrote: >>> On 07/06/2018 05:52 PM, Tamas K Lengyel wrote: >>>> On Fri, Jul 6, 2018 at 2:56 AM Razvan Cojocaru >>>>

Re: [Xen-devel] [PATCH V5] x86/altp2m: Fix crash with INVALID_ALTP2M EPTP index

2018-07-16 Thread Razvan Cojocaru
On 07/02/2018 08:48 AM, Tian, Kevin wrote: >> From: Razvan Cojocaru [mailto:rcojoc...@bitdefender.com] >> Sent: Thursday, June 28, 2018 10:35 PM >> >> A VM exit handler executed immediately after enabling #VE might >> find a stale __vmsave()d EPTP_INDEX, stored by

Re: [Xen-devel] [PATCH V3] xen/altp2m: set access_required properly for all altp2ms

2018-07-16 Thread Razvan Cojocaru
On 06/28/2018 07:19 PM, Tamas K Lengyel wrote: > On Thu, Jun 28, 2018 at 1:54 AM Razvan Cojocaru > wrote: >> >> For the hostp2m, access_required starts off as 0, then it can be >> set with xc_domain_set_access_required(). However, all the altp2ms >> set it to

Re: [Xen-devel] [PATCH 05/15] xen/arm: p2m: Limit call to mem access code use in get_page_from_gva

2018-07-17 Thread Razvan Cojocaru
ire the page behind the MFN). > > Signed-off-by: Julien Grall Acked-by: Razvan Cojocaru Thanks, Razvan ___ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel

Re: [Xen-devel] [PATCH v3] x86/mm: Add mem access rights to NPT

2018-07-19 Thread Razvan Cojocaru
On 07/19/2018 11:18 AM, Isaila Alexandru wrote: > On Mi, 2018-07-18 at 15:33 +, George Dunlap wrote: >> >>> >>> On Jul 2, 2018, at 8:42 AM, Alexandru Isaila >> om> wrote: >>> >>> From: Isaila Alexandru >>> >>> This patch adds access rights for the NPT pages. The access rights >>> are >>> saved

Re: [Xen-devel] [PATCH v3] x86/mm: Add mem access rights to NPT

2018-07-19 Thread Razvan Cojocaru
On 07/19/2018 11:30 AM, Jan Beulich wrote: On 19.07.18 at 10:18, wrote: >> On Mi, 2018-07-18 at 15:33 +, George Dunlap wrote: On Jul 2, 2018, at 8:42 AM, Alexandru Isaila >>> +break; +case p2m_access_x: +flags &= ~_PAGE_RW; +

Re: [Xen-devel] [PATCH V5] x86/altp2m: Fix crash with INVALID_ALTP2M EPTP index

2018-07-20 Thread Razvan Cojocaru
On 07/20/2018 06:07 PM, George Dunlap wrote: > On 06/28/2018 03:35 PM, Razvan Cojocaru wrote: >> A VM exit handler executed immediately after enabling #VE might >> find a stale __vmsave()d EPTP_INDEX, stored by calling >> altp2m_vcpu_destroy() when SECONDARY_EXEC_ENABLE_VIRT_E

Re: [Xen-devel] [PATCH V5] x86/altp2m: Fix crash with INVALID_ALTP2M EPTP index

2018-07-20 Thread Razvan Cojocaru
On 07/20/2018 08:18 PM, George Dunlap wrote: > Furthermore, imagine the following scenario: > > * dom0 enables altp2m on domain A > * dom0 switches altp2m to view 1 on domain A > * dom0 enables #VE on domain A > * domain A has a vmexit > -> At this point, EPTP_INDEX is 0, so the vmexit code will

Re: [Xen-devel] An issue in sharing the pages again in xen-memshare

2018-07-23 Thread Razvan Cojocaru
On 07/23/2018 05:37 AM, sepanta s wrote: > I have written a program that can share memory pages of two VMs every x > milliseconds. To do so, I modified xen and added an unshare event to be > able to capture it. However,  for some pages, when I receive the unshare > event that contains the informati

Re: [Xen-devel] [PATCH V5] x86/altp2m: Fix crash with INVALID_ALTP2M EPTP index

2018-07-23 Thread Razvan Cojocaru
On 07/23/2018 01:29 PM, George Dunlap wrote: > It's possible my analysis is wrong there (I'm not intimately familiar > with the code), but I think my patch is better anyway for a couple of > reasons: > > * The logic to keep EPTP_INDEX in sync is explicit, and all in the same > file. > > * It does

Re: [Xen-devel] [PATCH v2] hvm/altp2m: Clarify the proper way to extend the altp2m interface

2018-07-23 Thread Razvan Cojocaru
ety-critical > environment. > > C1 would be ideal, but there's nobody at present to do the work. > Given that, C3 has been seen as the best solution in discussion. > > Signed-off-by: George Dunlap > --- > Changes since v1: > - Patch description: clarify that HVM

Re: [Xen-devel] [PATCH v4] x86/mm: Add mem access rights to NPT

2018-07-24 Thread Razvan Cojocaru
On 07/24/2018 11:55 AM, Jan Beulich wrote: >> +if ( cpu_has_svm && !p2m->mem_access_settings ) >> +{ >> +p2m->mem_access_settings = xmalloc(struct radix_tree_root); >> + >> +if( !p2m->mem_access_settings ) > Style. > >> +{ >> +xfree(d->arch.monitor.msr_b

Re: [Xen-devel] [PATCH v2] x86: assorted array_index_nospec() insertions

2018-07-26 Thread Razvan Cojocaru
gt; > Signed-off-by: Jan Beulich > --- > v2: Re-base. Drop guest_cpuid() changes. Fix off-by-1 in > {do,compat}_dm_op(). Acked-by: Razvan Cojocaru Thanks, Razvan ___ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists

Re: [Xen-devel] [PATCH] x86/altp2m: Allow setting the #VE info page for an arbitrary VCPU

2018-07-31 Thread Razvan Cojocaru
On 07/31/2018 08:19 PM, Tamas K Lengyel wrote: > On Tue, Jul 31, 2018 at 5:53 AM Jan Beulich wrote: >> I'd like you to outline in the description how you mean an external >> agent to coordinate the use of this GFN with the guest (and in >> particular without in-guest agent). > > Using #VE without

Re: [Xen-devel] [PATCH] x86/altp2m: Allow setting the #VE info page for an arbitrary VCPU

2018-08-01 Thread Razvan Cojocaru
On 08/01/2018 11:23 AM, Jan Beulich wrote: On 31.07.18 at 19:19, wrote: >> On Tue, Jul 31, 2018 at 5:53 AM Jan Beulich wrote: >> On 25.07.18 at 13:49, wrote: -vcpu_altp2m(curr).veinfo_gfn = _gfn(a.u.enable_notify.gfn); -altp2m_vcpu_update_vmfunc_ve(curr);

Re: [Xen-devel] [PATCH V5] x86/altp2m: Fix crash with INVALID_ALTP2M EPTP index

2018-08-01 Thread Razvan Cojocaru
On 07/23/2018 01:29 PM, George Dunlap wrote: > On 07/20/2018 07:02 PM, Razvan Cojocaru wrote: >> On 07/20/2018 08:18 PM, George Dunlap wrote: >>> Furthermore, imagine the following scenario: >>> >>> * dom0 enables altp2m on domain A >>> * dom0 swi

Re: [Xen-devel] [PATCH] x86/vmx: Avoid hitting BUG_ON() after EPTP-related domain_crash()

2018-08-01 Thread Razvan Cojocaru
ly, just out of context). > > Return from vmx_vmexit_handler() after the domain_crash(), which also has the > side effect of reentering the scheduler more promptly. > > Signed-off-by: Andrew Cooper Reviewed-by: Razvan Cojocaru Thanks, Razvan __

[Xen-devel] [PATCH V6] x86/altp2m: Make sure EPTP_INDEX is up-to-date when enabling #VE

2018-08-01 Thread Razvan Cojocaru
ctive vcpus for an altp2m will be thrown off. Fix this by always updating EPTP_INDEX to the current altp2m index when enabling #VE. Reported-by: Razvan Cojocaru Signed-off-by: George Dunlap Reviewed-by: Razvan Cojocaru Tested-by: Razvan Cojocaru --- xen/arch/x86/hvm/vmx/vmx.c | 7 +++

Re: [Xen-devel] [PATCH V5] x86/altp2m: Fix crash with INVALID_ALTP2M EPTP index

2018-08-01 Thread Razvan Cojocaru
On 08/02/2018 09:32 AM, Tian, Kevin wrote: >> From: Razvan Cojocaru [mailto:rcojoc...@bitdefender.com] >> Sent: Wednesday, August 1, 2018 5:02 PM >> >> On 07/23/2018 01:29 PM, George Dunlap wrote: >>> On 07/20/2018 07:02 PM, Razvan Cojocaru wrote: >>>>

Re: [Xen-devel] [PATCH v5 11/15] mm / iommu: split need_iommu() into has_iommu_pt() and sync_iommu_pt()

2018-08-03 Thread Razvan Cojocaru
o test. > > NOTE: The test of need_iommu(d) in the AMD IOMMU initialization code has > been replaced with a test of iommu_dom0_strict since this more > accurately reflects the meaning of the test and brings it into > line with a similar test in

[Xen-devel] Emulation and active (valid) interrupts

2018-08-08 Thread Razvan Cojocaru
Hello, I'm seeing rare occasions where this backtrace occurs at a point in __vmx_inject_exception() where there's already a valid interrupt set up in VM_ENTRY_INTR_INFO (that is, once the value is __vmread(), intr_info & INTR_INFO_VALID_MASK is non-zero): Xen call trace: [] vmx.c#__vmx_inject_

Re: [Xen-devel] Emulation and active (valid) interrupts

2018-08-08 Thread Razvan Cojocaru
> 2. Is it possible that something else in that path writes into > VM_ENTRY_INTR_INFO (which the vmx_intr_assist() logic can't possibly > prevent)? For example, in my Xen 4.7.5 sources, there's a > pt_restore_timer(v); call in hvm_do_resume() before the vm_event > emulation code. Actually even han

Re: [Xen-devel] Emulation and active (valid) interrupts

2018-08-09 Thread Razvan Cojocaru
On 8/9/18 10:54 AM, Jan Beulich wrote: On 08.08.18 at 16:26, wrote: >> 1. Is it possible to already have a valid interrupt written in >> VM_ENTRY_INTR_INFO at EXIT_REASON_EPT_VIOLATION-time in >> vmx_vmexit_handler()? > > You mean right after the exit? Where would that come from? I'm > afrai

Re: [Xen-devel] [PATCH v1 2/2] hvm/svm: Enable EMUL_UNIMPLEMENTED events on svm

2018-05-18 Thread Razvan Cojocaru
On 05/18/2018 07:00 PM, Tamas K Lengyel wrote: > On Fri, May 18, 2018 at 9:32 AM, Jan Beulich wrote: > On 11.05.18 at 13:11, wrote: >>> Signed-off-by: Alexandru Isaila >> >> It would be helpful to know whether this patch depends on patch 1 in any way. >> If it doesn't, with Tamas'es ack this

Re: [Xen-devel] [PATCH v1 1/2] x86/mm: Add mem access rights to NPT

2018-05-18 Thread Razvan Cojocaru
On 05/18/2018 06:30 PM, Jan Beulich wrote: On 11.05.18 at 13:11, wrote: >> This patch adds access rights for the NPT pages. The access rights are >> saved in bits 59:56 of pte that are manipulated through p2m_set_access() >> and p2m_get_access() functions. > > You don't give any rationale fo

[Xen-devel] [PATCH] xen/svm: don't clear interception for MSRs required for introspection

2018-05-25 Thread Razvan Cojocaru
This patch mirrors the VMX code that doesn't allow vmx_disable_intercept_for_msr() to clear interception of MSRs that an introspection agent is trying to monitor. Signed-off-by: Razvan Cojocaru --- xen/arch/x86/hvm/svm/svm.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff

Re: [Xen-devel] [PATCH] xen/svm: don't clear interception for MSRs required for introspection

2018-05-25 Thread Razvan Cojocaru
On 05/25/2018 06:19 PM, Boris Ostrovsky wrote: > On 05/25/2018 08:38 AM, Razvan Cojocaru wrote: >> This patch mirrors the VMX code that doesn't allow >> vmx_disable_intercept_for_msr() > > vmx_clear_msr_intercept() ? > >> to clear interception of MSRs that >

[Xen-devel] [PATCH V2] xen/svm: don't clear interception for MSRs required for introspection

2018-05-29 Thread Razvan Cojocaru
This patch mirrors the VMX code that doesn't allow vmx_clear_msr_intercept() to clear interception of MSRs that an introspection agent is trying to monitor. Signed-off-by: Razvan Cojocaru Reviewed-by: Boris Ostrovsky --- Changes since V1: - Fixed commit message (updated the function na

Re: [Xen-devel] [PATCH 08/11] x86/hvm: RFC - PROBABLY BROKEN - Defer all debugging/monitor actions to {svm, vmx}_inject_event()

2018-06-04 Thread Razvan Cojocaru
ooper > --- > CC: Jan Beulich > CC: Wei Liu > CC: Roger Pau Monné > CC: Jun Nakajima > CC: Kevin Tian > CC: Boris Ostrovsky > CC: Suravee Suthikulpanit > CC: Brian Woods > CC: Razvan Cojocaru > CC: Tamas K Lengyel > > This is RFC because it probably

Re: [Xen-devel] [PATCH 08/11] x86/hvm: RFC - PROBABLY BROKEN - Defer all debugging/monitor actions to {svm, vmx}_inject_event()

2018-06-04 Thread Razvan Cojocaru
On 06/04/2018 05:53 PM, Razvan Cojocaru wrote: > On 06/04/2018 04:59 PM, Andrew Cooper wrote: >> Currently, there is a lot of functionality in the #DB intercepts, and some >> repeated functionality in the *_inject_event() logic. >> >> The gdbsx code is impleme

Re: [Xen-devel] [PATCH 00/11] Fixes to debugging facilities

2018-06-04 Thread Razvan Cojocaru
On 06/04/2018 06:39 PM, Andrew Cooper wrote: > On 04/06/18 14:59, Andrew Cooper wrote: >> So this started as a small fix for the vmentry failure (penultimate patch), >> and has snowballed... >> >> I'm fairly confident that everything involving DEBUGCTL.BTF is broken, and >> there are definitely bug

[Xen-devel] [PATCH] xen/altp2m: set access_required properly for all altp2ms

2018-06-11 Thread Razvan Cojocaru
values received via hypecall too all the active altp2ms, when applicable. Signed-off-by: Razvan Cojocaru --- xen/arch/arm/domain.c| 4 xen/arch/x86/domain.c| 17 + xen/arch/x86/mm/p2m.c| 3 ++- xen/common/domctl.c | 2 ++ xen/include/xen/domain.h | 2 ++ 5

Re: [Xen-devel] [PATCH] xen/altp2m: set access_required properly for all altp2ms

2018-06-12 Thread Razvan Cojocaru
Thanks for the review! On 06/12/2018 03:23 PM, Jan Beulich wrote: On 11.06.18 at 17:12, wrote: >> --- a/xen/arch/x86/domain.c >> +++ b/xen/arch/x86/domain.c >> @@ -38,6 +38,7 @@ >> #include >> #include >> #include >> +#include > > Not the least to avoid this I think ... > >> @@ -719

Re: [Xen-devel] [PATCH] xen/altp2m: set access_required properly for all altp2ms

2018-06-12 Thread Razvan Cojocaru
On 06/12/2018 03:35 PM, Razvan Cojocaru wrote: >>> @@ -210,7 +211,7 @@ static int p2m_init_altp2m(struct domain *d) >>> return -ENOMEM; >>> } >>> p2m->p2m_class = p2m_alternate; >>> -p2m->access_requir

[Xen-devel] [PATCH V2 2/2] x86/altp2m: Fixed domain crash with INVALID_ALTP2M EPTP index

2018-06-13 Thread Razvan Cojocaru
P2M). Since MAX_ALTP2M is currently 10 and INVALID_ALTP2M is #defined as 0x, the domain will always crash in this case. Signed-off-by: Razvan Cojocaru --- Cc: Jun Nakajima Cc: Kevin Tian Cc: Jan Beulich Cc: Andrew Cooper Cc: Tamas K Lengyel --- xen/arch/x86/hvm/vmx/vmx.c | 2 +- 1 f

[Xen-devel] [PATCH V2 1/2] xen/altp2m: set access_required properly for all altp2ms

2018-06-13 Thread Razvan Cojocaru
values received via hypercall to all the active altp2ms, when applicable. Signed-off-by: Razvan Cojocaru --- Cc: Stefano Stabellini Cc: Julien Grall Cc: Andrew Cooper Cc: George Dunlap Cc: Ian Jackson Cc: Jan Beulich Cc: Konrad Rzeszutek Wilk Cc: Tim Deegan Cc: Wei Liu Cc: George Dunlap

Re: [Xen-devel] [PATCH V2 2/2] x86/altp2m: Fixed domain crash with INVALID_ALTP2M EPTP index

2018-06-22 Thread Razvan Cojocaru
On 06/22/2018 06:28 PM, Jan Beulich wrote: On 13.06.18 at 10:52, wrote: >> --- a/xen/arch/x86/hvm/vmx/vmx.c >> +++ b/xen/arch/x86/hvm/vmx/vmx.c >> @@ -3592,7 +3592,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs) >> } >> } >> >> -if ( idx != vcpu_altp2m

Re: [Xen-devel] [PATCH V2 2/2] x86/altp2m: Fixed domain crash with INVALID_ALTP2M EPTP index

2018-06-25 Thread Razvan Cojocaru
On 06/22/2018 07:55 PM, Razvan Cojocaru wrote: > On 06/22/2018 06:28 PM, Jan Beulich wrote: >>>>> On 13.06.18 at 10:52, wrote: >>> --- a/xen/arch/x86/hvm/vmx/vmx.c >>> +++ b/xen/arch/x86/hvm/vmx/vmx.c >>> @@ -3592,7 +3592,7 @@ void

Re: [Xen-devel] [PATCH V2 2/2] x86/altp2m: Fixed domain crash with INVALID_ALTP2M EPTP index

2018-06-25 Thread Razvan Cojocaru
On 06/25/2018 03:28 PM, Jan Beulich wrote: >>>> On 25.06.18 at 14:12, wrote: >> On 06/22/2018 07:55 PM, Razvan Cojocaru wrote: >>> On 06/22/2018 06:28 PM, Jan Beulich wrote: >>>>>>> On 13.06.18 at 10:52, wrote: >>>>> --- a/xe

Re: [Xen-devel] [PATCH V2 2/2] x86/altp2m: Fixed domain crash with INVALID_ALTP2M EPTP index

2018-06-25 Thread Razvan Cojocaru
> (XEN) [ 1923.964832] altp2m_vcpu_initialise() > (XEN) [ 1923.964836] altp2m_vcpu_reset() > (XEN) [ 1923.964837] 1 altp2m_vcpu_update_p2m() > (XEN) [ 1923.964838] vmx_vcpu_update_eptp() > (XEN) [ 1923.964876] HVMOP_altp2m_vcpu_enable_notify > (XEN) [ 1923.964878] vmx_vcpu_update_vmfunc_ve(0), > v-

Re: [Xen-devel] [PATCH V2 2/2] x86/altp2m: Fixed domain crash with INVALID_ALTP2M EPTP index

2018-06-25 Thread Razvan Cojocaru
On 06/25/2018 03:54 PM, Jan Beulich wrote: On 25.06.18 at 14:40, wrote: >>> Crash: >>> >>> (XEN) [ 1924.367273] altp2m_vcpu_initialise() >>> (XEN) [ 1924.367277] altp2m_vcpu_reset() >>> (XEN) [ 1924.367278] 1 altp2m_vcpu_update_p2m() >>> (XEN) [ 1924.367279] vmx_vcpu_update_eptp() >>> (XEN) [

[Xen-devel] [PATCH V2] x86/altp2m: Fixed crash with INVALID_ALTP2M EPTP index

2018-06-25 Thread Razvan Cojocaru
. This makes it possible for vmx_vmexit_handler() to __vmread() the stale value after a subsequent call to xc_altp2m_set_vcpu_enable_notify(), and BUG_ON(idx >= MAX_ALTP2M). Signed-off-by: Razvan Cojocaru --- Changes since V1: - Re-wrote the fix to affect the altp2m code instead of the c

Re: [Xen-devel] [PATCH V2] x86/altp2m: Fixed crash with INVALID_ALTP2M EPTP index

2018-06-26 Thread Razvan Cojocaru
ng altp2m on a >> domain after xc_altp2m_set_vcpu_enable_notify() has been >> successfully called, EPTP_INDEX ends up being stored as >> INVALID_ALTP2M. This makes it possible for vmx_vmexit_handler() >> to __vmread() the stale value after a subsequent call to >> xc_altp2m_set_vcpu_enable_notify()

Re: [Xen-devel] [PATCH V2] x86/altp2m: Fixed crash with INVALID_ALTP2M EPTP index

2018-06-26 Thread Razvan Cojocaru
On 06/26/2018 02:56 PM, Jan Beulich wrote: On 26.06.18 at 12:55, wrote: >> On 06/26/2018 01:26 PM, Jan Beulich wrote: >> On 25.06.18 at 16:10, wrote: --- a/xen/arch/x86/mm/altp2m.c +++ b/xen/arch/x86/mm/altp2m.c @@ -58,8 +58,8 @@ altp2m_vcpu_destroy(struct vcpu *v)

Re: [Xen-devel] [PATCH V2] x86/altp2m: Fixed crash with INVALID_ALTP2M EPTP index

2018-06-26 Thread Razvan Cojocaru
On 06/26/2018 03:06 PM, Razvan Cojocaru wrote: > On 06/26/2018 02:56 PM, Jan Beulich wrote: >>>>> On 26.06.18 at 12:55, wrote: >>> On 06/26/2018 01:26 PM, Jan Beulich wrote: >>>>>>> On 25.06.18 at 16:10, wrote: >>>>> ---

[Xen-devel] [PATCH V3] x86/altp2m: Fix crash with INVALID_ALTP2M EPTP index

2018-06-26 Thread Razvan Cojocaru
. This makes it possible for vmx_vmexit_handler() to __vmread() the stale value after a subsequent call to xc_altp2m_set_vcpu_enable_notify(), and BUG_ON(idx >= MAX_ALTP2M). Signed-off-by: Razvan Cojocaru --- Changes since V2: - Changed verb tense in commit message subject. - Now call

Re: [Xen-devel] [PATCH V3] x86/altp2m: Fix crash with INVALID_ALTP2M EPTP index

2018-06-27 Thread Razvan Cojocaru
On 06/27/2018 12:46 PM, Jan Beulich wrote: On 26.06.18 at 16:21, wrote: >> When SECONDARY_EXEC_ENABLE_VIRT_EXCEPTIONS is set, >> vmx_vcpu_update_eptp() __vmwrites() EPTP_INDEX in >> altp2m_vcpu_destroy(). This means that when disabling altp2m on a >> domain after xc_altp2m_set_vcpu_enable_not

[Xen-devel] [PATCH V4] x86/altp2m: Fix crash with INVALID_ALTP2M EPTP index

2018-06-27 Thread Razvan Cojocaru
(such as __vmwrite(VM_FUNCTION_CONTROL, ...)). Signed-off-by: Razvan Cojocaru --- Changes since V3: - Expanded and clarified the patch commit message. --- xen/arch/x86/mm/altp2m.c | 1 - xen/include/asm-x86/hvm/hvm.h | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/xen/arc

Re: [Xen-devel] [PATCH V4] x86/altp2m: Fix crash with INVALID_ALTP2M EPTP index

2018-06-27 Thread Razvan Cojocaru
On 06/27/2018 06:04 PM, Jan Beulich wrote: On 27.06.18 at 15:12, wrote: >> xc_altp2m_set_vcpu_enable_notify() ends up calling >> altp2m_vcpu_update_vmfunc_ve(), which sets the >> SECONDARY_EXEC_ENABLE_VIRT_EXCEPTIONS bit on >> vmx_secondary_exec_control. A subsequent call to >> xc_altp2m_set_

Re: [Xen-devel] [PATCH V2 1/2] xen/altp2m: set access_required properly for all altp2ms

2018-06-28 Thread Razvan Cojocaru
On 06/27/2018 05:09 PM, Wei Liu wrote: > On Wed, Jun 13, 2018 at 11:52:18AM +0300, Razvan Cojocaru wrote: >> --- >> xen/arch/arm/mem_access.c| 5 + >> xen/arch/x86/mm/mem_access.c | 18 ++ >> xen/arch/x86/mm/p2m.c| 3 ++- >>

[Xen-devel] [PATCH V3] xen/altp2m: set access_required properly for all altp2ms

2018-06-28 Thread Razvan Cojocaru
values received via hypercall to all the active altp2ms, when applicable. Signed-off-by: Razvan Cojocaru --- Cc: Stefano Stabellini Cc: Julien Grall Cc: Andrew Cooper Cc: George Dunlap Cc: Ian Jackson Cc: Jan Beulich Cc: Konrad Rzeszutek Wilk Cc: Tim Deegan Cc: Wei Liu Cc: George Dunlap

[Xen-devel] [PATCH V5] x86/altp2m: Fix crash with INVALID_ALTP2M EPTP index

2018-06-28 Thread Razvan Cojocaru
into one everywhere, since in p2m_switch_domain_altp2m_by_id() and p2m_switch_vcpu_altp2m_by_id() the extra work done by altp2m_vcpu_update_vmfunc_ve() is unnecessary and has side effects (such as __vmwrite(VM_FUNCTION_CONTROL, ...)). Signed-off-by: Razvan Cojocaru --- Changes since V4: - T

Re: [Xen-devel] [PATCH v2] x86/mm: Add mem access rights to NPT

2018-06-28 Thread Razvan Cojocaru
On 06/28/2018 05:53 PM, Alexandru Stefan ISAILA wrote: > On Jo, 2018-06-28 at 08:40 -0600, Jan Beulich wrote: >>> > > On 28.06.18 at 16:10, wrote: >>> On Vi, 2018-06-22 at 09:51 -0600, Jan Beulich wrote: > >> >>> >>> On 18.06.18 at 17:17, wrote: > From: Isail

Re: [Xen-devel] Emulation and active (valid) interrupts

2018-08-13 Thread Razvan Cojocaru
On 8/9/18 11:35 AM, Jan Beulich wrote: On 09.08.18 at 10:20, wrote: >> On 8/9/18 10:54 AM, Jan Beulich wrote: >> On 08.08.18 at 16:26, wrote: 1. Is it possible to already have a valid interrupt written in VM_ENTRY_INTR_INFO at EXIT_REASON_EPT_VIOLATION-time in vmx_vmexit_h

[Xen-devel] Emulation and active (valid) interrupts

2018-08-13 Thread Razvan Cojocaru
On 8/13/18 3:22 PM, Jan Beulich wrote: On 13.08.18 at 13:55, wrote: >> On 8/9/18 11:35 AM, Jan Beulich wrote: >> On 09.08.18 at 10:20, wrote: On 8/9/18 10:54 AM, Jan Beulich wrote: On 08.08.18 at 16:26, wrote: >> 1. Is it possible to already have a valid interrupt writ

Re: [Xen-devel] Emulation and active (valid) interrupts

2018-08-13 Thread Razvan Cojocaru
On 8/13/18 3:58 PM, Jan Beulich wrote: On 13.08.18 at 14:51, wrote: >> So first we've got that vmx_idtv_reinject() call writing to the VMCS, >> then we emulate a CLI, then the failed vmentry. I can't tell if the CLI >> ran first and then an interrupt popped up, or if an interrupt had >> alrea

<    1   2   3   4   5   6   >