Linux kernel -stable discussions
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Will Deacon <will@kernel.org>,
	Naresh Kamboju <naresh.kamboju@linaro.org>,
	Mark Rutland <mark.rutland@arm.com>,
	catalin.marinas@arm.com, kyrylo.tkachov@arm.com,
	linux- stable <stable@vger.kernel.org>
Subject: Re: FAILED: patch "[PATCH] arm64: hugetlb: avoid potential NULL dereference" failed to apply to 4.9-stable tree
Date: Wed, 13 May 2020 09:10:29 -0400	[thread overview]
Message-ID: <20200513131029.GC29995@sasha-vm> (raw)
In-Reply-To: <20200513112120.GB874540@kroah.com>

On Wed, May 13, 2020 at 01:21:20PM +0200, Greg Kroah-Hartman wrote:
>On Wed, May 13, 2020 at 11:35:45AM +0100, Will Deacon wrote:
>> [+Sasha, as I think he did the backport]
>>
>> On Wed, May 13, 2020 at 04:02:09PM +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.9-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));
>> > >                 /*
>> > >
>> >
>> > on stable-rc 4.9 branch arm64 architecture build failed.
>> >
>> >   CC      arch/arm64/mm/hugetlbpage.o
>> > arch/arm64/mm/hugetlbpage.c: In function 'huge_pte_alloc':
>> > arch/arm64/mm/hugetlbpage.c:106:8: error: 'pmdp' undeclared (first use
>> > in this function); did you mean 'pmd'?
>> >    if (!pmdp)
>> >         ^~~~
>> >         pmd
>> > arch/arm64/mm/hugetlbpage.c:106:8: note: each undeclared identifier is
>> > reported only once for each function it appears in
>> > scripts/Makefile.build:304: recipe for target
>> > 'arch/arm64/mm/hugetlbpage.o' failed
>> >
>> > ref:
>> > https://ci.linaro.org/view/lkft/job/openembedded-lkft-linux-stable-rc-4.9/DISTRO=lkft,MACHINE=hikey,label=docker-lkft/893/consoleText
>
>Now dropped from 4.9 as well.

'pmdp' -> 'pmd' Argh :(

-- 
Thanks,
Sasha

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

Thread overview: 5+ 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.9-stable tree gregkh
2020-05-13 10:32 ` Naresh Kamboju
2020-05-13 10:35   ` Will Deacon
2020-05-13 11:21     ` Greg Kroah-Hartman
2020-05-13 13:10       ` Sasha Levin [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=20200513131029.GC29995@sasha-vm \
    --to=sashal@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=kyrylo.tkachov@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=naresh.kamboju@linaro.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox