[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2e7496af-0988-49fb-9582-bf6a94f08198@redhat.com>
Date: Fri, 9 Feb 2024 23:31:24 +0100
From: David Hildenbrand <david@...hat.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: Anshuman Khandual <anshuman.khandual@....com>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org
Subject: Re: [PATCH] fs/proc/task_mmu: Add display flag for VM_MAYOVERLAY
On 08.02.24 21:40, Andrew Morton wrote:
> On Thu, 8 Feb 2024 17:48:26 +0100 David Hildenbrand <david@...hat.com> wrote:
>
>> On 08.02.24 09:48, Anshuman Khandual wrote:
>>> VM_UFFD_MISSING flag is mutually exclussive with VM_MAYOVERLAY flag as they
>>> both use the same bit position i.e 0x00000200 in the vm_flags. Let's update
>>> show_smap_vma_flags() to display the correct flags depending on CONFIG_MMU.
>>>
>>> Cc: Andrew Morton <akpm@...ux-foundation.org>
>>> Cc: David Hildenbrand <david@...hat.com>
>>> Cc: linux-kernel@...r.kernel.org
>>> Cc: linux-fsdevel@...r.kernel.org
>>> Signed-off-by: Anshuman Khandual <anshuman.khandual@....com>
>>> ---
>>> This applies on v6.8-rc3
>>>
>>> fs/proc/task_mmu.c | 4 ++++
>>> 1 file changed, 4 insertions(+)
>>>
>>> diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
>>> index 3f78ebbb795f..1c4eb25cfc17 100644
>>> --- a/fs/proc/task_mmu.c
>>> +++ b/fs/proc/task_mmu.c
>>> @@ -681,7 +681,11 @@ static void show_smap_vma_flags(struct seq_file *m, struct vm_area_struct *vma)
>>> [ilog2(VM_HUGEPAGE)] = "hg",
>>> [ilog2(VM_NOHUGEPAGE)] = "nh",
>>> [ilog2(VM_MERGEABLE)] = "mg",
>>> +#ifdef CONFIG_MMU
>>> [ilog2(VM_UFFD_MISSING)]= "um",
>>> +#else
>>> + [ilog2(VM_MAYOVERLAY)] = "ov",
>>> +#endif /* CONFIG_MMU */
>>> [ilog2(VM_UFFD_WP)] = "uw",
>>> #ifdef CONFIG_ARM64_MTE
>>> [ilog2(VM_MTE)] = "mt",
>>
>> Reviewed-by: David Hildenbrand <david@...hat.com>
>
> I'm thinking
>
> Fixes: b6b7a8faf05c ("mm/nommu: don't use VM_MAYSHARE for MAP_PRIVATE mappings")
> Cc: <stable@...r.kernel.org>
I'm having a hard time believing that anybody that runs a !MMU kernel
would actually care about this bit being exposed as "ov" instead of "uw".
So in my thinking, one could even update
Documentation/filesystems/proc.rst to just mention that "uw" on !MMU is
only used for internal purposes.
But now, I actually read what that structure says:
"Don't forget to update Documentation/ on changes."
So, let's look there: Documentation/filesystems/proc.rst
"Note that there is no guarantee that every flag and associated mnemonic
will be present in all further kernel releases. Things get changed, the
flags may be vanished or the reverse -- new added. Interpretation of
their meaning might change in future as well. So each consumer of these
flags has to follow each specific kernel version for the exact semantic.
This file is only present if the CONFIG_MMU kernel configuration option
is enabled."
And in fact
$ git grep MMU fs/proc/Makefile
fs/proc/Makefile:proc-$(CONFIG_MMU) := task_mmu.o
So I rewoke my RB, this patch should be dropped and was never even
tested unless I am missing something important.
--
Cheers,
David / dhildenb
Powered by blists - more mailing lists