Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 19397
b: refs/heads/master
c: 9ac49d2
h: refs/heads/master
i:
  19395: 5f5f268
v: v3
  • Loading branch information
Stephen Smalley authored and Linus Torvalds committed Feb 1, 2006
1 parent b2f34f6 commit a0e87f1
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 53 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 26d2a4be6a56eec575dac651f6606756a971f0fb
refs/heads/master: 9ac49d22138348198f729f07371ffb11991368e6
49 changes: 5 additions & 44 deletions trunk/security/selinux/hooks.c
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,6 @@ static int task_alloc_security(struct task_struct *task)
if (!tsec)
return -ENOMEM;

tsec->magic = SELINUX_MAGIC;
tsec->task = task;
tsec->osid = tsec->sid = tsec->ptrace_sid = SECINITSID_UNLABELED;
task->security = tsec;
Expand All @@ -138,10 +137,6 @@ static int task_alloc_security(struct task_struct *task)
static void task_free_security(struct task_struct *task)
{
struct task_security_struct *tsec = task->security;

if (!tsec || tsec->magic != SELINUX_MAGIC)
return;

task->security = NULL;
kfree(tsec);
}
Expand All @@ -157,14 +152,10 @@ static int inode_alloc_security(struct inode *inode)

init_MUTEX(&isec->sem);
INIT_LIST_HEAD(&isec->list);
isec->magic = SELINUX_MAGIC;
isec->inode = inode;
isec->sid = SECINITSID_UNLABELED;
isec->sclass = SECCLASS_FILE;
if (tsec && tsec->magic == SELINUX_MAGIC)
isec->task_sid = tsec->sid;
else
isec->task_sid = SECINITSID_UNLABELED;
isec->task_sid = tsec->sid;
inode->i_security = isec;

return 0;
Expand All @@ -175,9 +166,6 @@ static void inode_free_security(struct inode *inode)
struct inode_security_struct *isec = inode->i_security;
struct superblock_security_struct *sbsec = inode->i_sb->s_security;

if (!isec || isec->magic != SELINUX_MAGIC)
return;

spin_lock(&sbsec->isec_lock);
if (!list_empty(&isec->list))
list_del_init(&isec->list);
Expand All @@ -196,15 +184,9 @@ static int file_alloc_security(struct file *file)
if (!fsec)
return -ENOMEM;

fsec->magic = SELINUX_MAGIC;
fsec->file = file;
if (tsec && tsec->magic == SELINUX_MAGIC) {
fsec->sid = tsec->sid;
fsec->fown_sid = tsec->sid;
} else {
fsec->sid = SECINITSID_UNLABELED;
fsec->fown_sid = SECINITSID_UNLABELED;
}
fsec->sid = tsec->sid;
fsec->fown_sid = tsec->sid;
file->f_security = fsec;

