diff options
author | Brad Smith <brad@cvs.openbsd.org> | 2008-01-10 09:52:05 +0000 |
---|---|---|
committer | Brad Smith <brad@cvs.openbsd.org> | 2008-01-10 09:52:05 +0000 |
commit | be5ceccfa10c09496a4cf5cdcfb29ca97f40cb94 (patch) | |
tree | 3d6a96f182f2eaf4e1115147624fb830632bcb7d /sys | |
parent | 4d72d28f8d3b2305c4f1b881d8763beb55ab3107 (diff) |
return with ENOTTY instead of EINVAL for unknown ioctl requests to trunk
ports.
ok reyk@ dlg@
Diffstat (limited to 'sys')
-rw-r--r-- | sys/net/if_trunk.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/sys/net/if_trunk.c b/sys/net/if_trunk.c index 0e765c98ca6..a30f2dc1ad9 100644 --- a/sys/net/if_trunk.c +++ b/sys/net/if_trunk.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_trunk.c,v 1.40 2007/11/26 09:28:33 martynas Exp $ */ +/* $OpenBSD: if_trunk.c,v 1.41 2008/01/10 09:52:04 brad Exp $ */ /* * Copyright (c) 2005, 2006, 2007 Reyk Floeter <reyk@openbsd.org> @@ -497,8 +497,10 @@ trunk_port_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) /* Should be checked by the caller */ if (ifp->if_type != IFT_IEEE8023ADLAG || (tp = (struct trunk_port *)ifp->if_tp) == NULL || - (tr = (struct trunk_softc *)tp->tp_trunk) == NULL) + (tr = (struct trunk_softc *)tp->tp_trunk) == NULL) { + error = EINVAL; goto fallback; + } switch (cmd) { case SIOCGTRUNKPORT: @@ -518,6 +520,7 @@ trunk_port_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) trunk_port2req(tp, rp); break; default: + error = ENOTTY; goto fallback; } @@ -528,9 +531,9 @@ trunk_port_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data) splx(s); if (tp != NULL) - return ((*tp->tp_ioctl)(ifp, cmd, data)); + error = (*tp->tp_ioctl)(ifp, cmd, data); - return (EINVAL); + return (error); } void |