* Configuring kernel module for labeling ...
@ 2004-11-02 8:45 Jaspreet Singh
2004-11-02 10:26 ` Luke Kenneth Casson Leighton
2004-11-02 16:23 ` Russell Coker
0 siblings, 2 replies; 8+ messages in thread
From: Jaspreet Singh @ 2004-11-02 8:45 UTC (permalink / raw)
To: nsa, Stephen Smalley
Hi,
could anybody explain me the following msg ...
SELinux: initialized (dev overlay_fs, type overlay_fs), not configured
for labeling
I am writing an overlayfs module which is not able to set/getxattrs of
the underlying etx3 dentries properly ???
any clues ...
Jaspreet
--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Configuring kernel module for labeling ...
2004-11-02 8:45 Configuring kernel module for labeling Jaspreet Singh
@ 2004-11-02 10:26 ` Luke Kenneth Casson Leighton
2004-11-02 16:23 ` Russell Coker
1 sibling, 0 replies; 8+ messages in thread
From: Luke Kenneth Casson Leighton @ 2004-11-02 10:26 UTC (permalink / raw)
To: Jaspreet Singh; +Cc: nsa, Stephen Smalley
On Tue, Nov 02, 2004 at 02:15:55PM +0530, Jaspreet Singh wrote:
> Hi,
>
> could anybody explain me the following msg ...
in a roundabout way that i _hope_ will demonstrate a methodolgy and
guess-work that will enhance your own ability to track these issues
down, yes, i think so.
[i had to go through the same process with adding fuse, but had help
from stephen in the fs_use bit iirc]
> SELinux: initialized (dev overlay_fs, type overlay_fs), not configured
> for labeling
okay, grep "not configured for label" in security/*/*.c, gives
selinux/hooks.c an array of labeling behaviours - entry with index 4 is
"not configured for labeling".
sbsec->behaviour indexes that array (line 593) and looking at locations
where it's used, you have #defines SECURITY_FS_USE_XATTR -->
SECURITY_FS_USE_MNTPOINT in selinux/include/security.h
i think i know where this is leading, especially with the
Opt_defcontent and stuff.
okay, jaspreet: did you add overlay_fs to /etc/selinux/src/fs_use?
because i _think_ the fs_use file contains wordy versions of the
SECURITY_FS_USE #defines.
and the default is "not configured".
so you will need to specify, in /etc/selinux/src/fs_use, a line
fs_use_xattr overlay system_u:object_r:fs_t;
[just like i had to do with fuse].
the name (overlay) MUST match the name of your module in your overlay
kernel source code.
l.
--
--
you don't have to BE MAD | this space | my brother wanted to join mensa,
to work, but IT HELPS | for rent | for an ego trip - and get kicked
you feel better! I AM | can pay cash | out for a even bigger one.
--
--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Configuring kernel module for labeling ...
2004-11-02 8:45 Configuring kernel module for labeling Jaspreet Singh
2004-11-02 10:26 ` Luke Kenneth Casson Leighton
@ 2004-11-02 16:23 ` Russell Coker
2004-11-02 17:45 ` Jaspreet Singh
1 sibling, 1 reply; 8+ messages in thread
From: Russell Coker @ 2004-11-02 16:23 UTC (permalink / raw)
To: jsingh; +Cc: nsa, Stephen Smalley
On Tue, 2 Nov 2004 19:45, Jaspreet Singh <jsingh@ensim.com> wrote:
> I am writing an overlayfs module which is not able to set/getxattrs of
> the underlying etx3 dentries properly ???
Luke answered the base part of the question correctly, you need to modify
fs_use.
However I am concerned about your above paragraph, it is unclear and I can
interpret it in two ways - which require different policies. Please describe
this problem in much more detail and I'll tell you the best answer.
--
http://www.coker.com.au/selinux/ My NSA Security Enhanced Linux packages
http://www.coker.com.au/bonnie++/ Bonnie++ hard drive benchmark
http://www.coker.com.au/postal/ Postal SMTP/POP benchmark
http://www.coker.com.au/~russell/ My home page
--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Configuring kernel module for labeling ...
2004-11-02 16:23 ` Russell Coker
@ 2004-11-02 17:45 ` Jaspreet Singh
2004-11-02 18:28 ` Stephen Smalley
0 siblings, 1 reply; 8+ messages in thread
From: Jaspreet Singh @ 2004-11-02 17:45 UTC (permalink / raw)
To: russell, nsa
Hi,
thanx for the mails ,... i really needed them ...
On Tue, 2004-11-02 at 21:53, Russell Coker wrote:
> On Tue, 2 Nov 2004 19:45, Jaspreet Singh <jsingh@ensim.com> wrote:
> > I am writing an overlayfs module which is not able to set/getxattrs of
> > the underlying etx3 dentries properly ???
> However I am concerned about your above paragraph, it is unclear and I can
> interpret it in two ways - which require different policies. Please describe
> this problem in much more detail and I'll tell you the best answer.
ok so, the code base i am using is mini_fo curretly maintained at
http://projects.programmers.ch/project/showfiles.php?group_id=14&release_id=41
I preferred using name as overlay_fs as it was more symbolic.
Itz a fanout file-system with gives Copy-On-Write when a RW storage is
mounted on RO base directory. The results are very satisfactory .. and i
am able to easily set/getxatts on the mount-point both using setfiles
and my own-simple C code.
The mini-fo sets/getattrs from the underlying lower-level file-systems
like ext2 and etx3 ... In case of a setxattr on the mount-file it
duplicates the file in storage and applies xattrs there.
> What is the entry in /proc/filesystems for that file system?
The proc-sys entry for this is "nodev mini_fo".
> Your problem is that the filesystem has type unlabeled_t.
How can i change that ???
> Stephen Smalley: Any interesting details prior to these avc's ..
One interesting thing was .. whenever i used to change xattrs of a
directory of the underlying filesys directly using
dentry->d_inode->i_op->setxattr the selinux used to refuse any
type_transitions for any file creating in that changed directory.
Although the xattrs of the dir used to be perfect.
> SELinux sets the security class when the dentry is instantiated for >
the inode based on the inode mode.
How can i check if the inode is exposing itself correctly or not ..
given the fact .. everything appears to be fine with unconfined_t and
problematic with httpd_t :-(
Hope this information helps ...
Thanx a lot for suggestions anyways ...
Jaspreet
--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Configuring kernel module for labeling ...
2004-11-02 17:45 ` Jaspreet Singh
@ 2004-11-02 18:28 ` Stephen Smalley
2004-11-02 18:42 ` Stephen Smalley
0 siblings, 1 reply; 8+ messages in thread
From: Stephen Smalley @ 2004-11-02 18:28 UTC (permalink / raw)
To: jsingh; +Cc: Russell Coker, nsa
On Tue, 2004-11-02 at 12:45, Jaspreet Singh wrote:
> > Your problem is that the filesystem has type unlabeled_t.
>
> How can i change that ???
I think you already handled that problem by defining a fs_use entry for
the filesystem type.
> One interesting thing was .. whenever i used to change xattrs of a
> directory of the underlying filesys directly using
> dentry->d_inode->i_op->setxattr the selinux used to refuse any
> type_transitions for any file creating in that changed directory.
> Although the xattrs of the dir used to be perfect.
Yes, this makes sense. SELinux gets the xattr when the inode is
attached to a dentry, maps it to a SID, and caches that SID in the
incore inode. Note that fs/xattr.c:setxattr() calls a
security_inode_post_setxattr() hook function upon successful setting of
the attribute to tell SELinux to update its incore inode SID as well.
You need to do likewise.
> How can i check if the inode is exposing itself correctly or not ..
> given the fact .. everything appears to be fine with unconfined_t and
> problematic with httpd_t :-(
Possibly a permissions problem, e.g. if your stacked filesystem calls
VFS functions that internally trigger security hook calls, it may run
afoul of a SELinux permission check (which will be performed against the
current process context) and possibly denied to httpd_t while allowed to
unconfined_t, thereby preventing further progress in setting up the
state.
Also, stacked filesystems might be a problem in general, as SELinux is
initializing the inode security state upon d_instantiate. Natural
question is when does it perform the d_instantiate upon the underlying
inode vs. the virtual one? And when does it copy state like the mode
from the underlying inode to the virtual one?
--
Stephen Smalley <sds@epoch.ncsc.mil>
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@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Configuring kernel module for labeling ...
2004-11-02 18:28 ` Stephen Smalley
@ 2004-11-02 18:42 ` Stephen Smalley
2004-11-02 20:33 ` Jaspreet Singh
0 siblings, 1 reply; 8+ messages in thread
From: Stephen Smalley @ 2004-11-02 18:42 UTC (permalink / raw)
To: jsingh; +Cc: Russell Coker, nsa
On Tue, 2004-11-02 at 13:28, Stephen Smalley wrote:
> Also, stacked filesystems might be a problem in general, as SELinux is
> initializing the inode security state upon d_instantiate. Natural
> question is when does it perform the d_instantiate upon the underlying
> inode vs. the virtual one? And when does it copy state like the mode
> from the underlying inode to the virtual one?
Looking at mini_fo/main.c, I see that it doesn't copy the inode
attributes (e.g. mode) until after the d_instantiate. Not good for
SELinux, as we want the mode at that time to determine the security
class. Might want to try the patch below.
--- mini_fo/main.c.orig 2004-11-02 13:37:33.582234520 -0500
+++ mini_fo/main.c 2004-11-02 13:38:26.116248136 -0500
@@ -154,6 +154,9 @@
inode->i_mapping->a_ops = master_inode->i_mapping->a_ops;
}
+ /* all well, copy inode attributes */
+ fist_copy_attr_all(inode, master_inode);
+
/* only (our) lookup wants to do a d_add */
if (flag)
d_add(dentry, inode);
@@ -162,10 +165,6 @@
ASSERT(DENTRY_TO_PRIVATE(dentry) != NULL);
-
- /* all well, copy inode attributes */
- fist_copy_attr_all(inode, master_inode);
-
out:
print_exit_status(err);
return err;
@@ -246,6 +245,9 @@
inode->i_mapping->a_ops = lower_inode->i_mapping->a_ops;
}
+ /* all well, copy inode attributes */
+ fist_copy_attr_all(inode, lower_inode);
+
/* only (our) lookup wants to do a d_add */
if (flag)
d_add(dentry, inode);
@@ -253,10 +255,6 @@
d_instantiate(dentry, inode);
ASSERT(DENTRY_TO_PRIVATE(dentry) != NULL);
-
- /* all well, copy inode attributes */
- fist_copy_attr_all(inode, lower_inode);
-
out:
print_exit_status(err);
return err;
--
Stephen Smalley <sds@epoch.ncsc.mil>
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@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Configuring kernel module for labeling ...
2004-11-02 18:42 ` Stephen Smalley
@ 2004-11-02 20:33 ` Jaspreet Singh
2004-11-02 20:48 ` Stephen Smalley
0 siblings, 1 reply; 8+ messages in thread
From: Jaspreet Singh @ 2004-11-02 20:33 UTC (permalink / raw)
To: nsa
Hi,
this can't be real ... or is it the matrix ... I have been trying these
things for the past 7 days .. and you solved them . in just two mails.
Thanx a lot sir...
On Wed, 2004-11-03 at 00:12, Stephen Smalley wrote:
> Looking at mini_fo/main.c, I see that it doesn't copy the inode
> attributes (e.g. mode) until after the d_instantiate. Not good for
> SELinux, as we want the mode at that time to determine the security
> class. Might want to try the patch below.
>
It worked .. and i have tested it now.
> Note that fs/xattr.c:setxattr() calls a security_inode_post_setxattr()
> hook function upon successful setting of the attribute to tell
> SELinux to update its incore inode SID as well. You need to do
Ok... i got it now. Yups I have seen the code ... I thought something on
the same lines .. I will try to figure it out my-self and bother you
only if i can't do it.
Can you provide me with some documents/links .. so that i can learn
these things ... with details.
Thanx a lot...
Jaspreet Singh.
--
:: don't walk as if you own the world
walk as if you dont damn who owns it ::
--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Configuring kernel module for labeling ...
2004-11-02 20:33 ` Jaspreet Singh
@ 2004-11-02 20:48 ` Stephen Smalley
0 siblings, 0 replies; 8+ messages in thread
From: Stephen Smalley @ 2004-11-02 20:48 UTC (permalink / raw)
To: jsingh; +Cc: nsa
On Tue, 2004-11-02 at 15:33, Jaspreet Singh wrote:
> Can you provide me with some documents/links .. so that i can learn
> these things ... with details.
Documentation on SELinux kernel internals is rather out-of-date, I'm
afraid. Need to update the SELinux module technical report
(http://www.nsa.gov/selinux/papers/module-abs.cfm, sources included in
the selinux-doc tarball) to reflect the current implementation, which
has changed a lot since it was written. It would also be nice to have
an equivalent to http://www.nsa.gov/selinux/papers/slinux-abs.cfm for
the current implementation; that report was written for the original
SELinux kernel patch prior to LSM.
--
Stephen Smalley <sds@epoch.ncsc.mil>
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@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2004-11-02 20:48 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-11-02 8:45 Configuring kernel module for labeling Jaspreet Singh
2004-11-02 10:26 ` Luke Kenneth Casson Leighton
2004-11-02 16:23 ` Russell Coker
2004-11-02 17:45 ` Jaspreet Singh
2004-11-02 18:28 ` Stephen Smalley
2004-11-02 18:42 ` Stephen Smalley
2004-11-02 20:33 ` Jaspreet Singh
2004-11-02 20:48 ` Stephen Smalley
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.