From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 797ABC433EF for ; Thu, 19 May 2022 07:04:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 02E106B0072; Thu, 19 May 2022 03:04:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id EF9036B0073; Thu, 19 May 2022 03:04:42 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D98C16B0074; Thu, 19 May 2022 03:04:42 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id C76836B0072 for ; Thu, 19 May 2022 03:04:42 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay11.hostedemail.com (Postfix) with ESMTP id 9D3FB80891 for ; Thu, 19 May 2022 07:04:42 +0000 (UTC) X-FDA: 79481604804.02.5A9DB78 Received: from mail-yb1-f180.google.com (mail-yb1-f180.google.com [209.85.219.180]) by imf22.hostedemail.com (Postfix) with ESMTP id CC2CFC00DD for ; Thu, 19 May 2022 07:04:39 +0000 (UTC) Received: by mail-yb1-f180.google.com with SMTP id r1so7456210ybo.7 for ; Thu, 19 May 2022 00:04:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Fc8tx8B8HfNQ1l1jjhdoD4plxA/Mrx/XvW+L13brVus=; b=OVbIXEp4LDWZhS9JtVf8+9LrzsRrquTuAaIVHI0Tvf+qd/KzNiny8CfMZWKXzM8bB3 GwJazaHbbQfGY8ROu6MUDqKuJqX0Gt4nuU+KBv4CL3tMBWXOJfCp+spStEC1lseAfySS UsPqslO0oS3U84Ihvm7lln6MQ5jRHZ9pCgneA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Fc8tx8B8HfNQ1l1jjhdoD4plxA/Mrx/XvW+L13brVus=; b=qCTU+w9QD8e+nMZEmCNksIUzisoGbal2fY+OrLUqTtZMnSAL/5O+rLYgMnMAoWTzsF UcRIa95VlGZY74xnPTM+MKREHtEuwX4ylDmcf0bSNkMi9ZA/OvQoYtDDU+LBOruyGd/V Hl7UT/P5c9qZl8YfehSclXCt0e6m8lQha/K3hRXFaeUV8IpIiRmXHTRoRBlXj8YtpNqc CSqn9fnW6DnbQVM1F7v98DP9YuHOqebowwux5ovhUTxCAWoDqR/ayC7lzOzuo0QYpcoM kwavSFlwZq27JVkhlrv5kB00wfDnLQo8qNaK9BSb30vJVWQx4F7AR/0r2qP2lZZOVI29 +/cQ== X-Gm-Message-State: AOAM530XkXLkSNzpX79AzirQ+13rEphe7QEiHPGKgIsObu6RtRGkBGsk iBaeJnPckZVAFifsh/ZJf01M3YlyCZVhxzcvaGp14PVgMwU= X-Google-Smtp-Source: ABdhPJycFlYgfb+SIPDy91Jfmqy2IL+CDEpjazRmRFKNpPzXxbfyx4jSPtk+Mv8H8mt0U8126z1V2fGBr85yxPRj5ak= X-Received: by 2002:a25:b197:0:b0:64e:ae59:e2d0 with SMTP id h23-20020a25b197000000b0064eae59e2d0mr2993856ybj.523.1652943881364; Thu, 19 May 2022 00:04:41 -0700 (PDT) MIME-Version: 1.0 References: <20220429064051.61552-1-linmiaohe@huawei.com> <20220429064051.61552-3-linmiaohe@huawei.com> In-Reply-To: <20220429064051.61552-3-linmiaohe@huawei.com> From: Vitaly Wool Date: Thu, 19 May 2022 09:04:30 +0200 Message-ID: Subject: Re: [PATCH 2/9] mm/z3fold: fix possible null pointer dereferencing To: Miaohe Lin Cc: Andrew Morton , Linux-MM , LKML Content-Type: text/plain; charset="UTF-8" Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=konsulko.com header.s=google header.b=OVbIXEp4; dmarc=pass (policy=none) header.from=konsulko.com; spf=pass (imf22.hostedemail.com: domain of vitaly.wool@konsulko.com designates 209.85.219.180 as permitted sender) smtp.mailfrom=vitaly.wool@konsulko.com X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: CC2CFC00DD X-Rspam-User: X-Stat-Signature: wwf4tgiy6yczs8cdjxzst1qgyfjc6snm X-HE-Tag: 1652943879-140633 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: On Fri, Apr 29, 2022 at 8:40 AM Miaohe Lin wrote: > > alloc_slots could fail to allocate memory under heavy memory pressure. So > we should check zhdr->slots against NULL to avoid future null pointer > dereferencing. > > Fixes: fc5488651c7d ("z3fold: simplify freeing slots") > Signed-off-by: Miaohe Lin > --- > mm/z3fold.c | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/mm/z3fold.c b/mm/z3fold.c > index c2260f5a5885..5d8c21f2bc59 100644 > --- a/mm/z3fold.c > +++ b/mm/z3fold.c > @@ -940,9 +940,19 @@ static inline struct z3fold_header *__z3fold_alloc(struct z3fold_pool *pool, > } > } > > - if (zhdr && !zhdr->slots) > + if (zhdr && !zhdr->slots) { > zhdr->slots = alloc_slots(pool, GFP_ATOMIC); > + if (!zhdr->slots) > + goto out_fail; > + } > return zhdr; > + > +out_fail: > + if (!kref_put(&zhdr->refcount, release_z3fold_page_locked)) { > + add_to_unbuddied(pool, zhdr); > + z3fold_page_unlock(zhdr); > + } > + return NULL; > } Reviewed-by: Vitaly Wool > /* > -- > 2.23.0 >