android_kernel_xiaomi_sm8350/fs
Miklos Szeredi 08a53cdce6 [PATCH] fuse: account background requests
The previous patch removed limiting the number of outstanding requests.  This
patch adds a much simpler limiting, that is also compatible with file locking
operations.

A task may have at most one synchronous request allocated.  So these requests
need not be otherwise limited.

However the number of background requests (release, forget, asynchronous
reads, interrupted requests) can grow indefinitely.  This can be used by a
malicous user to cause FUSE to allocate arbitrary amounts of unswappable
kernel memory, denying service.

For this reason add a limit for the number of background requests, and block
allocations of new requests until the number goes bellow the limit.

Also use this mechanism to block all requests until the INIT reply is
received.

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-04-11 06:18:49 -07:00
..
9p [PATCH] 9p: handle sget() failure 2006-04-11 06:18:41 -07:00
adfs
affs
afs
autofs
autofs4
befs
bfs
cifs
coda
configfs [PATCH] Bogus NULL pointer check in fs/configfs/dir.c 2006-04-10 11:16:17 -07:00
cramfs
debugfs
devfs
devpts
efs
exportfs
ext2
ext3 [PATCH] ext3: Fix missed mutex unlock 2006-04-11 06:18:46 -07:00
fat
freevxfs BUG_ON() Conversion in fs/freevxfs/ 2006-04-02 13:41:02 +02:00
fuse [PATCH] fuse: account background requests 2006-04-11 06:18:49 -07:00
hfs
hfsplus
hostfs
hpfs
hppfs
hugetlbfs
isofs
jbd
jffs
jffs2
jfs
lockd
minix
msdos
ncpfs
nfs
nfs_common
nfsd
nls
ntfs
ocfs2 ocfs2: Better I/O error handling in heartbeat 2006-04-07 18:03:09 -07:00
openpromfs
partitions
proc [PATCH] kdump proc vmcore size oveflow fix 2006-04-11 06:18:42 -07:00
qnx4
ramfs
reiserfs
romfs
smbfs
sysfs [PATCH] sysfs: zero terminate sysfs write buffers 2006-04-02 13:03:31 -07:00
sysv
udf
ufs
vfat
xfs [PATCH] Add GFP_NOWAIT 2006-04-11 06:18:35 -07: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
char_dev.c
compat_ioctl.c
compat.c
dcache.c
dcookies.c
direct-io.c
dnotify.c
dquot.c
drop_caches.c
eventpoll.c [PATCH] uniform POLLRDHUP handling between epoll and poll/select 2006-04-11 06:18:42 -07:00
exec.c [PATCH] process accounting: take original leader's start_time in non-leader exec 2006-04-11 06:18:42 -07:00
fcntl.c
fifo.c
file_table.c
file.c
filesystems.c
fs-writeback.c
inode.c
inotify.c [PATCH] inotify: check for NULL inode in inotify_d_instantiate 2006-04-11 06:18:45 -07:00
ioctl.c
ioprio.c
Kconfig [PATCH] kdump: enable CONFIG_PROC_VMCORE by default 2006-04-11 06:18:45 -07:00
Kconfig.binfmt
libfs.c
locks.c
Makefile
mbcache.c
mpage.c
namei.c
namespace.c [PATCH] vfs: propagate mnt_flags into do_loopback/vfsmount 2006-04-11 06:18:41 -07:00
nfsctl.c
open.c
pipe.c [PATCH] splice: fix page stealing LRU handling. 2006-04-02 23:11:04 +02:00
pnode.c
pnode.h
posix_acl.c
quota_v1.c
quota_v2.c
quota.c
read_write.c
readdir.c
select.c [PATCH] select: don't overflow if (SELECT_STACK_ALLOC % sizeof(long) != 0) 2006-04-11 06:18:41 -07:00
seq_file.c
splice.c [PATCH] splice: fix page stealing LRU handling. 2006-04-02 23:11:04 +02:00
stat.c
super.c
sync.c [PATCH] sync_file_range(): use unsigned for flags 2006-04-11 06:18:40 -07:00
xattr_acl.c
xattr.c