Re: [Xen-devel] [PATCH 3/3] xen: use correct type for physical addresses

From: David Vrabel
Date: Fri Jan 09 2015 - 10:10:55 EST


On 09/01/15 12:56, Jan Beulich wrote:
>>>> On 09.01.15 at 13:51, <david.vrabel@xxxxxxxxxx> wrote:
>> On 09/01/15 09:57, Jan Beulich wrote:
>>>>>> On 08.01.15 at 18:01, <JGross@xxxxxxxx> wrote:
>>>> @@ -284,7 +286,7 @@ static void __init xen_update_mem_tables(unsigned long pfn, unsigned long mfn)
>>>> }
>>>>
>>>> /* Update kernel mapping, but not for highmem. */
>>>> - if ((pfn << PAGE_SHIFT) >= __pa(high_memory))
>>>> + if (PFN_PHYS(pfn) >= (u64)(__pa(high_memory)))
>>>
>>> I don't think you really need the cast on the right side - __pa()
>>> should be returning a value of suitable type (and unsigned long
>>> would be sufficient for anything up to and including high_memory).
>>
>> I'd prefer:
>>
>> if (pfn >= PFN_DOWN(__pa(high_memory))
>
> Even better indeed. Just one more point: Strictly speaking
> __pa(high_memory) is invalid, as __pa() is defined for low
> memory only. Hence perhaps PFN_UP(__pa(high_memory - 1))?

Yes.

David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/