> 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. > > Signed-off-by: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx> > Acked-by: David Hildenbrand <david@xxxxxxxxxx> > Reviewed-by: Chengming Zhou <chengming.zhou@xxxxxxxxx> > --- > mm/ksm.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/mm/ksm.c b/mm/ksm.c > index 08d486f188ff..d0c763abd499 100644 > --- a/mm/ksm.c > +++ b/mm/ksm.c > @@ -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)) > -- > 2.49.0 Reviewed-by: Xu Xin <xu.xin16@xxxxxxxxxx>