>>> 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).
Xen-devel mailing list