From: fuyao <fuyao@allwinnertech.com>
To: 刘邵华BTD <liush@allwinnertech.com>
Cc: aou <aou@eecs.berkeley.edu>,
linux-kernel <linux-kernel@vger.kernel.org>,
peterx <peterx@redhat.com>,
"daniel.m.jordan" <daniel.m.jordan@oracle.com>,
Christoph Hellwig <hch@infradead.org>,
palmer <palmer@dabbelt.com>, rppt <rppt@kernel.org>,
"paul.walmsley" <paul.walmsley@sifive.com>,
akpm <akpm@linux-foundation.org>, walken <walken@google.com>,
linux-riscv <linux-riscv@lists.infradead.org>,
vbabka <vbabka@suse.cz>
Subject: Re: 回复:[PATCH] riscv: fix pfn_to_virt err in do_page_fault().
Date: Mon, 28 Sep 2020 17:31:58 +0800 [thread overview]
Message-ID: <20200928093158.GC4756@g8Exdroid64> (raw)
In-Reply-To: <ca550ec0-73f2-485e-84fd-036eacd0bcd9.liush@allwinnertech.com>
On Fri, Sep 18, 2020 at 03:43:39PM +0800, 刘邵华BTD wrote:
> Hi Christoph,
> > On Thu, Sep 17, 2020 at 03:25:49PM +0800, liush wrote:
> > > The argument to pfn_to_virt() should be pfn not the value of CSR_SATP.
> > >
> > > Signed-off-by: liush <liush@allwinnertech.com>
> > > ---
> > > arch/riscv/mm/fault.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/arch/riscv/mm/fault.c b/arch/riscv/mm/fault.c
> > > index 716d64e..9b4e088 100644
> > > --- a/arch/riscv/mm/fault.c
> > > +++ b/arch/riscv/mm/fault.c
> > > @@ -212,7 +212,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs)
> > > * of a task switch.
> > > */
> > > index = pgd_index(addr);
> > > - pgd = (pgd_t *)pfn_to_virt(csr_read(CSR_SATP)) + index;
> > > + pgd = (pgd_t *)pfn_to_virt(csr_read(CSR_SATP) & SATP_PPN) + index;
>
> > This adds a crazy long line. One nice way to clean this up would be to
> > add a local pfn variable, as it would also make the code more readable.
>
> Thanks, i'll modify it in next revision
Tested-by: fuayo@allwinnertech.com
--
<http://www.allwinnertech.com> Allwinnertech Technology
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
WARNING: multiple messages have this Message-ID (diff)
From: fuyao <fuyao@allwinnertech.com>
To: 刘邵华BTD <liush@allwinnertech.com>
Cc: Christoph Hellwig <hch@infradead.org>,
"paul.walmsley" <paul.walmsley@sifive.com>,
palmer <palmer@dabbelt.com>, aou <aou@eecs.berkeley.edu>,
akpm <akpm@linux-foundation.org>, peterx <peterx@redhat.com>,
walken <walken@google.com>,
"daniel.m.jordan" <daniel.m.jordan@oracle.com>,
vbabka <vbabka@suse.cz>, rppt <rppt@kernel.org>,
linux-riscv <linux-riscv@lists.infradead.org>,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: 回复:[PATCH] riscv: fix pfn_to_virt err in do_page_fault().
Date: Mon, 28 Sep 2020 17:31:58 +0800 [thread overview]
Message-ID: <20200928093158.GC4756@g8Exdroid64> (raw)
In-Reply-To: <ca550ec0-73f2-485e-84fd-036eacd0bcd9.liush@allwinnertech.com>
On Fri, Sep 18, 2020 at 03:43:39PM +0800, 刘邵华BTD wrote:
> Hi Christoph,
> > On Thu, Sep 17, 2020 at 03:25:49PM +0800, liush wrote:
> > > The argument to pfn_to_virt() should be pfn not the value of CSR_SATP.
> > >
> > > Signed-off-by: liush <liush@allwinnertech.com>
> > > ---
> > > arch/riscv/mm/fault.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/arch/riscv/mm/fault.c b/arch/riscv/mm/fault.c
> > > index 716d64e..9b4e088 100644
> > > --- a/arch/riscv/mm/fault.c
> > > +++ b/arch/riscv/mm/fault.c
> > > @@ -212,7 +212,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs)
> > > * of a task switch.
> > > */
> > > index = pgd_index(addr);
> > > - pgd = (pgd_t *)pfn_to_virt(csr_read(CSR_SATP)) + index;
> > > + pgd = (pgd_t *)pfn_to_virt(csr_read(CSR_SATP) & SATP_PPN) + index;
>
> > This adds a crazy long line. One nice way to clean this up would be to
> > add a local pfn variable, as it would also make the code more readable.
>
> Thanks, i'll modify it in next revision
Tested-by: fuayo@allwinnertech.com
--
<http://www.allwinnertech.com> Allwinnertech Technology
next prev parent reply other threads:[~2020-09-28 9:32 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-17 7:25 [PATCH] riscv: fix pfn_to_virt err in do_page_fault() liush
2020-09-17 7:25 ` liush
2020-09-17 7:59 ` Anup Patel
2020-09-17 7:59 ` Anup Patel
2020-09-17 15:25 ` Christoph Hellwig
2020-09-17 15:25 ` Christoph Hellwig
2020-09-18 7:43 ` 回复:[PATCH] " 刘邵华BTD
2020-09-18 7:43 ` 刘邵华BTD
2020-09-28 9:31 ` fuyao [this message]
2020-09-28 9:31 ` fuyao
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=20200928093158.GC4756@g8Exdroid64 \
--to=fuyao@allwinnertech.com \
--cc=akpm@linux-foundation.org \
--cc=aou@eecs.berkeley.edu \
--cc=daniel.m.jordan@oracle.com \
--cc=hch@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=liush@allwinnertech.com \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=peterx@redhat.com \
--cc=rppt@kernel.org \
--cc=vbabka@suse.cz \
--cc=walken@google.com \
/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.