summaryrefslogtreecommitdiffstats
path: root/sys/compat/linux/linux_termios.c
diff options
context:
space:
mode:
authormpi <mpi@openbsd.org>2015-04-30 09:20:51 +0000
committermpi <mpi@openbsd.org>2015-04-30 09:20:51 +0000
commitd6bcf78bdbc99f5411dcde1163b12ff573f66ca9 (patch)
tree72cf7b77446f3c974d397b9f40465b599f432e3e /sys/compat/linux/linux_termios.c
parentuse adolf, not adolph, for hitler, to keep it consistent; (diff)
downloadwireguard-openbsd-d6bcf78bdbc99f5411dcde1163b12ff573f66ca9.tar.xz
wireguard-openbsd-d6bcf78bdbc99f5411dcde1163b12ff573f66ca9.zip
Indroduce fd_getfile_mode() and use it were fd_getfile() is directly
followed by a mode check. This will simplify the ref/unref dance as soon as fd_getfile() will increment fp's reference counter. Idea from and ok guenther@, ok millert@
Diffstat (limited to 'sys/compat/linux/linux_termios.c')
-rw-r--r--sys/compat/linux/linux_termios.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/sys/compat/linux/linux_termios.c b/sys/compat/linux/linux_termios.c
index 1baae7e2f6d..9b555947c6b 100644
--- a/sys/compat/linux/linux_termios.c
+++ b/sys/compat/linux/linux_termios.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: linux_termios.c,v 1.17 2014/03/26 05:23:42 guenther Exp $ */
+/* $OpenBSD: linux_termios.c,v 1.18 2015/04/30 09:20:51 mpi Exp $ */
/* $NetBSD: linux_termios.c,v 1.3 1996/04/05 00:01:54 christos Exp $ */
/*
@@ -461,15 +461,10 @@ linux_ioctl_termios(p, v, retval)
int error = 0;
fdp = p->p_fd;
- if ((fp = fd_getfile(fdp, SCARG(uap, fd))) == NULL)
+ if ((fp = fd_getfile_mode(fdp, SCARG(uap, fd), FREAD|FWRITE)) == NULL)
return (EBADF);
FREF(fp);
- if ((fp->f_flag & (FREAD | FWRITE)) == 0) {
- error = EBADF;
- goto out;
- }
-
com = SCARG(uap, com);
retval[0] = 0;