SELinux: remove redundant exports
authorAhmed S. Darwish <darwish.07@gmail.com>
Sat, 1 Mar 2008 19:58:32 +0000 (21:58 +0200)
committerJames Morris <jmorris@namei.org>
Fri, 18 Apr 2008 23:52:36 +0000 (09:52 +1000)
Remove the following exported SELinux interfaces:
selinux_get_inode_sid(inode, sid)
selinux_get_ipc_sid(ipcp, sid)
selinux_get_task_sid(tsk, sid)
selinux_sid_to_string(sid, ctx, len)

They can be substitued with the following generic equivalents
respectively:
new LSM hook, inode_getsecid(inode, secid)
new LSM hook, ipc_getsecid*(ipcp, secid)
LSM hook, task_getsecid(tsk, secid)
LSM hook, sid_to_secctx(sid, ctx, len)

Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
Signed-off-by: Ahmed S. Darwish <darwish.07@gmail.com>
Acked-by: James Morris <jmorris@namei.org>
Reviewed-by: Paul Moore <paul.moore@hp.com>
include/linux/selinux.h
security/selinux/exports.c

index 8c2cc4c0252640f7c4d5705b25d845417db65d19..24b0af1c4cac51b12e187689a6f42539d09e0e41 100644 (file)
@@ -16,7 +16,6 @@
 
 struct selinux_audit_rule;
 struct audit_context;
 
 struct selinux_audit_rule;
 struct audit_context;
-struct inode;
 struct kern_ipc_perm;
 
 #ifdef CONFIG_SECURITY_SELINUX
 struct kern_ipc_perm;
 
 #ifdef CONFIG_SECURITY_SELINUX
@@ -69,45 +68,6 @@ int selinux_audit_rule_match(u32 sid, u32 field, u32 op,
  */
 void selinux_audit_set_callback(int (*callback)(void));
 
  */
 void selinux_audit_set_callback(int (*callback)(void));
 
-/**
- *     selinux_sid_to_string - map a security context ID to a string
- *     @sid: security context ID to be converted.
- *     @ctx: address of context string to be returned
- *     @ctxlen: length of returned context string.
- *
- *     Returns 0 if successful, -errno if not.  On success, the context
- *     string will be allocated internally, and the caller must call
- *     kfree() on it after use.
- */
-int selinux_sid_to_string(u32 sid, char **ctx, u32 *ctxlen);
-
-/**
- *     selinux_get_inode_sid - get the inode's security context ID
- *     @inode: inode structure to get the sid from.
- *     @sid: pointer to security context ID to be filled in.
- *
- *     Returns nothing
- */
-void selinux_get_inode_sid(const struct inode *inode, u32 *sid);
-
-/**
- *     selinux_get_ipc_sid - get the ipc security context ID
- *     @ipcp: ipc structure to get the sid from.
- *     @sid: pointer to security context ID to be filled in.
- *
- *     Returns nothing
- */
-void selinux_get_ipc_sid(const struct kern_ipc_perm *ipcp, u32 *sid);
-
-/**
- *     selinux_get_task_sid - return the SID of task
- *     @tsk: the task whose SID will be returned
- *     @sid: pointer to security context ID to be filled in.
- *
- *     Returns nothing
- */
-void selinux_get_task_sid(struct task_struct *tsk, u32 *sid);
-
 /**
  *     selinux_string_to_sid - map a security context string to a security ID
  *     @str: the security context string to be mapped
 /**
  *     selinux_string_to_sid - map a security context string to a security ID
  *     @str: the security context string to be mapped
@@ -175,28 +135,6 @@ static inline void selinux_audit_set_callback(int (*callback)(void))
        return;
 }
 
        return;
 }
 
-static inline int selinux_sid_to_string(u32 sid, char **ctx, u32 *ctxlen)
-{
-       *ctx = NULL;
-       *ctxlen = 0;
-       return 0;
-}
-
-static inline void selinux_get_inode_sid(const struct inode *inode, u32 *sid)
-{
-       *sid = 0;
-}
-
-static inline void selinux_get_ipc_sid(const struct kern_ipc_perm *ipcp, u32 *sid)
-{
-       *sid = 0;
-}
-
-static inline void selinux_get_task_sid(struct task_struct *tsk, u32 *sid)
-{
-       *sid = 0;
-}
-
 static inline int selinux_string_to_sid(const char *str, u32 *sid)
 {
        *sid = 0;
 static inline int selinux_string_to_sid(const char *str, u32 *sid)
 {
        *sid = 0;
index 87d2bb3ea35574596536a9b67305f8f625042dea..64af2d3409ef5e24945ac65032eac831d05eae25 100644 (file)
 /* SECMARK reference count */
 extern atomic_t selinux_secmark_refcount;
 
 /* SECMARK reference count */
 extern atomic_t selinux_secmark_refcount;
 
-int selinux_sid_to_string(u32 sid, char **ctx, u32 *ctxlen)
-{
-       if (selinux_enabled)
-               return security_sid_to_context(sid, ctx, ctxlen);
-       else {
-               *ctx = NULL;
-               *ctxlen = 0;
-       }
-
-       return 0;
-}
-
-void selinux_get_inode_sid(const struct inode *inode, u32 *sid)
-{
-       if (selinux_enabled) {
-               struct inode_security_struct *isec = inode->i_security;
-               *sid = isec->sid;
-               return;
-       }
-       *sid = 0;
-}
-
-void selinux_get_ipc_sid(const struct kern_ipc_perm *ipcp, u32 *sid)
-{
-       if (selinux_enabled) {
-               struct ipc_security_struct *isec = ipcp->security;
-               *sid = isec->sid;
-               return;
-       }
-       *sid = 0;
-}
-
-void selinux_get_task_sid(struct task_struct *tsk, u32 *sid)
-{
-       if (selinux_enabled) {
-               struct task_security_struct *tsec = tsk->security;
-               *sid = tsec->sid;
-               return;
-       }
-       *sid = 0;
-}
-
 int selinux_string_to_sid(char *str, u32 *sid)
 {
        if (selinux_enabled)
 int selinux_string_to_sid(char *str, u32 *sid)
 {
        if (selinux_enabled)