I'm using Gentoo Hardened, with musl on an armv7 device. Gradm reports that the gradm version and kernel are incompatible.
Installed packages:
- Code: Select all
root@lostmemory ~ # eix -cIe gradm
[I] sys-apps/gradm (3.0.201408301734@01/18/15): Administrative interface for the grsecurity Role Based Access Control system
root@lostmemory ~ # eix -cIe hardened-sources
[I] sys-kernel/hardened-sources (3.18.5-r1(3.18.5-r1)@02/15/15): Hardened kernel sources (kernel series 3.18)
gradm -S reporting an error:
- Code: Select all
root@lostmemory ~ # gradm -S
The /dev/grsec device is not properly installed on your system or you are not using a grsecurity kernel.
/dev/grsec exists:
- Code: Select all
# ls -l /dev/grsec
crw--w--w- 1 root root 1, 13 Feb 15 01:48 /dev/grsec
Running a different command (I am not sure if this command is sensible - but still, the error should be telling):
- Code: Select all
# gradm -D
Password:
You are using incompatible versions of gradm and grsecurity.
Please update both versions to the ones available on the website.
Make sure your gradm has been compiled for the kernel you are currently running.
Linux version:
- Code: Select all
# uname -a
Linux lostmemory 3.18.5-hardened-r1lostmemory #1 SMP Sun Feb 15 01:46:07 CET 2015 armv7l Allwinner A1X (Device Tree) GNU/Linux
Musl libc version:
- Code: Select all
# /usr/lib/libc.so
musl libc
Version 1.1.6
Dynamic Program Loader
Usage: /usr/lib/libc.so [options] [--] pathname [args]
Gradm version:
- Code: Select all
# gradm --version
gradm v3.0 - grsecurity RBAC administration and policy analysis utility
I am a bit lost. I have not tested this with glibc, because I don't have a hardened armv7 system with glibc; but I presume that it will work.
Any clue why this would go wrong? I checked the kernel source some time ago, as well as the gradm source, and saw that (obviously) both define (the same) structs that are used to define the messages being communicated. Perhaps some of the types do not match?
Help and pointers would be appreciated.