summaryrefslogtreecommitdiffstats
path: root/lib/Kconfig.kgdb
diff options
context:
space:
mode:
authorStephen Smalley <sds@tycho.nsa.gov>2010-04-28 15:57:57 -0400
committerJames Morris <jmorris@namei.org>2010-04-29 08:58:45 +1000
commitfcaaade1db63bb2d6f7611d7824eb50d2f07a546 (patch)
tree9091dbdd0c9bd1e3af9ece6f5cce5c0d6c258253 /lib/Kconfig.kgdb
parentcb84aa9b42b506299e5aea1ba4da26c03ab12877 (diff)
downloadop-kernel-dev-fcaaade1db63bb2d6f7611d7824eb50d2f07a546.zip
op-kernel-dev-fcaaade1db63bb2d6f7611d7824eb50d2f07a546.tar.gz
selinux: generalize disabling of execmem for plt-in-heap archs
On Tue, 2010-04-27 at 11:47 -0700, David Miller wrote: > From: "Tom \"spot\" Callaway" <tcallawa@redhat.com> > Date: Tue, 27 Apr 2010 14:20:21 -0400 > > > [root@apollo ~]$ cat /proc/2174/maps > > 00010000-00014000 r-xp 00000000 fd:00 15466577 > > /sbin/mingetty > > 00022000-00024000 rwxp 00002000 fd:00 15466577 > > /sbin/mingetty > > 00024000-00046000 rwxp 00000000 00:00 0 > > [heap] > > SELINUX probably barfs on the executable heap, the PLT is in the HEAP > just like powerpc32 and that's why VM_DATA_DEFAULT_FLAGS has to set > both executable and writable. > > You also can't remove the CONFIG_PPC32 ifdefs in selinux, since > because of the VM_DATA_DEFAULT_FLAGS setting used still in that arch, > the heap will always have executable permission, just like sparc does. > You have to support those binaries forever, whether you like it or not. > > Let's just replace the CONFIG_PPC32 ifdef in SELINUX with CONFIG_PPC32 > || CONFIG_SPARC as in Tom's original patch and let's be done with > this. > > In fact I would go through all the arch/ header files and check the > VM_DATA_DEFAULT_FLAGS settings and add the necessary new ifdefs to the > SELINUX code so that other platforms don't have the pain of having to > go through this process too. To avoid maintaining per-arch ifdefs, it seems that we could just directly use (VM_DATA_DEFAULT_FLAGS & VM_EXEC) as the basis for deciding whether to enable or disable these checks. VM_DATA_DEFAULT_FLAGS isn't constant on some architectures but instead depends on current->personality, but we want this applied uniformly. So we'll just use the initial task state to determine whether or not to enable these checks. Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'lib/Kconfig.kgdb')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud