lkml.org 
[lkml]   [2015]   [Jan]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Subject[stable] ARM: 8108/1: mm: Introduce {pte,pmd}_isset and {pte,pmd}_isclear
From
Date
On Mon, 2014-12-15 at 14:25 +0000, Luis Henriques wrote:
> 3.16.7-ckt3 -stable review patch. If anyone has any objections, please let me know.
>
> ------------------
>
> From: Steven Capper <steve.capper@linaro.org>
>
> commit f2950706871c4b6e8c0f0d7c3f62d35930b8de63 upstream.
>
> 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.
>
> This patch introduces a new macro pte_isset which performs the bitwise
> and, then performs a double logical invert (where needed) to ensure
> predictable downcasting. The logical inverse pte_isclear is also
> introduced.
>
> Equivalent pmd functions for Transparent HugePages have also been
> added.
>
> Signed-off-by: Steve Capper <steve.capper@linaro.org>
> Reviewed-by: Will Deacon <will.deacon@arm.com>
> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
> Cc: Hou Pengyang <houpengyang@huawei.com>
> Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
[...]

This has only been applied to 3.16 so far, but it appears to be suitable
for every branch from 3.4 onwards as ARM LPAE was introduced in 3.3.

Ben.

--
Ben Hutchings
The world is coming to an end. Please log off.
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2015-01-12 01:41    [W:1.664 / U:0.244 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site