diff options
| author | James Morris <jmorris@namei.org> | 2010-05-05 20:56:07 -0400 |
|---|---|---|
| committer | James Morris <jmorris@namei.org> | 2010-05-05 20:56:07 -0400 |
| commit | 0ffbe2699cda6afbe08501098dff8a8c2fe6ae09 (patch) | |
| tree | 81b1a2305d16c873371b65c5a863c0268036cefe /security | |
| parent | 4e5d6f7ec3833c0da9cf34fa5c53c6058c5908b6 (diff) | |
| parent | 7ebd467551ed6ae200d7835a84bbda0dcadaa511 (diff) | |
Merge branch 'master' into next
Diffstat (limited to 'security')
32 files changed, 52 insertions, 15 deletions
diff --git a/security/device_cgroup.c b/security/device_cgroup.c index 37c5af6ac49..8d9c48f1377 100644 --- a/security/device_cgroup.c +++ b/security/device_cgroup.c | |||
| @@ -10,6 +10,7 @@ | |||
| 10 | #include <linux/list.h> | 10 | #include <linux/list.h> |
| 11 | #include <linux/uaccess.h> | 11 | #include <linux/uaccess.h> |
| 12 | #include <linux/seq_file.h> | 12 | #include <linux/seq_file.h> |
| 13 | #include <linux/slab.h> | ||
| 13 | #include <linux/rcupdate.h> | 14 | #include <linux/rcupdate.h> |
| 14 | #include <linux/mutex.h> | 15 | #include <linux/mutex.h> |
| 15 | 16 | ||
diff --git a/security/inode.c b/security/inode.c index c3a793881d0..1c812e87450 100644 --- a/security/inode.c +++ b/security/inode.c | |||
| @@ -161,13 +161,13 @@ static int create_by_name(const char *name, mode_t mode, | |||
| 161 | 161 | ||
| 162 | mutex_lock(&parent->d_inode->i_mutex); | 162 | mutex_lock(&parent->d_inode->i_mutex); |
| 163 | *dentry = lookup_one_len(name, parent, strlen(name)); | 163 | *dentry = lookup_one_len(name, parent, strlen(name)); |
| 164 | if (!IS_ERR(dentry)) { | 164 | if (!IS_ERR(*dentry)) { |
| 165 | if ((mode & S_IFMT) == S_IFDIR) | 165 | if ((mode & S_IFMT) == S_IFDIR) |
| 166 | error = mkdir(parent->d_inode, *dentry, mode); | 166 | error = mkdir(parent->d_inode, *dentry, mode); |
| 167 | else | 167 | else |
| 168 | error = create(parent->d_inode, *dentry, mode); | 168 | error = create(parent->d_inode, *dentry, mode); |
| 169 | } else | 169 | } else |
| 170 | error = PTR_ERR(dentry); | 170 | error = PTR_ERR(*dentry); |
| 171 | mutex_unlock(&parent->d_inode->i_mutex); | 171 | mutex_unlock(&parent->d_inode->i_mutex); |
| 172 | 172 | ||
| 173 | return error; | 173 | return error; |
diff --git a/security/integrity/ima/ima_api.c b/security/integrity/ima/ima_api.c index 2a5e0bcf388..52015d098fd 100644 --- a/security/integrity/ima/ima_api.c +++ b/security/integrity/ima/ima_api.c | |||
| @@ -13,6 +13,7 @@ | |||
| 13 | * and store_template. | 13 | * and store_template. |
| 14 | */ | 14 | */ |
| 15 | #include <linux/module.h> | 15 | #include <linux/module.h> |
| 16 | #include <linux/slab.h> | ||
| 16 | 17 | ||
| 17 | #include "ima.h" | 18 | #include "ima.h" |
| 18 | static const char *IMA_TEMPLATE_NAME = "ima"; | 19 | static const char *IMA_TEMPLATE_NAME = "ima"; |
diff --git a/security/integrity/ima/ima_audit.c b/security/integrity/ima/ima_audit.c index fcb1f714cfc..c5c5a72c30b 100644 --- a/security/integrity/ima/ima_audit.c +++ b/security/integrity/ima/ima_audit.c | |||
| @@ -11,6 +11,7 @@ | |||
| 11 | */ | 11 | */ |
| 12 | 12 | ||
| 13 | #include <linux/fs.h> | 13 | #include <linux/fs.h> |
| 14 | #include <linux/gfp.h> | ||
| 14 | #include <linux/audit.h> | 15 | #include <linux/audit.h> |
| 15 | #include "ima.h" | 16 | #include "ima.h" |
| 16 | 17 | ||
diff --git a/security/integrity/ima/ima_crypto.c b/security/integrity/ima/ima_crypto.c index acd4226f73e..9b3ade7468b 100644 --- a/security/integrity/ima/ima_crypto.c +++ b/security/integrity/ima/ima_crypto.c | |||
| @@ -18,6 +18,7 @@ | |||
| 18 | #include <linux/crypto.h> | 18 | #include <linux/crypto.h> |
| 19 | #include <linux/scatterlist.h> | 19 | #include <linux/scatterlist.h> |
| 20 | #include <linux/err.h> | 20 | #include <linux/err.h> |
| 21 | #include <linux/slab.h> | ||
| 21 | #include "ima.h" | 22 | #include "ima.h" |
| 22 | 23 | ||
| 23 | static int init_desc(struct hash_desc *desc) | 24 | static int init_desc(struct hash_desc *desc) |
diff --git a/security/integrity/ima/ima_fs.c b/security/integrity/ima/ima_fs.c index 3674a52e1cf..8fe736aabe7 100644 --- a/security/integrity/ima/ima_fs.c +++ b/security/integrity/ima/ima_fs.c | |||
| @@ -16,6 +16,7 @@ | |||
| 16 | * current measurement list and IMA statistics | 16 | * current measurement list and IMA statistics |
| 17 | */ | 17 | */ |
| 18 | #include <linux/fcntl.h> | 18 | #include <linux/fcntl.h> |
| 19 | #include <linux/slab.h> | ||
| 19 | #include <linux/module.h> | 20 | #include <linux/module.h> |
| 20 | #include <linux/seq_file.h> | 21 | #include <linux/seq_file.h> |
| 21 | #include <linux/rculist.h> | 22 | #include <linux/rculist.h> |
diff --git a/security/integrity/ima/ima_iint.c b/security/integrity/ima/ima_iint.c index 6cc22430cb4..2dc2d659414 100644 --- a/security/integrity/ima/ima_iint.c +++ b/security/integrity/ima/ima_iint.c | |||
| @@ -14,6 +14,7 @@ | |||
| 14 | * - cache integrity information associated with an inode | 14 | * - cache integrity information associated with an inode |
| 15 | * using a radix tree. | 15 | * using a radix tree. |
| 16 | */ | 16 | */ |
| 17 | #include <linux/slab.h> | ||
| 17 | #include <linux/module.h> | 18 | #include <linux/module.h> |
| 18 | #include <linux/spinlock.h> | 19 | #include <linux/spinlock.h> |
| 19 | #include <linux/radix-tree.h> | 20 | #include <linux/radix-tree.h> |
diff --git a/security/integrity/ima/ima_init.c b/security/integrity/ima/ima_init.c index b93eddc589e..17f1f060306 100644 --- a/security/integrity/ima/ima_init.c +++ b/security/integrity/ima/ima_init.c | |||
| @@ -16,6 +16,7 @@ | |||
| 16 | */ | 16 | */ |
| 17 | #include <linux/module.h> | 17 | #include <linux/module.h> |
| 18 | #include <linux/scatterlist.h> | 18 | #include <linux/scatterlist.h> |
| 19 | #include <linux/slab.h> | ||
| 19 | #include <linux/err.h> | 20 | #include <linux/err.h> |
| 20 | #include "ima.h" | 21 | #include "ima.h" |
| 21 | 22 | ||
diff --git a/security/integrity/ima/ima_main.c b/security/integrity/ima/ima_main.c index 983037fb9a9..f93641382e9 100644 --- a/security/integrity/ima/ima_main.c +++ b/security/integrity/ima/ima_main.c | |||
| @@ -21,6 +21,7 @@ | |||
| 21 | #include <linux/binfmts.h> | 21 | #include <linux/binfmts.h> |
| 22 | #include <linux/mount.h> | 22 | #include <linux/mount.h> |
| 23 | #include <linux/mman.h> | 23 | #include <linux/mman.h> |
| 24 | #include <linux/slab.h> | ||
| 24 | 25 | ||
| 25 | #include "ima.h" | 26 | #include "ima.h" |
| 26 | 27 | ||
diff --git a/security/integrity/ima/ima_policy.c b/security/integrity/ima/ima_policy.c index 778a735621f..aef8c0a923a 100644 --- a/security/integrity/ima/ima_policy.c +++ b/security/integrity/ima/ima_policy.c | |||
| @@ -15,6 +15,7 @@ | |||
| 15 | #include <linux/security.h> | 15 | #include <linux/security.h> |
| 16 | #include <linux/magic.h> | 16 | #include <linux/magic.h> |
| 17 | #include <linux/parser.h> | 17 | #include <linux/parser.h> |
| 18 | #include <linux/slab.h> | ||
| 18 | 19 | ||
| 19 | #include "ima.h" | 20 | #include "ima.h" |
| 20 | 21 | ||
diff --git a/security/integrity/ima/ima_queue.c b/security/integrity/ima/ima_queue.c index 148a3d85e77..8e28f04a5e2 100644 --- a/security/integrity/ima/ima_queue.c +++ b/security/integrity/ima/ima_queue.c | |||
| @@ -20,6 +20,7 @@ | |||
| 20 | */ | 20 | */ |
| 21 | #include <linux/module.h> | 21 | #include <linux/module.h> |
| 22 | #include <linux/rculist.h> | 22 | #include <linux/rculist.h> |
| 23 | #include <linux/slab.h> | ||
| 23 | #include "ima.h" | 24 | #include "ima.h" |
| 24 | 25 | ||
| 25 | LIST_HEAD(ima_measurements); /* list of all measurements */ | 26 | LIST_HEAD(ima_measurements); /* list of all measurements */ |
diff --git a/security/keys/gc.c b/security/keys/gc.c index 19902319d09..a46e825cbf0 100644 --- a/security/keys/gc.c +++ b/security/keys/gc.c | |||
| @@ -77,10 +77,10 @@ static bool key_gc_keyring(struct key *keyring, time_t limit) | |||
| 77 | goto dont_gc; | 77 | goto dont_gc; |
| 78 | 78 | ||
| 79 | /* scan the keyring looking for dead keys */ | 79 | /* scan the keyring looking for dead keys */ |
| 80 | klist = rcu_dereference_check(keyring->payload.subscriptions, | 80 | rcu_read_lock(); |
| 81 | lockdep_is_held(&key_serial_lock)); | 81 | klist = rcu_dereference(keyring->payload.subscriptions); |
| 82 | if (!klist) | 82 | if (!klist) |
| 83 | goto dont_gc; | 83 | goto unlock_dont_gc; |
| 84 | 84 | ||
| 85 | for (loop = klist->nkeys - 1; loop >= 0; loop--) { | 85 | for (loop = klist->nkeys - 1; loop >= 0; loop--) { |
| 86 | key = klist->keys[loop]; | 86 | key = klist->keys[loop]; |
| @@ -89,11 +89,14 @@ static bool key_gc_keyring(struct key *keyring, time_t limit) | |||
| 89 | goto do_gc; | 89 | goto do_gc; |
| 90 | } | 90 | } |
| 91 | 91 | ||
| 92 | unlock_dont_gc: | ||
| 93 | rcu_read_unlock(); | ||
| 92 | dont_gc: | 94 | dont_gc: |
| 93 | kleave(" = false"); | 95 | kleave(" = false"); |
| 94 | return false; | 96 | return false; |
| 95 | 97 | ||
| 96 | do_gc: | 98 | do_gc: |
| 99 | rcu_read_unlock(); | ||
| 97 | key_gc_cursor = keyring->serial; | 100 | key_gc_cursor = keyring->serial; |
| 98 | key_get(keyring); | 101 | key_get(keyring); |
| 99 | spin_unlock(&key_serial_lock); | 102 | spin_unlock(&key_serial_lock); |
diff --git a/security/keys/keyring.c b/security/keys/keyring.c index ce7c44b857d..2fb2bc9712a 100644 --- a/security/keys/keyring.c +++ b/security/keys/keyring.c | |||
| @@ -199,7 +199,7 @@ static long keyring_read(const struct key *keyring, | |||
| 199 | int loop, ret; | 199 | int loop, ret; |
| 200 | 200 | ||
| 201 | ret = 0; | 201 | ret = 0; |
| 202 | klist = rcu_dereference(keyring->payload.subscriptions); | 202 | klist = keyring->payload.subscriptions; |
| 203 | 203 | ||
| 204 | if (klist) { | 204 | if (klist) { |
| 205 | /* calculate how much data we could return */ | 205 | /* calculate how much data we could return */ |
diff --git a/security/keys/proc.c b/security/keys/proc.c index 81bf98d67c6..068b66ea2f1 100644 --- a/security/keys/proc.c +++ b/security/keys/proc.c | |||
| @@ -12,7 +12,6 @@ | |||
| 12 | #include <linux/module.h> | 12 | #include <linux/module.h> |
| 13 | #include <linux/init.h> | 13 | #include <linux/init.h> |
| 14 | #include <linux/sched.h> | 14 | #include <linux/sched.h> |
| 15 | #include <linux/slab.h> | ||
| 16 | #include <linux/fs.h> | 15 | #include <linux/fs.h> |
| 17 | #include <linux/proc_fs.h> | 16 | #include <linux/proc_fs.h> |
| 18 | #include <linux/seq_file.h> | 17 | #include <linux/seq_file.h> |
diff --git a/security/keys/process_keys.c b/security/keys/process_keys.c index 5c23afb31ec..06c2ccf26ed 100644 --- a/security/keys/process_keys.c +++ b/security/keys/process_keys.c | |||
| @@ -12,7 +12,6 @@ | |||
| 12 | #include <linux/module.h> | 12 | #include <linux/module.h> |
| 13 | #include <linux/init.h> | 13 | #include <linux/init.h> |
| 14 | #include <linux/sched.h> | 14 | #include <linux/sched.h> |
| 15 | #include <linux/slab.h> | ||
| 16 | #include <linux/keyctl.h> | 15 | #include <linux/keyctl.h> |
| 17 | #include <linux/fs.h> | 16 | #include <linux/fs.h> |
| 18 | #include <linux/err.h> | 17 | #include <linux/err.h> |
diff --git a/security/keys/request_key.c b/security/keys/request_key.c index 03fe63ed55b..d737cea5347 100644 --- a/security/keys/request_key.c +++ b/security/keys/request_key.c | |||
| @@ -68,7 +68,8 @@ static int call_sbin_request_key(struct key_construction *cons, | |||
| 68 | { | 68 | { |
| 69 | const struct cred *cred = current_cred(); | 69 | const struct cred *cred = current_cred(); |
| 70 | key_serial_t prkey, sskey; | 70 | key_serial_t prkey, sskey; |
| 71 | struct key *key = cons->key, *authkey = cons->authkey, *keyring; | 71 | struct key *key = cons->key, *authkey = cons->authkey, *keyring, |
| 72 | *session; | ||
| 72 | char *argv[9], *envp[3], uid_str[12], gid_str[12]; | 73 | char *argv[9], *envp[3], uid_str[12], gid_str[12]; |
| 73 | char key_str[12], keyring_str[3][12]; | 74 | char key_str[12], keyring_str[3][12]; |
| 74 | char desc[20]; | 75 | char desc[20]; |
| @@ -112,10 +113,12 @@ static int call_sbin_request_key(struct key_construction *cons, | |||
| 112 | if (cred->tgcred->process_keyring) | 113 | if (cred->tgcred->process_keyring) |
| 113 | prkey = cred->tgcred->process_keyring->serial; | 114 | prkey = cred->tgcred->process_keyring->serial; |
| 114 | 115 | ||
| 115 | if (cred->tgcred->session_keyring) | 116 | rcu_read_lock(); |
| 116 | sskey = rcu_dereference(cred->tgcred->session_keyring)->serial; | 117 | session = rcu_dereference(cred->tgcred->session_keyring); |
| 117 | else | 118 | if (!session) |
| 118 | sskey = cred->user->session_keyring->serial; | 119 | session = cred->user->session_keyring; |
| 120 | sskey = session->serial; | ||
| 121 | rcu_read_unlock(); | ||
| 119 | 122 | ||
| 120 | sprintf(keyring_str[2], "%d", sskey); | 123 | sprintf(keyring_str[2], "%d", sskey); |
| 121 | 124 | ||
| @@ -336,8 +339,10 @@ static int construct_alloc_key(struct key_type *type, | |||
| 336 | 339 | ||
| 337 | key_already_present: | 340 | key_already_present: |
| 338 | mutex_unlock(&key_construction_mutex); | 341 | mutex_unlock(&key_construction_mutex); |
| 339 | if (dest_keyring) | 342 | if (dest_keyring) { |
| 343 | __key_link(dest_keyring, key_ref_to_ptr(key_ref)); | ||
| 340 | up_write(&dest_keyring->sem); | 344 | up_write(&dest_keyring->sem); |
| 345 | } | ||
| 341 | mutex_unlock(&user->cons_lock); | 346 | mutex_unlock(&user->cons_lock); |
| 342 | key_put(key); | 347 | key_put(key); |
| 343 | *_key = key = key_ref_to_ptr(key_ref); | 348 | *_key = key = key_ref_to_ptr(key_ref); |
| @@ -428,6 +433,11 @@ struct key *request_key_and_link(struct key_type *type, | |||
| 428 | 433 | ||
| 429 | if (!IS_ERR(key_ref)) { | 434 | if (!IS_ERR(key_ref)) { |
| 430 | key = key_ref_to_ptr(key_ref); | 435 | key = key_ref_to_ptr(key_ref); |
| 436 | if (dest_keyring) { | ||
| 437 | construct_get_dest_keyring(&dest_keyring); | ||
| 438 | key_link(dest_keyring, key); | ||
| 439 | key_put(dest_keyring); | ||
| 440 | } | ||
| 431 | } else if (PTR_ERR(key_ref) != -EAGAIN) { | 441 | } else if (PTR_ERR(key_ref) != -EAGAIN) { |
| 432 | key = ERR_CAST(key_ref); | 442 | key = ERR_CAST(key_ref); |
| 433 | } else { | 443 | } else { |
diff --git a/security/keys/user_defined.c b/security/keys/user_defined.c index 7c687d56822..e9aa0792965 100644 --- a/security/keys/user_defined.c +++ b/security/keys/user_defined.c | |||
| @@ -199,7 +199,8 @@ long user_read(const struct key *key, char __user *buffer, size_t buflen) | |||
| 199 | struct user_key_payload *upayload; | 199 | struct user_key_payload *upayload; |
| 200 | long ret; | 200 | long ret; |
| 201 | 201 | ||
| 202 | upayload = rcu_dereference(key->payload.data); | 202 | upayload = rcu_dereference_protected( |
| 203 | key->payload.data, rwsem_is_locked(&((struct key *)key)->sem)); | ||
| 203 | ret = upayload->datalen; | 204 | ret = upayload->datalen; |
| 204 | 205 | ||
| 205 | /* we can return the data as is */ | 206 | /* we can return the data as is */ |
diff --git a/security/lsm_audit.c b/security/lsm_audit.c index 8c3650672e2..908aa712816 100644 --- a/security/lsm_audit.c +++ b/security/lsm_audit.c | |||
| @@ -14,6 +14,7 @@ | |||
| 14 | #include <linux/types.h> | 14 | #include <linux/types.h> |
| 15 | #include <linux/stddef.h> | 15 | #include <linux/stddef.h> |
| 16 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
| 17 | #include <linux/gfp.h> | ||
| 17 | #include <linux/fs.h> | 18 | #include <linux/fs.h> |
| 18 | #include <linux/init.h> | 19 | #include <linux/init.h> |
| 19 | #include <net/sock.h> | 20 | #include <net/sock.h> |
diff --git a/security/selinux/netif.c b/security/selinux/netif.c index b4e14bc0bf3..d6095d63d83 100644 --- a/security/selinux/netif.c +++ b/security/selinux/netif.c | |||
| @@ -16,6 +16,7 @@ | |||
| 16 | */ | 16 | */ |
| 17 | #include <linux/init.h> | 17 | #include <linux/init.h> |
| 18 | #include <linux/types.h> | 18 | #include <linux/types.h> |
| 19 | #include <linux/slab.h> | ||
| 19 | #include <linux/stddef.h> | 20 | #include <linux/stddef.h> |
| 20 | #include <linux/kernel.h> | 21 | #include <linux/kernel.h> |
| 21 | #include <linux/list.h> | 22 | #include <linux/list.h> |
diff --git a/security/selinux/netlabel.c b/security/selinux/netlabel.c index 3d09a2afc33..1c2fc46544b 100644 --- a/security/selinux/netlabel.c +++ b/security/selinux/netlabel.c | |||
| @@ -29,6 +29,7 @@ | |||
| 29 | 29 | ||
| 30 | #include <linux/spinlock.h> | 30 | #include <linux/spinlock.h> |
| 31 | #include <linux/rcupdate.h> | 31 | #include <linux/rcupdate.h> |
| 32 | #include <linux/gfp.h> | ||
| 32 | #include <linux/ip.h> | 33 | #include <linux/ip.h> |
| 33 | #include <linux/ipv6.h> | 34 | #include <linux/ipv6.h> |
| 34 | #include <net/sock.h> | 35 | #include <net/sock.h> |
diff --git a/security/selinux/netlink.c b/security/selinux/netlink.c index 7d7be296d87..36ac257cec9 100644 --- a/security/selinux/netlink.c +++ b/security/selinux/netlink.c | |||
| @@ -11,6 +11,7 @@ | |||
| 11 | */ | 11 | */ |
| 12 | #include <linux/init.h> | 12 | #include <linux/init.h> |
| 13 | #include <linux/types.h> | 13 | #include <linux/types.h> |
| 14 | #include <linux/slab.h> | ||
| 14 | #include <linux/stddef.h> | 15 | #include <linux/stddef.h> |
| 15 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
| 16 | #include <linux/skbuff.h> | 17 | #include <linux/skbuff.h> |
diff --git a/security/selinux/netnode.c b/security/selinux/netnode.c index 7100072bb1b..dc92792271f 100644 --- a/security/selinux/netnode.c +++ b/security/selinux/netnode.c | |||
| @@ -31,6 +31,7 @@ | |||
| 31 | #include <linux/types.h> | 31 | #include <linux/types.h> |
| 32 | #include <linux/rcupdate.h> | 32 | #include <linux/rcupdate.h> |
| 33 | #include <linux/list.h> | 33 | #include <linux/list.h> |
| 34 | #include <linux/slab.h> | ||
| 34 | #include <linux/spinlock.h> | 35 | #include <linux/spinlock.h> |
| 35 | #include <linux/in.h> | 36 | #include <linux/in.h> |
| 36 | #include <linux/in6.h> | 37 | #include <linux/in6.h> |
diff --git a/security/selinux/netport.c b/security/selinux/netport.c index fe7fba67f19..cfe2d72d3fb 100644 --- a/security/selinux/netport.c +++ b/security/selinux/netport.c | |||
| @@ -30,6 +30,7 @@ | |||
| 30 | #include <linux/types.h> | 30 | #include <linux/types.h> |
| 31 | #include <linux/rcupdate.h> | 31 | #include <linux/rcupdate.h> |
| 32 | #include <linux/list.h> | 32 | #include <linux/list.h> |
| 33 | #include <linux/slab.h> | ||
| 33 | #include <linux/spinlock.h> | 34 | #include <linux/spinlock.h> |
| 34 | #include <linux/in.h> | 35 | #include <linux/in.h> |
| 35 | #include <linux/in6.h> | 36 | #include <linux/in6.h> |
diff --git a/security/selinux/xfrm.c b/security/selinux/xfrm.c index f3cb9ed731a..fff78d3b51a 100644 --- a/security/selinux/xfrm.c +++ b/security/selinux/xfrm.c | |||
| @@ -38,6 +38,7 @@ | |||
| 38 | #include <linux/netfilter.h> | 38 | #include <linux/netfilter.h> |
| 39 | #include <linux/netfilter_ipv4.h> | 39 | #include <linux/netfilter_ipv4.h> |
| 40 | #include <linux/netfilter_ipv6.h> | 40 | #include <linux/netfilter_ipv6.h> |
| 41 | #include <linux/slab.h> | ||
| 41 | #include <linux/ip.h> | 42 | #include <linux/ip.h> |
| 42 | #include <linux/tcp.h> | 43 | #include <linux/tcp.h> |
| 43 | #include <linux/skbuff.h> | 44 | #include <linux/skbuff.h> |
diff --git a/security/smack/smack_access.c b/security/smack/smack_access.c index 0f9ac814690..f4fac64c4da 100644 --- a/security/smack/smack_access.c +++ b/security/smack/smack_access.c | |||
| @@ -11,6 +11,7 @@ | |||
| 11 | */ | 11 | */ |
| 12 | 12 | ||
| 13 | #include <linux/types.h> | 13 | #include <linux/types.h> |
| 14 | #include <linux/slab.h> | ||
| 14 | #include <linux/fs.h> | 15 | #include <linux/fs.h> |
| 15 | #include <linux/sched.h> | 16 | #include <linux/sched.h> |
| 16 | #include "smack.h" | 17 | #include "smack.h" |
diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c index 2a20738e7ea..0f2fc480fc6 100644 --- a/security/smack/smack_lsm.c +++ b/security/smack/smack_lsm.c | |||
| @@ -24,6 +24,7 @@ | |||
| 24 | #include <linux/ip.h> | 24 | #include <linux/ip.h> |
| 25 | #include <linux/tcp.h> | 25 | #include <linux/tcp.h> |
| 26 | #include <linux/udp.h> | 26 | #include <linux/udp.h> |
| 27 | #include <linux/slab.h> | ||
| 27 | #include <linux/mutex.h> | 28 | #include <linux/mutex.h> |
| 28 | #include <linux/pipe_fs_i.h> | 29 | #include <linux/pipe_fs_i.h> |
| 29 | #include <net/netlabel.h> | 30 | #include <net/netlabel.h> |
diff --git a/security/smack/smackfs.c b/security/smack/smackfs.c index aeead758509..a2b72d77f92 100644 --- a/security/smack/smackfs.c +++ b/security/smack/smackfs.c | |||
| @@ -20,6 +20,7 @@ | |||
| 20 | #include <linux/vmalloc.h> | 20 | #include <linux/vmalloc.h> |
| 21 | #include <linux/security.h> | 21 | #include <linux/security.h> |
| 22 | #include <linux/mutex.h> | 22 | #include <linux/mutex.h> |
| 23 | #include <linux/slab.h> | ||
| 23 | #include <net/net_namespace.h> | 24 | #include <net/net_namespace.h> |
| 24 | #include <net/netlabel.h> | 25 | #include <net/netlabel.h> |
| 25 | #include <net/cipso_ipv4.h> | 26 | #include <net/cipso_ipv4.h> |
diff --git a/security/tomoyo/common.c b/security/tomoyo/common.c index b9f64ca5f15..3c86bbc33ae 100644 --- a/security/tomoyo/common.c +++ b/security/tomoyo/common.c | |||
| @@ -10,6 +10,7 @@ | |||
| 10 | */ | 10 | */ |
| 11 | 11 | ||
| 12 | #include <linux/uaccess.h> | 12 | #include <linux/uaccess.h> |
| 13 | #include <linux/slab.h> | ||
| 13 | #include <linux/security.h> | 14 | #include <linux/security.h> |
| 14 | #include <linux/hardirq.h> | 15 | #include <linux/hardirq.h> |
| 15 | #include "common.h" | 16 | #include "common.h" |
diff --git a/security/tomoyo/domain.c b/security/tomoyo/domain.c index ed514188324..e1edec4a9b9 100644 --- a/security/tomoyo/domain.c +++ b/security/tomoyo/domain.c | |||
| @@ -11,6 +11,7 @@ | |||
| 11 | 11 | ||
| 12 | #include "common.h" | 12 | #include "common.h" |
| 13 | #include <linux/binfmts.h> | 13 | #include <linux/binfmts.h> |
| 14 | #include <linux/slab.h> | ||
| 14 | 15 | ||
| 15 | /* Variables definitions.*/ | 16 | /* Variables definitions.*/ |
| 16 | 17 | ||
diff --git a/security/tomoyo/file.c b/security/tomoyo/file.c index cf67e55a0d1..0687ada28e8 100644 --- a/security/tomoyo/file.c +++ b/security/tomoyo/file.c | |||
| @@ -10,6 +10,7 @@ | |||
| 10 | */ | 10 | */ |
| 11 | 11 | ||
| 12 | #include "common.h" | 12 | #include "common.h" |
| 13 | #include <linux/slab.h> | ||
| 13 | 14 | ||
| 14 | /* Keyword array for single path operations. */ | 15 | /* Keyword array for single path operations. */ |
| 15 | static const char *tomoyo_path_keyword[TOMOYO_MAX_PATH_OPERATION] = { | 16 | static const char *tomoyo_path_keyword[TOMOYO_MAX_PATH_OPERATION] = { |
diff --git a/security/tomoyo/gc.c b/security/tomoyo/gc.c index 9645525ccdd..d9ad35bc7fa 100644 --- a/security/tomoyo/gc.c +++ b/security/tomoyo/gc.c | |||
| @@ -9,6 +9,7 @@ | |||
| 9 | 9 | ||
| 10 | #include "common.h" | 10 | #include "common.h" |
| 11 | #include <linux/kthread.h> | 11 | #include <linux/kthread.h> |
| 12 | #include <linux/slab.h> | ||
| 12 | 13 | ||
| 13 | enum tomoyo_gc_id { | 14 | enum tomoyo_gc_id { |
| 14 | TOMOYO_ID_DOMAIN_INITIALIZER, | 15 | TOMOYO_ID_DOMAIN_INITIALIZER, |
diff --git a/security/tomoyo/realpath.c b/security/tomoyo/realpath.c index 8fe3ee20a18..6a51e0af241 100644 --- a/security/tomoyo/realpath.c +++ b/security/tomoyo/realpath.c | |||
| @@ -15,6 +15,7 @@ | |||
| 15 | #include <linux/fs_struct.h> | 15 | #include <linux/fs_struct.h> |
| 16 | #include <linux/hash.h> | 16 | #include <linux/hash.h> |
| 17 | #include <linux/magic.h> | 17 | #include <linux/magic.h> |
| 18 | #include <linux/slab.h> | ||
| 18 | #include "common.h" | 19 | #include "common.h" |
| 19 | 20 | ||
| 20 | /** | 21 | /** |
