Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
security
apparmor
sid.c
Go to the documentation of this file.
1
/*
2
* AppArmor security module
3
*
4
* This file contains AppArmor security identifier (sid) manipulation fns
5
*
6
* Copyright 2009-2010 Canonical Ltd.
7
*
8
* This program is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU General Public License as
10
* published by the Free Software Foundation, version 2 of the
11
* License.
12
*
13
*
14
* AppArmor allocates a unique sid for every profile loaded. If a profile
15
* is replaced it receives the sid of the profile it is replacing.
16
*
17
* The sid value of 0 is invalid.
18
*/
19
20
#include <
linux/spinlock.h
>
21
#include <linux/errno.h>
22
#include <
linux/err.h
>
23
24
#include "
include/sid.h
"
25
26
/* global counter from which sids are allocated */
27
static
u32
global_sid;
28
static
DEFINE_SPINLOCK
(sid_lock);
29
30
/* TODO FIXME: add sid to profile mapping, and sid recycling */
31
35
u32
aa_alloc_sid
(
void
)
36
{
37
u32
sid
;
38
39
/*
40
* TODO FIXME: sid recycling - part of profile mapping table
41
*/
42
spin_lock(&sid_lock);
43
sid = (++global_sid);
44
spin_unlock(&sid_lock);
45
return
sid
;
46
}
47
52
void
aa_free_sid
(
u32
sid
)
53
{
54
;
/* NOP ATM */
55
}
Generated on Thu Jan 10 2013 15:03:08 for Linux Kernel by
1.8.2