Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 18162
b: refs/heads/master
c: 446ada4
h: refs/heads/master
v: v3
  • Loading branch information
Nathan Scott committed Jan 11, 2006
1 parent c83f0b8 commit 255af25
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c2cd2550603d847b709035c4c6b666adf560d7b8
refs/heads/master: 446ada4a03808f128e8f28daa0f103dc69d22d5b
37 changes: 37 additions & 0 deletions trunk/fs/xfs/linux-2.6/xfs_iops.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@

#include <linux/xattr.h>
#include <linux/namei.h>
#include <linux/security.h>

#define IS_NOATIME(inode) ((inode->i_sb->s_flags & MS_NOATIME) || \
(S_ISDIR(inode->i_mode) && inode->i_sb->s_flags & MS_NODIRATIME))
Expand Down Expand Up @@ -202,6 +203,39 @@ validate_fields(
}
}

/*
* Hook in SELinux. This is not quite correct yet, what we really need
* here (as we do for default ACLs) is a mechanism by which creation of
* these attrs can be journalled at inode creation time (along with the
* inode, of course, such that log replay can't cause these to be lost).
*/
STATIC int
linvfs_init_security(
struct vnode *vp,
struct inode *dir)
{
struct inode *ip = LINVFS_GET_IP(vp);
size_t length;
void *value;
char *name;
int error;

error = security_inode_init_security(ip, dir, &name, &value, &length);
if (error) {
if (error == -EOPNOTSUPP)
return 0;
return -error;
}

VOP_ATTR_SET(vp, name, value, length, ATTR_SECURE, NULL, error);
if (!error)
VMODIFY(vp);

kfree(name);
kfree(value);
return error;
}

/*
* Determine whether a process has a valid fs_struct (kernel daemons
* like knfsd don't have an fs_struct).
Expand Down Expand Up @@ -267,6 +301,9 @@ linvfs_mknod(
break;
}

if (!error)
error = linvfs_init_security(vp, dir);

if (default_acl) {
if (!error) {
error = _ACL_INHERIT(vp, &va, default_acl);
Expand Down

0 comments on commit 255af25

Please sign in to comment.