mirror of
https://github.com/adulau/aha.git
synced 2024-12-27 19:26:25 +00:00
[PATCH] xip: madvice/fadvice: execute in place
Make sys_madvice/fadvice return sane with xip. Signed-off-by: Carsten Otte <cotte@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
eb6fe0c388
commit
fe77ba6f4f
2 changed files with 9 additions and 0 deletions
|
@ -43,6 +43,10 @@ asmlinkage long sys_fadvise64_64(int fd, loff_t offset, loff_t len, int advice)
|
|||
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" */
|
||||
endbyte = offset + len;
|
||||
if (!len || endbyte < len)
|
||||
|
|
|
@ -86,6 +86,11 @@ static long madvise_willneed(struct vm_area_struct * vma,
|
|||
if (!file)
|
||||
return -EBADF;
|
||||
|
||||
if (file->f_mapping->a_ops->get_xip_page) {
|
||||
/* no bad return value, but ignore advice */
|
||||
return 0;
|
||||
}
|
||||
|
||||
*prev = vma;
|
||||
start = ((start - vma->vm_start) >> PAGE_SHIFT) + vma->vm_pgoff;
|
||||
if (end > vma->vm_end)
|
||||
|
|
Loading…
Reference in a new issue