aboutsummaryrefslogtreecommitdiff
path: root/mm/mmap.c
diff options
context:
space:
mode:
authorPiotr Kwapulinski <kwapulinski.piotr@gmail.com>2015-06-10 10:10:16 +1000
committerStephen Rothwell <sfr@canb.auug.org.au>2015-06-10 10:10:16 +1000
commit3054bfbbb30d73b160f7549e732cc08c5d8739c1 (patch)
tree03ddd5dc91330646f2472e2bfb12f68d562904fa /mm/mmap.c
parentaf3794ab9d18b367c7d0e8871174338b6d5d7cd9 (diff)
mm/mmap.c: optimization of do_mmap_pgoff function
The simple check for zero length memory mapping may be performed earlier. So that in case of zero length memory mapping some unnecessary code is not executed at all. It does not make the code less readable and saves some CPU cycles. Signed-off-by: Piotr Kwapulinski <kwapulinski.piotr@gmail.com> Acked-by: Michal Hocko <mhocko@suse.cz> Acked-by: Rik van Riel <riel@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'mm/mmap.c')
-rw-r--r--mm/mmap.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/mm/mmap.c b/mm/mmap.c
index 34033f3b05f2..a2fd40a595e1 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -1271,6 +1271,9 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr,
*populate = 0;
+ if (!len)
+ return -EINVAL;
+
/*
* Does the application expect PROT_READ to imply PROT_EXEC?
*
@@ -1281,9 +1284,6 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr,
if (!(file && (file->f_path.mnt->mnt_flags & MNT_NOEXEC)))
prot |= PROT_EXEC;
- if (!len)
- return -EINVAL;
-
if (!(flags & MAP_FIXED))
addr = round_hint_to_min(addr);