All of lore.kernel.org
 help / color / mirror / Atom feed
From: dirk.behme@googlemail.com (Dirk Behme)
To: linux-arm-kernel@lists.infradead.org
Subject: Kernel related (?) user space crash at ARM11 MPCore
Date: Thu, 15 Oct 2009 17:48:07 +0200	[thread overview]
Message-ID: <4AD74437.2010306@googlemail.com> (raw)
In-Reply-To: <1255620022.10164.74.camel@pc1117.cambridge.arm.com>

Catalin Marinas wrote:
> On Thu, 2009-10-15 at 15:57 +0100, Russell King - ARM Linux wrote:
>> On Mon, Sep 21, 2009 at 11:07:51AM +0100, Russell King - ARM Linux wrote:
>>> On Mon, Sep 21, 2009 at 10:44:23AM +0100, Catalin Marinas wrote:
>>>> We would need to fix this somehow as well. We currently handle the
>>>> I-cache in update_mmu_cache() when a page is first mapped if it has
>>>> VM_EXEC set.
>>> The reason I'm pushing you hard to separate the two issues is that the
>>> two should be treated separately.  I think we need to consider ensuring
>>> that freed pages do not have any I-cache lines associated with them,
>>> rather than waiting for them to be allocated and then dealing with the
>>> I-cache problem.
>> Having now benchmarked this (making flush_cache_* always invalidate
>> the I-cache, so free'd pages are I-cache clean), and to me, the results
>> quite look promising - please try out this patch.
>>
>> diff --git a/arch/arm/mm/fault-armv.c b/arch/arm/mm/fault-armv.c
>> index d0d17b6..b9c1cd4 100644
>> --- a/arch/arm/mm/fault-armv.c
>> +++ b/arch/arm/mm/fault-armv.c
>> @@ -160,8 +160,6 @@ void update_mmu_cache(struct vm_area_struct *vma, unsigned long addr, pte_t pte)
>>  	if (mapping) {
>>  		if (cache_is_vivt())
>>  			make_coherent(mapping, vma, addr, pfn);
>> -		else if (vma->vm_flags & VM_EXEC)
>> -			__flush_icache_all();
>>  	}
>>  }
> 
> Before trying the patch, I don't entirely agree with the approach. You
> will get speculative fetches in the I-cache via the kernel linear
> mapping (where NX is always cleared) on newer processors and may end up
> with random faults in user space (not that likely but not impossible
> either).

Just to get a better understanding: With "newer processors" you mean 
Cortex A9? So for ARM11 MPCore the approach should be fine?

Thanks

