lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 16 Jul 2009 11:54:15 +1000 From: Benjamin Herrenschmidt <benh@...nel.crashing.org> To: Nick Piggin <npiggin@...e.de> Cc: Linux Memory Management <linux-mm@...ck.org>, Linux-Arch <linux-arch@...r.kernel.org>, linux-kernel@...r.kernel.org, linuxppc-dev@...abs.org, Hugh Dickins <hugh@...cali.co.uk> Subject: Re: [RFC/PATCH] mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() On Wed, 2009-07-15 at 15:56 +0200, Nick Piggin wrote: > On Wed, Jul 15, 2009 at 05:49:47PM +1000, Benjamin Herrenschmidt wrote: > > Upcoming paches to support the new 64-bit "BookE" powerpc architecture > > will need to have the virtual address corresponding to PTE page when > > freeing it, due to the way the HW table walker works. > > > > Basically, the TLB can be loaded with "large" pages that cover the whole > > virtual space (well, sort-of, half of it actually) represented by a PTE > > page, and which contain an "indirect" bit indicating that this TLB entry > > RPN points to an array of PTEs from which the TLB can then create direct > > entries. > > RPN is PFN in ppc speak, right? Ah right, real page number in ppc slang :-) > > Thus, in order to invalidate those when PTE pages are deleted, > > we need the virtual address to pass to tlbilx or tlbivax instructions. > > Interesting arrangement. So are these last level ptes modifieable > from userspace or something? If not, I wonder if you could manage > them as another level of pointers with the existing pagetable > functions? I don't understand what you mean. Basically, the TLB contains PMD's. There's nothing to change to the existing page table layout :-) But because they appear as large page TLB entries that cover the virtual space covered by a PMD, they need to be invalidated using virtual addresses when PMDs are removed. > > The old trick of sticking it somewhere in the PTE page struct page sucks > > too much, the address is almost readily available in all call sites and > > almost everybody implemets these as macros, so we may as well add the > > argument everywhere. I added it to the pmd and pud variants for consistency. > > > > Signed-off-by: Benjamin Herrenschmidt <benh@...nel.crashing.org> > > --- > > > > I would like to merge the new support that depends on this in 2.6.32, > > so unless there's major objections, I'd like this to go in early during > > the merge window. We can sort out separately how to carry the patch > > around in -next until then since the powerpc tree will have a dependency > > on it. > > Can't see any problem with that. Thanks, can I get an Ack then ? :-) Cheers, Ben. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists