[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170413092008.5437-1-khandual@linux.vnet.ibm.com>
Date: Thu, 13 Apr 2017 14:50:08 +0530
From: Anshuman Khandual <khandual@...ux.vnet.ibm.com>
To: linux-kernel@...r.kernel.org, linux-mm@...ck.org
Cc: n-horiguchi@...jp.nec.com, akpm@...ux-foundation.org
Subject: [PATCH] mm/madvise: Move up the behavior parameter validation
The madvise_behavior_valid() function should be called before
acting upon the behavior parameter. Hence move up the function.
This also includes MADV_SOFT_OFFLINE and MADV_HWPOISON options
as valid behavior parameter for the system call madvise().
Signed-off-by: Anshuman Khandual <khandual@...ux.vnet.ibm.com>
---
This applies on top of the other madvise clean up patch I sent
earlier this week https://patchwork.kernel.org/patch/9672095/
mm/madvise.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/mm/madvise.c b/mm/madvise.c
index efd4721..3cb427a 100644
--- a/mm/madvise.c
+++ b/mm/madvise.c
@@ -694,6 +694,8 @@ static int madvise_inject_error(int behavior,
#endif
case MADV_DONTDUMP:
case MADV_DODUMP:
+ case MADV_SOFT_OFFLINE:
+ case MADV_HWPOISON:
return true;
default:
@@ -767,12 +769,13 @@ static int madvise_inject_error(int behavior,
size_t len;
struct blk_plug plug;
+ if (!madvise_behavior_valid(behavior))
+ return error;
+
#ifdef CONFIG_MEMORY_FAILURE
if (behavior == MADV_HWPOISON || behavior == MADV_SOFT_OFFLINE)
return madvise_inject_error(behavior, start, start + len_in);
#endif
- if (!madvise_behavior_valid(behavior))
- return error;
if (start & ~PAGE_MASK)
return error;
--
1.8.5.2
Powered by blists - more mailing lists