bin/188159: Capsicum does not work on bing endian platforms

Petko Bordjukov bordjukov at gmail.com
Tue Apr 1 07:40:01 UTC 2014


>Number:         188159
>Category:       bin
>Synopsis:       Capsicum does not work on bing endian platforms
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Apr 01 07:40:01 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator:     Petko Bordjukov
>Release:        11.0-CURRENT r263769M
>Organization:
>Environment:
FreeBSD chernobyl.local 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r263769M: Wed Mar 26 18:19:38 EET 2014     root at barnswallow.local:/usr/obj/mips.mips/usr/src/sys/ROUTERSTATION  mips
>Description:
Trying to use a command that has been ported to use capsicum causes it to exit with a Broken Pipe message.

root at chernobyl:~ # ping -n 8.8.8.8
Broken pipe

casperd[1711]: [ERROR] (casperd) Unable to receive message from client: Invalid argument.
>How-To-Repeat:
Attempt to ping anything from a big endian system
>Fix:
The patch to nvlist.c proposed by Jilles Tjoelker here fixes the issue for me:
http://lists.freebsd.org/pipermail/freebsd-current/2014-March/048913.html

Patch attached with submission follows:

Index: lib/libnv/nvlist.c
===================================================================
--- lib/libnv/nvlist.c	(revision 263983)
+++ lib/libnv/nvlist.c	(working copy)
@@ -582,7 +582,7 @@
 		errno = EINVAL;
 		return (false);
 	}
-	if ((nvlhdrp->nvlh_flags &= ~NV_FLAG_ALL_MASK) != 0) {
+	if ((nvlhdrp->nvlh_flags & ~NV_FLAG_ALL_MASK) != 0) {
 		errno = EINVAL;
 		return (false);
 	}


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list