mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 16:54:21 +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…
	
	Add table
		
		Reference in a new issue
	
	 Carsten Otte
						Carsten Otte