mm/pkeys update
Subsystems (4)
Linus,
Please pull the latest mm-urgent-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git mm-urgent-for-linus
# HEAD: c12d2da56d0e07d230968ee2305aaa86b93a6832 mm/gup: Remove the macro overload API migration helpers from the get_user*() APIs
This removes the ugly get-user-pages API hack, now that all upstream code has been migrated to it.
Thanks,
Ingo
------------------>
Ingo Molnar (1):
mm/gup: Remove the macro overload API migration helpers from the get_user*() APIs
include/linux/mm.h | 64 +++--------------------------------------------------- mm/gup.c | 52 ++++++-------------------------------------- mm/nommu.c | 44 ++++++------------------------------- 3 files changed, 17 insertions(+), 143 deletions(-)
include/linux/mm.h +3 -61
@@ -1250,78 +1250,20 @@ long get_user_pages_remote(struct task_struct *tsk, struct mm_struct *mm, unsigned long start, unsigned long nr_pages, int write, int force, struct page **pages, struct vm_area_struct **vmas); -long get_user_pages6 (unsigned long start,unsigned long nr_pages, +long get_user_pages (unsigned long start,unsigned long nr_pages,int write,int force,struct page **pages,struct vm_area_struct **vmas); -long get_user_pages_locked6 (unsigned long start,unsigned long nr_pages, +long get_user_pages_locked (unsigned long start,unsigned long nr_pages,int write,int force,struct page **pages,int *locked);long __get_user_pages_unlocked (struct task_struct *tsk,struct mm_struct *mm,unsigned long start,unsigned long nr_pages,int write,int force,struct page **pages,unsigned int gup_flags); -long get_user_pages_unlocked5 (unsigned long start,unsigned long nr_pages, +long get_user_pages_unlocked (unsigned long start,unsigned long nr_pages,int write,int force,struct page **pages);int get_user_pages_fast (unsigned long start,int nr_pages,int write,struct page **pages); -/* suppress warnings from use in EXPORT_SYMBOL() */ -#ifndef __DISABLE_GUP_DEPRECATED -#define __gup_deprecated __deprecated -#else -#define __gup_deprecated -#endif -/* -* These macros provide backward-compatibility with the old -* get_user_pages() variants which took tsk/mm. These -* functions/macros provide both compile-time __deprecated so we -* can catch old-style use and not break the build. The actual -* functions also have WARN_ON()s to let us know at runtime if -* the get_user_pages() should have been the "remote" variant. -* -* These are hideous, but temporary. -* -* If you run into one of these __deprecated warnings, look -* at how you are calling get_user_pages(). If you are calling -* it with current/current->mm as the first two arguments, -* simply remove those arguments. The behavior will be the same -* as it is now. If you are calling it on another task, use -* get_user_pages_remote() instead. -* -* Any questions? Ask Dave Hansen <[email protected]> -*/ -long -__gup_deprecated -get_user_pages8 (struct task_struct *tsk,struct mm_struct *mm, -unsigned long start,unsigned long nr_pages, -int write,int force,struct page **pages, -struct vm_area_struct **vmas); -#define GUP_MACRO (_1, _2, _3, _4, _5, _6, _7, _8, get_user_pages, ...) \ - get_user_pages -#define get_user_pages (...) GUP_MACRO(__VA_ARGS__, \ - get_user_pages8, x, \ - get_user_pages6, x, x, x, x, x)(__VA_ARGS__) - -__gup_deprecated -long get_user_pages_locked8 (struct task_struct *tsk,struct mm_struct *mm, -unsigned long start,unsigned long nr_pages, -int write,int force,struct page **pages, -int *locked); -#define GUPL_MACRO (_1, _2, _3, _4, _5, _6, _7, _8, get_user_pages_locked, ...) \ - get_user_pages_locked -#define get_user_pages_locked (...) GUPL_MACRO(__VA_ARGS__, \ - get_user_pages_locked8, x, \ - get_user_pages_locked6, x, x, x, x)(__VA_ARGS__) - -__gup_deprecated -long get_user_pages_unlocked7 (struct task_struct *tsk,struct mm_struct *mm, -unsigned long start,unsigned long nr_pages, -int write,int force,struct page **pages); -#define GUPU_MACRO (_1, _2, _3, _4, _5, _6, _7, get_user_pages_unlocked, ...) \ - get_user_pages_unlocked -#define get_user_pages_unlocked (...) GUPU_MACRO(__VA_ARGS__, \ - get_user_pages_unlocked7, x, \ - get_user_pages_unlocked5, x, x, x, x)(__VA_ARGS__) -/* Container for pinned pfns / pages */ struct frame_vector {unsigned int nr_allocated;/* Number of frames we have space for */
mm/gup.c +7 -45
105 lines not on this page · raw message
mm/nommu.c +7 -37
81 lines not on this page · raw message