On Mon, Jul 25, 2011 at 03:23:02PM +0100, Jan Beulich wrote:
> >>> On 25.07.11 at 16:19, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> >>> wrote:
> > On Mon, Jul 25, 2011 at 11:05:22AM +0100, Jan Beulich wrote:
> >> The order-based approach is not only less efficient (requiring a shift
> >> and a compare, typical generated code looking like this
> >> mov eax, [machine_to_phys_order]
> >> mov ecx, eax
> >> shr ebx, cl
> >> test ebx, ebx
> >> jnz ...
> >> whereas a direct check requires just a compare, like in
> >> cmp ebx, [machine_to_phys_nr]
> >> jae ...
> >> ), but also slightly dangerous in the 32-on-64 case - the element
> >> address calculation can wrap if the next power of two boundary is
> >> sufficiently far away from the actual upper limit of the table, and
> >> hence can result in user space addresses being accessed (with it being
> >> unknown what may actually be mapped there).
> > You wouldn't have a patch for upstream Linux for this?
> I can try to port this over, but it'll take some time until I can get to
> this (certainly not before returning from the summit).
<nods>Absolutly. Will wait.
Xen-devel mailing list