--- a/cddl/contrib/opensolaris/lib/libuutil/common/uu_list.c
+++ b/cddl/contrib/opensolaris/lib/libuutil/common/uu_list.c
@@ -31,6 +31,7 @@
#include <string.h>
#include <unistd.h>
#include <sys/time.h>
+#include <bsd/string.h>
#define ELEM_TO_NODE(lp, e) \
((uu_list_node_impl_t *)((uintptr_t)(e) + (lp)->ul_offset))
--- a/cddl/contrib/opensolaris/lib/libuutil/common/uu_avl.c
+++ b/cddl/contrib/opensolaris/lib/libuutil/common/uu_avl.c
@@ -31,6 +31,7 @@
#include <string.h>
#include <unistd.h>
#include <sys/avl.h>
+#include <bsd/string.h>
static uu_avl_pool_t uu_null_apool = { &uu_null_apool, &uu_null_apool };
static pthread_mutex_t uu_apool_list_lock = PTHREAD_MUTEX_INITIALIZER;
--- a/cddl/compat/opensolaris/misc/deviceid.c
+++ b/cddl/compat/opensolaris/misc/deviceid.c
@@ -35,6 +35,7 @@
#include <errno.h>
#include <libgeom.h>
#include <devid.h>
+#include <bsd/string.h>
int
devid_str_decode(char *devidstr, ddi_devid_t *retdevid, char **retminor_name)
--- a/cddl/compat/opensolaris/misc/mnttab.c
+++ b/cddl/compat/opensolaris/misc/mnttab.c
@@ -39,6 +39,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <bsd/string.h>
static char *
mntopt(char **p)
--- a/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
+++ b/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
@@ -44,6 +44,7 @@
#include <sys/mount.h>
#include <sys/stat.h>
#include <sys/avl.h>
+#include <bsd/string.h>
#include <libzfs.h>
#include <libuutil.h>
--- a/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c
+++ b/cddl/contrib/opensolaris/cmd/zpool/zpool_vdev.c
@@ -74,6 +74,7 @@
#include <sys/disk.h>
#include <sys/mntent.h>
#include <libgeom.h>
+#include <bsd/string.h>
#include "zpool_util.h"
--- a/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_changelist.c
+++ b/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_changelist.c
@@ -33,6 +33,7 @@
#include <string.h>
#include <unistd.h>
#include <zone.h>
+#include <bsd/string.h>
#include <libzfs.h>
--- a/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
+++ b/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
@@ -44,6 +44,7 @@
#include <pwd.h>
#include <grp.h>
#include <stddef.h>
+#include <bsd/string.h>
#include <sys/spa.h>
#include <sys/zap.h>
--- a/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_graph.c
+++ b/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_graph.c
@@ -78,6 +78,7 @@
#include <string.h>
#include <strings.h>
#include <unistd.h>
+#include <bsd/string.h>
#include <libzfs.h>
--- a/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c
+++ b/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c
@@ -51,6 +51,7 @@
#include <unistd.h>
#include <fcntl.h>
#include <libgeom.h>
+#include <bsd/string.h>
#include <sys/vdev_impl.h>
--- a/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
+++ b/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
@@ -77,6 +77,7 @@
#include <sys/mnttab.h>
#include <sys/mount.h>
#include <sys/stat.h>
+#include <bsd/string.h>
#include <libzfs.h>
--- a/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c
+++ b/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c
@@ -42,6 +42,7 @@
#include <sys/zio.h>
#include <strings.h>
#include <umem.h>
+#include <bsd/string.h>
#include "zfs_namecheck.h"
#include "zfs_prop.h"
--- a/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c
+++ b/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c
@@ -40,6 +40,7 @@
#include <sys/mnttab.h>
#include <sys/avl.h>
#include <stddef.h>
+#include <bsd/string.h>
#include <libzfs.h>
--- a/cddl/compat/opensolaris/misc/fsshare.c
+++ b/cddl/compat/opensolaris/misc/fsshare.c
@@ -36,6 +36,7 @@
#include <libutil.h>
#include <assert.h>
#include <fsshare.h>
+#include <bsd/string.h>
#define FILE_HEADER "# !!! DO NOT EDIT THIS FILE MANUALLY !!!\n\n"
#define OPTSSIZE 1024