mirror of
https://github.com/torvalds/linux.git
synced 2026-10-07 05:31:08 -04:00
[PATCH] xip: madvice/fadvice: execute in place
Make sys_madvice/fadvice return sane with xip. Signed-off-by: Carsten Otte <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
1 parent
eb6fe0c388
commit
fe77ba6f4f
2 files changed
+9
No files matched your search
@@ -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)
|
||||
|
||||
Reference in new issue
Block a user