From wikim@ebcard.co.kr Tue Jan 12 01:42:30 2010
Received: from smtpoutbound1.entumoffice.com ([211.218.127.48])
	by stoneboat.aleph1.co.uk with esmtp (Exim 4.69)
	(envelope-from <wikim@ebcard.co.kr>) id 1NUVm2-0007K5-Iu
	for yaffs@lists.aleph1.co.uk; Tue, 12 Jan 2010 01:42:30 +0000
Received: from smtpinbound02.entumoffice.com ([211.218.127.47]) by
	smtpoutbound1.entumoffice.com with Microsoft SMTPSVC(6.0.3790.3959); 
	Tue, 12 Jan 2010 10:41:24 +0900
Received: from spamgw.bizmeka.com ([211.218.127.39]) by
	smtpinbound02.entumoffice.com with Microsoft SMTPSVC(6.0.3790.3959); 
	Tue, 12 Jan 2010 10:41:24 +0900
Received: from unknown (HELO kwiPC)
	(wikim@ebcard.co.krdemo.bizmeka.com@211.175.117.254)
	by 211.218.127.39 with ESMTP; 12 Jan 2010 10:42:04 +0900
X-Original-SENDERIP: 211.175.117.254
X-Original-MAILFROM: wikim@ebcard.co.kr
Message-ID: <6B5D4EE0C1F840D6963993A3B7790866@kwiPC>
From: =?utf-8?B?6rmA7JuQ7J28?= <wikim@ebcard.co.kr>
To: "Charles Manning" <manningc2@actrix.gen.nz>
References: <916127.95432.qm@web27308.mail.ukl.yahoo.com><201001111241.47833.manningc2@actrix.gen.nz><746190.66554.qm@web27307.mail.ukl.yahoo.com>
	<201001121041.27814.manningc2@actrix.gen.nz>
In-Reply-To: <201001121041.27814.manningc2@actrix.gen.nz>
Date: Tue, 12 Jan 2010 10:42:09 +0900
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_000_0033_01CA9373.E4142CD0"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Windows Mail 6.0.6001.18000
X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6001.18049
X-OriginalArrivalTime: 12 Jan 2010 01:41:24.0334 (UTC)
	FILETIME=[5984F0E0:01CA9328]
X-SA-Exim-Connect-IP: 211.218.127.48
X-SA-Exim-Mail-From: wikim@ebcard.co.kr
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on
	stoneboat.aleph1.co.uk
X-Spam-Level: 
X-Spam-Status: No, score=0.5 required=4.5 tests=AWL,BAYES_00,HTML_MESSAGE,
	RCVD_IN_SORBS_WEB autolearn=no version=3.2.5
X-SA-Exim-Version: 4.2.1 (built Wed, 25 Jun 2008 17:14:11 +0000)
X-SA-Exim-Scanned: Yes (on stoneboat.aleph1.co.uk)
Cc: yaffs@lists.aleph1.co.uk
Subject: [Yaffs] [Yaffs2] Error  yaffs_readdir on yaffs_fs.c
X-BeenThere: yaffs@lists.aleph1.co.uk
X-Mailman-Version: 2.1.11
Precedence: list
List-Id: Discussion of YAFFS NAND flash filesystem <yaffs.lists.aleph1.co.uk>
List-Unsubscribe: <http://lists.aleph1.co.uk/cgi-bin/mailman/options/yaffs>,
	<mailto:yaffs-request@lists.aleph1.co.uk?subject=unsubscribe>
List-Archive: <http://lists.aleph1.co.uk/lurker/list/yaffs.html>
List-Post: <mailto:yaffs@lists.aleph1.co.uk>
List-Help: <mailto:yaffs-request@lists.aleph1.co.uk?subject=help>
List-Subscribe: <http://lists.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs>,
	<mailto:yaffs-request@lists.aleph1.co.uk?subject=subscribe>
X-List-Received-Date: Tue, 12 Jan 2010 01:42:31 -0000

This is a multi-part message in MIME format.

------=_NextPart_000_0033_01CA9373.E4142CD0
Content-Type: text/plain;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable

hello.... charles=20

I do display errorr point (red color).

In yaffs_fs.c and yaffs_guts.c, please... confirm to file.

I know...yaffs_GetObjectInode() function is getting i-node.

I-node had "NULL" value.

this time, yaffs filesystem  display error message.

I think to lost I-node. why do lost I-node?
what is reason? you will know me.

