Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4f8f769a authored by Jens Axboe's avatar Jens Axboe Committed by Charan Teja Reddy
Browse files

mm: make do_madvise() available internally



This is in preparation for enabling this functionality through io_uring.
Add a helper that is just exporting what sys_madvise() does, and have the
system call use it.

No functional changes in this patch.

Change-Id: I77394d51a06aeb36e0ba733787dbd71a8e06a582
Reviewed-by: default avatarPavel Begunkov <asml.silence@gmail.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
Git-commit: db08ca25253d56f1f76eb4b3fe32a7ac1fbab741
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git


Signed-off-by: default avatarCharan Teja Reddy <charante@codeaurora.org>
parent c2ac24a1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2348,6 +2348,7 @@ extern int __do_munmap(struct mm_struct *, unsigned long, size_t,
		       struct list_head *uf, bool downgrade);
extern int do_munmap(struct mm_struct *, unsigned long, size_t,
		     struct list_head *uf);
extern int do_madvise(unsigned long start, size_t len_in, int behavior);

static inline unsigned long
do_mmap_pgoff(struct file *file, unsigned long addr,
+6 −1
Original line number Diff line number Diff line
@@ -1050,7 +1050,7 @@ madvise_behavior_valid(int behavior)
 *  -EBADF  - map exists, but area maps something that isn't a file.
 *  -EAGAIN - a kernel resource was temporarily unavailable.
 */
SYSCALL_DEFINE3(madvise, unsigned long, start, size_t, len_in, int, behavior)
int do_madvise(unsigned long start, size_t len_in, int behavior)
{
	unsigned long end, tmp;
	struct vm_area_struct *vma, *prev;
@@ -1147,3 +1147,8 @@ SYSCALL_DEFINE3(madvise, unsigned long, start, size_t, len_in, int, behavior)

	return error;
}

SYSCALL_DEFINE3(madvise, unsigned long, start, size_t, len_in, int, behavior)
{
	return do_madvise(start, len_in, behavior);
}