Dirk

  parent reply	other threads:[~2009-10-15 15:48 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <4A7AEEB6.5060903@googlemail.com>
     [not found] ` <1250184014.14019.40.camel@pc1117.cambridge.arm.com>
     [not found]   ` <1250501311.9858.24.camel@pc1117.cambridge.arm.com>
     [not found]     ` <20090817140422.GA10764@n2100.arm.linux.org.uk>
2009-08-29 12:27       ` Kernel related (?) user space crash at ARM11 MPCore Catalin Marinas
2009-08-31  8:30         ` Catalin Marinas
2009-09-07 15:29           ` Catalin Marinas
2009-09-07 15:56             ` Dirk Behme
2009-09-07 16:43               ` Catalin Marinas
2009-09-07 17:31             ` Mikael Pettersson
2009-09-07 21:40               ` Catalin Marinas
2009-09-03 11:58         ` Dirk Behme
     [not found]       ` <1250529916.11185.80.camel@pc1117.cambridge.arm.com>
     [not found]         ` <20090919224022.GA738@n2100.arm.linux.org.uk>
     [not found]           ` <1253435940.498.15.camel@pc1117.cambridge.arm.com>
2009-09-20  9:31             ` Russell King - ARM Linux
2009-09-20 19:02               ` Russell King - ARM Linux
2009-09-20 22:46                 ` Catalin Marinas
2009-09-21  8:31                   ` Jamie Lokier
2009-09-21  8:41                     ` Russell King - ARM Linux
2009-09-21  9:41                       ` Jamie Lokier
2009-09-21 10:08                         ` Catalin Marinas
2009-09-21  8:49                     ` Catalin Marinas
2009-09-21  8:54                       ` Russell King - ARM Linux
2009-09-21  9:44                         ` Catalin Marinas
2009-09-21 10:07                           ` Russell King - ARM Linux
2009-09-21 10:42                             ` Catalin Marinas
2009-09-21 20:10                             ` Jamie Lokier
2009-09-21 21:26                               ` Russell King - ARM Linux
2009-09-21 22:14                                 ` Catalin Marinas
2009-09-21 22:25                                 ` Jamie Lokier
2009-09-22  8:43                                   ` Catalin Marinas
2009-09-21 21:58                               ` Catalin Marinas
2009-09-21 22:12                                 ` Jamie Lokier
2009-09-21 22:31                                   ` Russell King - ARM Linux
2009-09-21 22:34                                   ` Catalin Marinas
2009-09-21 21:38                             ` Russell King - ARM Linux
2009-09-21 22:28                               ` Catalin Marinas
2009-09-21 22:37                                 ` Jamie Lokier
2009-09-21 22:33                               ` Jamie Lokier
2009-09-22  9:21                                 ` Catalin Marinas
2009-09-22 10:19                               ` Catalin Marinas
2009-09-22 17:17                                 ` Catalin Marinas
2009-09-23  6:03                                   ` Dirk Behme
2009-09-23  9:13                                     ` Catalin Marinas
2009-09-23 10:38                                       ` Catalin Marinas
2009-09-23 12:12                                         ` Mikael Pettersson
2009-09-23 12:42                                           ` Russell King - ARM Linux
2009-09-23 12:51                                             ` Catalin Marinas
2009-09-23 12:55                                               ` Catalin Marinas
2009-10-15 14:57                             ` Russell King - ARM Linux
2009-10-15 15:20                               ` Catalin Marinas
2009-10-15 15:28                                 ` Russell King - ARM Linux
2009-10-15 15:56                                   ` Catalin Marinas
2009-10-20 11:39                                     ` Catalin Marinas
2009-10-25 13:39                                       ` Russell King - ARM Linux
2009-10-26 18:40                                         ` Catalin Marinas
2009-10-25 14:48                                       ` Russell King - ARM Linux
2009-10-26 18:45                                         ` Catalin Marinas
2009-10-26 19:17                                           ` Russell King - ARM Linux
2009-10-15 15:48                                 ` Dirk Behme [this message]
2009-10-15 15:53                                   ` Catalin Marinas
2009-10-25 13:04                                 ` Russell King - ARM Linux
2009-10-26 18:18                                   ` Catalin Marinas
2009-09-20 22:02               ` Catalin Marinas
2009-09-22  5:44                 ` Shilimkar, Santosh
2009-09-22  9:01                   ` Catalin Marinas
2009-09-22  9:34                     ` Shilimkar, Santosh
     [not found] ` <1249981883.27150.14.camel@pc1117.cambridge.arm.com>
     [not found]   ` <4A818CBC.8040000@googlemail.com>
     [not found]     ` <1250006770.30628.1.camel@pc1117.cambridge.arm.com>
     [not found]       ` <4A819C54.3080606@googlemail.com>
     [not found]         ` <1250009043.30628.9.camel@pc1117.cambridge.arm.com>
     [not found]           ` <87ab25vazg.fsf@brigitte.kvy.fi>
     [not found]             ` <1250080338.20332.32.camel@pc1117.cambridge.arm.com>
     [not found]               ` <87k518yc8a.fsf@brigitte.kvy.fi>
2009-09-11  9:21                 ` smsc911x.c driver and SMP (was Re: Kernel related (?) user space crash at ARM11 MPCore) Catalin Marinas
2009-09-11 12:55                   ` Bill Gatliff
2009-09-11 13:00                     ` Catalin Marinas
2009-09-11 15:20                       ` Bill Gatliff
2009-09-11 16:06                         ` Catalin Marinas
2009-10-06  6:12                           ` smsc911x.c driver and SMP Antti P Miettinen
2010-08-31  0:07                             ` Shinya Kuribayashi
2010-08-31  6:22                               ` Antti P Miettinen
2010-08-31  9:10                                 ` Shinya Kuribayashi
2010-08-31  8:33                               ` Catalin Marinas
2010-08-31  8:42                                 ` Shinya Kuribayashi

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=4AD74437.2010306@googlemail.com \
    --to=dirk.behme@googlemail.com \
    --cc=linux-arm-kernel@lists.infradead.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.