lkml.org 
[lkml]   [2005]   [Sep]   [16]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateFri, 16 Sep 2005 16:02:23 +0800
From"" <>
SubjectRe: [Question] Can we release vma that include code when one process is running?

Sorry, I perhaps didn't said clearly.

As I knwon, if we remove vma from vma tree of task, the SIGSEGV must be got!
but I am not removed them , I just unmapped them. and the SIGSEGV occurs 
some times,
not alway.

I doublt on it.

Any clearly idea?

many thanks.

> liyu@WAN wrote:
>
>>    It seem that code in other place jump here to enter kernel. this 
>> is in a anonymous
>> code area.
>>    At first time, I think this SIGSEGV will trigger by anonymous code 
>> that is swapped,
>> but I wrote one specical condition check to filte out this sort of 
>> code, IOW, I do
>> not swap out it. but I still get SIGSEGV.
>>
>>    May be, we can not be release the vma that include code? or, Is 
>> there have some errors
>> in my words for page fault?
>>
>
> That's right, you cannot release the VMA if the application still
> expects to use memory in that area. The page fault handler will
> see that no VMA exists in that region and raise a SIGSEGV.
>
> See arch/i386/mm/fault.c:do_page_fault
>
>
> Nick
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-09-16 10:06    [from the cache]
©2003-2008