<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/omfs/inode.c, branch linux-2.6.28.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2008-10-13T17:10:37Z</updated>
<entry>
<title>vfs: Use const for kernel parser table</title>
<updated>2008-10-13T17:10:37Z</updated>
<author>
<name>Steven Whitehouse</name>
</author>
<published>2008-10-13T09:46:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a447c0932445f92ce6f4c1bd020f62c5097a7842'/>
<id>urn:sha1:a447c0932445f92ce6f4c1bd020f62c5097a7842</id>
<content type='text'>
This is a much better version of a previous patch to make the parser
tables constant. Rather than changing the typedef, we put the "const" in
all the various places where its required, allowing the __initconst
exception for nfsroot which was the cause of the previous trouble.

This was posted for review some time ago and I believe its been in -mm
since then.

Signed-off-by: Steven Whitehouse &lt;swhiteho@redhat.com&gt;
Cc: Alexander Viro &lt;aviro@redhat.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>omfs: fix potential oops when directory size is corrupted</title>
<updated>2008-08-15T15:35:44Z</updated>
<author>
<name>Bob Copeland</name>
</author>
<published>2008-08-15T07:40:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c963343a1150106819773e828c9b237ed977615b'/>
<id>urn:sha1:c963343a1150106819773e828c9b237ed977615b</id>
<content type='text'>
Testing with a modified fsfuzzer reveals a couple of locations in omfs
where filesystem variables are ultimately used as loop counters with
insufficient sanity checking.  In this case, dir-&gt;i_size is used to
compute the number of buckets in the directory hash.  If too large,
readdir will overrun a buffer.

Since it's an invariant that dir-&gt;i_size is equal to the sysblock
size, and we already sanity check that, just use that value instead.
This fixes the following oops:

BUG: unable to handle kernel paging request at c978e004
IP: [&lt;c032298e&gt;] omfs_readdir+0x18e/0x32f
Oops: 0000 [#1] PREEMPT DEBUG_PAGEALLOC
Modules linked in:

Pid: 4796, comm: ls Not tainted (2.6.27-rc2 #12)
EIP: 0060:[&lt;c032298e&gt;] EFLAGS: 00010287 CPU: 0
EIP is at omfs_readdir+0x18e/0x32f
EAX: c978d000 EBX: 00000000 ECX: cbfcfaf8 EDX: cb2cf100
ESI: 00001000 EDI: 00000800 EBP: cb2d3f68 ESP: cb2d3f0c
 DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068
Process ls (pid: 4796, ti=cb2d3000 task=cb175f40 task.ti=cb2d3000)
Stack: 00000002 00000000 00000000 c018a820 cb2d3f94 cb2cf100 cbfb0000 ffffff10
       cbfb3b80 cbfcfaf8 000001c9 00000a09 00000000 00000000 00000000 cbfcfbc8
       c9697000 cbfb3b80 22222222 00001000 c08e6cd0 cb2cf100 cbfb3b80 cb2d3f88
Call Trace:
 [&lt;c018a820&gt;] ? filldir64+0x0/0xcd
 [&lt;c018a9f2&gt;] ? vfs_readdir+0x56/0x82
 [&lt;c018a820&gt;] ? filldir64+0x0/0xcd
 [&lt;c018aa7c&gt;] ? sys_getdents64+0x5e/0xa0
 [&lt;c01038bd&gt;] ? sysenter_do_call+0x12/0x31
 =======================
Code: 00 89 f0 89 f3 0f ac f8 14 81 e3 ff ff 0f 00 48 8d
14 c5 b8 01 00 00 89 45 cc 89 55 f0 e9 8c 01 00 00 8b 4d c8 8b 75 f0 8b
41 18 &lt;8b&gt; 54 30 04 8b 04 30 31 f6 89 5d dc 89 d1 8b 55 b8 0f c8 0f c9

Reported-by: Eric Sesterhenn &lt;snakebyte@gmx.de&gt;
Signed-off-by: Bob Copeland &lt;me@bobcopeland.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>omfs: fix warning</title>
<updated>2008-08-05T21:33:49Z</updated>
<author>
<name>Alexander Beregalov</name>
</author>
<published>2008-08-05T20:01:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dc60bf1d8328076c27fe07c1849a5c8399bafc39'/>
<id>urn:sha1:dc60bf1d8328076c27fe07c1849a5c8399bafc39</id>
<content type='text'>
fs/omfs/inode.c:495: warning: format '%llx' expects type 'long long
	unsigned int', but argument 2 has type 'u64'
fs/omfs/inode.c:495: warning: format '%llx' expects type 'long
	long unsigned int', but argument 3 has type '__be64'

Signed-off-by: Alexander Beregalov &lt;a.beregalov@gmail.com&gt;
Acked-by: Bob Copeland &lt;me@bobcopeland.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>omfs: add inode routines</title>
<updated>2008-07-26T19:00:05Z</updated>
<author>
<name>Bob Copeland</name>
</author>
<published>2008-07-26T02:45:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=555e3775ced1d05203934fc6529bbf0560dd8733'/>
<id>urn:sha1:555e3775ced1d05203934fc6529bbf0560dd8733</id>
<content type='text'>
Add basic superblock and inode handling routines for OMFS

Signed-off-by: Bob Copeland &lt;me@bobcopeland.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
