Commit b914c47d authored by Lorenzo Stoakes's avatar Lorenzo Stoakes Committed by Andrew Morton
Browse files

mm: ksm: refer to special VMAs via VM_SPECIAL in ksm_compatible()

There's no need to spell out all the special cases, also doing it this way
makes it absolutely clear that we preclude unmergeable VMAs in general,
and puts the other excluded flags in stark and clear contrast.

Link: https://lkml.kernel.org/r/c8be5b055163b164c8824020164076ee3b9389bd.1748537921.git.lorenzo.stoakes@oracle.com


Signed-off-by: default avatarLorenzo Stoakes <lorenzo.stoakes@oracle.com>
Acked-by: default avatarDavid Hildenbrand <david@redhat.com>
Reviewed-by: default avatarChengming Zhou <chengming.zhou@linux.dev>
Reviewed-by: default avatarVlastimil Babka <vbabka@suse.cz>
Reviewed-by: default avatarXu Xin <xu.xin16@zte.com.cn>
Reviewed-by: default avatarLiam R. Howlett <Liam.Howlett@oracle.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Christian Brauner <brauner@kernel.org>
Cc: Jan Kara <jack@suse.cz>
Cc: Jann Horn <jannh@google.com>
Cc: Stefan Roesch <shr@devkernel.io>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent de195c67
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -679,9 +679,8 @@ static int break_ksm(struct vm_area_struct *vma, unsigned long addr, bool lock_v

static bool ksm_compatible(const struct file *file, vm_flags_t vm_flags)
{
	if (vm_flags & (VM_SHARED   | VM_MAYSHARE   | VM_PFNMAP  |
			VM_IO       | VM_DONTEXPAND | VM_HUGETLB |
			VM_MIXEDMAP | VM_DROPPABLE))
	if (vm_flags & (VM_SHARED  | VM_MAYSHARE | VM_SPECIAL |
			VM_HUGETLB | VM_DROPPABLE))
		return false;		/* just ignore the advice */

	if (file_is_dax(file))