lkml.org 
[lkml]   [2022]   [Jul]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v3 1/3] mm/mprotect: Fix soft-dirty check in can_change_pte_writable()
From
On 22.07.22 15:51, Peter Xu wrote:
> On Fri, Jul 22, 2022 at 09:08:59AM +0200, David Hildenbrand wrote:
>> On 21.07.22 20:33, Peter Xu wrote:
>>> The check wanted to make sure when soft-dirty tracking is enabled we won't
>>> grant write bit by accident, as a page fault is needed for dirty tracking.
>>> The intention is correct but we didn't check it right because VM_SOFTDIRTY
>>> set actually means soft-dirty tracking disabled. Fix it.
>>>
>>> There's another thing tricky about soft-dirty is that, we can't check the
>>> vma flag !(vma_flags & VM_SOFTDIRTY) directly but only check it after we
>>> checked CONFIG_MEM_SOFT_DIRTY because otherwise VM_SOFTDIRTY will be
>>> defined as zero, and !(vma_flags & VM_SOFTDIRTY) will constantly return
>>> true. To avoid misuse, introduce a helper for checking whether vma has
>>> soft-dirty tracking enabled.
>>>
>>
>>
>> [...]
>>
>>>
>>> Here we attach a Fixes to commit 64fe24a3e05e only for easy tracking, as
>>> this patch won't apply to a tree before that point. However the commit
>>> wasn't the source of problem, it's just that then anonymous memory will
>>> also suffer from this problem with mprotect().
>>
>> I'd remove that paragraph and also add
>>
>> Fixes: 64e455079e1b ("mm: softdirty: enable write notifications on VMAs after VM_SOFTDIRTY cleared")
>>
>> That introduced this wrong check for pagecache pages AFAIKS.
>>
>> We don't care if the patch applies before 64fe24a3e05e, if someone wants to
>> backport the fix, they can just adjust it accordingly.
>
> IMO besides marking the culprit commit, Fixes can also provide input to
> stable trees to see whether we should try pick some patch up. What I
> wanted to express here is we don't need to try pick this patch up before
> kernel that doesn't have 64fe24a3e05e because it won't apply.
>
> I can attach both Fixes with the hope that it'll help in both cases if
> you're fine with it, with slight explanations.

Makes sense. Thanks!

--
Thanks,

David / dhildenb

\
 
 \ /
  Last update: 2022-07-22 16:01    [W:0.072 / U:0.064 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site