All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Naresh Kamboju <naresh.kamboju@linaro.org>
Cc: Sasha Levin <sashal@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	catalin.marinas@arm.com, kyrylo.tkachov@arm.com,
	linux- stable <stable@vger.kernel.org>,
	Will Deacon <will@kernel.org>
Subject: Re: FAILED: patch "[PATCH] arm64: hugetlb: avoid potential NULL dereference" failed to apply to 4.14-stable tree
Date: Wed, 13 May 2020 13:20:13 +0200	[thread overview]
Message-ID: <20200513112013.GA874540@kroah.com> (raw)
In-Reply-To: <CA+G9fYt_BmF2t+3S1_yD0KZ3d8OE1W_tQH2pROo1E1GLgm0aBA@mail.gmail.com>

On Wed, May 13, 2020 at 04:23:11PM +0530, Naresh Kamboju wrote:
> On Tue, 12 May 2020 at 16:56, <gregkh@linuxfoundation.org> wrote:
> >
> >
> > The patch below does not apply to the 4.14-stable tree.
> > If someone wants it applied there, or to any other stable or longterm
> > tree, then please email the backport, including the original git commit
> > id to <stable@vger.kernel.org>.
> >
> > thanks,
> >
> > greg k-h
> >
> > ------------------ original commit in Linus's tree ------------------
> >
> > From 027d0c7101f50cf03aeea9eebf484afd4920c8d3 Mon Sep 17 00:00:00 2001
> > From: Mark Rutland <mark.rutland@arm.com>
> > Date: Tue, 5 May 2020 13:59:30 +0100
> > Subject: [PATCH] arm64: hugetlb: avoid potential NULL dereference
> > MIME-Version: 1.0
> > Content-Type: text/plain; charset=UTF-8
> > Content-Transfer-Encoding: 8bit
> >
> > The static analyzer in GCC 10 spotted that in huge_pte_alloc() we may
> > pass a NULL pmdp into pte_alloc_map() when pmd_alloc() returns NULL:
> >
> > |   CC      arch/arm64/mm/pageattr.o
> > |   CC      arch/arm64/mm/hugetlbpage.o
> > |                  from arch/arm64/mm/hugetlbpage.c:10:
> > | arch/arm64/mm/hugetlbpage.c: In function ‘huge_pte_alloc’:
> > | ./arch/arm64/include/asm/pgtable-types.h:28:24: warning: dereference of NULL ‘pmdp’ [CWE-690] [-Wanalyzer-null-dereference]
> > | ./arch/arm64/include/asm/pgtable.h:436:26: note: in expansion of macro ‘pmd_val’
> > | arch/arm64/mm/hugetlbpage.c:242:10: note: in expansion of macro ‘pte_alloc_map’
> > |     |arch/arm64/mm/hugetlbpage.c:232:10:
> > |     |./arch/arm64/include/asm/pgtable-types.h:28:24:
> > | ./arch/arm64/include/asm/pgtable.h:436:26: note: in expansion of macro ‘pmd_val’
> > | arch/arm64/mm/hugetlbpage.c:242:10: note: in expansion of macro ‘pte_alloc_map’
> >
> > This can only occur when the kernel cannot allocate a page, and so is
> > unlikely to happen in practice before other systems start failing.
> >
> > We can avoid this by bailing out if pmd_alloc() fails, as we do earlier
> > in the function if pud_alloc() fails.
> >
> > Fixes: 66b3923a1a0f ("arm64: hugetlb: add support for PTE contiguous bit")
> > Signed-off-by: Mark Rutland <mark.rutland@arm.com>
> > Reported-by: Kyrill Tkachov <kyrylo.tkachov@arm.com>
> > Cc: <stable@vger.kernel.org> # 4.5.x-
> > Cc: Will Deacon <will@kernel.org>
> > Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
> >
> > diff --git a/arch/arm64/mm/hugetlbpage.c b/arch/arm64/mm/hugetlbpage.c
> > index bbeb6a5a6ba6..0be3355e3499 100644
> > --- a/arch/arm64/mm/hugetlbpage.c
> > +++ b/arch/arm64/mm/hugetlbpage.c
> > @@ -230,6 +230,8 @@ pte_t *huge_pte_alloc(struct mm_struct *mm,
> >                 ptep = (pte_t *)pudp;
> >         } else if (sz == (CONT_PTE_SIZE)) {
> >                 pmdp = pmd_alloc(mm, pudp, addr);
> > +               if (!pmdp)
> > +                       return NULL;
> >
> >                 WARN_ON(addr & (sz - 1));
> >                 /*
> 
> As per the subject this patch failed to apply on 4.14
> FYI,
> on stable-rc 4.14 branch arm64 architecture build failed.
> 
>  # make -sk KBUILD_BUILD_USER=TuxBuild -C/linux -j16 ARCH=arm64
> CROSS_COMPILE=aarch64-linux-gnu- HOSTCC=gcc CC="sccache
> aarch64-linux-gnu-gcc" O=build Image
> 70 #
> 71 ../arch/arm64/mm/hugetlbpage.c: In function ‘huge_pte_alloc’:
> 72 ../arch/arm64/mm/hugetlbpage.c:223:8: error: ‘pmdp’ undeclared
> (first use in this function); did you mean ‘pmd’?
> 73  223 | if (!pmdp)
> 74  | ^~~~
> 75  | pmd
> 76 ../arch/arm64/mm/hugetlbpage.c:223:8: note: each undeclared
> identifier is reported only once for each function it appears in
> 77 make[2]: *** [../scripts/Makefile.build:326:
> arch/arm64/mm/hugetlbpage.o] Error 1
> 
> ref:
> https://gitlab.com/Linaro/lkft/kernel-runs/-/jobs/550145375

Now dropped from 4.9 and 4.14 trees, the backport was incorrect...

greg k-h

      reply	other threads:[~2020-05-13 11:20 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-12 11:26 FAILED: patch "[PATCH] arm64: hugetlb: avoid potential NULL dereference" failed to apply to 4.14-stable tree gregkh
2020-05-13 10:53 ` Naresh Kamboju
2020-05-13 11:20   ` Greg Kroah-Hartman [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200513112013.GA874540@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=catalin.marinas@arm.com \
    --cc=kyrylo.tkachov@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=naresh.kamboju@linaro.org \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.