Another mmap / jffs2 problem (was RE: 2.5.59-rmk1: unmap_vmas: VMA list is not sorted correctly!)

Russell King - ARM Linux linux at arm.linux.org.uk
Thu Mar 6 18:28:54 EST 2003


On Thu, Mar 06, 2003 at 02:47:35PM -0800, Christopher Hoover wrote:
> 
> > I'm getting "unmap_vmas: VMA list is not sorted
> > correctly!" with 2.5.59-rmk1 on a badgepad4 
> > (SA-1110).  I take it that this is bad.  :-)
> 
> I tracked this down to the use of mmap within pppd
> (ppp-2.4.1/pppd/tdb.c) on a file in jffs2.  That last part -*- the
> mmap'ed file is in jffs2 -*- is key.
> 
> I don't always get the "VMA list is not sorted message", but pppd always
> segfaults when it starts mucking with the mmap'ed file data.
> 
> If I place the file in /tmp, which is a ramfs file system in my setup,
> pppd behaves.
> 
> Here's the segfault:
> 
> pppd-with-mmap: unhandled page fault at 0x000001e3, code 0xc334f007
> pgd = c334c000
> [000001e3] *pgd=c238b011, *pte=00000000, *ppte=00000000
> pc : [<40057f7c>]    lr : [<00026ad4>]    Not tainted
> sp : befffd14  ip : befffd28  fp : 00000000
> r10: 933f4b6e  r9 : 00000007  r8 : 000438c8
> r7 : befffd28  r6 : 0004df80  r5 : 00000004  r4 : 000001e4
> r3 : ffffffff  r2 : 00000004  r1 : 000001e3  r0 : befffd28
> Flags: nzCv  IRQs on  FIQs on  Mode USER_32  Segment user
> Control: C334F17F  Table: C334F17F  DAC: 00000015

This is a long standing problem - and, has been reported many times
here.  I don't remember the details, but I seem to remember that
pppd is buggy.

I think, if you strace pppd, you'll find that it tries to mmap something
just before it receives a segfault.  It receives the segfault because
the mmap failed and, iirc, it ignores the mmap failure.

As far as the unmap_vmas message, if you could get a copy of the
/proc/<pid>/maps file while pppd is running, it might provide some
clues.




More information about the linux-mtd mailing list