lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