diff --git a/cmd/ztest/Makefile.in b/cmd/ztest/Makefile.in index 041abe2e2c..d0b3c4b49a 100644 --- a/cmd/ztest/Makefile.in +++ b/cmd/ztest/Makefile.in @@ -288,7 +288,8 @@ AM_LIBTOOLFLAGS = --silent AM_CFLAGS = -Wall -Wstrict-prototypes -fno-strict-aliasing -Werror \ -D_GNU_SOURCE -D__EXTENSIONS__ -D_REENTRANT \ -D_POSIX_PTHREAD_SEMANTICS -D_FILE_OFFSET_BITS=64 \ - -D_LARGEFILE64_SOURCE -DTEXT_DOMAIN=\"zfs-linux-user\" + -D_LARGEFILE64_SOURCE -DTEXT_DOMAIN=\"zfs-linux-user\" \ + -Wframe-larger-than=1024 ztest_SOURCES = \ ${top_srcdir}/cmd/ztest/ztest.c diff --git a/cmd/ztest/ztest.c b/cmd/ztest/ztest.c index 4e77d42e50..c50c1ad747 100644 --- a/cmd/ztest/ztest.c +++ b/cmd/ztest/ztest.c @@ -4822,11 +4822,15 @@ static void ztest_run_zdb(char *pool) { int status; - char bin[MAXPATHLEN + MAXNAMELEN + 20]; - char zdb[MAXPATHLEN + MAXNAMELEN + 20]; - char zbuf[1024]; + char *bin; + char *zdb; + char *zbuf; FILE *fp; + bin = umem_alloc(MAXPATHLEN + MAXNAMELEN + 20, UMEM_NOFAIL); + zdb = umem_alloc(MAXPATHLEN + MAXNAMELEN + 20, UMEM_NOFAIL); + zbuf = umem_alloc(1024, UMEM_NOFAIL); + /* Designed to be run exclusively in the development tree */ VERIFY(realpath(getexecname(), bin) != NULL); strstr(bin, "/ztest/")[0] = '\0'; @@ -4850,13 +4854,17 @@ ztest_run_zdb(char *pool) status = pclose(fp); if (status == 0) - return; + goto out; ztest_dump_core = 0; if (WIFEXITED(status)) fatal(0, "'%s' exit code %d", zdb, WEXITSTATUS(status)); else fatal(0, "'%s' died with signal %d", zdb, WTERMSIG(status)); +out: + umem_free(bin, MAXPATHLEN + MAXNAMELEN + 20); + umem_free(zdb, MAXPATHLEN + MAXNAMELEN + 20); + umem_free(zbuf, 1024); } static void diff --git a/configure b/configure index bc611f808c..e97f4ae0b6 100755 --- a/configure +++ b/configure @@ -17281,7 +17281,7 @@ _ACEOF KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG " HOSTCFLAGS="${HOSTCFLAGS} -DDEBUG " - USERDEBUG="-DDEBUG" + USERDEBUG="-DDEBUG -fstack-check" else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } diff --git a/lib/libzpool/Makefile.in b/lib/libzpool/Makefile.in index 5f3d055d17..e1838b429d 100644 --- a/lib/libzpool/Makefile.in +++ b/lib/libzpool/Makefile.in @@ -348,7 +348,8 @@ AM_LIBTOOLFLAGS = --silent AM_CFLAGS = -Wall -Wstrict-prototypes -fno-strict-aliasing -Werror \ -D_GNU_SOURCE -D__EXTENSIONS__ -D_REENTRANT \ -D_POSIX_PTHREAD_SEMANTICS -D_FILE_OFFSET_BITS=64 \ - -D_LARGEFILE64_SOURCE -DTEXT_DOMAIN=\"zfs-linux-user\" + -D_LARGEFILE64_SOURCE -DTEXT_DOMAIN=\"zfs-linux-user\" \ + -Wframe-larger-than=1024 SUBDIRS = include lib_LTLIBRARIES = libzpool.la libzpool_la_SOURCES = \