 if ((unsigned)rs->cont_offset > blocksize - min_de_size || (unsigned)rs->cont_size > blocksize || (unsigned)(rs->cont_offset + rs->cont_size) > blocksize) { printk(KERN_NOTICE "rock: corrupted directory entry. " "extent=%d, offset=%d, size=%d\n", rs->cont_extent, rs->cont_offset, rs->cont_size); ret = -EIO; goto out; }  
static int rock_continue(struct rock_state *rs){	int ret = 1;	kfree(rs->buffer);	rs->buffer = NULL;	if (rs->cont_extent) {		struct buffer_head *bh;		rs->buffer = kmalloc(rs->cont_size, GFP_KERNEL);		if (!rs->buffer) {			ret = -ENOMEM;			goto out;		}		ret = -EIO;		bh = sb_bread(rs->inode->i_sb, rs->cont_extent);		if (bh) {			memcpy(rs->buffer, bh->b_data + rs->cont_offset,					rs->cont_size);			put_bh(bh);			rs->chr = rs->buffer;			rs->len = rs->cont_size;			rs->cont_extent = 0;			rs->cont_size = 0;			rs->cont_offset = 0;			return 0;		}		printk("Unable to read rock-ridge attributes\n");	}out:	kfree(rs->buffer);	rs->buffer = NULL;	return ret;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/e595447e177b39aa6c96baaa57b30cde2d8b9df7/rock.c/clean/fs/isofs/rock.c