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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4671495A.3020605@de.ibm.com>
Date:	Thu, 14 Jun 2007 15:57:46 +0200
From:	Carsten Otte <cotte@...ibm.com>
To:	Jared Hulbert <jaredeh@...il.com>
CC:	carsteno@...ibm.com, Nick Piggin <nickpiggin@...oo.com.au>,
	Andrew Morton <akpm@...ux-foundation.org>,
	richard.griffiths@...driver.com,
	Richard Griffiths <res07ml0@...izon.net>,
	Linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2.6.21] cramfs: add cramfs Linear XIP

Jared Hulbert wrote:
>> Nick Piggin wrote:
>> > The question is, why is that not enough (I haven't looked at these
>> > patches enough to work out if there is anything more they provide).
>> I think, it just takes trying things out. From reading the code, I
>> think this should work well for the filemap_xip code with no struct page.
>> Also, we need eliminate nopage() to get rid of the struct page.
>> Unfortunately I don't find time to try this out for now, and on 390 we
>> can live with struct page for the time being. In contrast to the
>> embedded platforms, the mem_mep array gets swapped out to disk by our
>> hypervisor.
> 
> Can you help me understand the comment about nopage()?  Do you mean
> set xip_file_vm_ops.nopage to NULL?

Yes, but not without replacement. Today, the page table entry for xip 
mappings is created like this:
__handle_mm_fault calls handle_pte_fault, which calls do_no_page [all 
in mm/memory.c]. do_no_page does call the ->nopage operation, and 
creates a page table entry. The ->nopage operation is set to 
xip_file_nopage() [mm/filemap_xip.c], which calls the get_xip_page 
address space operation. For ext2, this is implemented in 
ext2_get_xip_page (fs/ext2/xip.c).
In this process, the struct page entry in mem_map is looked up in 
ext2_get_xip_page(), returned to xip_file_nopage, then returned to 
do_no_page.
An alternative approach, which does not need to have struct page at 
hand, would be to use the nopfn vm operations struct. That one would 
have to rely on get_xip_pfn. The current path would then be 
deprecated. If you're interrested in using the later for xip without 
struct page, I would volounteer to go ahead and implement this?

so long,
Carsten
-
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