mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
tty: hide unused pty_get_peer function
TIOCGPTPEER is only used for unix98 PTYs, and we get a warning
when those are disabled:
drivers/tty/pty.c:466:12: error: 'pty_get_peer' defined but not used [-Werror=unused-function]
This moves the respective functions inside of the existing #ifdef.
Fixes: 54ebbfb160
("tty: add TIOCGPTPEER ioctl")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Aleksa Sarai <asarai@suse.de>
Reviewed-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
3ee5447e8c
commit
6509f30962
1 changed files with 42 additions and 43 deletions
|
@ -448,48 +448,6 @@ static int pty_common_install(struct tty_driver *driver, struct tty_struct *tty,
|
|||
return retval;
|
||||
}
|
||||
|
||||
/**
|
||||
* pty_open_peer - open the peer of a pty
|
||||
* @tty: the peer of the pty being opened
|
||||
*
|
||||
* Open the cached dentry in tty->link, providing a safe way for userspace
|
||||
* to get the slave end of a pty (where they have the master fd and cannot
|
||||
* access or trust the mount namespace /dev/pts was mounted inside).
|
||||
*/
|
||||
static struct file *pty_open_peer(struct tty_struct *tty, int flags)
|
||||
{
|
||||
if (tty->driver->subtype != PTY_TYPE_MASTER)
|
||||
return ERR_PTR(-EIO);
|
||||
return dentry_open(tty->link->driver_data, flags, current_cred());
|
||||
}
|
||||
|
||||
static int pty_get_peer(struct tty_struct *tty, int flags)
|
||||
{
|
||||
int fd = -1;
|
||||
struct file *filp = NULL;
|
||||
int retval = -EINVAL;
|
||||
|
||||
fd = get_unused_fd_flags(0);
|
||||
if (fd < 0) {
|
||||
retval = fd;
|
||||
goto err;
|
||||
}
|
||||
|
||||
filp = pty_open_peer(tty, flags);
|
||||
if (IS_ERR(filp)) {
|
||||
retval = PTR_ERR(filp);
|
||||
goto err_put;
|
||||
}
|
||||
|
||||
fd_install(fd, filp);
|
||||
return fd;
|
||||
|
||||
err_put:
|
||||
put_unused_fd(fd);
|
||||
err:
|
||||
return retval;
|
||||
}
|
||||
|
||||
static void pty_cleanup(struct tty_struct *tty)
|
||||
{
|
||||
tty_port_put(tty->port);
|
||||
|
@ -646,9 +604,50 @@ static inline void legacy_pty_init(void) { }
|
|||
|
||||
/* Unix98 devices */
|
||||
#ifdef CONFIG_UNIX98_PTYS
|
||||
|
||||
static struct cdev ptmx_cdev;
|
||||
|
||||
/**
|
||||
* pty_open_peer - open the peer of a pty
|
||||
* @tty: the peer of the pty being opened
|
||||
*
|
||||
* Open the cached dentry in tty->link, providing a safe way for userspace
|
||||
* to get the slave end of a pty (where they have the master fd and cannot
|
||||
* access or trust the mount namespace /dev/pts was mounted inside).
|
||||
*/
|
||||
static struct file *pty_open_peer(struct tty_struct *tty, int flags)
|
||||
{
|
||||
if (tty->driver->subtype != PTY_TYPE_MASTER)
|
||||
return ERR_PTR(-EIO);
|
||||
return dentry_open(tty->link->driver_data, flags, current_cred());
|
||||
}
|
||||
|
||||
static int pty_get_peer(struct tty_struct *tty, int flags)
|
||||
{
|
||||
int fd = -1;
|
||||
struct file *filp = NULL;
|
||||
int retval = -EINVAL;
|
||||
|
||||
fd = get_unused_fd_flags(0);
|
||||
if (fd < 0) {
|
||||
retval = fd;
|
||||
goto err;
|
||||
}
|
||||
|
||||
filp = pty_open_peer(tty, flags);
|
||||
if (IS_ERR(filp)) {
|
||||
retval = PTR_ERR(filp);
|
||||
goto err_put;
|
||||
}
|
||||
|
||||
fd_install(fd, filp);
|
||||
return fd;
|
||||
|
||||
err_put:
|
||||
put_unused_fd(fd);
|
||||
err:
|
||||
return retval;
|
||||
}
|
||||
|
||||
static int pty_unix98_ioctl(struct tty_struct *tty,
|
||||
unsigned int cmd, unsigned long arg)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue