Re: [PATCH] ext3/4: fix uninitialized bs in ext3/4_xattr_set_handle()

From: Tiger Yang
Date: Tue May 13 2008 - 03:48:48 EST


Hi, Eric,

I don't have tesecase about this bug. I did the test manually. I use khexedit to confirm the attributes whether in inody or block.
The problem about this bug is we want to replace an existing attribute in ibody with big size value which larger than free space in ibody.
Because we didn't do block_find(), so the struct bs have not been initialized. Then when we try to set attribute in block by block_set(), we find bs->base is empty, we need alloc a new block for attributes. The old block pointed by i_file_acl will lost with attributes in it.

Best regards,
tiger

Eric Sandeen wrote:
Tiger Yang wrote:
Hi,
I met a bug when I try to replace a xattr entry in ibody with a big size value. But in ibody there has no space for the new value. So it should set new xattr entry in block and remove the old xattr entry in ibody.

Best regards,
tiger


Tiger, do you have a testcase handy to demonstrate this?

Is the new, large out-of-inode xattr unique so that it does not match
any existing attribute block, I assume?

Thanks,

-Eric
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/