|
|
Subscribe / Log in / New account

Make vma_is_anonymous() reliable

From:  "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
To:  Andrew Morton <akpm@linux-foundation.org>
Subject:  [PATCHv2 0/6] Make vma_is_anonymous() reliable
Date:  Fri, 17 Jul 2015 14:53:07 +0300
Message-ID:  <1437133993-91885-1-git-send-email-kirill.shutemov@linux.intel.com>
Cc:  Oleg Nesterov <oleg@redhat.com>, linux-mm@kvack.org, linux-kernel@vger.kernel.org, "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Archive‑link:  Article

We rely on ->vm_ops == NULL to detect anonymous VMA but this check is not
always reliable:

 - MPX sets ->vm_ops on anonymous VMA;

  - many drivers don't set ->vm_ops. See for instance hpet_mmap().

  This patchset makes vma_is_anonymous() more reliable and makes few
  cleanups around the code.

v2:
 - drop broken patch;
 - more cleanup for mpx code (Oleg);
 - vma_is_anonymous() in create_huge_pmd() and wp_huge_pmd();

Kirill A. Shutemov (5):
  mm: mark most vm_operations_struct const
  x86, mpx: do not set ->vm_ops on mpx VMAs
  mm: make sure all file VMAs have ->vm_ops set
  mm: use vma_is_anonymous() in create_huge_pmd() and wp_huge_pmd()
  mm, madvise: use vma_is_anonymous() to check for anon VMA

Oleg Nesterov (1):
  mm, mpx: add "vm_flags_t vm_flags" arg to do_mmap_pgoff()

 arch/x86/kernel/vsyscall_64.c                  |  2 +-
 arch/x86/mm/mmap.c                             |  7 +++
 arch/x86/mm/mpx.c                              | 71 +++-----------------------
 drivers/android/binder.c                       |  2 +-
 drivers/gpu/drm/vgem/vgem_drv.c                |  2 +-
 drivers/hsi/clients/cmt_speech.c               |  2 +-
 drivers/infiniband/hw/qib/qib_file_ops.c       |  2 +-
 drivers/infiniband/hw/qib/qib_mmap.c           |  2 +-
 drivers/media/platform/omap/omap_vout.c        |  2 +-
 drivers/misc/genwqe/card_dev.c                 |  2 +-
 drivers/staging/android/ion/ion.c              |  2 +-
 drivers/staging/comedi/comedi_fops.c           |  2 +-
 drivers/video/fbdev/omap2/omapfb/omapfb-main.c |  2 +-
 drivers/xen/gntalloc.c                         |  2 +-
 drivers/xen/gntdev.c                           |  2 +-
 drivers/xen/privcmd.c                          |  4 +-
 fs/ceph/addr.c                                 |  2 +-
 fs/cifs/file.c                                 |  2 +-
 include/linux/mm.h                             | 12 ++++-
 mm/madvise.c                                   |  2 +-
 mm/memory.c                                    |  4 +-
 mm/mmap.c                                      | 18 ++++---
 mm/nommu.c                                     | 15 +++---
 security/selinux/selinuxfs.c                   |  2 +-
 24 files changed, 66 insertions(+), 99 deletions(-)

-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Copyright © 2015, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds