NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/44131: if_tap.c tap_dev_ioctl() not propagating error
>Number: 44131
>Category: kern
>Synopsis: if_tap.c tap_dev_ioctl() not propagating error
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Nov 22 21:10:00 +0000 2010
>Originator: Matthew Mondor
>Release: NetBSD 5.1_STABLE and -current
>Organization:
>Environment:
NetBSD behemoth.xisop 5.1 NetBSD 5.1 (GENERIC_MM) #0: Sun Nov 21 00:19:56 EST
2010 root%behemoth.xisop@localhost:/usr/obj/sys/arch/i386/compile/GENERIC_MM
i386
Architecture: i386
Machine: i386
>Description:
When tap(4) ioctl(2)s are invoked, any error reported by internal
functions, such as fsetown(9)/fgetown(9), or even the default ENOTTY
error, don't get propagated at return time. The error variable is
assigned where necessary, but the final return always returns 0,
meaning success.
>How-To-Repeat:
>Fix:
Apply the attached diff (against -current).
--MP_/BLdxG_rBDoXLx2d+=S3XH+D
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=tap-diff.txt
Index: sys/net/if_tap.c
===================================================================
RCS file: /nfs/ginseng/home/data/cvsup/netbsd/src/sys/net/if_tap.c,v
retrieving revision 1.65
diff -u -p -r1.65 if_tap.c
--- sys/net/if_tap.c 19 May 2010 20:41:59 -0000 1.65
+++ sys/net/if_tap.c 22 Nov 2010 20:56:40 -0000
@@ -1137,7 +1137,7 @@ tap_dev_ioctl(int unit, u_long cmd, void
break;
}
- return (0);
+ return error;
}
static int
--MP_/BLdxG_rBDoXLx2d+=S3XH+D--
>Unformatted:
--MP_/BLdxG_rBDoXLx2d+=S3XH+D
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Home |
Main Index |
Thread Index |
Old Index