Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]

Diff markup

Differences between /linux/security/selinux/exports.c (Version 2.6.25) and /linux/security/selinux/exports.c (Version 2.6.11.8)


  1 /*                                                  1 
  2  * SELinux services exported to the rest of th    
  3  *                                                
  4  * Author: James Morris <jmorris@redhat.com>      
  5  *                                                
  6  * Copyright (C) 2005 Red Hat, Inc., James Mor    
  7  * Copyright (C) 2006 Trusted Computer Solutio    
  8  * Copyright (C) 2006 IBM Corporation, Timothy    
  9  *                                                
 10  * This program is free software; you can redi    
 11  * it under the terms of the GNU General Publi    
 12  * as published by the Free Software Foundatio    
 13  */                                               
 14 #include <linux/types.h>                          
 15 #include <linux/kernel.h>                         
 16 #include <linux/module.h>                         
 17 #include <linux/selinux.h>                        
 18 #include <linux/fs.h>                             
 19 #include <linux/ipc.h>                            
 20 #include <asm/atomic.h>                           
 21                                                   
 22 #include "security.h"                             
 23 #include "objsec.h"                               
 24                                                   
 25 /* SECMARK reference count */                     
 26 extern atomic_t selinux_secmark_refcount;         
 27                                                   
 28 int selinux_sid_to_string(u32 sid, char **ctx,    
 29 {                                                 
 30         if (selinux_enabled)                      
 31                 return security_sid_to_context    
 32         else {                                    
 33                 *ctx = NULL;                      
 34                 *ctxlen = 0;                      
 35         }                                         
 36                                                   
 37         return 0;                                 
 38 }                                                 
 39                                                   
 40 void selinux_get_inode_sid(const struct inode     
 41 {                                                 
 42         if (selinux_enabled) {                    
 43                 struct inode_security_struct *    
 44                 *sid = isec->sid;                 
 45                 return;                           
 46         }                                         
 47         *sid = 0;                                 
 48 }                                                 
 49                                                   
 50 void selinux_get_ipc_sid(const struct kern_ipc    
 51 {                                                 
 52         if (selinux_enabled) {                    
 53                 struct ipc_security_struct *is    
 54                 *sid = isec->sid;                 
 55                 return;                           
 56         }                                         
 57         *sid = 0;                                 
 58 }                                                 
 59                                                   
 60 void selinux_get_task_sid(struct task_struct *    
 61 {                                                 
 62         if (selinux_enabled) {                    
 63                 struct task_security_struct *t    
 64                 *sid = tsec->sid;                 
 65                 return;                           
 66         }                                         
 67         *sid = 0;                                 
 68 }                                                 
 69                                                   
 70 int selinux_string_to_sid(char *str, u32 *sid)    
 71 {                                                 
 72         if (selinux_enabled)                      
 73                 return security_context_to_sid    
 74         else {                                    
 75                 *sid = 0;                         
 76                 return 0;                         
 77         }                                         
 78 }                                                 
 79 EXPORT_SYMBOL_GPL(selinux_string_to_sid);         
 80                                                   
 81 int selinux_secmark_relabel_packet_permission(    
 82 {                                                 
 83         if (selinux_enabled) {                    
 84                 struct task_security_struct *t    
 85                                                   
 86                 return avc_has_perm(tsec->sid,    
 87                                     PACKET__RE    
 88         }                                         
 89         return 0;                                 
 90 }                                                 
 91 EXPORT_SYMBOL_GPL(selinux_secmark_relabel_pack    
 92                                                   
 93 void selinux_secmark_refcount_inc(void)           
 94 {                                                 
 95         atomic_inc(&selinux_secmark_refcount);    
 96 }                                                 
 97 EXPORT_SYMBOL_GPL(selinux_secmark_refcount_inc    
 98                                                   
 99 void selinux_secmark_refcount_dec(void)           
100 {                                                 
101         atomic_dec(&selinux_secmark_refcount);    
102 }                                                 
103 EXPORT_SYMBOL_GPL(selinux_secmark_refcount_dec    
104                                                   
  This page was automatically generated by the LXR engine.