Re: BUG_ON in remap_pte_range: Why?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ravi <kravi26@yahoo.com> writes:

> Hi,
>
> I am looking at the latest mm/memory.c on Bitkeeper.
> The comment for remap_pte_range() says "maps a range of 
> physical memory into the requested pages. the old mappings
> are removed". But the code has this check:
>
> BUG_ON(!pte_none(*pte));
>
> Why is it a bug to have a valid PTE when remap_pte_range()
> is called? The 2.4 version of this fucntion cleared the
> old PTE using ptep_get_and_clear() and then installed
> a new one. Why was this changed?

It used to be a call to forget_pte, and, as Flávio Bruno Leitner
pointed out, wli changed it last year:

  http://www.ussg.iu.edu/hypermail/linux/kernel/0206.0/0053.html

... making forget_pte into a macro, which has since been completely
inlined.  The comment that used to be above the macro was this:

  bug check to be sure pte's are unmapped when no longer used 


-- 
--Ed L Cashin     PGP public key: http://noserose.net/e/pgp/

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux