Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 Jan 2016 22:26:05 +0000 (UTC)
From:      Garrett Cooper <ngie@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r294643 - user/ngie/socket-tests/tools/regression/sockets/unix_cmsg
Message-ID:  <201601232226.u0NMQ52d081733@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ngie
Date: Sat Jan 23 22:26:05 2016
New Revision: 294643
URL: https://svnweb.freebsd.org/changeset/base/294643

Log:
  Don't run t_cmsg_len on 64-bit architectures; it always fails when
  trying to send through the sendit(9) KPI in the kernel due to a size
  mismatch between the msghdr and data being sent, that suspiciously
  seems like it's related to sizeof pointers instead of scalars, or
  something of that ilk
  
  PR: 206543
  Sponsored by: EMC / Isilon Storage Division

Modified:
  user/ngie/socket-tests/tools/regression/sockets/unix_cmsg/unix_cmsg.c

Modified: user/ngie/socket-tests/tools/regression/sockets/unix_cmsg/unix_cmsg.c
==============================================================================
--- user/ngie/socket-tests/tools/regression/sockets/unix_cmsg/unix_cmsg.c	Sat Jan 23 22:13:31 2016	(r294642)
+++ user/ngie/socket-tests/tools/regression/sockets/unix_cmsg/unix_cmsg.c	Sat Jan 23 22:26:05 2016	(r294643)
@@ -83,7 +83,13 @@ static int	t_sockcred_2(void);
 static int	t_cmsgcred_sockcred(void);
 static int	t_timeval(void);
 static int	t_bintime(void);
+/*
+ * The testcase fails on 64-bit architectures (amd64), but passes on 32-bit
+ * architectures (i386); see bug 206543
+ */
+#ifndef __LP64__
 static int	t_cmsg_len(void);
+#endif
 static int	t_peercred(void);
 
 struct test_func {
@@ -120,10 +126,12 @@ static const struct test_func test_strea
 	  .func = t_bintime,
 	  .desc = "Sending, receiving bintime"
 	},
+#ifndef __LP64__
 	{
 	  .func = t_cmsg_len,
 	  .desc = "Check cmsghdr.cmsg_len"
 	},
+#endif
 	{
 	  .func = t_peercred,
 	  .desc = "Check LOCAL_PEERCRED socket option"
@@ -158,10 +166,12 @@ static const struct test_func test_dgram
 	  .func = t_bintime,
 	  .desc = "Sending, receiving bintime"
 	},
+#ifndef __LP64__
 	{
 	  .func = t_cmsg_len,
 	  .desc = "Check cmsghdr.cmsg_len"
 	}
+#endif
 };
 
 #define TEST_DGRAM_TBL_SIZE \
@@ -1825,6 +1835,7 @@ t_bintime(void)
 	return (t_generic(t_bintime_client, t_bintime_server));
 }
 
+#ifndef __LP64__
 static int
 t_cmsg_len_client(int fd)
 {
@@ -1914,6 +1925,7 @@ t_cmsg_len(void)
 {
 	return (t_generic(t_cmsg_len_client, t_cmsg_len_server));
 }
+#endif
 
 static int
 t_peercred_client(int fd)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201601232226.u0NMQ52d081733>