[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200519164055.GA23715@roeck-us.net>
Date: Tue, 19 May 2020 09:40:55 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Mike Rapoport <rppt@...nel.org>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Ira Weiny <ira.weiny@...el.com>, Will Deacon <will@...nel.org>,
linux-kernel@...r.kernel.org, elver@...gle.com, tglx@...utronix.de,
paulmck@...nel.org, mingo@...nel.org, peterz@...radead.org,
"David S. Miller" <davem@...emloft.net>
Subject: Re: [PATCH v5 04/18] sparc32: mm: Reduce allocation size for PMD and
PTE tables
On Mon, May 18, 2020 at 10:15:11PM +0300, Mike Rapoport wrote:
> On Mon, May 18, 2020 at 11:09:46AM -0700, Guenter Roeck wrote:
> > On 5/18/20 7:23 AM, Mike Rapoport wrote:
> >
> > Below is another set of bisect results, from next-20200518. It points to one
> > of your commits. This is for microblaze (big endian) boot failures.
>
> The microblaze one was easy, as for sparc32 I still have no clue for the
> root cause :(
>
> Andrew, can you please fold it into "mm: pgtable: add shortcuts for
> accessing kernel PMD and PTE"?
>
> From 167250de28aa526342641b2647294a755d234090 Mon Sep 17 00:00:00 2001
> From: Mike Rapoport <rppt@...ux.ibm.com>
> Date: Mon, 18 May 2020 22:08:10 +0300
> Subject: [PATCH] microblaze: fix page table traversal in setup_rt_frame()
>
> The replacement of long folded page table traversal with the direct access
> to PMD entry wrongly used the kernel page table in setup_rt_frame()
> function instead of the process (current->mm) page table.
>
> Fix it.
>
> Signed-off-by: Mike Rapoport <rppt@...ux.ibm.com>
Tested-by: Guenter Roeck <linux@...ck-us.net>
> ---
> arch/microblaze/kernel/signal.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/microblaze/kernel/signal.c b/arch/microblaze/kernel/signal.c
> index 28b1ec4b4e79..bdd6d0c86e16 100644
> --- a/arch/microblaze/kernel/signal.c
> +++ b/arch/microblaze/kernel/signal.c
> @@ -194,7 +194,7 @@ static int setup_rt_frame(struct ksignal *ksig, sigset_t *set,
>
> address = ((unsigned long)frame->tramp);
> #ifdef CONFIG_MMU
> - pmdp = pmd_off_k(address);
> + pmdp = pmd_off(current->mm, address);
>
> preempt_disable();
> ptep = pte_offset_map(pmdp, address);
> --
> 2.26.2
>
>
> > Guenter
> >
> > ---
>
> --
> Sincerely yours,
> Mike.
Powered by blists - more mailing lists