From e62e560fc8b65ef5debc9041a792d18a8f98b2ca Mon Sep 17 00:00:00 2001
From: "Darrick J. Wong" <darrick.wong@oracle.com>
Date: Fri, 22 Jan 2016 16:58:28 -0800
Subject: [PATCH] vfs: abort dedupe loop if fatal signals are pending

If the program running dedupe receives a fatal signal during the
dedupe loop, we should bail out to avoid tying up the system.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
---
 fs/read_write.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/fs/read_write.c b/fs/read_write.c
index fa05985f700e..324ec271cc4e 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -1656,6 +1656,9 @@ int vfs_dedupe_file_range(struct file *file, struct file_dedupe_range *same)
 		mnt_drop_write_file(dst_file);
 next_loop:
 		fdput(dst_fd);
+
+		if (fatal_signal_pending(current))
+			goto out;
 	}
 
 out:
-- 
GitLab