Hi Bob,
On 07/06/11 16:19, Bob Liu wrote:
On Fri, Jun 3, 2011 at 2:37 PM, Greg Ungerer<gerg@xxxxxxxxxxxx> wrote:
Hi Bob,
On 06/05/11 16:03, Bob Liu wrote:
Currently on nommu arch mmap(),mremap() and munmap() doesn't do
page_align()
which isn't consist with mmu arch and cause some issues.
First, some drivers' mmap() function depends on vma->vm_end - vma->start
is
page aligned which is true on mmu arch but not on nommu. eg: uvc camera
driver.
Second munmap() may return -EINVAL[split file] error in cases when end is
not
page aligned(passed into from userspace) but vma->vm_end is aligned dure
to
split or driver's mmap() ops.
This patch add page align to fix those issues.
This is actually causing me problems on head at the moment.
git bisected to this patch as the cause.
When booting on a ColdFire (m68knommu) target the init process (or
there abouts at least) fails. Last console messages are:
á...
áVFS: Mounted root (romfs filesystem) readonly on device 31:0.
áFreeing unused kernel memory: 52k freed (0x401aa000 - 0x401b6000)
áUnable to mmap process text, errno 22
Oh, bad news. I will try to reproduce it on my board.
If you are free please enable debug in nommu.c and then we can see what
caused the problem.
Yep, with debug on:
...
VFS: Mounted root (romfs filesystem) readonly on device 31:0.
Freeing unused kernel memory: 52k freed (0x4018c000 - 0x40198000)
==> do_mmap_pgoff(,0,6780,5,1002,0)
<== do_mmap_pgoff() = -22
Unable to mmap process text, errno 22
I can confirm that the PAGE_ALIGN(len) change in do_mmap_pgoff()
is enough to cause this too.
Regards
Greg
I haven't really debugged it any further yet. But that error message
comes from fs/binfmt_flat.c, it is reporting a failed do_mmap() call.
Reverting that this patch and no more problem.
Regards
Greg
------------------------------------------------------------------------
Greg Ungerer -- Principal Engineer EMAIL: gerg@xxxxxxxxxxxx
SnapGear Group, McAfee PHONE: +61 7 3435 2888
8 Gardner Close FAX: +61 7 3217 5323
Milton, QLD, 4064, Australia WEB: http://www.SnapGear.com
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxxx For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href