[PATCH V2 1/3] arm: mm: Double logical invert for pte accessors
Catalin Marinas
catalin.marinas at arm.com
Fri Feb 28 10:45:41 EST 2014
On Tue, Feb 25, 2014 at 11:38:52AM +0000, Steve Capper wrote:
> Long descriptors on ARM are 64 bits, and some pte functions such as
> pte_dirty return a bitwise-and of a flag with the pte value. If the
> flag to be tested resides in the upper 32 bits of the pte, then we run
> into the danger of the result being dropped if downcast.
>
> For example:
> gather_stats(page, md, pte_dirty(*pte), 1);
> where pte_dirty(*pte) is downcast to an int.
>
> Functions such as huge_pte_write also perform a downcast to unsigned
> long (which is 32 bits).
>
> This patch adds a double logical invert to all the pte_ accessors to
> ensure predictable downcasting.
>
> Signed-off-by: Steve Capper <steve.capper at linaro.org>
Acked-by: Catalin Marinas <catalin.marinas at arm.com>
More information about the linux-arm-kernel
mailing list