[Yaffs] Re: Sorry state of YAFFS (YAFFS2 now), patches

Sergey Kubushyn ksi at koi8.net
Thu Oct 13 23:23:57 BST 2005


On Thu, 13 Oct 2005, Wookey wrote:

> +++ Charles Manning [05-10-13 15:12 +1300]:
> > I didn't see the original posting since Sergey has a special place in
> my kill
> > file,
>
> I quite understand you having had enough of his inimitable style, but
> this
> time he did post a couple of patches which look sensible to me. You
> should
> take a look I think.

It's stupid to take it that personally. That state of YAFFS is exactly
what's giving open source its bad name. I do push not because I have
something against Charles but because I want it to work. I wouldn't touch it
at all but my supervisors want it in our product that we had to ship day
before yesterday due to lack of alternatives.

> And you've just missed another huge rant, possibly obscuring what might
> be a valid bug report - it's very hard to tell.

Here is a different view of that bug, now from mounting it with mount (root
is on NFS). It crashes at exactly the same place in yaffs_GutsInitialise().

And BTW, that was not a rant. That was just a facts constantation. I'd like
you guys to read it and think it over. There are some bugs named there and
their possible causes. And no, it is not a good idea to cast something like
yaffs_PackedTags2 pointer to (__u8 *)...

=== Cut ===
ksymoops 2.4.11 on i686 2.6.12-1.1456_FC4smp.  Options used
     -v vmlinux (specified)
     -K (specified)
     -L (specified)
     -O (specified)
     -m System.map (specified)
     -t elf32-littlearm -a arm

