Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bb8bd3a5 authored by Tony Breeds's avatar Tony Breeds Committed by Linus Torvalds
Browse files

sparc64 (and others): fix tty_ioctl.c build



Add Guards around TIOCSLCKTRMIOS and TIOCGLCKTRMIOS.

Several architectures are still broken.  Put temporary-for-2.6.23 ifdef guards
around the offending code.

Signed-off-by: default avatarTony Breeds <tony@bakeyournoodle.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatar: Linus Torvalds <torvalds@linux-foundation.org>
parent 2605a103
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -795,6 +795,19 @@ int n_tty_ioctl(struct tty_struct * tty, struct file * file,
			if (L_ICANON(tty))
				retval = inq_canon(tty);
			return put_user(retval, (unsigned int __user *) arg);
#ifndef TCGETS2
		case TIOCGLCKTRMIOS:
			if (kernel_termios_to_user_termios((struct termios __user *)arg, real_tty->termios_locked))
				return -EFAULT;
			return 0;

		case TIOCSLCKTRMIOS:
			if (!capable(CAP_SYS_ADMIN))
				return -EPERM;
			if (user_termios_to_kernel_termios(real_tty->termios_locked, (struct termios __user *) arg))
				return -EFAULT;
			return 0;
#else
		case TIOCGLCKTRMIOS:
			if (kernel_termios_to_user_termios_1((struct termios __user *)arg, real_tty->termios_locked))
				return -EFAULT;
@@ -806,6 +819,7 @@ int n_tty_ioctl(struct tty_struct * tty, struct file * file,
			if (user_termios_to_kernel_termios_1(real_tty->termios_locked, (struct termios __user *) arg))
				return -EFAULT;
			return 0;
#endif

		case TIOCPKT:
		{