kernel-ark/fs
Miklos Szeredi 095da6cbb6 [PATCH] fuse: fix bitfield race
Fix race in setting bitfields of fuse_conn.  Spotted by Andrew Morton.

The two fields ->connected and ->mounted were always changed with the
fuse_lock held.  But other bitfields in the same structure were changed
without the lock.  In theory this could lead to losing the assignment of
even the ones under lock.  The chosen solution is to change these two
fields to be a full unsigned type.  The other bitfields aren't "important"
enough to warrant the extra complexity of full locking or changing them to
bitops.

For all bitfields document why they are safe wrt. concurrent
assignments.

Also make the initialization of the 'num_waiting' atomic counter explicit.

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16 23:15:31 -08:00
..
9p
adfs
affs
afs
autofs
autofs4
befs
bfs
cifs
coda
configfs
cramfs
debugfs
devfs
devpts
efs
exportfs
ext2 [PATCH] ext2: remove d_splice_alias NULL check from ext2_lookup 2006-01-14 18:27:10 -08:00
ext3 [PATCH] ext3: remove d_splice_alias NULL check from ext3_lookup 2006-01-14 18:27:10 -08:00
fat
freevxfs
fuse [PATCH] fuse: fix bitfield race 2006-01-16 23:15:31 -08:00
hfs
hfsplus
hostfs
hpfs
hppfs
hugetlbfs
isofs [PATCH] isofs: remove d_splice_alias NULL check from isofs_lookup 2006-01-14 18:27:12 -08:00
jbd
jffs
jffs2
jfs
lockd
minix
msdos
ncpfs [PATCH] ncpfs: remove kmalloc wrapper 2006-01-14 18:27:12 -08:00
nfs
nfs_common
nfsd
nls
ntfs
ocfs2
openpromfs
partitions [PATCH] partitions: Read Rio Karma partition table 2006-01-16 23:15:29 -08:00
proc
qnx4
ramfs
reiserfs [PATCH] reiserfs: remove d_splice_alias NULL check from reiserfs_lookup 2006-01-14 18:27:12 -08:00
relayfs
romfs
smbfs [PATCH] smbfs: remove kmalloc wrapper 2006-01-14 18:27:13 -08:00
sysfs
sysv
udf
ufs
vfat
xfs Merge git://oss.sgi.com:8090/oss/git/xfs-2.6 2006-01-15 22:18:04 -08:00
aio.c
attr.c
bad_inode.c
binfmt_aout.c
binfmt_elf_fdpic.c
binfmt_elf.c
binfmt_em86.c
binfmt_flat.c
binfmt_misc.c
binfmt_script.c
binfmt_som.c
bio.c
block_dev.c
buffer.c Make alloc_page_buffers() initialise buffer_heads using init_buffer(), 2006-01-17 09:02:07 +11:00
char_dev.c
compat_ioctl.c
compat.c
dcache.c
dcookies.c
direct-io.c
dnotify.c
dquot.c
drop_caches.c
eventpoll.c
exec.c
fcntl.c
fifo.c
file_table.c
file.c
filesystems.c
fs-writeback.c
inode.c
inotify.c
ioctl.c
ioprio.c
Kconfig
Kconfig.binfmt
libfs.c
locks.c
Makefile
mbcache.c
mpage.c
namei.c [PATCH] Mark some key VFS functions as __always_inline 2006-01-14 18:27:15 -08:00
namespace.c [PATCH] add /sys/fs 2006-01-16 23:15:29 -08:00
nfsctl.c
open.c
pipe.c
pnode.c
pnode.h
posix_acl.c
quota_v1.c
quota_v2.c [PATCH] quota: make useless quota error message informative 2006-01-14 18:27:12 -08:00
quota.c
read_write.c
readdir.c
select.c
seq_file.c
stat.c
super.c
xattr_acl.c
xattr.c