From 37787ead3df665167a3c4be506f443e062f27980 Mon Sep 17 00:00:00 2001 From: Suzuki Date: Tue, 11 Oct 2005 08:29:06 -0700 Subject: [PATCH] --- yaml --- r: 9805 b: refs/heads/master c: 1bef40032992320dd25a266fc166bfb8fa3f2f59 h: refs/heads/master i: 9803: aefaf3fe97fd00a410e9d91cd1c11cd840bdf6af v: v3 --- [refs] | 2 +- trunk/mm/madvise.c | 11 ++++------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index 83f38508bb06..2b6abe57b67d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 22c1ea44f0d33eda532883858b6cdabc5f265b66 +refs/heads/master: 1bef40032992320dd25a266fc166bfb8fa3f2f59 diff --git a/trunk/mm/madvise.c b/trunk/mm/madvise.c index 4454936f87d1..20e075d1c64c 100644 --- a/trunk/mm/madvise.c +++ b/trunk/mm/madvise.c @@ -83,6 +83,9 @@ static long madvise_willneed(struct vm_area_struct * vma, { struct file *file = vma->vm_file; + if (!file) + return -EBADF; + if (file->f_mapping->a_ops->get_xip_page) { /* no bad return value, but ignore advice */ return 0; @@ -141,11 +144,7 @@ static long madvise_vma(struct vm_area_struct *vma, struct vm_area_struct **prev, unsigned long start, unsigned long end, int behavior) { - struct file *filp = vma->vm_file; - long error = -EBADF; - - if (!filp) - goto out; + long error; switch (behavior) { case MADV_NORMAL: @@ -166,8 +165,6 @@ madvise_vma(struct vm_area_struct *vma, struct vm_area_struct **prev, error = -EINVAL; break; } - -out: return error; }