Andrew can you please get this patch. IMHO it is simple and clean. BTW: W/o patch unprivileged 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
> __generic_block_fiemap may spin very long time for large sparse files.
>
> Signed-off-by: Dmitry Monakhov <[email protected]>
> ---
> fs/ioctl.c | 5 +++++
> 1 files changed, 5 insertions(+), 0 deletions(-)
>
> diff --git a/fs/ioctl.c b/fs/ioctl.c
> index 8ac3fad..6fbeb68 100644
> --- 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);
>
> /* If ret is 1 then we just hit the end of the extent array */
> --
> 1.7.1
signature.asc
Description: PGP signature

