Hi Greg, On Sun, Apr 10, 2016 at 01:53:35AM +0100, gregkh@xxxxxxxxxxxxxxxxxxx wrote: > The patch below does not apply to the 4.4-stable tree. > If someone wants it applied there, or to any other stable or longterm > tree, then please email the backport, including the original git commit > id to <stable@xxxxxxxxxxxxxxx>. > > thanks, > > greg k-h > > ------------------ original commit in Linus's tree ------------------ > > From fdc69e7df3cb24f18a93192641786e5b7ecd1dfe Mon Sep 17 00:00:00 2001 > From: Catalin Marinas <catalin.marinas@xxxxxxx> > Date: Wed, 9 Mar 2016 16:31:29 +0000 > Subject: [PATCH] arm64: Update PTE_RDONLY in set_pte_at() for PROT_NONE > permission > > The set_pte_at() function must update the hardware PTE_RDONLY bit > depending on the state of the PTE_WRITE and PTE_DIRTY bits of the given > entry value. However, it currently only performs this for pte_valid() > entries, ignoring PTE_PROT_NONE. The side-effect is that PROT_NONE > mappings would not have the PTE_RDONLY bit set. Without > CONFIG_ARM64_HW_AFDBM, this is not an issue since such PROT_NONE pages > are not accessible anyway. > > With commit 2f4b829c625e ("arm64: Add support for hardware updates of > the access and dirty pte bits"), the ptep_set_wrprotect() function was > re-written to cope with automatic hardware updates of the dirty state. > As an optimisation, only PTE_RDONLY is checked to assess the "dirty" > status. Since set_pte_at() does not set this bit for PROT_NONE mappings, > such pages may be considered "dirty" as a result of > ptep_set_wrprotect(). > > This patch updates the pte_valid() check to pte_present() in > set_pte_at(). It also adds PTE_PROT_NONE to the swap entry bits comment. > > Fixes: 2f4b829c625e ("arm64: Add support for hardware updates of the access and dirty pte bits") > Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> > Reported-by: Ganapatrao Kulkarni <gkulkarni@xxxxxxxxxxxxxxxxxx> > Tested-by: Ganapatrao Kulkarni <gkulkarni@xxxxxxxxxx> > Cc: <stable@xxxxxxxxxxxxxxx> This patch requires another commit that was merged in 4.5. The actual "Cc: stable" line above should have been: Cc: <stable@xxxxxxxxxxxxxxx> # 4.4.x: ac15bd63bbb2: arm64: Honour !PTE_WRITE in set_pte_at() for kernel mappings Shall I re-send commit fdc69e7df3cb ("arm64: Update PTE_RDONLY in set_pte_at() for PROT_NONE permission") with the amended "Cc: stable" line or you're OK to cherry-pick the dependency? Thanks. -- Catalin -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html