Re: OpenMoko/JFFS2 sestatus difficulties

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jul 16, 2008 at 4:56 PM, Stephen Smalley <sds@xxxxxxxxxxxxx> wrote:
>
> On Wed, 2008-07-16 at 16:48 +0000, Justin Mattock wrote:
>> On Wed, Jul 16, 2008 at 3:18 PM, Stephen Smalley <sds@xxxxxxxxxxxxx> wrote:
>> >
>> > On Wed, 2008-07-16 at 15:03 +0000, Justin Mattock wrote:
>> >> On Wed, Jul 16, 2008 at 11:56 AM, Stephen Smalley <sds@xxxxxxxxxxxxx> wrote:
>> >> >
>> >> > On Tue, 2008-07-15 at 18:17 -0400, Willis Vandevanter wrote:
>> >> >> -----BEGIN PGP SIGNED MESSAGE-----
>> >> >> Hash: SHA1
>> >> >>
>> >> >> Hello All,
>> >> >>
>> >> >>    I am working on developing a targeted SELinux policy for
>> >> >> OpenMoko devices (www.openmoko.org) as a Google Summer Of Code project
>> >> >> (http://code.google.com/p/selinux-openmoko/).
>> >> >>
>> >> >> Background:
>> >> >> I have cross-compiled the necessary SELinux code (libselinux-1.34.15,
>> >> >> checkpolicy-1.34.7, libsemanage-1.10.9, libsepol-1.16.14,
>> >> >> policycoreutils-1.34.16) and devloped a very basic targeted policy. I
>> >> >> ported the code on to the device. The policy compiles (make) and
>> >> >> installs (make install).
>> >> >>
>> >> >> Where I am stuck:
>> >> >> When cross-compiling libselinux I get some strange behavior.
>> >> >> Specifically, I compiled libselinux with the following flags:
>> >> >>  make
>> >> >> CC=/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/cc ARCH=arm
>> >> >> LIBDIR=/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/lib
>> >> >>  I then copied the new libselinux.so.1 on to the device. sestatus
>> >> >> returns that SELinux is enabled and lists the correct policy version,
>> >> >> etc. *BUT* make relabel doesn't work. make relabel (or setfiles) gives
>> >> >> the following error:
>> >> >>
>> >> >> file_contexts/file_contexts: Invalid argument make: *** [relabel]
>> >> >> Error 1
>> >> >> The error seems to be that file_contexts is not being interpreted as a
>> >> >> regular file (i.e. S_ISREG(sb.st_mode) in setfiles.c is returning 0).
>> >> >
>> >> > That doesn't seem consistent with the error message; if the S_ISREG()
>> >> > test fails, setfiles would send the following output to stderr:
>> >> >        setfiles:  spec file <path> is not a regular file.
>> >> > So perhaps you are instead encountering an error on the stat() call that
>> >> > precedes the S_ISREG() test, and the perror() output there is what you
>> >> > are getting above?
>> >> >
>> >> > setfiles is built with -D_FILE_OFFSET_BITS=64 by default, and thus uses
>> >> > the 64-bit large file system interfaces.  But this can be overridden via
>> >> > CFLAGS.
>> >> >
>> >> >> I assume this is because I compiled libselinux without the OpenMoko
>> >> >> specific header files (ie with my host-x86 /usr/include rather than
>> >> >> the device specific ones), so I re-compiled libselinux:
>> >> >>
>> >> >> make
>> >> >> CC=/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/bin/ccARCH=arm
>> >> >> LIBDIR=/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/lib
>> >> >> INCLUDEDIR=/usr/local/openmoko/arm/arm-angstrom-linux-gnueabi/usr/include
>> >> >> I then copied libselinux.so.1 on to the device. setfiles will now
>> >> >> correctly label the filesystem, but sestatus now returns SELinux as
>> >> >> disabled. I set /etc/selinux/config file to permissive and rebooted,
>> >> >> but it is still listed as disabled.
>> >> >>
>> >> >> How is SELinux determined to be enabled? Could missing or
>> >> >> mis-configured header files in the OpenMoko /usr/include cause SELinux
>> >> >> to appear as disabled?
>> >> >
>> >> > SELinux enabled vs disabled is determined based on:
>> >> > - presence/absence of selinuxfs in /proc/filesystems, and
>> >> > - read of /proc/self/attr/current returns something other than
>> >> > "kernel" (i.e. policy has been loaded).
>> >> >
>> >> > --
>> >> > Stephen Smalley
>> >> > National Security Agency
>> >> >
>> >> >
>> >> > --
>> >> > This message was distributed to subscribers of the selinux mailing list.
>> >> > If you no longer wish to subscribe, send mail to majordomo@xxxxxxxxxxxxx with
>> >> > the words "unsubscribe selinux" without quotes as the message.
>> >> >
>> >>
>> >> Is there a possibility of having the file system mounted twice
>> >> i.g. the libraries create /selinux during the boot process
>> >> before /etc/fstab, and then once /etc/fstab is called
>> >> another mount point in the same vicinity is created?
>> >> In my case I was always using debian edgy to install selinux, but
>> >> then started to use debian sid; when using sid there is no need to
>> >> enter anything in fstab, due to the packages being up to date.
>> >> regards;
>> >
>> > I'm not sure what you are asking.  In some distributions, selinuxfs is
>> > mounted by /sbin/init.  In other distributions, it is mounted by early
>> > userspace from initramfs by invoking load_policy -i or directly calling
>> > the corresponding libselinux function.
>> >
>> > Regardless, you don't need it in your fstab file; selinuxfs gets mounted
>> > before fstab is ever read normally.
>> >
>> > As far as enabled/disabled goes, selinuxfs doesn't even have to be
>> > presently mounted in the process' namespace; it only needs to be
>> > registered in the kernel (as shown by /proc/filesystems) and a policy
>> > has to have been previously loaded.
>> >
>> > --
>> > Stephen Smalley
>> > National Security Agency
>> >
>> >
>>
>> O.K.
>> I think what I'm trying to say, is if it's possible
>> to have selinux mount itself twice in the same location.
>> i.g. init does it's job, and then later on fstab(if you have an entry in there)
>> will mount as well.
>> In other words once init makes a mount,
>> then fstab tries to make a mount in the same location,
>> will it fail. or mount another selinuxfs on top of the already mounted
>> selinuxfs.
>
> All you have to do is try it, and you can answer that one yourself:
> # mount -t selinuxfs none /selinux
> mount: none already mounted or /selinux busy
>
>> And just to let you know, I am not using fstab just was wondering if
>> things like this
>> can occur.
>
>
> --
> Stephen Smalley
> National Security Agency
>
>

oops;
I should of thought about that before saying anything.


-- 
Justin P. Mattock

--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@xxxxxxxxxxxxx with
the words "unsubscribe selinux" without quotes as the message.

[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux