From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932990AbcFQH7U (ORCPT ); Fri, 17 Jun 2016 03:59:20 -0400 Received: from mail-pa0-f66.google.com ([209.85.220.66]:36105 "EHLO mail-pa0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755502AbcFQH6H (ORCPT ); Fri, 17 Jun 2016 03:58:07 -0400 From: js1304@gmail.com X-Google-Original-From: iamjoonsoo.kim@lge.com To: Andrew Morton Cc: Vlastimil Babka , mgorman@techsingularity.net, Minchan Kim , Alexander Potapenko , Hugh Dickins , Michal Hocko , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Sasha Levin , Sudip Mukherjee , Sudip Mukherjee , Joonsoo Kim Subject: [PATCH v3 7/9] mm/page_owner: avoid null pointer dereference Date: Fri, 17 Jun 2016 16:57:37 +0900 Message-Id: <1466150259-27727-8-git-send-email-iamjoonsoo.kim@lge.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1466150259-27727-1-git-send-email-iamjoonsoo.kim@lge.com> References: <1466150259-27727-1-git-send-email-iamjoonsoo.kim@lge.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Sudip Mukherjee We have dereferenced page_ext before checking it. Lets check it first and then used it. Link: http://lkml.kernel.org/r/1465249059-7883-1-git-send-email-sudipm.mukherjee@gmail.com Signed-off-by: Sudip Mukherjee Signed-off-by: Joonsoo Kim --- mm/page_owner.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mm/page_owner.c b/mm/page_owner.c index dc92241..ec6dc18 100644 --- a/mm/page_owner.c +++ b/mm/page_owner.c @@ -295,13 +295,15 @@ void __dump_page_owner(struct page *page) .skip = 0 }; depot_stack_handle_t handle; - gfp_t gfp_mask = page_ext->gfp_mask; - int mt = gfpflags_to_migratetype(gfp_mask); + gfp_t gfp_mask; + int mt; if (unlikely(!page_ext)) { pr_alert("There is not page extension available.\n"); return; } + gfp_mask = page_ext->gfp_mask; + mt = gfpflags_to_migratetype(gfp_mask); if (!test_bit(PAGE_EXT_OWNER, &page_ext->flags)) { pr_alert("page_owner info is not active (free page?)\n"); -- 1.9.1