Module Name: src Committed By: haad Date: Wed May 19 18:01:26 UTC 2010
Modified Files: src/external/cddl/osnet/dist/uts/common/fs/zfs: zfs_ioctl.c src/external/cddl/osnet/sys/sys: sunddi.h Log Message: Use ddi_copyin and ddi_copyout as solaris does, change them to ioctl_copyin/ioctl_copyout in kernel and to bcopy in user space. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 \ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c cvs rdiff -u -r1.3 -r1.4 src/external/cddl/osnet/sys/sys/sunddi.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c:1.5 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c:1.6 --- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c:1.5 Wed May 19 17:57:42 2010 +++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c Wed May 19 18:01:26 2010 @@ -4454,16 +4454,8 @@ zc = kmem_zalloc(sizeof (zfs_cmd_t), KM_SLEEP); - /* XXX is this still needed ? */ - error = xcopyin((void *)arg, zc, sizeof (zfs_cmd_t)); - printf("zfsdev_ioct zc_value %s, zc_string\n", zc->zc_value, zc->zc_string); - printf("zfsdev_ioctl -> calling zfs_ioc_vec secpolicy function on %d\n", vec); - if (error == 0) -#if 0 error = ddi_copyin((void *)arg, zc, sizeof (zfs_cmd_t), flag); - if ((error == 0) && !(flag & FKIOCTL)) -#endif error = zfs_ioc_vec[vec].zvec_secpolicy(zc, cr); /* Index: src/external/cddl/osnet/sys/sys/sunddi.h diff -u src/external/cddl/osnet/sys/sys/sunddi.h:1.3 src/external/cddl/osnet/sys/sys/sunddi.h:1.4 --- src/external/cddl/osnet/sys/sys/sunddi.h:1.3 Sun Feb 21 01:46:36 2010 +++ src/external/cddl/osnet/sys/sys/sunddi.h Wed May 19 18:01:26 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: sunddi.h,v 1.3 2010/02/21 01:46:36 darran Exp $ */ +/* $NetBSD: sunddi.h,v 1.4 2010/05/19 18:01:26 haad Exp $ */ /*- * Copyright (c) 2007 Pawel Jakub Dawidek <p...@freebsd.org> @@ -31,8 +31,13 @@ #ifndef _OPENSOLARIS_SYS_SUNDDI_H_ #define _OPENSOLARIS_SYS_SUNDDI_H_ +#ifndef _KERNEL #define ddi_copyin(from, to, size, flag) (bcopy((from), (to), (size)), 0) #define ddi_copyout(from, to, size, flag) (bcopy((from), (to), (size)), 0) +#else +#define ddi_copyin(from, to, size, flag) (ioctl_copyin((flag), (from), (to), (size))) +#define ddi_copyout(from, to, size, flag) (ioctl_copyout((flag), (from), (to), (size))) +#endif int ddi_strtoul(const char *str, char **nptr, int base, unsigned long *result); #endif /* _OPENSOLARIS_SYS_SUNDDI_H_ */