summaryrefslogtreecommitdiffstats
path: root/mm/mmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/mmap.c')
-rw-r--r--mm/mmap.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/mm/mmap.c b/mm/mmap.c
index 6bc21fca20bc..f1e8c7f93e04 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -1358,6 +1358,9 @@ static inline u64 file_mmap_size_max(struct file *file, struct inode *inode)
1358 if (S_ISBLK(inode->i_mode)) 1358 if (S_ISBLK(inode->i_mode))
1359 return MAX_LFS_FILESIZE; 1359 return MAX_LFS_FILESIZE;
1360 1360
1361 if (S_ISSOCK(inode->i_mode))
1362 return MAX_LFS_FILESIZE;
1363
1361 /* Special "we do even unsigned file positions" case */ 1364 /* Special "we do even unsigned file positions" case */
1362 if (file->f_mode & FMODE_UNSIGNED_OFFSET) 1365 if (file->f_mode & FMODE_UNSIGNED_OFFSET)
1363 return 0; 1366 return 0;
@@ -2274,12 +2277,9 @@ find_vma_prev(struct mm_struct *mm, unsigned long addr,
2274 if (vma) { 2277 if (vma) {
2275 *pprev = vma->vm_prev; 2278 *pprev = vma->vm_prev;
2276 } else { 2279 } else {
2277 struct rb_node *rb_node = mm->mm_rb.rb_node; 2280 struct rb_node *rb_node = rb_last(&mm->mm_rb);
2278 *pprev = NULL; 2281
2279 while (rb_node) { 2282 *pprev = rb_node ? rb_entry(rb_node, struct vm_area_struct, vm_rb) : NULL;
2280 *pprev = rb_entry(rb_node, struct vm_area_struct, vm_rb);
2281 rb_node = rb_node->rb_right;
2282 }
2283 } 2283 }
2284 return vma; 2284 return vma;
2285} 2285}