59190ecd61435d19ba3515b876272aee7bd12298vboxsync/*
59190ecd61435d19ba3515b876272aee7bd12298vboxsync * CDDL HEADER START
59190ecd61435d19ba3515b876272aee7bd12298vboxsync *
59190ecd61435d19ba3515b876272aee7bd12298vboxsync * The contents of this file are subject to the terms of the
59190ecd61435d19ba3515b876272aee7bd12298vboxsync * Common Development and Distribution License (the "License").
59190ecd61435d19ba3515b876272aee7bd12298vboxsync * You may not use this file except in compliance with the License.
772269936494ffaddd0750ba9e28e805ba81398cvboxsync *
59190ecd61435d19ba3515b876272aee7bd12298vboxsync * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
c55c68b6a3324172e9dc207926215845880b0f90vboxsync * or http://www.opensolaris.org/os/licensing.
c55c68b6a3324172e9dc207926215845880b0f90vboxsync * See the License for the specific language governing permissions
c55c68b6a3324172e9dc207926215845880b0f90vboxsync * and limitations under the License.
c55c68b6a3324172e9dc207926215845880b0f90vboxsync *
c55c68b6a3324172e9dc207926215845880b0f90vboxsync * When distributing Covered Code, include this CDDL HEADER in each
c55c68b6a3324172e9dc207926215845880b0f90vboxsync * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
c55c68b6a3324172e9dc207926215845880b0f90vboxsync * If applicable, add the following below this CDDL HEADER, with the
59190ecd61435d19ba3515b876272aee7bd12298vboxsync * fields enclosed by brackets "[]" replaced with your own identifying
59190ecd61435d19ba3515b876272aee7bd12298vboxsync * information: Portions Copyright [yyyy] [name of copyright owner]
59190ecd61435d19ba3515b876272aee7bd12298vboxsync *
772269936494ffaddd0750ba9e28e805ba81398cvboxsync * CDDL HEADER END
59190ecd61435d19ba3515b876272aee7bd12298vboxsync */
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsync/*
59190ecd61435d19ba3515b876272aee7bd12298vboxsync * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
59190ecd61435d19ba3515b876272aee7bd12298vboxsync * Use is subject to license terms.
59190ecd61435d19ba3515b876272aee7bd12298vboxsync */
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsync# ident "%Z%%M% %I% %E% SMI"
78bdce9b23466b28a538c6e2f69c225d1393eb3bvboxsync
78bdce9b23466b28a538c6e2f69c225d1393eb3bvboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncdtrace_script()
59190ecd61435d19ba3515b876272aee7bd12298vboxsync{
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsync $dtrace -w -s /dev/stdin <<EOF
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsync /*
59190ecd61435d19ba3515b876272aee7bd12298vboxsync * ASSERTION:
59190ecd61435d19ba3515b876272aee7bd12298vboxsync * Verify that copyout() handles bad addresses.
59190ecd61435d19ba3515b876272aee7bd12298vboxsync *
59190ecd61435d19ba3515b876272aee7bd12298vboxsync * SECTION: Actions and Subroutines/copyout()
59190ecd61435d19ba3515b876272aee7bd12298vboxsync *
bbc0a3fc49446bf8fa1fcfe669c10875701692bcvboxsync */
bbc0a3fc49446bf8fa1fcfe669c10875701692bcvboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsync BEGIN
bbc0a3fc49446bf8fa1fcfe669c10875701692bcvboxsync {
59190ecd61435d19ba3515b876272aee7bd12298vboxsync ptr = alloca(sizeof (char *));
59190ecd61435d19ba3515b876272aee7bd12298vboxsync copyinto(curpsinfo->pr_envp, sizeof (char *), ptr);
59190ecd61435d19ba3515b876272aee7bd12298vboxsync copyout(ptr, 0, sizeof (char *));
59190ecd61435d19ba3515b876272aee7bd12298vboxsync }
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsync ERROR
59190ecd61435d19ba3515b876272aee7bd12298vboxsync {
59190ecd61435d19ba3515b876272aee7bd12298vboxsync exit(1)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync }
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncEOF
59190ecd61435d19ba3515b876272aee7bd12298vboxsync}
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncif [ $# != 1 ]; then
59190ecd61435d19ba3515b876272aee7bd12298vboxsync echo expected one argument: '<'dtrace-path'>'
59190ecd61435d19ba3515b876272aee7bd12298vboxsync exit 2
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncfi
a01baba2de7ca040689fb847c5e6b5e282e10fc4vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncdtrace=$1
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncdtrace_script &
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncchild=$!
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncwait $child
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncstatus=$?
59190ecd61435d19ba3515b876272aee7bd12298vboxsync
59190ecd61435d19ba3515b876272aee7bd12298vboxsyncexit $status
59190ecd61435d19ba3515b876272aee7bd12298vboxsync