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@xxxxxxxxxxxxxxxxxx> --- 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 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>