return 0;
Expand All @@ -213,10 +195,6 @@ static int file_alloc_security(struct file *file)
static void file_free_security(struct file *file)
{
struct file_security_struct *fsec = file->f_security;

if (!fsec || fsec->magic != SELINUX_MAGIC)
return;

file->f_security = NULL;
kfree(fsec);
}
Expand All @@ -233,7 +211,6 @@ static int superblock_alloc_security(struct super_block *sb)
INIT_LIST_HEAD(&sbsec->list);
INIT_LIST_HEAD(&sbsec->isec_head);
spin_lock_init(&sbsec->isec_lock);
sbsec->magic = SELINUX_MAGIC;
sbsec->sb = sb;
sbsec->sid = SECINITSID_UNLABELED;
sbsec->def_sid = SECINITSID_FILE;
Expand All @@ -246,9 +223,6 @@ static void superblock_free_security(struct super_block *sb)
{
struct superblock_security_struct *sbsec = sb->s_security;

if (!sbsec || sbsec->magic != SELINUX_MAGIC)
return;

spin_lock(&sb_security_lock);
if (!list_empty(&sbsec->list))
list_del_init(&sbsec->list);
Expand All @@ -270,7 +244,6 @@ static int sk_alloc_security(struct sock *sk, int family, gfp_t priority)
if (!ssec)
return -ENOMEM;

ssec->magic = SELINUX_MAGIC;
ssec->sk = sk;
ssec->peer_sid = SECINITSID_UNLABELED;
sk->sk_security = ssec;
Expand All @@ -282,7 +255,7 @@ static void sk_free_security(struct sock *sk)
{
struct sk_security_struct *ssec = sk->sk_security;

if (sk->sk_family != PF_UNIX || ssec->magic != SELINUX_MAGIC)
if (sk->sk_family != PF_UNIX)
return;

sk->sk_security = NULL;
Expand Down Expand Up @@ -1483,7 +1456,6 @@ static int selinux_bprm_alloc_security(struct linux_binprm *bprm)
if (!bsec)
return -ENOMEM;

bsec->magic = SELINUX_MAGIC;
bsec->bprm = bprm;
bsec->sid = SECINITSID_UNLABELED;
bsec->set = 0;
Expand Down Expand Up @@ -3634,14 +3606,9 @@ static int ipc_alloc_security(struct task_struct *task,
if (!isec)
return -ENOMEM;

isec->magic = SELINUX_MAGIC;
isec->sclass = sclass;
isec->ipc_perm = perm;
if (tsec) {
isec->sid = tsec->sid;
} else {
isec->sid = SECINITSID_UNLABELED;
}
isec->sid = tsec->sid;
perm->security = isec;

return 0;
Expand All @@ -3650,9 +3617,6 @@ static int ipc_alloc_security(struct task_struct *task,
static void ipc_free_security(struct kern_ipc_perm *perm)
{
struct ipc_security_struct *isec = perm->security;
if (!isec || isec->magic != SELINUX_MAGIC)
return;

perm->security = NULL;
kfree(isec);
}
Expand All @@ -3665,7 +3629,6 @@ static int msg_msg_alloc_security(struct msg_msg *msg)
if (!msec)
return -ENOMEM;

msec->magic = SELINUX_MAGIC;
msec->msg = msg;
msec->sid = SECINITSID_UNLABELED;
msg->security = msec;
Expand All @@ -3676,8 +3639,6 @@ static int msg_msg_alloc_security(struct msg_msg *msg)
static void msg_msg_free_security(struct msg_msg *msg)
{
struct msg_security_struct *msec = msg->security;
if (!msec || msec->magic != SELINUX_MAGIC)
return;

msg->security = NULL;
kfree(msec);
Expand Down
8 changes: 0 additions & 8 deletions trunk/security/selinux/include/objsec.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
#include "avc.h"

struct task_security_struct {
unsigned long magic; /* magic number for this module */
struct task_struct *task; /* back pointer to task object */
u32 osid; /* SID prior to last execve */
u32 sid; /* current SID */
Expand All @@ -37,7 +36,6 @@ struct task_security_struct {
};

struct inode_security_struct {
unsigned long magic; /* magic number for this module */
struct inode *inode; /* back pointer to inode object */
struct list_head list; /* list of inode_security_struct */
u32 task_sid; /* SID of creating task */
Expand All @@ -49,14 +47,12 @@ struct inode_security_struct {
};

struct file_security_struct {
unsigned long magic; /* magic number for this module */
struct file *file; /* back pointer to file object */
u32 sid; /* SID of open file description */
u32 fown_sid; /* SID of file owner (for SIGIO) */
};

struct superblock_security_struct {
unsigned long magic; /* magic number for this module */
struct super_block *sb; /* back pointer to sb object */
struct list_head list; /* list of superblock_security_struct */
u32 sid; /* SID of file system */
Expand All @@ -70,20 +66,17 @@ struct superblock_security_struct {
};

struct msg_security_struct {
unsigned long magic; /* magic number for this module */
struct msg_msg *msg; /* back pointer */
u32 sid; /* SID of message */
};

struct ipc_security_struct {
unsigned long magic; /* magic number for this module */
struct kern_ipc_perm *ipc_perm; /* back pointer */
u16 sclass; /* security class of this object */
u32 sid; /* SID of IPC resource */
};

struct bprm_security_struct {
unsigned long magic; /* magic number for this module */
struct linux_binprm *bprm; /* back pointer to bprm object */
u32 sid; /* SID for transformed process */
unsigned char set;
Expand All @@ -102,7 +95,6 @@ struct netif_security_struct {
};

struct sk_security_struct {
unsigned long magic; /* magic number for this module */
struct sock *sk; /* back pointer to sk object */
u32 peer_sid; /* SID of peer */
};
Expand Down

0 comments on commit a0e87f1

Please sign in to comment.