Revert r267869:

MFV	r260708
4427 pid provider rejects probes with valid UTF-8 names

Use of u8_textprep.c broke the build on powerpc.

Reported by:	bz, rpaulo and tinderbox.
Pointyhat:	me
This commit is contained in:
Pedro F. Giffuni 2014-06-28 19:59:12 +00:00
parent 57c2423017
commit f34dd28f7d
2 changed files with 15 additions and 16 deletions

View File

@ -28,9 +28,9 @@
* Use is subject to license terms.
*/
/*
* Copyright (c) 2013, Joyent, Inc. All rights reserved.
*/
#if defined(sun)
#pragma ident "%Z%%M% %I% %E% SMI"
#endif
#include <sys/atomic.h>
#include <sys/errno.h>
@ -63,7 +63,6 @@
#if !defined(sun)
#include <sys/dtrace_bsd.h>
#include <sys/eventhandler.h>
#include <sys/u8_textprep.h>
#include <sys/user.h>
#include <vm/vm.h>
#include <vm/pmap.h>
@ -2257,7 +2256,8 @@ fasttrap_ioctl(struct cdev *dev, u_long cmd, caddr_t arg, int fflag,
fasttrap_probe_spec_t *probe;
uint64_t noffs;
size_t size;
int ret, err;
int ret;
char *c;
if (copyin(&uprobe->ftps_noffs, &noffs,
sizeof (uprobe->ftps_noffs)))
@ -2286,16 +2286,18 @@ fasttrap_ioctl(struct cdev *dev, u_long cmd, caddr_t arg, int fflag,
* Verify that the function and module strings contain no
* funny characters.
*/
if (u8_validate(probe->ftps_func, strlen(probe->ftps_func),
NULL, U8_VALIDATE_ENTIRE, &err) < 0) {
ret = EINVAL;
goto err;
for (c = &probe->ftps_func[0]; *c != '\0'; c++) {
if (*c < 0x20 || 0x7f <= *c) {
ret = EINVAL;
goto err;
}
}
if (u8_validate(probe->ftps_mod, strlen(probe->ftps_mod),
NULL, U8_VALIDATE_ENTIRE, &err) < 0) {
ret = EINVAL;
goto err;
for (c = &probe->ftps_mod[0]; *c != '\0'; c++) {
if (*c < 0x20 || 0x7f <= *c) {
ret = EINVAL;
goto err;
}
}
#ifdef notyet

View File

@ -8,9 +8,6 @@ KMOD= fasttrap
SRCS= fasttrap.c fasttrap_isa.c opt_compat.h
SRCS+= vnode_if.h
.PATH: ${.CURDIR}/../../../cddl/contrib/opensolaris/common/unicode
SRCS+= u8_textprep.c
CFLAGS+= -I${SYSDIR}/cddl/compat/opensolaris \
-I${SYSDIR}/cddl/contrib/opensolaris/uts/common \
-I${SYSDIR}