diff options
author | 2007-02-10 17:32:54 +0000 | |
---|---|---|
committer | 2007-02-10 17:32:54 +0000 | |
commit | 0ef181ae27a6043bd77f70dbe384e8cc7c34c231 (patch) | |
tree | 6b3594a2d1acc2125b6033774c5f188bdff02453 | |
parent | Looks like those x86-hardened-kernel-only issues are related to GRsecurity (diff) | |
download | kevquinn-0ef181ae27a6043bd77f70dbe384e8cc7c34c231.tar.gz kevquinn-0ef181ae27a6043bd77f70dbe384e8cc7c34c231.tar.bz2 kevquinn-0ef181ae27a6043bd77f70dbe384e8cc7c34c231.zip |
More comments on mutex failures
svn path=/; revision=176
-rw-r--r-- | hardened/toolchain/branches/pieworld/pieworld.README | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/hardened/toolchain/branches/pieworld/pieworld.README b/hardened/toolchain/branches/pieworld/pieworld.README index ec4f36c..a4899a3 100644 --- a/hardened/toolchain/branches/pieworld/pieworld.README +++ b/hardened/toolchain/branches/pieworld/pieworld.README @@ -221,8 +221,14 @@ tst-cancel1 fails on x86/amd64 because support is not in gcc-4.1.1 - gcc-4.2 wil Things to work out: 1) Why all those mutex/robust (barrier) checks fail on x86 with a hardened kernel (only!) - Got it! Blae GRsecurity :/ With PaX disabled, the test reports for tst-mutexpi4: - tst-mutexpi4: pthread_mutex_lock.c:287: __pthread_mutex_lock: Assertion `robust || (oldval & 0x40000000) == 0' failed. + Disabling PaX/GRsecurity (i.e. unhardening!) gets: + tst-mutexpi4: pthread_mutex_lock.c:287: __pthread_mutex_lock: Assertion `robust || (oldval & 0x40000000) == 0' failed. + Didn't expect signal from child: got `Aborted' + This happens when the parent tries to lock the mutex; at this point the child has finished - well, + it has aborted, which it shouldn't have done. The reason the assertion has failed is the + 'oldval ^ 0x40000000' bit, which is FUTEX_OWNER_DIED. This is consistent with the child process + aborting, instead of going to an idle state waiting to be cleaned up when the parent finishes. + Investigation ongoing... 2) Why x86 passes elf/tst-tls{1,2}-static when all other arches fail it 3) What's different about x86_64 that it fails a whole bunch that are ok for other arches |