|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 2/3] x86/PV: replace assertions in '0' debug key stack dumping
On 18.10.2021 16:26, Roger Pau Monné wrote:
> On Wed, Sep 29, 2021 at 11:42:54AM +0200, Jan Beulich wrote:
>> While it was me to add them, I'm afraid I don't see justification for
>> the assertions: A vCPU may very well have got preempted while in user
>> mode. Limit compat guest user mode stack dumps to the containing page
>> (like is done when using do_page_walk()), and suppress their dumping
>> altogether for 64-bit Dom0.
>
> I'm slightly lost by this last sentence...
>
>> @@ -328,7 +329,12 @@ static void show_guest_stack(struct vcpu
>> {
>> struct vcpu *vcpu;
>>
>> - ASSERT(guest_kernel_mode(v, regs));
>> + if ( !guest_kernel_mode(v, regs) )
>> + {
>> + printk("User mode stack\n");
>> + return;
>> + }
>
> ...as you seem to unconditionally prevent the dump regardless of
> whether it's dom0 or domU as long as it's not a kernel stack?
Well, Dom0 comes into play by way of me talking about debug key '0'.
I've replaced "Dom0" by "domains" in the sentence.
> I assume when running in PV 64bit mode user-space could be executing a
> 32bit program and hence Xen could then misprint the stack as a 64bit
> one?
That's not a primary concern, I would think. The real problem is
do_page_walk() doing
unsigned long mfn = pagetable_get_pfn(v->arch.guest_table);
first thing: No consideration of guest user mode here at all. And
I didn't want to teach it without real need.
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |