diff options
Diffstat (limited to 'mm')
-rw-r--r-- | mm/filemap_xip.c | 1 | ||||
-rw-r--r-- | mm/madvise.c | 1 | ||||
-rw-r--r-- | mm/mlock.c | 11 | ||||
-rw-r--r-- | mm/msync.c | 1 | ||||
-rw-r--r-- | mm/vmstat.c | 1 |
5 files changed, 15 insertions, 0 deletions
diff --git a/mm/filemap_xip.c b/mm/filemap_xip.c index 1b49dab..fa360e5 100644 --- a/mm/filemap_xip.c +++ b/mm/filemap_xip.c @@ -13,6 +13,7 @@ #include <linux/module.h> #include <linux/uio.h> #include <linux/rmap.h> +#include <linux/sched.h> #include <asm/tlbflush.h> #include "filemap.h" diff --git a/mm/madvise.c b/mm/madvise.c index e75096b..60542d0 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -10,6 +10,7 @@ #include <linux/syscalls.h> #include <linux/mempolicy.h> #include <linux/hugetlb.h> +#include <linux/sched.h> /* * Any behaviour which results in changes to the vma->vm_flags needs to @@ -10,7 +10,18 @@ #include <linux/mm.h> #include <linux/mempolicy.h> #include <linux/syscalls.h> +#include <linux/sched.h> +#include <linux/module.h> +int can_do_mlock(void) +{ + if (capable(CAP_IPC_LOCK)) + return 1; + if (current->signal->rlim[RLIMIT_MEMLOCK].rlim_cur != 0) + return 1; + return 0; +} +EXPORT_SYMBOL(can_do_mlock); static int mlock_fixup(struct vm_area_struct *vma, struct vm_area_struct **prev, unsigned long start, unsigned long end, unsigned int newflags) @@ -12,6 +12,7 @@ #include <linux/mman.h> #include <linux/file.h> #include <linux/syscalls.h> +#include <linux/sched.h> /* * MS_SYNC syncs the entire file - including mappings. diff --git a/mm/vmstat.c b/mm/vmstat.c index 8faf27e..3825429 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c @@ -12,6 +12,7 @@ #include <linux/mm.h> #include <linux/module.h> #include <linux/cpu.h> +#include <linux/sched.h> #ifdef CONFIG_VM_EVENT_COUNTERS DEFINE_PER_CPU(struct vm_event_state, vm_event_states) = {{0}}; |