Loading fs/ufs/dir.c +1 −16 Original line number Diff line number Diff line Loading @@ -279,12 +279,6 @@ struct ufs_dir_entry *ufs_find_entry(struct inode *dir, const struct qstr *qstr, de = (struct ufs_dir_entry *) kaddr; kaddr += ufs_last_byte(dir, n) - reclen; while ((char *) de <= kaddr) { if (de->d_reclen == 0) { ufs_error(dir->i_sb, __func__, "zero-length directory entry"); ufs_put_page(page); goto out; } if (ufs_match(sb, namelen, name, de)) goto found; de = ufs_next_entry(sb, de); Loading Loading @@ -414,11 +408,8 @@ ufs_validate_entry(struct super_block *sb, char *base, { struct ufs_dir_entry *de = (struct ufs_dir_entry*)(base + offset); struct ufs_dir_entry *p = (struct ufs_dir_entry*)(base + (offset&mask)); while ((char*)p < (char*)de) { if (p->d_reclen == 0) break; while ((char*)p < (char*)de) p = ufs_next_entry(sb, p); } return (char *)p - base; } Loading Loading @@ -469,12 +460,6 @@ ufs_readdir(struct file *file, struct dir_context *ctx) de = (struct ufs_dir_entry *)(kaddr+offset); limit = kaddr + ufs_last_byte(inode, n) - UFS_DIR_REC_LEN(1); for ( ;(char*)de <= limit; de = ufs_next_entry(sb, de)) { if (de->d_reclen == 0) { ufs_error(sb, __func__, "zero-length directory entry"); ufs_put_page(page); return -EIO; } if (de->d_ino) { unsigned char d_type = DT_UNKNOWN; Loading Loading
fs/ufs/dir.c +1 −16 Original line number Diff line number Diff line Loading @@ -279,12 +279,6 @@ struct ufs_dir_entry *ufs_find_entry(struct inode *dir, const struct qstr *qstr, de = (struct ufs_dir_entry *) kaddr; kaddr += ufs_last_byte(dir, n) - reclen; while ((char *) de <= kaddr) { if (de->d_reclen == 0) { ufs_error(dir->i_sb, __func__, "zero-length directory entry"); ufs_put_page(page); goto out; } if (ufs_match(sb, namelen, name, de)) goto found; de = ufs_next_entry(sb, de); Loading Loading @@ -414,11 +408,8 @@ ufs_validate_entry(struct super_block *sb, char *base, { struct ufs_dir_entry *de = (struct ufs_dir_entry*)(base + offset); struct ufs_dir_entry *p = (struct ufs_dir_entry*)(base + (offset&mask)); while ((char*)p < (char*)de) { if (p->d_reclen == 0) break; while ((char*)p < (char*)de) p = ufs_next_entry(sb, p); } return (char *)p - base; } Loading Loading @@ -469,12 +460,6 @@ ufs_readdir(struct file *file, struct dir_context *ctx) de = (struct ufs_dir_entry *)(kaddr+offset); limit = kaddr + ufs_last_byte(inode, n) - UFS_DIR_REC_LEN(1); for ( ;(char*)de <= limit; de = ufs_next_entry(sb, de)) { if (de->d_reclen == 0) { ufs_error(sb, __func__, "zero-length directory entry"); ufs_put_page(page); return -EIO; } if (de->d_ino) { unsigned char d_type = DT_UNKNOWN; Loading