diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/char/tty_io.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c index 0bfc7af68917..e5953f3433f3 100644 --- a/drivers/char/tty_io.c +++ b/drivers/char/tty_io.c | |||
@@ -2480,7 +2480,7 @@ static void __do_SAK(void *arg) | |||
2480 | } | 2480 | } |
2481 | task_lock(p); | 2481 | task_lock(p); |
2482 | if (p->files) { | 2482 | if (p->files) { |
2483 | spin_lock(&p->files->file_lock); | 2483 | rcu_read_lock(); |
2484 | fdt = files_fdtable(p->files); | 2484 | fdt = files_fdtable(p->files); |
2485 | for (i=0; i < fdt->max_fds; i++) { | 2485 | for (i=0; i < fdt->max_fds; i++) { |
2486 | filp = fcheck_files(p->files, i); | 2486 | filp = fcheck_files(p->files, i); |
@@ -2495,7 +2495,7 @@ static void __do_SAK(void *arg) | |||
2495 | break; | 2495 | break; |
2496 | } | 2496 | } |
2497 | } | 2497 | } |
2498 | spin_unlock(&p->files->file_lock); | 2498 | rcu_read_unlock(); |
2499 | } | 2499 | } |
2500 | task_unlock(p); | 2500 | task_unlock(p); |
2501 | } while_each_task_pid(session, PIDTYPE_SID, p); | 2501 | } while_each_task_pid(session, PIDTYPE_SID, p); |