diff options
Diffstat (limited to 'drivers/char/tty_io.c')
-rw-r--r-- | drivers/char/tty_io.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/char/tty_io.c b/drivers/char/tty_io.c index fde69e589ca7..de37ebc3a4cf 100644 --- a/drivers/char/tty_io.c +++ b/drivers/char/tty_io.c | |||
@@ -1503,6 +1503,15 @@ int tty_hung_up_p(struct file * filp) | |||
1503 | 1503 | ||
1504 | EXPORT_SYMBOL(tty_hung_up_p); | 1504 | EXPORT_SYMBOL(tty_hung_up_p); |
1505 | 1505 | ||
1506 | /** | ||
1507 | * is_tty - checker whether file is a TTY | ||
1508 | */ | ||
1509 | int is_tty(struct file *filp) | ||
1510 | { | ||
1511 | return filp->f_op->read == tty_read | ||
1512 | || filp->f_op->read == hung_up_tty_read; | ||
1513 | } | ||
1514 | |||
1506 | static void session_clear_tty(struct pid *session) | 1515 | static void session_clear_tty(struct pid *session) |
1507 | { | 1516 | { |
1508 | struct task_struct *p; | 1517 | struct task_struct *p; |
@@ -2673,6 +2682,7 @@ got_driver: | |||
2673 | __proc_set_tty(current, tty); | 2682 | __proc_set_tty(current, tty); |
2674 | spin_unlock_irq(¤t->sighand->siglock); | 2683 | spin_unlock_irq(¤t->sighand->siglock); |
2675 | mutex_unlock(&tty_mutex); | 2684 | mutex_unlock(&tty_mutex); |
2685 | tty_audit_opening(); | ||
2676 | return 0; | 2686 | return 0; |
2677 | } | 2687 | } |
2678 | 2688 | ||
@@ -2735,8 +2745,10 @@ static int ptmx_open(struct inode * inode, struct file * filp) | |||
2735 | 2745 | ||
2736 | check_tty_count(tty, "tty_open"); | 2746 | check_tty_count(tty, "tty_open"); |
2737 | retval = ptm_driver->open(tty, filp); | 2747 | retval = ptm_driver->open(tty, filp); |
2738 | if (!retval) | 2748 | if (!retval) { |
2749 | tty_audit_opening(); | ||
2739 | return 0; | 2750 | return 0; |
2751 | } | ||
2740 | out1: | 2752 | out1: |
2741 | release_dev(filp); | 2753 | release_dev(filp); |
2742 | return retval; | 2754 | return retval; |