thank you for you...

as soon as.... I wish to send reason via e-mail to me.








----------------------------------------------------
Kernel error Message
----------------------------------------------------

[root@hello /mnt/mtd3/up_wait_]# ls
Unable to handle kernel NULL pointer dereference at virtual address =
00000030
pgd =3D c3e8c000
[00000030] *pgd=3D33e3f031, *pte=3D00000000, *ppte=3D00000000
Internal error: Oops: 17 [#1]
Modules linked in:
CPU: 0
PC is at yaffs_GetObjectInode+0x10/0x18
LR is at yaffs_GetObjectInode+0x10/0x18
pc : [<c011c338>]    lr : [<c011c338>]    Not tainted
sp : c3d77df4  ip : c3d77df4  fp : c3d77e00
r10: 00000002  r9 : 00000002  r8 : c04924d4
r7 : 00000001  r6 : c3e3d0d0  r5 : c04924b4  r4 : 0000002f
r3 : 00000004  r2 : c3d77e24  r1 : 000014b2  r0 : 00000000
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  Segment user
Control: 717F  Table: 33E8C000  DAC: 00000015
Process ls (pid: 934, stack limit =3D 0xc3d76194)
Stack: (0xc3d77df4 to 0xc3d78000)
7de0:                                              c3d77f4c c3d77e04 =
c01154bc=20
7e00: c011c338 00000000 00000001 00000004 c05651a4 c0f87700 c0e4b000 =
c0096db8=20
7e20: c3d77f74 34303255 36342e30 30333030 34312e30 35303736 2e343432 =
39303032=20
7e40: 30323031 37323731 312e3632 30303634 00303033 00000000 00000000 =
00000000=20
7e60: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 =
00000000=20
7e80: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 =
00000000=20
7ea0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 =
00000000=20
7ec0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 =
00000000=20
7ee0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 =
00000000=20
7f00: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 =
00000000=20
7f20: 00000000 c0f876e0 c3e3d140 c3e3d0d0 fffffffe c0096db8 c3d76000 =
401babcc=20
7f40: c3d77f70 c3d77f50 c0096a68 c01152d4 0008e110 00000000 00001000 =
fffffff7=20
7f60: c0f876e0 c3d77fa4 c3d77f74 c0096f98 c00969c8 0008e140 0008e128 =
00000fd0=20
7f80: ffffffea 00001000 000002b4 00000000 000000d9 c00340a4 00000000 =
c3d77fa8=20
7fa0: c0033f20 c0096f3c 00001000 000002b4 00000003 0008e110 00001000 =
00000278=20
7fc0: 00001000 000002b4 00000000 000028cc 00000000 0008e0e0 401babcc =
beee1cf8=20
7fe0: 0008e110 beee1ca0 401bb0d0 4013473c 20000010 00000003 00000200 =
00000440=20
Backtrace:=20
[<c011c328>] (yaffs_GetObjectInode+0x0/0x18) from [<c01154bc>] =
(yaffs_readdir+0x1f8/0x2b4)
[<c01152c4>] (yaffs_readdir+0x0/0x2b4) from [<c0096a68>] =
(vfs_readdir+0xb0/0xd0)
[<c00969b8>] (vfs_readdir+0x0/0xd0) from [<c0096f98>] =
(sys_getdents64+0x6c/0xc4)
 r8 =3D C0F876E0  r7 =3D FFFFFFF7  r6 =3D 00001000  r5 =3D 00000000
 r4 =3D 0008E110=20
[<c0096f2c>] (sys_getdents64+0x0/0xc4) from [<c0033f20>] =
(ret_fast_syscall+0x0/0x2c)
 r8 =3D C00340A4  r7 =3D 000000D9  r6 =3D 00000000  r5 =3D 000002B4
 r4 =3D 00001000=20
Code: e1a0c00d e92dd800 e24cb004 ebffed57 (e5900030)=20
 Segmentation fault

-----------------------------------------------------




# source contens

static int yaffs_readdir(struct file *f, void *dirent, filldir_t =
filldir) in yaffs_fs.c

list_for_each(i, &obj->variant.directoryVariant.children) {
  curoffs++;
  if (curoffs >=3D offset) {
   l =3D list_entry(i, yaffs_Object, siblings);

   yaffs_GetObjectName(l, name,
         YAFFS_MAX_NAME_LENGTH + 1);
   T(YAFFS_TRACE_OS,
     (KERN_DEBUG "yaffs_readdir: %s inode %d\n", name,
      yaffs_GetObjectInode(l)));

   if (filldir(dirent,
        name,
        strlen(name),
        offset,
        yaffs_GetObjectInode(l),
        yaffs_GetObjectType(l))
       < 0) {
    goto up_and_out;
   }

   offset++;
   f->f_pos++;
  }
 }

------=_NextPart_000_0033_01CA9373.E4142CD0
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8">
<META content=3D"MSHTML 6.00.6001.18099" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV><FONT size=3D2>hello.... charles </FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>I do display errorr point&nbsp;(<STRONG><FONT=20
color=3D#ff0000>red color</FONT></STRONG>).</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><STRONG><FONT size=3D4>In yaffs_fs.c and yaffs_guts.c, please... =
confirm to=20
file.</FONT></STRONG></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>I know...yaffs_GetObjectInode() function is getting=20
i-node.</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>I-node had "NULL" value.</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>this time, yaffs filesystem&nbsp; display error=20
message.</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>I think&nbsp;to lost I-node. why do lost =
I-node?</FONT></DIV>
<DIV><FONT size=3D2>what is reason? you will know me.</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>thank you for you...</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>as soon as.... I wish to send reason via e-mail to=20
me.</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT=20
size=3D2>----------------------------------------------------</FONT></DIV=
>
<DIV><FONT size=3D2>Kernel error Message</FONT></DIV>
<DIV><FONT=20
size=3D2>----------------------------------------------------</FONT></DIV=
>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>[root@hello /mnt/mtd3/up_wait_]# ls<BR><FONT=20
color=3D#ff0000><STRONG>Unable to handle kernel NULL</STRONG></FONT> =
pointer=20
dereference at virtual address 00000030<BR>pgd =3D =
c3e8c000<BR>[00000030]=20
*pgd=3D33e3f031, *pte=3D00000000, *ppte=3D00000000<BR>Internal error: =
Oops: 17=20
[#1]<BR>Modules linked in:<BR>CPU: 0<BR>PC is at=20
yaffs_GetObjectInode+0x10/0x18<BR>LR is at =
yaffs_GetObjectInode+0x10/0x18<BR>pc=20
: [&lt;c011c338&gt;]&nbsp;&nbsp;&nbsp; lr : =
[&lt;c011c338&gt;]&nbsp;&nbsp;&nbsp;=20
Not tainted<BR>sp : c3d77df4&nbsp; ip : c3d77df4&nbsp; fp : =
c3d77e00<BR>r10:=20
00000002&nbsp; r9 : 00000002&nbsp; r8 : c04924d4<BR>r7 : 00000001&nbsp; =
r6 :=20
c3e3d0d0&nbsp; r5 : c04924b4&nbsp; r4 : 0000002f<BR>r3 : 00000004&nbsp; =
r2 :=20
c3d77e24&nbsp; r1 : 000014b2&nbsp; r0 : 00000000<BR>Flags: nZCv&nbsp; =
IRQs=20
on&nbsp; FIQs on&nbsp; Mode SVC_32&nbsp; Segment user<BR>Control: =
717F&nbsp;=20
Table: 33E8C000&nbsp; DAC: 00000015<BR>Process ls (pid: 934, stack limit =
=3D=20
0xc3d76194)<BR>Stack: (0xc3d77df4 to=20
0xc3d78000)<BR>7de0:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
c3d77f4c c3d77e04 c01154bc <BR>7e00: c011c338 00000000 00000001 00000004 =

c05651a4 c0f87700 c0e4b000 c0096db8 <BR>7e20: c3d77f74 34303255 36342e30 =

30333030 34312e30 35303736 2e343432 39303032 <BR>7e40: 30323031 37323731 =

312e3632 30303634 00303033 00000000 00000000 00000000 <BR>7e60: 00000000 =

00000000 00000000 00000000 00000000 00000000 00000000 00000000 <BR>7e80: =

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000=20
<BR>7ea0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 =

00000000 <BR>7ec0: 00000000 00000000 00000000 00000000 00000000 00000000 =

00000000 00000000 <BR>7ee0: 00000000 00000000 00000000 00000000 00000000 =

00000000 00000000 00000000 <BR>7f00: 00000000 00000000 00000000 00000000 =

00000000 00000000 00000000 00000000 <BR>7f20: 00000000 c0f876e0 c3e3d140 =

c3e3d0d0 fffffffe c0096db8 c3d76000 401babcc <BR>7f40: c3d77f70 c3d77f50 =

c0096a68 c01152d4 0008e110 00000000 00001000 fffffff7 <BR>7f60: c0f876e0 =

c3d77fa4 c3d77f74 c0096f98 c00969c8 0008e140 0008e128 00000fd0 <BR>7f80: =

ffffffea 00001000 000002b4 00000000 000000d9 c00340a4 00000000 c3d77fa8=20
<BR>7fa0: c0033f20 c0096f3c 00001000 000002b4 00000003 0008e110 00001000 =

00000278 <BR>7fc0: 00001000 000002b4 00000000 000028cc 00000000 0008e0e0 =

401babcc beee1cf8 <BR>7fe0: 0008e110 beee1ca0 401bb0d0 4013473c 20000010 =

00000003 00000200 00000440 <BR>Backtrace: <BR><STRONG>[&lt;c011c328&gt;] =
(<FONT=20
color=3D#ff0000>yaffs_GetObjectInode</FONT>+0x0/0x18) from =
[&lt;c01154bc&gt;]=20
(<FONT=20
color=3D#ff0000>yaffs_readdir</FONT>+0x1f8/0x2b4)<BR></STRONG>[&lt;c01152=
c4&gt;]=20
(yaffs_readdir+0x0/0x2b4) from [&lt;c0096a68&gt;]=20
(vfs_readdir+0xb0/0xd0)<BR>[&lt;c00969b8&gt;] (vfs_readdir+0x0/0xd0) =
from=20
[&lt;c0096f98&gt;] (sys_getdents64+0x6c/0xc4)<BR>&nbsp;r8 =3D =
C0F876E0&nbsp; r7 =3D=20
FFFFFFF7&nbsp; r6 =3D 00001000&nbsp; r5 =3D 00000000<BR>&nbsp;r4 =3D =
0008E110=20
<BR>[&lt;c0096f2c&gt;] (sys_getdents64+0x0/0xc4) from [&lt;c0033f20&gt;] =

(ret_fast_syscall+0x0/0x2c)<BR>&nbsp;r8 =3D C00340A4&nbsp; r7 =3D =
000000D9&nbsp; r6=20
=3D 00000000&nbsp; r5 =3D 000002B4<BR>&nbsp;r4 =3D 00001000 <BR>Code: =
e1a0c00d=20
e92dd800 e24cb004 ebffed57 (e5900030) <BR>&nbsp;Segmentation =
fault</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT=20
size=3D2>-----------------------------------------------------</FONT></DI=
V>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><STRONG><FONT size=3D5># source contens</FONT></STRONG></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>static int yaffs_readdir(struct file *f, void =
*dirent,=20
filldir_t filldir) in yaffs_fs.c</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>list_for_each(i,=20
&amp;obj-&gt;variant.directoryVariant.children)=20
{<BR>&nbsp;&nbsp;curoffs++;<BR>&nbsp;&nbsp;if (curoffs &gt;=3D offset)=20
{<BR>&nbsp;&nbsp;&nbsp;l =3D list_entry(i, yaffs_Object, =
siblings);</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>&nbsp;&nbsp;&nbsp;yaffs_GetObjectName(l,=20
name,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
YAFFS_MAX_NAME_LENGTH=20
+ 1);<BR>&nbsp;&nbsp;&nbsp;T(YAFFS_TRACE_OS,<BR>&nbsp;&nbsp;&nbsp;&nbsp; =

(KERN_DEBUG "yaffs_readdir: %s inode %d\n",=20
name,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <FONT=20
color=3D#ff0000><STRONG>yaffs_GetObjectInode(l)</STRONG></FONT>));</FONT>=
</DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>&nbsp;&nbsp;&nbsp;if=20
(filldir(dirent,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
name,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
strlen(name),<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
offset,<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
yaffs_GetObjectInode(l),<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
yaffs_GetObjectType(l))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt; 0)=20
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;goto=20
up_and_out;<BR>&nbsp;&nbsp;&nbsp;}</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT=20
size=3D2>&nbsp;&nbsp;&nbsp;offset++;<BR>&nbsp;&nbsp;&nbsp;f-&gt;f_pos++;<=
BR>&nbsp;&nbsp;}<BR>&nbsp;}</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV></BODY></HTML>

------=_NextPart_000_0033_01CA9373.E4142CD0--



