From 2035faf3f8aa95b888d9416c3cc7328c0ea18beb Mon Sep 17 00:00:00 2001 From: cvs2svn Date: Wed, 7 Nov 2018 01:08:50 +0000 Subject: This commit was manufactured by cvs2git to create tag 'bluhm_20181106'. --- src/regress/lib/libc/malloc/Makefile | 8 -- src/regress/lib/libc/malloc/malloc0test/Makefile | 11 -- .../lib/libc/malloc/malloc0test/malloc0test.c | 120 -------------------- src/regress/lib/libc/malloc/malloc_errno/Makefile | 5 - .../lib/libc/malloc/malloc_errno/malloc_errno.c | 46 -------- .../lib/libc/malloc/malloc_general/Makefile | 27 ----- .../libc/malloc/malloc_general/malloc_general.c | 125 --------------------- .../lib/libc/malloc/malloc_threaderr/Makefile | 13 --- .../malloc/malloc_threaderr/malloc_threaderr.c | 58 ---------- .../lib/libc/malloc/malloc_ulimit1/Makefile | 5 - .../libc/malloc/malloc_ulimit1/malloc_ulimit1.c | 45 -------- .../lib/libc/malloc/malloc_ulimit2/Makefile | 5 - .../libc/malloc/malloc_ulimit2/malloc_ulimit2.c | 43 ------- 13 files changed, 511 deletions(-) delete mode 100644 src/regress/lib/libc/malloc/Makefile delete mode 100644 src/regress/lib/libc/malloc/malloc0test/Makefile delete mode 100644 src/regress/lib/libc/malloc/malloc0test/malloc0test.c delete mode 100644 src/regress/lib/libc/malloc/malloc_errno/Makefile delete mode 100644 src/regress/lib/libc/malloc/malloc_errno/malloc_errno.c delete mode 100644 src/regress/lib/libc/malloc/malloc_general/Makefile delete mode 100644 src/regress/lib/libc/malloc/malloc_general/malloc_general.c delete mode 100644 src/regress/lib/libc/malloc/malloc_threaderr/Makefile delete mode 100644 src/regress/lib/libc/malloc/malloc_threaderr/malloc_threaderr.c delete mode 100644 src/regress/lib/libc/malloc/malloc_ulimit1/Makefile delete mode 100644 src/regress/lib/libc/malloc/malloc_ulimit1/malloc_ulimit1.c delete mode 100644 src/regress/lib/libc/malloc/malloc_ulimit2/Makefile delete mode 100644 src/regress/lib/libc/malloc/malloc_ulimit2/malloc_ulimit2.c (limited to 'src/regress/lib/libc/malloc') diff --git a/src/regress/lib/libc/malloc/Makefile b/src/regress/lib/libc/malloc/Makefile deleted file mode 100644 index 7eb84f6a6c..0000000000 --- a/src/regress/lib/libc/malloc/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -# $OpenBSD: Makefile,v 1.7 2018/01/28 13:42:17 otto Exp $ - -SUBDIR+= malloc_general malloc0test malloc_errno malloc_ulimit1 malloc_ulimit2 -SUBDIR+= malloc_threaderr - -install: - -.include diff --git a/src/regress/lib/libc/malloc/malloc0test/Makefile b/src/regress/lib/libc/malloc/malloc0test/Makefile deleted file mode 100644 index fc2295c091..0000000000 --- a/src/regress/lib/libc/malloc/malloc0test/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -# $OpenBSD: Makefile,v 1.2 2017/07/08 00:08:26 bluhm Exp $ - -PROG= malloc0test - -.for m in C D F G J j R S U X << >>> -REGRESS_TARGETS += run-regress-${PROG}-${m:S//+/g} -run-regress-${PROG}-${m:S//+/g}: ${PROG} - MALLOC_OPTIONS='${m}' ./${PROG} -.endfor - -.include diff --git a/src/regress/lib/libc/malloc/malloc0test/malloc0test.c b/src/regress/lib/libc/malloc/malloc0test/malloc0test.c deleted file mode 100644 index 06ff0996ee..0000000000 --- a/src/regress/lib/libc/malloc/malloc0test/malloc0test.c +++ /dev/null @@ -1,120 +0,0 @@ -/* $OpenBSD: malloc0test.c,v 1.5 2008/04/13 00:22:17 djm Exp $ */ -/* - * Public domain. 2001, Theo de Raadt - */ -#include -#include -#include -#include -#include -#include -#include -#include - -volatile sig_atomic_t got; -jmp_buf jmp; - -static void -catch(int signo) -{ - got++; - longjmp(jmp, 1); -} - -static int -test(char *p, int size) -{ - signal(SIGSEGV, catch); - got = 0; - if (setjmp(jmp) == 0) - *p = 0; - if (setjmp(jmp) == 0) - *(p+size-1) = 0; - return (got); -} - -char *prot_table[] = { - "unprotected", - "fuckup", - "protected" -}; - -#define SIZE 10 - -/* - * Do random memory allocations. - * - * For each one, ensure that it is at least 16 bytes in size (that - * being what our current malloc returns for the minsize of an - * object, alignment wise); - * - * For zero-byte allocations, check that they are still aligned. - * - * For each object, ensure that they are correctly protected or not - * protected. - * - * Does not regress test malloc + free combinations ... it should. - */ -int -main(int argc, char *argv[]) -{ - caddr_t blob; - int size, tsize; - int prot; - int rval = 0, fuckup = 0; - long limit = 200000, count; - int ch, silent = 0; - char *ep; - extern char *__progname; - - while ((ch = getopt(argc, argv, "sn:")) != -1) { - switch (ch) { - case 's': - silent = 1; - break; - case 'n': - errno = 0; - limit = strtol(optarg, &ep, 10); - if (optarg[0] == '\0' || *ep != '\0' || - (errno == ERANGE && - (limit == LONG_MAX || limit == LONG_MIN))) - goto usage; - break; - default: -usage: - fprintf(stderr, "Usage: %s [-s][-n ]\n", - __progname); - exit(1); - } - } - - if (limit == 0) - limit = LONG_MAX; - - for (count = 0; count < limit; count++) { - size = arc4random_uniform(SIZE); - blob = malloc(size); - if (blob == NULL) { - fprintf(stderr, "success: out of memory\n"); - exit(rval); - } - - tsize = size == 0 ? 16 : size; - fuckup = 0; - prot = test(blob, tsize); - - if (size == 0 && prot < 2) - fuckup = 1; - - if (fuckup) { - printf("%8p %6d %20s %10s\n", blob, size, - prot_table[prot], fuckup ? "fuckup" : ""); - rval = 1; - } - - if (!silent && count % 100000 == 0 && count != 0) - fprintf(stderr, "count = %ld\n", count); - } - - return rval; -} diff --git a/src/regress/lib/libc/malloc/malloc_errno/Makefile b/src/regress/lib/libc/malloc/malloc_errno/Makefile deleted file mode 100644 index 73ebe37491..0000000000 --- a/src/regress/lib/libc/malloc/malloc_errno/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# $OpenBSD: Makefile,v 1.1 2003/07/15 10:06:31 otto Exp $ - -PROG= malloc_errno - -.include diff --git a/src/regress/lib/libc/malloc/malloc_errno/malloc_errno.c b/src/regress/lib/libc/malloc/malloc_errno/malloc_errno.c deleted file mode 100644 index 896ea3c900..0000000000 --- a/src/regress/lib/libc/malloc/malloc_errno/malloc_errno.c +++ /dev/null @@ -1,46 +0,0 @@ -/* $OpenBSD: malloc_errno.c,v 1.4 2003/12/25 18:49:57 miod Exp $ */ -/* - * Public domain. 2003, Otto Moerbeek - */ -#include -#include -#include -#include - -static void -testerrno(size_t sz) -{ - void *p; - - errno = -1; - p = malloc(sz); - - if (p == NULL && errno != ENOMEM) - errx(1, "fail: %lx %p %d", (unsigned long)sz, p, errno); - - /* if alloc succeeded, test if errno did not change */ - if (p != NULL && errno != -1) - errx(1, "fail: %lx %p %d", (unsigned long)sz, p, errno); - - free(p); -} - -/* - * Provide some (silly) arguments to malloc(), and check if ERRNO is set - * correctly. - */ -int -main(int argc, char *argv[]) -{ - size_t i; - - testerrno(1); - testerrno(100000); - testerrno(-1); - testerrno(-1000); - testerrno(-10000); - testerrno(-10000000); - for (i = 0; i < 0x10; i++) - testerrno(i * 0x10000000); - return 0; -} diff --git a/src/regress/lib/libc/malloc/malloc_general/Makefile b/src/regress/lib/libc/malloc/malloc_general/Makefile deleted file mode 100644 index a0ee823bbe..0000000000 --- a/src/regress/lib/libc/malloc/malloc_general/Makefile +++ /dev/null @@ -1,27 +0,0 @@ -# $OpenBSD: Makefile,v 1.3 2017/01/24 16:03:28 otto Exp $ - -REGRESS_TARGETS= t1 t2 t3 t4 t5 t6 t7 -PROG= malloc_general - -.include - -t1: malloc_general - ${.OBJDIR}/malloc_general "" - -t2: malloc_general - ${.OBJDIR}//malloc_general C - -t3: malloc_general - ${.OBJDIR}//malloc_general J - -t4: malloc_general - ${.OBJDIR}//malloc_general F - -t5: malloc_general - ${.OBJDIR}//malloc_general G - -t6: malloc_general - ${.OBJDIR}//malloc_general S - -t7: malloc_general - ${.OBJDIR}//malloc_general FGJ diff --git a/src/regress/lib/libc/malloc/malloc_general/malloc_general.c b/src/regress/lib/libc/malloc/malloc_general/malloc_general.c deleted file mode 100644 index 51bfb03a34..0000000000 --- a/src/regress/lib/libc/malloc/malloc_general/malloc_general.c +++ /dev/null @@ -1,125 +0,0 @@ -/* $OpenBSD */ -/* - * Copyright (c) 2017 Otto Moerbeek - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include -#include -#include -#include - -/* $define VERBOSE */ - -#define N 1000 - -size_t -size(void) -{ - int p = arc4random_uniform(13) + 3; - return arc4random_uniform(1 << p); -} - -struct { void *p; size_t sz; } a[N]; - -extern char *malloc_options; - -void -fill(u_char *p, size_t sz) -{ - size_t i; - - for (i = 0; i < sz; i++) - p[i] = i % 256; -} - -void -check(u_char *p, size_t sz) -{ - size_t i; - - for (i = 0; i < sz; i++) - if (p[i] != i % 256) - errx(1, "check"); -} - -int -main(int argc, char *argv[]) -{ - int count, p, i; - void * q; - size_t sz; - - if (argc == 1) - errx(1, "usage: malloc_options"); - - malloc_options = argv[1]; - - for (count = 0; count < 800000; count++) { - if (count % 10000 == 0) { - printf("."); - fflush(stdout); - } - p = arc4random_uniform(2); - i = arc4random_uniform(N); - switch (p) { - case 0: - if (a[i].p) { -#ifdef VERBOSE - printf("F %p\n", a[i].p); -#endif - if (a[i].p) - check(a[i].p, a[i].sz); - free(a[i].p); - a[i].p = NULL; - } - sz = size(); -#ifdef VERBOSE - printf("M %zu=", sz); -#endif - a[i].p = malloc(sz); - a[i].sz = sz; -#ifdef VERBOSE - printf("%p\n", a[i].p); -#endif - if (a[i].p) - fill(a[i].p, sz); - break; - case 1: - sz = size(); -#ifdef VERBOSE - printf("R %p %zu=", a[i].p, sz); -#endif - q = realloc(a[i].p, sz); -#ifdef VERBOSE - printf("%p\n", q); -#endif - if (a[i].p && q) - check(q, a[i].sz < sz ? a[i].sz : sz); - if (q) { - a[i].p = q; - a[i].sz = sz; - fill(a[i].p, sz); - } - break; - } - } - for (i = 0; i < N; i++) { - if (a[i].p) - check(a[i].p, a[i].sz); - free(a[i].p); - } - printf("\n"); - return 0; -} diff --git a/src/regress/lib/libc/malloc/malloc_threaderr/Makefile b/src/regress/lib/libc/malloc/malloc_threaderr/Makefile deleted file mode 100644 index 2d715af58b..0000000000 --- a/src/regress/lib/libc/malloc/malloc_threaderr/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -# $OpenBSD: Makefile,v 1.2 2018/01/28 14:55:24 otto Exp $ - -# This test is supposed to print a malloc error and create a core dump - -REGRESS_TARGETS= t1 -PROG= malloc_threaderr -LDADD+= -pthread -DPADD+= ${LIBPTHREAD} - -.include - -t1: malloc_threaderr - ${.OBJDIR}/malloc_threaderr 2>&1 | fgrep 'in free(): bogus pointer (double free?)' diff --git a/src/regress/lib/libc/malloc/malloc_threaderr/malloc_threaderr.c b/src/regress/lib/libc/malloc/malloc_threaderr/malloc_threaderr.c deleted file mode 100644 index f34f37fc93..0000000000 --- a/src/regress/lib/libc/malloc/malloc_threaderr/malloc_threaderr.c +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (c) 2018 Otto Moerbeek - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include -#include -#include -#include - -pthread_cond_t cond; -pthread_mutex_t mutex; - -void *p; - -void *m(void *arg) -{ - p = malloc(100000); - if (p == NULL) - err(1, NULL); - return NULL; -} - -void *f(void *arg) -{ - free(p); - free(p); - return NULL; -} - -int -main(void) -{ - pthread_t t1, t2; - - printf("This test is supposed to print a malloc error and create a core dump\n"); - - if (pthread_create(&t1, NULL, m, NULL)) - err(1, "pthread_create"); - pthread_join(t1, NULL); - - if (pthread_create(&t2, NULL, f, NULL)) - err(1, "pthread_create"); - pthread_join(t2, NULL); - - return 0; -} diff --git a/src/regress/lib/libc/malloc/malloc_ulimit1/Makefile b/src/regress/lib/libc/malloc/malloc_ulimit1/Makefile deleted file mode 100644 index 46ced27a98..0000000000 --- a/src/regress/lib/libc/malloc/malloc_ulimit1/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# $OpenBSD: Makefile,v 1.1 2006/04/18 19:03:30 otto Exp $ - -PROG= malloc_ulimit1 - -.include diff --git a/src/regress/lib/libc/malloc/malloc_ulimit1/malloc_ulimit1.c b/src/regress/lib/libc/malloc/malloc_ulimit1/malloc_ulimit1.c deleted file mode 100644 index 94f7eb16b5..0000000000 --- a/src/regress/lib/libc/malloc/malloc_ulimit1/malloc_ulimit1.c +++ /dev/null @@ -1,45 +0,0 @@ -/* $OpenBSD: malloc_ulimit1.c,v 1.3 2017/07/27 15:08:37 bluhm Exp $ */ - -/* Public Domain, 2006, Otto Moerbeek */ - -#include -#include -#include -#include -#include -#include - -/* - * This code tries to trigger the case present in -current as of April - * 2006) where the allocation of the region itself succeeds, but the - * page dir entry pages fails. - * This in turn trips a "hole in directories" error. - * Having a large (512M) ulimit -m helps a lot in triggering the - * problem. Note that you may need to run this test multiple times to - * see the error. -*/ - -#define STARTI 1300 -#define FACTOR 1024 - -int -main() -{ - struct rlimit lim; - size_t sz; - int i; - void *p; - - if (getrlimit(RLIMIT_DATA, &lim) == -1) - err(1, "getrlimit"); - - sz = lim.rlim_cur / FACTOR; - - for (i = STARTI; i >= 0; i--) { - size_t len = (sz-i) * FACTOR; - p = malloc(len); - free(p); - free(malloc(4096)); - } - return (0); -} diff --git a/src/regress/lib/libc/malloc/malloc_ulimit2/Makefile b/src/regress/lib/libc/malloc/malloc_ulimit2/Makefile deleted file mode 100644 index bc83666415..0000000000 --- a/src/regress/lib/libc/malloc/malloc_ulimit2/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# $OpenBSD: Makefile,v 1.1 2006/04/18 19:04:03 otto Exp $ - -PROG= malloc_ulimit2 - -.include diff --git a/src/regress/lib/libc/malloc/malloc_ulimit2/malloc_ulimit2.c b/src/regress/lib/libc/malloc/malloc_ulimit2/malloc_ulimit2.c deleted file mode 100644 index 9510649090..0000000000 --- a/src/regress/lib/libc/malloc/malloc_ulimit2/malloc_ulimit2.c +++ /dev/null @@ -1,43 +0,0 @@ -/* $OpenBSD: malloc_ulimit2.c,v 1.3 2017/07/27 15:08:37 bluhm Exp $ */ - -/* Public Domain, 2006, Otto Moerbeek */ - -#include -#include -#include -#include -#include -#include - -#define FACTOR 1024 - -int -main() -{ - struct rlimit lim; - size_t sz; - int i; - void *p; - - if (getrlimit(RLIMIT_DATA, &lim) == -1) - err(1, "getrlimit"); - - sz = lim.rlim_cur / FACTOR; - - for (i = 0; ; i++) { - size_t len = (sz-i) * FACTOR; - p = malloc(len); - if (p != NULL) { - free(p); - break; - } - } - i += 10; - for (; i >= 0; i--) { - size_t len = (sz-i) * FACTOR; - p = malloc(len); - free(p); - free(malloc(4096)); - } - return (0); -} -- cgit v1.2.3-55-g6feb