Messages in this thread Patch in this message | | | From | Dmitry Monakhov <> | Subject | Re: [PATCH] fs: make generic_block_fiemap sig-tolerant PING2... | Date | Fri, 19 Dec 2014 12:13:50 +0300 |
| |
Andrew Morton <akpm@linux-foundation.org> writes:
> On Wed, 10 Dec 2014 16:49:18 +0300 Dmitry Monakhov <dmonakhov@openvz.org> wrote: > >> >> Hello. Someone please take care of this patch. >> >> W/o that patch unprivileged user may abuse system resources simply by spawning >> wast number of unkilable busyloops (works on ext2/ext3): >> >> truncate --size 1T test >> for ((i=0;i<1024;i++)) >> do >> filefrag test > /dev/null & >> done >> >> >> --- a/fs/ioctl.c >> >> +++ b/fs/ioctl.c >> >> @@ -379,6 +379,11 @@ int __generic_block_fiemap(struct inode *inode, >> >> past_eof = true; >> >> } >> >> cond_resched(); >> >> + if (fatal_signal_pending(current)) { >> >> + ret = -EINTR; >> >> + break; >> >> + } >> >> + >> >> } while (1); >> >> > > Is FIEMAP documented anywhere (manpage)? If so, that will need an > update. Yes you right. I just thought that it is assumed by default. The only place I know is Documentation/filesystems/fiemap.txt Please fold patch attached to original one. [unhandled content-type:application/pgp-signature]From f7af425b2ac920065491a478b4f4359f422b3453 Mon Sep 17 00:00:00 2001 From: Dmitry Monakhov <dmonakhov@openvz.org> Date: Fri, 19 Dec 2014 13:11:29 +0400 Subject: [PATCH] doc: fimemap update signal behaviour
Signed-off-by: Dmitry Monakhov <dmonakhov@openvz.org> --- Documentation/filesystems/fiemap.txt | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/Documentation/filesystems/fiemap.txt b/Documentation/filesystems/fiemap.txt index 1b805a0..f6d9c99 100644 --- a/Documentation/filesystems/fiemap.txt +++ b/Documentation/filesystems/fiemap.txt @@ -196,7 +196,8 @@ struct fiemap_extent_info { }; It is intended that the file system should not need to access any of this -structure directly. +structure directly. Filesystem handlers should be tolerant to signals and return +EINTR once fatal signal received. Flag checking should be done at the beginning of the ->fiemap callback via the -- 1.7.1
| |