Skip to content

Commit

Permalink
Simplify devpts_get_tty()
Browse files Browse the repository at this point in the history
As pointed out by H. Peter Anvin, since the inode for the pty is known,
we don't need to look it up.

Signed-off-by: Sukadev Bhattiprolu <[email protected]>
Signed-off-by: Alan Cox <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
Sukadev Bhattiprolu authored and torvalds committed Oct 13, 2008
1 parent 15f1a63 commit 527b3e4
Showing 1 changed file with 5 additions and 12 deletions.
17 changes: 5 additions & 12 deletions fs/devpts/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
#define DEVPTS_SUPER_MAGIC 0x1cd1

#define DEVPTS_DEFAULT_MODE 0600
#define PTMX_MINOR 2

extern int pty_limit; /* Config limit on Unix98 ptys */
static DEFINE_IDA(allocated_ptys);
Expand Down Expand Up @@ -247,19 +248,11 @@ int devpts_pty_new(struct inode *ptmx_inode, struct tty_struct *tty)

struct tty_struct *devpts_get_tty(struct inode *pts_inode, int number)
{
struct dentry *dentry = get_node(number);
struct tty_struct *tty;

tty = NULL;
if (!IS_ERR(dentry)) {
if (dentry->d_inode)
tty = dentry->d_inode->i_private;
dput(dentry);
}

mutex_unlock(&devpts_root->d_inode->i_mutex);
BUG_ON(pts_inode->i_rdev == MKDEV(TTYAUX_MAJOR, PTMX_MINOR));

return tty;
if (pts_inode->i_sb->s_magic == DEVPTS_SUPER_MAGIC)
return (struct tty_struct *)pts_inode->i_private;
return NULL;
}

void devpts_pty_kill(struct tty_struct *tty)
Expand Down

0 comments on commit 527b3e4

Please sign in to comment.