]> git.baikalelectronics.ru Git - kernel.git/commit
fsioctl.c: make generic_block_fiemap() signal-tolerant
authorDmitry Monakhov <dmonakhov@openvz.org>
Tue, 10 Feb 2015 22:09:29 +0000 (14:09 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 10 Feb 2015 22:30:30 +0000 (14:30 -0800)
commitc32024e5e095cea6ca876ee31159955ad2ee1e72
treed583200d611573204224ac54bb7f7f1a633950ef
parent21e3bfc44e78a2672062db67caf55596a4a76860
fsioctl.c: make generic_block_fiemap() signal-tolerant

__generic_block_fiemap may spin very long time for large sparse files.

Without this patch an unprivileged user may abuse system resources simply
by spawning a vast number of unkilable busyloops (works on ext2/ext3):

  truncate --size 1T test
  for ((i=0;i<1024;i++))
  do
         filefrag test > /dev/null &
  done

Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org>
Cc: Theodore Ts'o <tytso@mit.edu>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Michael Kerrisk <mtk.manpages@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Documentation/filesystems/fiemap.txt
fs/ioctl.c