[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH RFC 04/10] domain: update GADDR based runstate guest area



Hi Jan,

On 20/12/2022 08:45, Jan Beulich wrote:
On 20.12.2022 09:40, Julien Grall wrote:
On 19/12/2022 12:48, Jan Beulich wrote:
On 16.12.2022 13:26, Julien Grall wrote:
On 19/10/2022 08:41, Jan Beulich wrote:
RFC: HVM guests (on x86) can change bitness and hence layout (and size!
        and alignment) of the runstate area. I don't think it is an option
        to require 32-bit code to pass a range such that even the 64-bit
        layout wouldn't cross a page boundary (and be suitably aligned). I
        also don't see any other good solution, so for now a crude approach
        with an extra boolean is used (using has_32bit_shinfo() isn't race
        free and could hence lead to overrunning the mapped space).

I think the extra check for 32-bit code to pass the check for 64-bit
layout would be better.

I'm afraid I can't derive from your reply what it is you actually want.

I think for 32-bit call, we also want to check the address provide will
also pass the 64-bit check (i.e. if used as a 64-bit layout, the area
would not cross a page boundary and be suitably aligned).

But that's specifically what I say I don't think is an option. First and
foremost because of the implication on 32-bit callers: They're need to
use magic to get hold of the size of the 64-bit variant of the struct.

I understand that. But I am not aware of any other (simple) approach where you could have race free code.

So between a non-race free code and exposing the restriction to the guest, I would chose the latter.

Cheers,

--
Julien Grall



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.