From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Morton Subject: Re: [PATCH 1/2] omfs: fix potential oops when directory size is corrupted Date: Fri, 15 Aug 2008 00:19:56 -0700 Message-ID: <20080815001956.6b16f383.akpm@linux-foundation.org> References: <1218770022-31956-1-git-send-email-me@bobcopeland.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, snakebyte@gmx.de To: Bob Copeland Return-path: In-Reply-To: <1218770022-31956-1-git-send-email-me@bobcopeland.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Thu, 14 Aug 2008 23:13:41 -0400 Bob Copeland wrote: > --- a/fs/omfs/inode.c > +++ b/fs/omfs/inode.c > @@ -232,8 +232,7 @@ struct inode *omfs_iget(struct super_block *sb, ino_t ino) > inode->i_mode = S_IFDIR | (S_IRWXUGO & ~sbi->s_dmask); > inode->i_op = &omfs_dir_inops; > inode->i_fop = &omfs_dir_operations; > - inode->i_size = be32_to_cpu(oi->i_head.h_body_size) + > - sizeof(struct omfs_header); > + inode->i_size = sbi->s_sys_blocksize; > inc_nlink(inode); > break; > case OMFS_FILE: We don't need to use i_size_write() on this code path, but we do in other places. There's also i_size_read(). I wonder if omfs gets it right everywhere..