From patchwork Mon Sep 13 08:11:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: CGEL X-Patchwork-Id: 12488101 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.5 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E39FCC433F5 for ; Mon, 13 Sep 2021 08:11:24 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 8EBDA60FF2 for ; Mon, 13 Sep 2021 08:11:24 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 8EBDA60FF2 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id C66736B0071; Mon, 13 Sep 2021 04:11:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C16086B0072; Mon, 13 Sep 2021 04:11:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ADD956B0073; Mon, 13 Sep 2021 04:11:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0215.hostedemail.com [216.40.44.215]) by kanga.kvack.org (Postfix) with ESMTP id 9DC226B0071 for ; Mon, 13 Sep 2021 04:11:23 -0400 (EDT) Received: from smtpin08.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 403C7231D6 for ; Mon, 13 Sep 2021 08:11:23 +0000 (UTC) X-FDA: 78581830446.08.602E90A Received: from mail-pj1-f45.google.com (mail-pj1-f45.google.com [209.85.216.45]) by imf14.hostedemail.com (Postfix) with ESMTP id F3D4B6001984 for ; Mon, 13 Sep 2021 08:11:22 +0000 (UTC) Received: by mail-pj1-f45.google.com with SMTP id mi6-20020a17090b4b4600b00199280a31cbso4715374pjb.0 for ; Mon, 13 Sep 2021 01:11:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=tvOYThHcl3IfPpkGUW857bIF0MtnLJVLT78BX5LtdSs=; b=mzbsaSwXhT/fbT1xHXk+vafkJGAVrLz47A4XMz6XAqRRwDiQnia13wokwBoTDb/MAk MdCa1FSt3tWDCDOarbYXNhBT4eQdpC6CjMfQNsMNZ5hUECb73H5SnO6Ln4HF5bj6uEiw k0uUPkEG3fz3i/kswTTW8PhGLVIIXHT4xByHe4uPa7GVnPQ4EqEOtBc/N83nGYSJhbkM smY7p2dyeGpb+jP3z1KNNjLzt4zvPJiiLtcBgJLQh+ORWUOu5QOBoOCUGBuLijr2i2iv pfXG0Fb96KUpuVPcP1EGQOZLWID0iFegp1KoViYhVXDGT2PE+DOpeLE6hHxgZWyeLO2o Og3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=tvOYThHcl3IfPpkGUW857bIF0MtnLJVLT78BX5LtdSs=; b=x+Yu2B9hsA1I7GQolRIFwQX2s98ja4v13QeP3+Fz56kmmU3/UZmdP3yKQOF1GbyGIz bsiLc84nZjXgkYSTR4zFqv+ZabLMjMPg0MNLCngP6Woo7bHYLhNtenREc0t7K/g5EWvV gq9gjHL7Aje6AKzZjc75Ze9hQkDu1rry46OvAqsX8+r4avEExwi2HfSqli/bl4AEfHjS 8CzmWdxT7P3WtwzeG1yMYkrvnaJJL8tJrDxKIlZjG5MTAqM8e5nvFr0u0qcvctvHqCF1 MS//XatakrvWy3iT0popwOQV8ZRBbYMHaoS6RuqB6gsXrhrsYDMDKE3rlogeyem4zCow ZfKg== X-Gm-Message-State: AOAM5327+oZmgTaNqvQSEs+o6qodrGCt0W8S5jVtg6MdiiNgTa6+gzNQ qpcI0wUN0qEjl1HjT1fQRrA= X-Google-Smtp-Source: ABdhPJw8M6sWJAmOoBx1yoKXaLZ6TakzpoBOgxlMYLSNouLejcEG3YQ+7RNHtvp8whdxzi02euWD5A== X-Received: by 2002:a17:902:a60d:b0:13b:7dad:9a5 with SMTP id u13-20020a170902a60d00b0013b7dad09a5mr8570771plq.41.1631520681903; Mon, 13 Sep 2021 01:11:21 -0700 (PDT) Received: from localhost.localdomain ([193.203.214.57]) by smtp.gmail.com with ESMTPSA id 77sm6104322pfz.118.2021.09.13.01.11.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Sep 2021 01:11:21 -0700 (PDT) From: cgel.zte@gmail.com X-Google-Original-From: xu.xin16@zte.com.cn To: akpm@linux-foundation.org Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, xu xin , Zeal Robot Subject: [PATCH linux-next] mm/folio-compat: fix potential NULL pointer access Date: Mon, 13 Sep 2021 08:11:13 +0000 Message-Id: <20210913081113.79975-1-xu.xin16@zte.com.cn> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Stat-Signature: 3zbcm6nxnihfwtra9a9dspgdrd17qdhc Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=mzbsaSwX; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf14.hostedemail.com: domain of cgel.zte@gmail.com designates 209.85.216.45 as permitted sender) smtp.mailfrom=cgel.zte@gmail.com X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: F3D4B6001984 X-HE-Tag: 1631520682-564155 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: xu xin The pointer 'folio' might be NULL, but the structure it points to is accessed. Accordingly, we add a check of NULL pointer by 'if (!folio)'. Secondly, there is no need to check if folio is pointer or value with 'xa_is_value(folio)' because folio is alwayse pointer. Reported-by: Zeal Robot Signed-off-by: xu xin --- mm/folio-compat.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/mm/folio-compat.c b/mm/folio-compat.c index 5b6ae1da314e..a1b60310c7ba 100644 --- a/mm/folio-compat.c +++ b/mm/folio-compat.c @@ -123,7 +123,9 @@ struct page *pagecache_get_page(struct address_space *mapping, pgoff_t index, struct folio *folio; folio = __filemap_get_folio(mapping, index, fgp_flags, gfp); - if ((fgp_flags & FGP_HEAD) || !folio || xa_is_value(folio)) + if (!folio) + return NULL; + if ((fgp_flags & FGP_HEAD)) return &folio->page; return folio_file_page(folio, index); }