Commit fe77ba6f authored by Carsten Otte's avatar Carsten Otte Committed by Linus Torvalds

[PATCH] xip: madvice/fadvice: execute in place

Make sys_madvice/fadvice return sane with xip.
Signed-off-by: default avatarCarsten Otte <cotte@de.ibm.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent eb6fe0c3
...@@ -43,6 +43,10 @@ asmlinkage long sys_fadvise64_64(int fd, loff_t offset, loff_t len, int advice) ...@@ -43,6 +43,10 @@ asmlinkage long sys_fadvise64_64(int fd, loff_t offset, loff_t len, int advice)
goto out; goto out;
} }
if (mapping->a_ops->get_xip_page)
/* no bad return value, but ignore advice */
goto out;
/* Careful about overflows. Len == 0 means "as much as possible" */ /* Careful about overflows. Len == 0 means "as much as possible" */
endbyte = offset + len; endbyte = offset + len;
if (!len || endbyte < len) if (!len || endbyte < len)
......
...@@ -86,6 +86,11 @@ static long madvise_willneed(struct vm_area_struct * vma, ...@@ -86,6 +86,11 @@ static long madvise_willneed(struct vm_area_struct * vma,
if (!file) if (!file)
return -EBADF; return -EBADF;
if (file->f_mapping->a_ops->get_xip_page) {
/* no bad return value, but ignore advice */
return 0;
}
*prev = vma; *prev = vma;
start = ((start - vma->vm_start) >> PAGE_SHIFT) + vma->vm_pgoff; start = ((start - vma->vm_start) >> PAGE_SHIFT) + vma->vm_pgoff;
if (end > vma->vm_end) if (end > vma->vm_end)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment