Commit Graph

20333 Commits

Author SHA1 Message Date
Ned Bass be92edb218 Add extra guard space if needed
Some buggy NPTL threading implementations include the guard area within
the stack size allocations.  In this case we need to allocate an extra
page to account for the guard area since we only have two pages of usable
stack on Linux.  Added an autoconf test that detects such implementations
by running a test program designed to segfault if the bug is present.
Set a flag NPTL_GUARD_WITHIN_STACK that is tested to decide if extra
stack space must be allocated for the guard area.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2010-07-23 11:38:00 -07:00
Ned Bass 16a9f68137 Autoconf check for buggy stack guard region
Some buggy NPTL threading implementations include the guard area within
the stack size allocations.  In this case we need to allocate an extra
page to account for the guard area since we only have two pages of usable
stack on Linux.  Added an autoconf test that detects such implementations
by running a test program designed to segfault if the bug is present.
Set a flag NPTL_GUARD_WITHIN_STACK that is tested to decide if extra
stack space must be allocated for the guard area.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
2010-07-23 11:35:20 -07:00
Brian Behlendorf 987860ccd4 Merge branch 'linux-have-mlslabel' into refs/top-bases/linux-zfs-branch 2010-07-23 10:46:23 -07:00
Brian Behlendorf 52f6982c14 Merge commit 'refs/top-bases/linux-have-mlslabel' into linux-have-mlslabel 2010-07-23 10:46:21 -07:00
Brian Behlendorf 88a24747a2 Merge branch 'linux-spa-thread' into refs/top-bases/linux-zfs-branch 2010-07-23 10:46:16 -07:00
Brian Behlendorf b8d5859f61 Merge commit 'refs/top-bases/linux-spa-thread' into linux-spa-thread 2010-07-23 10:46:12 -07:00
Brian Behlendorf 6308bddc55 Merge branch 'linux-topology' into refs/top-bases/linux-zfs-branch 2010-07-23 10:46:06 -07:00
Brian Behlendorf 27b293a274 Merge commit 'refs/top-bases/linux-topology' into linux-topology 2010-07-23 10:46:04 -07:00
Brian Behlendorf e2050b7017 Merge branch 'linux-sha2' into refs/top-bases/linux-zfs-branch 2010-07-23 10:45:58 -07:00
Brian Behlendorf 07ff81417b Merge commit 'refs/top-bases/linux-sha2' into linux-sha2 2010-07-23 10:45:56 -07:00
Brian Behlendorf bfb82b6dcb Merge branch 'linux-user-util' into refs/top-bases/linux-zfs-branch 2010-07-23 10:45:50 -07:00
Brian Behlendorf fc6e501036 Merge commit 'refs/top-bases/linux-user-util' into linux-user-util 2010-07-23 10:45:48 -07:00
Brian Behlendorf f46d2d4f79 Merge branch 'linux-events' into refs/top-bases/linux-zfs-branch 2010-07-23 10:45:42 -07:00
Brian Behlendorf e1a29e4329 Merge commit 'refs/top-bases/linux-events' into linux-events 2010-07-23 10:45:40 -07:00
Brian Behlendorf 524312c5af Merge branch 'linux-kernel-module' into refs/top-bases/linux-zfs-branch 2010-07-23 10:45:35 -07:00
Brian Behlendorf 9700b0c5c7 Merge commit 'refs/top-bases/linux-kernel-module' into linux-kernel-module 2010-07-23 10:45:33 -07:00
Brian Behlendorf 8a7d4b07d5 Merge branch 'linux-kernel-device' into refs/top-bases/linux-zfs-branch 2010-07-23 10:45:27 -07:00
Brian Behlendorf 4d01b70fee Merge commit 'refs/top-bases/linux-kernel-device' into linux-kernel-device 2010-07-23 10:45:24 -07:00
Brian Behlendorf 8eb217e1b1 Merge branch 'linux-have-idmap' into refs/top-bases/linux-zfs-branch 2010-07-23 10:45:19 -07:00
Brian Behlendorf 3cd046b635 Merge commit 'refs/top-bases/linux-have-idmap' into linux-have-idmap 2010-07-23 10:45:17 -07:00
Brian Behlendorf d99bba47de Merge branch 'linux-ztest' into refs/top-bases/linux-zfs-branch 2010-07-23 10:45:11 -07:00
Brian Behlendorf 31db1238c8 Merge commit 'refs/top-bases/linux-ztest' into linux-ztest 2010-07-23 10:45:09 -07:00
Brian Behlendorf 405815de45 Merge branch 'linux-unused' into refs/top-bases/linux-zfs-branch 2010-07-23 10:45:03 -07:00
Brian Behlendorf f6d7af69a4 Merge commit 'refs/top-bases/linux-unused' into linux-unused 2010-07-23 10:45:01 -07:00
Brian Behlendorf fd8be4cd39 Merge branch 'linux-libspl' into refs/top-bases/linux-zfs-branch 2010-07-23 10:44:55 -07:00
Brian Behlendorf fe76ce50f8 Merge commit 'refs/top-bases/linux-libspl' into linux-libspl 2010-07-23 10:44:53 -07:00
Brian Behlendorf 994782b6b6 Merge branch 'linux-zpios' into refs/top-bases/linux-zfs-branch 2010-07-23 10:44:46 -07:00
Brian Behlendorf 16a2ff5643 Merge commit 'refs/top-bases/linux-zpios' into linux-zpios 2010-07-23 10:44:44 -07:00
Brian Behlendorf 404931364c Merge branch 'linux-user-disk' into refs/top-bases/linux-zfs-branch 2010-07-23 10:44:38 -07:00
Brian Behlendorf f00f30038a Merge commit 'refs/top-bases/linux-user-disk' into linux-user-disk 2010-07-23 10:44:36 -07:00
Brian Behlendorf e705073edf Merge branch 'linux-symbol-collisions' into refs/top-bases/linux-zfs-branch 2010-07-23 10:44:30 -07:00
Brian Behlendorf 56635bc879 Merge commit 'refs/top-bases/linux-symbol-collisions' into linux-symbol-collisions 2010-07-23 10:44:28 -07:00
Brian Behlendorf 94da2896c3 Merge branch 'linux-kernel-mem' into refs/top-bases/linux-zfs-branch 2010-07-23 10:44:22 -07:00
Brian Behlendorf 6ed74db4ec Merge commit 'refs/top-bases/linux-kernel-mem' into linux-kernel-mem 2010-07-23 10:44:20 -07:00
Brian Behlendorf f997a13070 Merge branch 'linux-kernel-disk' into refs/top-bases/linux-zfs-branch 2010-07-23 10:44:14 -07:00
Brian Behlendorf f25f782e40 Merge commit 'refs/top-bases/linux-kernel-disk' into linux-kernel-disk 2010-07-23 10:44:12 -07:00
Brian Behlendorf c86367c736 Merge branch 'linux-have-spl-debug' into refs/top-bases/linux-zfs-branch 2010-07-23 10:44:06 -07:00
Brian Behlendorf bfd9139b01 Merge commit 'refs/top-bases/linux-have-spl-debug' into linux-have-spl-debug 2010-07-23 10:44:03 -07:00
Brian Behlendorf 9f24ae6b22 Merge branch 'linux-have-mntent' into refs/top-bases/linux-zfs-branch 2010-07-23 10:43:58 -07:00
Brian Behlendorf d931c577c1 Merge commit 'refs/top-bases/linux-have-mntent' into linux-have-mntent 2010-07-23 10:43:55 -07:00
Brian Behlendorf 1f3fa4df05 Add -stack-check option to libspl
See commit f16dec7e67fe86f3c3556a67865ee715a2964d70 for full
details of this change.  But in summary -fstack-check is being
restricted in usage only to locations which must already have
small stack frames.
2010-07-23 10:38:44 -07:00
Brian Behlendorf 7fa6f8b93a Restrict usage of -fstack-check option
The stack check implementation in older versions of gcc has
a fairly low default limit on STACK_CHECK_MAX_FRAME_SIZE of
roughly 4096.  This results in numerous warning when it is
used with code which was designed to run in user space and
thus may be relatively stack heavy.  The avoid these warnings,
which are fatal with -Werror, this patch targets the use of
-fstack-check to libraries which are compiled in both user
space and kernel space.  The only utility which uses this
flag is ztest which is designed to simulate running in the
kernel and must meet the -fstack-check requirements.  All
other user space utilities do not use -fstack-check.

  warning: frame size too large for reliable stack checking
  warning: try reducing the number of local variables
2010-07-23 10:38:07 -07:00
Brian Behlendorf c0932825ea Reduce stack move path local to heap
To use the -fstack-check gcc option each stack frame must be
keep reasonably small.  In this case the path local is moved
from the stack to the heap to keep us under the limit.

  warning: frame size too large for reliable stack checking
  warning: try reducing the number of local variables
2010-07-23 10:36:49 -07:00
Brian Behlendorf f58859a371 Merge branch 'linux-topology' into refs/top-bases/linux-zfs-branch 2010-07-22 17:03:13 -07:00
Brian Behlendorf ea5e8e5247 Remove stray include <label.h>
This was accidentally added, wrongly, to the wrong topic
branch.  In fact it actually simply needs to be outright
removed... so I am.
2010-07-22 16:58:53 -07:00
Brian Behlendorf bda31592bf Merge branch 'linux-have-mlslabel' into refs/top-bases/linux-zfs-branch 2010-07-22 16:57:57 -07:00
Brian Behlendorf 66b2805477 Disable mlslabel support in Linux
The ZFS update to onnv_141 brought with it support for a
security label attribute called mlslabel.  This feature
depends on zones to work correctly and thus I am disabling
it under Linux.  Equivilant functionality could be added
at some point in the future.
2010-07-22 16:55:50 -07:00
Brian Behlendorf 0c1211f8fb Merge branch 'linux-kernel-device' into refs/top-bases/linux-zfs-branch 2010-07-22 16:50:42 -07:00
Brian Behlendorf c979e4bdf8 Move mlslabel hunk to new linux-have-mlslabel
Simply relocate this hunk with a little tweak to the new
linux-have-mlslabel topic branch which has been created to
disable this support on linux.
2010-07-22 16:46:27 -07:00
Brian Behlendorf 36762cb6f6 Merge branch 'linux-libspl' into refs/top-bases/linux-zfs-branch 2010-07-22 16:43:21 -07:00