Unable to handle kernel paging request at virtual address 55ec0015
Internal error: Oops: 3 [#1]
CPU: 0
pc : [<c00e7cb8>]    lr : [<c00e7cc8>]    Not tainted
sp : c1949ce4  ip : ffffff84  fp : c1949d6c
r10: c19d6000  r9 : 55ec0001  r8 : 55ec0001
r7 : 00000000  r6 : 00000000  r5 : c1d06000  r4 : 55ec0001
r3 : c1d05b10  r2 : 0000bac2  r1 : 00000014  r0 : c1d06000
Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  Segment user
Control: C000317F  Table: 2141C000  DAC: 00000015
Stack: (0xc1949ce4 to 0xc194a000)
9ce0:          c1d6a000 c1bf1000 55ec0001 ffffffff 000012fd 00000005 aaaaaaaa
9d00: 00000001 00000105 00000000 00000000 00000000 00000000 00000000 00000000
9d20: 00001001 00000001 00000001 00000000 00000000 00000003 00000000 00000000
9d40: 55555555 c1d06000 c0350c00 c038f600 c0217320 00000000 c1949f0c 00000000
9d60: c1949db8 c1949d70 c00e1478 c00e6c94 6264746d 6b636f6c c1940032 00000000
9d80: c038f740 00000009 00000009 c1949dcc c038f740 c02c905c c038f600 c02c9040
9da0: 00000000 00000000 00000000 c1949dc8 c1949dbc c00e1688 c00e0f8c c1949e0c
9dc0: c1949dcc c007fc68 c00e1674 6264746d 6b636f6c c0210032 00000000 c0374a60
9de0: c0374a60 c02c4de0 c1efb000 c02c4de0 fffffff4 c1efb000 c0217340 00000000
9e00: c1949e20 c1949e10 c00e16b4 c007fb54 c00e1664 c1949e48 c1949e24 c007fe9c
9e20: c00e16a8 00000000 c1b9f000 00000000 c1efb000 00000000 c1fe3000 c1949f74
9e40: c1949e4c c00980e0 c007fe58 c1fc2b00 c1949eac c1949e60 c0067f30 c0067888
9e60: c18ef870 c141c000 c1949f10 c1949e6c c1949e6c c141c000 00000000 c141c000
9e80: 00000000 ffffffeb c1eea580 c19c02d8 c1fc2b00 00000001 c1eea580 c19c02d8
9ea0: c1949ee8 c1949eb0 c00238d0 c00f8704 00000001 c1948000 c1949f04 c1949ec8
9ec0: c005c8c8 c005c31c c020f4a8 0001c000 60000013 000000d0 00000000 c0210e08
9ee0: 00000001 000000d0 c0211174 00000000 00000000 c1eea580 c1949f44 c1949f08
9f00: c005cad4 c005c648 00000000 c1bca224 c02c4ae0 00000010 00000000 00000000
9f20: 00000001 00000001 00000000 c001cee4 c1948000 0001b420 c1949f54 c1949f48
9f40: c005cdbc c005ca04 c1949f74 00000000 00000000 c1b9f000 c0ed0000 c001cee4
9f60: c1948000 0001b420 c1949fa4 c1949f78 c0098538 c0097af4 00000000 00000000
9f80: c1efb000 c1fe3000 00000000 00000000 0001b408 00000015 00000000 c1949fa8
9fa0: c001cd60 c00984ac 00000000 c00237a4 0001b408 0001b420 0001b430 c0ed0000
9fc0: 00000000 00000000 0001b408 0001b408 bec97754 bec97748 0001b420 00000000
9fe0: 400d5150 bec976ec 0000a7a4 400d515c 60000010 0001b408 00000000 00000000
Backtrace:
[<c00e6c84>] (yaffs_GutsInitialise+0x0/0x1230) from [<c00e1478>] (yaffs_internal_read_super+0x4fc/0x690)
[<c00e0f7c>] (yaffs_internal_read_super+0x0/0x690) from [<c00e1688>] (yaffs2_internal_read_super_mtd+0x24/0x34)
[<c00e1664>] (yaffs2_internal_read_super_mtd+0x0/0x34) from [<c007fc68>] (get_sb_bdev+0x124/0x17c)
[<c007fb44>] (get_sb_bdev+0x0/0x17c) from [<c00e16b4>] (yaffs2_read_super+0x1c/0x24)
 r8 = 00000000  r7 = C0217340  r6 = C1EFB000  r5 = FFFFFFF4
 r4 = C02C4DE0
[<c00e1698>] (yaffs2_read_super+0x0/0x24) from [<c007fe9c>] (do_kern_mount+0x54/0xec)
[<c007fe48>] (do_kern_mount+0x0/0xec) from [<c00980e0>] (do_mount+0x5fc/0x634)
[<c0097ae4>] (do_mount+0x0/0x634) from [<c0098538>] (sys_mount+0x9c/0xe8)
[<c009849c>] (sys_mount+0x0/0xe8) from [<c001cd60>] (ret_fast_syscall+0x0/0x2c)
 r7 = 00000015  r6 = 0001B408  r5 = 00000000  r4 = 00000000
Code: e3540000 0a000014 e51b4080 e1a00005 (e5948014)


>>LR;  c00e7cc8 <yaffs_GutsInitialise+1044/1230>

>>PC;  c00e7cb8 <yaffs_GutsInitialise+1034/1230>   <=====

>>r7; c0217340 <nlmsvc_procedures+30c/360>

Code;  c00e7ca8 <yaffs_GutsInitialise+1024/1230>
00000000 <_PC>:
Code;  c00e7ca8 <yaffs_GutsInitialise+1024/1230>
   0:   e3540000  cmp     r4, #0      ; 0x0
Code;  c00e7cac <yaffs_GutsInitialise+1028/1230>
   4:   0a000014  beq     5c <_PC+0x5c>
Code;  c00e7cb0 <yaffs_GutsInitialise+102c/1230>
   8:   e51b4080  ldr     r4, [fp, #-128]
Code;  c00e7cb4 <yaffs_GutsInitialise+1030/1230>
   c:   e1a00005  mov     r0, r5
Code;  c00e7cb8 <yaffs_GutsInitialise+1034/1230>
  10:   e5948014  ldr     r8, [r4, #20]
=== Cut ===

---
******************************************************************
*  KSI at home    KOI8 Net  < >  The impossible we do immediately.  *
*  Las Vegas   NV, USA   < >  Miracles require 24-hour notice.   *
******************************************************************




More information about the yaffs mailing list