1
linux/fs/ocfs2
Tao Ma 712e53e46a ocfs2: Use xs->bucket to set xattr value outside
A long time ago, xs->base is allocated a 4K size and all the contents
in the bucket are copied to the it. Now we use ocfs2_xattr_bucket to
abstract xattr bucket and xs->base is initialized to the start of the
bu_bhs[0]. So xs->base + offset will overflow when the value root is
stored outside the first block.

Then why we can survive the xattr test by now? It is because we always
read the bucket contiguously now and kernel mm allocate continguous
memory for us. We are lucky, but we should fix it. So just get the
right value root as other callers do.

Signed-off-by: Tao Ma <tao.ma@oracle.com>
Acked-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mfasheh@suse.com>
2009-03-12 16:46:09 -07:00
..
cluster trivial: fix then -> than typos in comments and documentation 2009-01-06 11:28:06 +01:00
dlm ocfs2/dlm: Make dlm_assert_master_handler() kill itself instead of the asserter 2009-02-26 11:51:11 -08:00
acl.c ocfs2: add ocfs2_init_acl in mknod 2009-01-05 08:34:20 -08:00
acl.h ocfs2: add ocfs2_init_acl in mknod 2009-01-05 08:34:20 -08:00
alloc.c ocfs2: Fix a bug found by sparse check. 2009-03-12 16:46:01 -07:00
alloc.h ocfs2: Create ocfs2_xattr_value_buf. 2009-01-05 08:40:32 -08:00
aops.c ocfs2: tweak to get the maximum inline data size with xattr 2009-03-12 16:45:46 -07:00
aops.h
blockcheck.c ocfs2: One more hamming code optimization. 2009-01-05 08:40:35 -08:00
blockcheck.h ocfs2: Add the underlying blockcheck code. 2009-01-05 08:40:31 -08:00
buffer_head_io.c ocfs2: Use BH_JBDPrivateStart instead of BH_Unshadow 2009-01-05 08:40:24 -08:00
buffer_head_io.h ocfs2: Validate metadata only when it's read from disk. 2009-01-05 08:36:53 -08:00
dcache.c ocfs2: Push out dropping of dentry lock to ocfs2_wq 2009-02-02 14:20:16 -08:00
dcache.h ocfs2: Push out dropping of dentry lock to ocfs2_wq 2009-02-02 14:20:16 -08:00
dir.c ocfs2: Checksum and ECC for directory blocks. 2009-01-05 08:40:34 -08:00
dir.h ocfs2: Checksum and ECC for directory blocks. 2009-01-05 08:40:34 -08:00
dlmglue.c ocfs2: Cleanup the lockname print in dlmglue.c 2009-02-26 11:51:09 -08:00
dlmglue.h ocfs2: Implementation of local and global quota file handling 2009-01-05 08:40:23 -08:00
export.c [PATCH] switch all filesystems over to d_obtain_alias 2008-10-23 05:13:01 -04:00
export.h
extent_map.c ocfs2: Wrap virtual block reads in ocfs2_read_virt_blocks() 2009-01-05 08:36:54 -08:00
extent_map.h ocfs2: Wrap virtual block reads in ocfs2_read_virt_blocks() 2009-01-05 08:36:54 -08:00
file.c remove lots of double-semicolons 2009-01-08 08:31:14 -08:00
file.h ocfs2: Implementation of local and global quota file handling 2009-01-05 08:40:23 -08:00
heartbeat.c
heartbeat.h
inode.c ocfs2: Use metadata-specific ocfs2_journal_access_*() functions. 2009-01-05 08:40:32 -08:00
inode.h ocfs2: Implementation of local and global quota file handling 2009-01-05 08:40:23 -08:00
ioctl.c ocfs2: Don't check for NULL before brelse() 2008-10-13 17:02:44 -07:00
ioctl.h
journal.c ocfs2: Checksum and ECC for directory blocks. 2009-01-05 08:40:34 -08:00
journal.h jbd2: Avoid possible NULL dereference in jbd2_journal_begin_ordered_truncate() 2009-02-10 11:15:34 -05:00
Kconfig fs/Kconfig: move ocfs2 out 2009-01-22 13:15:54 +03:00
localalloc.c ocfs2: Use metadata-specific ocfs2_journal_access_*() functions. 2009-01-05 08:40:32 -08:00
localalloc.h ocfs2: throttle back local alloc when low on disk space 2008-10-13 13:57:57 -07:00
locks.c
locks.h
Makefile ocfs2: Add the underlying blockcheck code. 2009-01-05 08:40:31 -08:00
mmap.c ocfs2: return 0 in page_mkwrite to let VFS retry. 2008-11-10 09:51:47 -08:00
mmap.h
namei.c ocfs2: tweak to get the maximum inline data size with xattr 2009-03-12 16:45:46 -07:00
namei.h
ocfs1_fs_compat.h
ocfs2_fs.h ocfs2: tweak to get the maximum inline data size with xattr 2009-03-12 16:45:46 -07:00
ocfs2_lockid.h ocfs2: Implementation of local and global quota file handling 2009-01-05 08:40:23 -08:00
ocfs2_lockingver.h
ocfs2.h ocfs2: lock the metaecc process for xattr bucket 2009-02-26 11:51:11 -08:00
quota_global.c ocfs2: Fix possible deadlock in ocfs2_write_dquot() 2009-02-02 14:20:17 -08:00
quota_local.c ocfs2: Use metadata-specific ocfs2_journal_access_*() functions. 2009-01-05 08:40:32 -08:00
quota.h ocfs2: Fix ocfs2_read_quota_block() error handling. 2009-01-05 08:40:24 -08:00
resize.c ocfs2: Use metadata-specific ocfs2_journal_access_*() functions. 2009-01-05 08:40:32 -08:00
resize.h
slot_map.c ocfs2: Validate metadata only when it's read from disk. 2009-01-05 08:36:53 -08:00
slot_map.h
stack_o2cb.c
stack_user.c ocfs2: initialize stack_user lvbptr 2008-12-01 14:46:39 -08:00
stackglue.c ocfs2: Remove pointless !! 2008-10-13 17:02:44 -07:00
stackglue.h
suballoc.c ocfs2: Use metadata-specific ocfs2_journal_access_*() functions. 2009-01-05 08:40:32 -08:00
suballoc.h ocfs2: Validate metadata only when it's read from disk. 2009-01-05 08:36:53 -08:00
super.c ocfs2: add IO error check in ocfs2_get_sector() 2009-02-26 11:51:12 -08:00
super.h
symlink.c ocfs2: Wrap inode block reads in a dedicated function. 2009-01-05 08:36:52 -08:00
symlink.h
sysfile.c
sysfile.h
uptodate.c ocfs2: use smaller counters in ocfs2_remove_xattr_clusters_from_cache 2008-10-13 17:02:44 -07:00
uptodate.h ocfs2: Add helper function in uptodate.c for removing xattr clusters 2008-10-13 13:57:59 -07:00
ver.c
ver.h
xattr.c ocfs2: Use xs->bucket to set xattr value outside 2009-03-12 16:46:09 -07:00
xattr.h ocfs2: Create ocfs2_xattr_value_buf. 2009-01-05 08:40:32 -08:00