diff options
Diffstat (limited to 'fs/file.c')
-rw-r--r-- | fs/file.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/file.c b/fs/file.c index 66923fe3176e..ab3eb6a88239 100644 --- a/fs/file.c +++ b/fs/file.c @@ -367,7 +367,7 @@ static struct fdtable *close_files(struct files_struct * files) struct file * file = xchg(&fdt->fd[i], NULL); if (file) { filp_close(file, files); - cond_resched(); + cond_resched_rcu_qs(); } } i++; @@ -750,6 +750,7 @@ bool get_close_on_exec(unsigned int fd) static int do_dup2(struct files_struct *files, struct file *file, unsigned fd, unsigned flags) +__releases(&files->file_lock) { struct file *tofree; struct fdtable *fdt; |