kernel-ark/fs/ufs
Evgeniy Dushistov c37336b078 [PATCH] ufs: write to hole in big file
On UFS, this scenario:
	open(O_TRUNC)
	lseek(1024 * 1024 * 80)
	write("A")
	lseek(1024 * 2)
	write("A")

may cause access to invalid address.

This happened because of "goal" is calculated in wrong way in block
allocation path, as I see this problem exists also in 2.4.

We use construction like this i_data[lastfrag], i_data array of pointers to
direct blocks, indirect and so on, it has ceratain size ~20 elements, and
lastfrag may have value for example 40000.

Also this patch fixes related to handling such scenario issues, wrong
zeroing metadata, in case of block(not fragment) allocation, and wrong goal
calculation, when we allocate block

Signed-off-by: Evgeniy Dushistov <dushistov@mail.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-08-27 11:01:31 -07:00
..
balloc.c [PATCH] ufs: handle truncated pages 2006-08-06 08:57:46 -07:00
cylinder.c [PATCH] ufs: easy debug 2006-06-25 10:01:03 -07:00
dir.c [PATCH] ufs: little directory lookup optimization 2006-06-25 10:01:03 -07:00
file.c [PATCH] ufs: truncate should allocate block for last byte 2006-07-01 09:56:03 -07:00
ialloc.c [PATCH] ufs: ubh_ll_rw_block cleanup 2006-06-25 10:01:04 -07:00
inode.c [PATCH] ufs: write to hole in big file 2006-08-27 11:01:31 -07:00
Makefile
namei.c [PATCH] ufs: remove incorrect unlock_kernel from failure path in ufs_symlink() 2006-07-31 13:28:42 -07:00
super.c [PATCH] lockdep: annotate the quota code 2006-07-03 15:27:08 -07:00
swab.h
symlink.c
truncate.c [PATCH] ufs: truncate should allocate block for last byte 2006-07-01 09:56:03 -07:00
util.c [PATCH] ufs: handle truncated pages 2006-08-06 08:57:46 -07:00
util.h [PATCH] ufs: truncate should allocate block for last byte 2006-07-01 09:56:03 -07:00