X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=fs%2Ffile.c;h=ab3eb6a8823940643ab376782cd9a1e47c583c98;hb=de55bbbff21ce8e11271c3032086b082af815864;hp=66923fe3176e49b03617e2f5477bb8e05fc89dc3;hpb=b0ae27c477b19d1da015e6ace0a5707d4173ff8b;p=firefly-linux-kernel-4.4.55.git 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;