diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-19 21:14:34 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-19 21:14:34 -0400 |
commit | eb04f2f04ed1227c266b3219c0aaeda525639718 (patch) | |
tree | 7f224483a3cd0e439cd64a8666ec9dc5ed178a3d /security | |
parent | 5765040ebfc9a28d9dcfaaaaf3d25840d922de96 (diff) | |
parent | 80d02085d99039b3b7f3a73c8896226b0cb1ba07 (diff) |
Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (78 commits)
Revert "rcu: Decrease memory-barrier usage based on semi-formal proof"
net,rcu: convert call_rcu(prl_entry_destroy_rcu) to kfree
batman,rcu: convert call_rcu(softif_neigh_free_rcu) to kfree_rcu
batman,rcu: convert call_rcu(neigh_node_free_rcu) to kfree()
batman,rcu: convert call_rcu(gw_node_free_rcu) to kfree_rcu
net,rcu: convert call_rcu(kfree_tid_tx) to kfree_rcu()
net,rcu: convert call_rcu(xt_osf_finger_free_rcu) to kfree_rcu()
net/mac80211,rcu: convert call_rcu(work_free_rcu) to kfree_rcu()
net,rcu: convert call_rcu(wq_free_rcu) to kfree_rcu()
net,rcu: convert call_rcu(phonet_device_rcu_free) to kfree_rcu()
perf,rcu: convert call_rcu(swevent_hlist_release_rcu) to kfree_rcu()
perf,rcu: convert call_rcu(free_ctx) to kfree_rcu()
net,rcu: convert call_rcu(__nf_ct_ext_free_rcu) to kfree_rcu()
net,rcu: convert call_rcu(net_generic_release) to kfree_rcu()
net,rcu: convert call_rcu(netlbl_unlhsh_free_addr6) to kfree_rcu()
net,rcu: convert call_rcu(netlbl_unlhsh_free_addr4) to kfree_rcu()
security,rcu: convert call_rcu(sel_netif_free) to kfree_rcu()
net,rcu: convert call_rcu(xps_dev_maps_release) to kfree_rcu()
net,rcu: convert call_rcu(xps_map_release) to kfree_rcu()
net,rcu: convert call_rcu(rps_map_release) to kfree_rcu()
...
Diffstat (limited to 'security')
-rw-r--r-- | security/keys/user_defined.c | 16 | ||||
-rw-r--r-- | security/selinux/netif.c | 18 |
2 files changed, 3 insertions, 31 deletions
diff --git a/security/keys/user_defined.c b/security/keys/user_defined.c index c6ca8662a468..f66baf44f32d 100644 --- a/security/keys/user_defined.c +++ b/security/keys/user_defined.c | |||
@@ -69,18 +69,6 @@ error: | |||
69 | EXPORT_SYMBOL_GPL(user_instantiate); | 69 | EXPORT_SYMBOL_GPL(user_instantiate); |
70 | 70 | ||
71 | /* | 71 | /* |
72 | * dispose of the old data from an updated user defined key | ||
73 | */ | ||
74 | static void user_update_rcu_disposal(struct rcu_head *rcu) | ||
75 | { | ||
76 | struct user_key_payload *upayload; | ||
77 | |||
78 | upayload = container_of(rcu, struct user_key_payload, rcu); | ||
79 | |||
80 | kfree(upayload); | ||
81 | } | ||
82 | |||
83 | /* | ||
84 | * update a user defined key | 72 | * update a user defined key |
85 | * - the key's semaphore is write-locked | 73 | * - the key's semaphore is write-locked |
86 | */ | 74 | */ |
@@ -114,7 +102,7 @@ int user_update(struct key *key, const void *data, size_t datalen) | |||
114 | key->expiry = 0; | 102 | key->expiry = 0; |
115 | } | 103 | } |
116 | 104 | ||
117 | call_rcu(&zap->rcu, user_update_rcu_disposal); | 105 | kfree_rcu(zap, rcu); |
118 | 106 | ||
119 | error: | 107 | error: |
120 | return ret; | 108 | return ret; |
@@ -145,7 +133,7 @@ void user_revoke(struct key *key) | |||
145 | 133 | ||
146 | if (upayload) { | 134 | if (upayload) { |
147 | rcu_assign_pointer(key->payload.data, NULL); | 135 | rcu_assign_pointer(key->payload.data, NULL); |
148 | call_rcu(&upayload->rcu, user_update_rcu_disposal); | 136 | kfree_rcu(upayload, rcu); |
149 | } | 137 | } |
150 | } | 138 | } |
151 | 139 | ||
diff --git a/security/selinux/netif.c b/security/selinux/netif.c index d6095d63d831..58cc481c93d5 100644 --- a/security/selinux/netif.c +++ b/security/selinux/netif.c | |||
@@ -104,22 +104,6 @@ static int sel_netif_insert(struct sel_netif *netif) | |||
104 | } | 104 | } |
105 | 105 | ||
106 | /** | 106 | /** |
107 | * sel_netif_free - Frees an interface entry | ||
108 | * @p: the entry's RCU field | ||
109 | * | ||
110 | * Description: | ||
111 | * This function is designed to be used as a callback to the call_rcu() | ||
112 | * function so that memory allocated to a hash table interface entry can be | ||
113 | * released safely. | ||
114 | * | ||
115 | */ | ||
116 | static void sel_netif_free(struct rcu_head *p) | ||
117 | { | ||
118 | struct sel_netif *netif = container_of(p, struct sel_netif, rcu_head); | ||
119 | kfree(netif); | ||
120 | } | ||
121 | |||
122 | /** | ||
123 | * sel_netif_destroy - Remove an interface record from the table | 107 | * sel_netif_destroy - Remove an interface record from the table |
124 | * @netif: the existing interface record | 108 | * @netif: the existing interface record |
125 | * | 109 | * |
@@ -131,7 +115,7 @@ static void sel_netif_destroy(struct sel_netif *netif) | |||
131 | { | 115 | { |
132 | list_del_rcu(&netif->list); | 116 | list_del_rcu(&netif->list); |
133 | sel_netif_total--; | 117 | sel_netif_total--; |
134 | call_rcu(&netif->rcu_head, sel_netif_free); | 118 | kfree_rcu(netif, rcu_head); |
135 | } | 119 | } |
136 | 120 | ||
137 | /** | 121 | /** |