linux/fs/xfs
David Chinner 450790a2c5 [XFS] Fix oops in xfs_file_readdir()
When xfs_file_readdir() exactly fills a buffer, it can move it's index
past the end of the buffer and dereference it even though the result of
the dereference is never used. On some platforms this causes an oops.

SGI-PV: 976923
SGI-Modid: xfs-linux-melb:xfs-kern:30458a

Signed-off-by: David Chinner <dgc@sgi.com>
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
2008-02-07 18:24:13 +11:00
..
linux-2.6 [XFS] Fix oops in xfs_file_readdir() 2008-02-07 18:24:13 +11:00
quota [XFS] Remove the BPCSHIFT and NB* based macros from XFS. 2008-02-07 18:17:58 +11:00
support [XFS] lose xfs_hex_dump in favor of print_hex_dump 2008-02-07 18:13:05 +11:00
Kbuild
Kconfig [PATCH] BLOCK: Make it possible to disable the block layer [try #6] 2006-09-30 20:52:31 +02:00
Makefile
Makefile-linux-2.6 [XFS] kill xfs_iocore_t 2008-02-07 16:48:58 +11:00
xfs_acl.c [XFS] use generic_permission 2008-02-07 18:22:38 +11:00
xfs_acl.h [XFS] use generic_permission 2008-02-07 18:22:38 +11:00
xfs_ag.h [XFS] Unwrap pagb_lock. 2008-02-07 16:46:39 +11:00
xfs_alloc_btree.c [XFS] Lazy Superblock Counters 2007-07-14 15:28:50 +10:00
xfs_alloc_btree.h [XFS] Remove unused arguments from the XFS_BTREE_*_ADDR macros. 2007-02-10 18:37:33 +11:00
xfs_alloc.c [XFS] Remove spin.h 2008-02-07 16:47:45 +11:00
xfs_alloc.h [XFS] Lazy Superblock Counters 2007-07-14 15:28:50 +10:00
xfs_arch.h [XFS] Merge in trivial changes, sync up headers with userspace 2006-01-12 10:29:53 +11:00
xfs_attr_leaf.c [XFS] Unwrap XFS_SB_LOCK. 2008-02-07 16:47:15 +11:00
xfs_attr_leaf.h [XFS] Add EA list callbacks for xfs kernel use. Cleanup some namespace 2006-09-28 11:01:37 +10:00
xfs_attr_sf.h [XFS] endianess annotations for xfs_attr_shortform_t 2006-03-17 17:29:25 +11:00
xfs_attr.c [XFS] Fix up sparse warnings. 2008-02-07 18:14:38 +11:00
xfs_attr.h [XFS] kill struct bhv_vnode 2007-10-16 11:40:24 +10:00
xfs_bit.c [XFS] Use the generic bitops rather than implementing them ourselves. 2008-02-07 18:14:22 +11:00
xfs_bit.h [XFS] Fix xfs_lowbit64 2008-02-07 18:19:41 +11:00
xfs_bmap_btree.c [XFS] optimize XFS_IS_REALTIME_INODE w/o realtime config 2008-02-07 18:16:43 +11:00
xfs_bmap_btree.h [XFS] endianess annotations for xfs_bmbt_rec_t 2007-10-15 16:26:44 +10:00
xfs_bmap.c [XFS] Remove the BPCSHIFT and NB* based macros from XFS. 2008-02-07 18:17:58 +11:00
xfs_bmap.h [XFS] Fix up sparse warnings. 2008-02-07 18:14:38 +11:00
xfs_btree.c [XFS] endianess annotations for xfs_bmbt_key Trivial as there are no 2006-09-28 10:58:17 +10:00
xfs_btree.h [XFS] Fix up sparse warnings. 2008-02-07 18:14:38 +11:00
xfs_buf_item.c [XFS] Unwrap AIL_LOCK 2008-02-07 16:44:23 +11:00
xfs_buf_item.h [XFS] Fix up sparse warnings. 2008-02-07 18:14:38 +11:00
xfs_clnt.h [XFS] Radix tree based inode caching 2007-10-15 16:50:50 +10:00
xfs_da_btree.c [XFS] Unwrap xfs_dabuf_global_lock 2008-02-07 16:46:48 +11:00
xfs_da_btree.h [XFS] Fix up sparse warnings. 2008-02-07 18:14:38 +11:00
xfs_dfrag.c [XFS] stop re-checking permissions in xfs_swapext 2008-02-07 18:22:24 +11:00
xfs_dfrag.h [XFS] Add parameters to xfs_bmapi() and xfs_bunmapi() to have them report 2006-06-09 14:48:12 +10:00
xfs_dinode.h [XFS] Remove CFORK macros and use code directly in IFORK and DFORK macros. 2008-02-07 18:19:24 +11:00
xfs_dir2_block.c [XFS] Put the correct offset in dirent d_off 2007-12-18 17:16:23 +11:00
xfs_dir2_block.h [XFS] use filldir internally 2007-10-15 16:49:49 +10:00
xfs_dir2_data.c [XFS] Radix tree based inode caching 2007-10-15 16:50:50 +10:00
xfs_dir2_data.h [XFS] Reduce shouting by removing unnecessary macros from dir2 code. 2007-07-14 15:37:02 +10:00
xfs_dir2_leaf.c [XFS] Put the correct offset in dirent d_off 2007-12-18 17:16:23 +11:00
xfs_dir2_leaf.h [XFS] use filldir internally 2007-10-15 16:49:49 +10:00
xfs_dir2_node.c [XFS] Radix tree based inode caching 2007-10-15 16:50:50 +10:00
xfs_dir2_node.h [XFS] Reduce shouting by removing unnecessary macros from dir2 code. 2007-07-14 15:37:02 +10:00
xfs_dir2_sf.c [XFS] Put the correct offset in dirent d_off 2007-12-18 17:16:23 +11:00
xfs_dir2_sf.h [XFS] use filldir internally 2007-10-15 16:49:49 +10:00
xfs_dir2_trace.c [XFS] Remove version 1 directory code. Never functioned on Linux, just 2006-06-20 13:04:51 +10:00
xfs_dir2_trace.h
xfs_dir2.c [XFS] Fix up sparse warnings. 2008-02-07 18:14:38 +11:00
xfs_dir2.h [XFS] decontaminate vnode operations from behavior details 2007-10-15 16:54:29 +10:00
xfs_dmapi.h [XFS] kill the vfs_flags member in struct bhv_vfs 2007-10-16 11:45:57 +10:00
xfs_dmops.c [XFS] fixups after behavior removal merge into mainline git 2007-10-19 17:14:45 +10:00
xfs_error.c [XFS] lose xfs_hex_dump in favor of print_hex_dump 2008-02-07 18:13:05 +11:00
xfs_error.h [XFS] lose xfs_hex_dump in favor of print_hex_dump 2008-02-07 18:13:05 +11:00
xfs_extfree_item.c [XFS] Unwrap AIL_LOCK 2008-02-07 16:44:23 +11:00
xfs_extfree_item.h [XFS] cleanup the field types of some item format structures 2006-09-28 10:55:43 +10:00
xfs_filestream.c [XFS] Fix up sparse warnings. 2008-02-07 18:14:38 +11:00
xfs_filestream.h [XFS] Concurrent Multi-File Data Streams 2007-07-14 15:40:53 +10:00
xfs_fs.h [XFS] fix 32-bit compat ioctls for GETXFLAGS, SETXFLAGS, GETVERSION 2008-02-07 18:13:17 +11:00
xfs_fsops.c [XFS] Unwrap XFS_SB_LOCK. 2008-02-07 16:47:15 +11:00
xfs_fsops.h [XFS] Write log dummy record when freezing filesystem 2006-01-11 15:30:08 +11:00
xfs_ialloc_btree.c [XFS] use NULL for pointer initialisation instead of zero-cast-to-ptr 2006-09-28 10:58:40 +10:00
xfs_ialloc_btree.h [XFS] kill XFS_INOBT_IS_FREE_DISK 2008-02-07 18:12:41 +11:00
xfs_ialloc.c [XFS] dinode endianess annotations 2007-10-15 16:48:30 +10:00
xfs_ialloc.h [XFS] Pick a single default inode cluster size. 2007-10-15 16:39:35 +10:00
xfs_iget.c [XFS] Fix inode allocation latency 2008-02-07 18:16:07 +11:00
xfs_imap.h
xfs_inode_item.c [XFS] Fix inode allocation latency 2008-02-07 18:16:07 +11:00
xfs_inode_item.h [XFS] cleanup the field types of some item format structures 2006-09-28 10:55:43 +10:00
xfs_inode.c [XFS] use generic_permission 2008-02-07 18:22:38 +11:00
xfs_inode.h [XFS] use generic_permission 2008-02-07 18:22:38 +11:00
xfs_inum.h
xfs_iomap.c [XFS] optimize XFS_IS_REALTIME_INODE w/o realtime config 2008-02-07 18:16:43 +11:00
xfs_iomap.h [XFS] kill unnessecary ioops indirection 2008-02-07 16:44:14 +11:00
xfs_itable.c [XFS] Remove CFORK macros and use code directly in IFORK and DFORK macros. 2008-02-07 18:19:24 +11:00
xfs_itable.h [XFS] Fix XFS_IOC_FSBULKSTAT{,_SINGLE} & XFS_IOC_FSINUMBERS in compat mode 2007-07-14 15:42:50 +10:00
xfs_log_priv.h [XFS] xlog_rec_header/xlog_rec_ext_header endianess annotations 2008-02-07 18:11:47 +11:00
xfs_log_recover.c [XFS] prevent panic during log recovery due to bogus op_hdr length 2008-02-07 18:20:58 +11:00
xfs_log_recover.h
xfs_log.c [XFS] Move AIL pushing into it's own thread 2008-02-07 18:22:51 +11:00
xfs_log.h [XFS] xlog_rec_header/xlog_rec_ext_header endianess annotations 2008-02-07 18:11:47 +11:00
xfs_mount.c [XFS] Move AIL pushing into it's own thread 2008-02-07 18:22:51 +11:00
xfs_mount.h [XFS] Move AIL pushing into it's own thread 2008-02-07 18:22:51 +11:00
xfs_mru_cache.c [XFS] Fix up sparse warnings. 2008-02-07 18:14:38 +11:00
xfs_mru_cache.h [XFS] On-demand reaping of the MRU cache 2007-09-17 16:42:02 +10:00
xfs_qmops.c [XFS] Unwrap XFS_SB_LOCK. 2008-02-07 16:47:15 +11:00
xfs_quota.h [XFS] remove dependency of the quota module on behaviors 2007-10-16 11:43:26 +10:00
xfs_refcache.h
xfs_rename.c [XFS] Fix up sparse warnings. 2008-02-07 18:14:38 +11:00
xfs_rtalloc.c [XFS] Use the generic bitops rather than implementing them ourselves. 2008-02-07 18:14:22 +11:00
xfs_rtalloc.h [XFS] optimize XFS_IS_REALTIME_INODE w/o realtime config 2008-02-07 18:16:43 +11:00
xfs_rw.c [XFS] decontaminate vfs operations from behavior details 2007-10-16 11:43:55 +10:00
xfs_rw.h [XFS] optimize XFS_IS_REALTIME_INODE w/o realtime config 2008-02-07 18:16:43 +11:00
xfs_sb.h [XFS] superblock endianess annotations 2007-10-15 16:49:09 +10:00
xfs_trans_ail.c [XFS] Make xfs_ail_check check less by default 2008-02-07 18:23:05 +11:00
xfs_trans_buf.c Revert "[XFS] Avoid replaying inode buffer initialisation log items if on-disk version is newer." 2007-10-01 07:59:03 -07:00
xfs_trans_extfree.c [XFS] Radix tree based inode caching 2007-10-15 16:50:50 +10:00
xfs_trans_inode.c [XFS] Remove version 1 directory code. Never functioned on Linux, just 2006-06-20 13:04:51 +10:00
xfs_trans_item.c [XFS] Fix up sparse warnings. 2008-02-07 18:14:38 +11:00
xfs_trans_priv.h [XFS] Move AIL pushing into it's own thread 2008-02-07 18:22:51 +11:00
xfs_trans_space.h [XFS] Remove version 1 directory code. Never functioned on Linux, just 2006-06-20 13:04:51 +10:00
xfs_trans.c [XFS] Unwrap AIL_LOCK 2008-02-07 16:44:23 +11:00
xfs_trans.h [XFS] Move AIL pushing into it's own thread 2008-02-07 18:22:51 +11:00
xfs_types.h [XFS] use filldir internally 2007-10-15 16:49:49 +10:00
xfs_utils.c [XFS] keep i_nlink updated and use proper accessors 2008-02-07 18:23:38 +11:00
xfs_utils.h [XFS] clean up vnode/inode tracing 2008-02-07 16:42:19 +11:00
xfs_vfsops.c [XFS] kill xfs_root 2008-02-07 18:24:00 +11:00
xfs_vfsops.h [XFS] kill xfs_root 2008-02-07 18:24:00 +11:00
xfs_vnodeops.c [XFS] stop updating inode->i_blocks 2008-02-07 18:23:15 +11:00
xfs_vnodeops.h [XFS] use generic_permission 2008-02-07 18:22:38 +11:00
xfs.h [XFS] clean up vnode/inode tracing 2008-02-07 16:42:19 +11:00