From: John David Anglin <dave.anglin@bell.net>
To: Alex Ivanov <gnidorah@p0n4ik.tk>
Cc: linux-parisc@vger.kernel.org
Subject: Re: [PATCH] parisc: fix LMMIO mismatch between PAT length and MASK register
Date: Tue, 09 Jul 2013 16:59:02 -0400 [thread overview]
Message-ID: <51DC7996.3010405@bell.net> (raw)
In-Reply-To: <loom.20130709T200549-18@post.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 397 bytes --]
On 7/9/2013 3:45 PM, Alex Ivanov wrote:
> The panic on SMP kernel changed to another one:
> http://pastebin.com/SfUfd0Un
This is just a guess but I don't think page is valid
if the pfn is not valid. You might try this untested change.
flush_cache_mm might have same problem (i.e., we may need to
check whether the pfn for the pte is valid).
Dave
--
John David Anglin dave.anglin@bell.net
[-- Attachment #2: cache.c.d.txt --]
[-- Type: text/plain, Size: 702 bytes --]
diff --git a/arch/parisc/kernel/cache.c b/arch/parisc/kernel/cache.c
index 65fb4cb..8f60123 100644
--- a/arch/parisc/kernel/cache.c
+++ b/arch/parisc/kernel/cache.c
@@ -74,10 +74,13 @@ EXPORT_SYMBOL(flush_cache_all_local);
void
update_mmu_cache(struct vm_area_struct *vma, unsigned long address, pte_t *ptep)
{
- struct page *page = pte_page(*ptep);
+ struct page *page;
- if (pfn_valid(page_to_pfn(page)) && page_mapping(page) &&
- test_bit(PG_dcache_dirty, &page->flags)) {
+ if (!pfn_valid(*ptep))
+ return;
+
+ page = pte_page(*ptep);
+ if (page_mapping(page) && test_bit(PG_dcache_dirty, &page->flags)) {
flush_kernel_dcache_page(page);
clear_bit(PG_dcache_dirty, &page->flags);
next prev parent reply other threads:[~2013-07-09 20:59 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-14 7:11 [PATCH] parisc: fix LMMIO mismatch between PAT length and MASK register Helge Deller
2013-06-14 7:28 ` Matt Turner
2013-06-14 7:38 ` Helge Deller
2013-06-14 7:40 ` Helge Deller
2013-06-14 8:38 ` Thomas Bogendoerfer
2013-07-09 5:34 ` Alex Ivanov
2013-07-09 15:18 ` John David Anglin
2013-07-09 19:45 ` Alex Ivanov
2013-07-09 20:59 ` John David Anglin [this message]
2013-07-09 23:35 ` John David Anglin
2013-07-10 20:19 ` Alex Ivanov
2013-07-10 20:28 ` John David Anglin
2013-07-10 21:14 ` Matt Turner
2013-07-10 21:29 ` Alex Ivanov
[not found] ` <51DF0B90.3040506@gmx.de>
2013-07-11 19:47 ` Helge Deller
2013-08-04 11:00 ` Alex Ivanov
2013-08-04 15:44 ` John David Anglin
2013-08-04 16:28 ` Matt Turner
2013-08-10 19:41 ` John David Anglin
2013-06-14 8:39 ` Thomas Bogendoerfer
2013-06-18 21:21 ` Helge Deller
[not found] <A7728478-8754-4B8E-81DD-CDB70165FFAB@p0n4ik.tk>
2013-08-10 19:56 ` Fwd: " Alex Ivanov
2013-08-14 23:36 ` John David Anglin
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=51DC7996.3010405@bell.net \
--to=dave.anglin@bell.net \
--cc=gnidorah@p0n4ik.tk \
--cc=linux-parisc@vger.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