summaryrefslogtreecommitdiffstats
path: root/fs/cramfs
diff options
context:
space:
mode:
authorDave Jones <davej@redhat.com>2006-12-12 23:41:41 +0100
committerDave Jones <davej@redhat.com>2006-12-12 23:41:41 +0100
commitc4366889dda8110247be59ca41fddb82951a8c26 (patch)
tree705c1a996bed8fd48ce94ff33ec9fd00f9b94875 /fs/cramfs
parent[CPUFREQ] Longhaul - Add support for CN400 (diff)
parent[PATCH] remove config ordering/dependency between ucb1400-ts and sound subsystem (diff)
downloadlinux-c4366889dda8110247be59ca41fddb82951a8c26.tar.xz
linux-c4366889dda8110247be59ca41fddb82951a8c26.zip
Merge ../linus
Conflicts: drivers/cpufreq/cpufreq.c
Diffstat (limited to 'fs/cramfs')
-rw-r--r--fs/cramfs/inode.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/cramfs/inode.c b/fs/cramfs/inode.c
index a624c3ec8189..6db03fb089dc 100644
--- a/fs/cramfs/inode.c
+++ b/fs/cramfs/inode.c
@@ -338,7 +338,7 @@ static int cramfs_statfs(struct dentry *dentry, struct kstatfs *buf)
*/
static int cramfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
{
- struct inode *inode = filp->f_dentry->d_inode;
+ struct inode *inode = filp->f_path.dentry->d_inode;
struct super_block *sb = inode->i_sb;
char *buf;
unsigned int offset;
@@ -481,6 +481,8 @@ static int cramfs_readpage(struct file *file, struct page * page)
pgdata = kmap(page);
if (compr_len == 0)
; /* hole */
+ else if (compr_len > (PAGE_CACHE_SIZE << 1))
+ printk(KERN_ERR "cramfs: bad compressed blocksize %u\n", compr_len);
else {
mutex_lock(&read_mutex);
bytes_filled = cramfs_uncompress_block(pgdata,