diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-06-08 21:15:49 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-06-08 21:15:49 -0400 |
commit | 81d84a94be8085475c3585596e52b06ccbedd922 (patch) | |
tree | 3cfe28d60a3e7fdae5c0b4e5a52792f3cc79a4bc /net/netlabel | |
parent | 7ac7834765e1c888ab06f677d906179858627f26 (diff) | |
parent | 50e5d35ce2c4190cead13a091ea1ceab47d29cc2 (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[CIPSO]: Fix several unaligned kernel accesses in the CIPSO engine.
[NetLabel]: consolidate the struct socket/sock handling to just struct sock
[IPV4]: Do not remove idev when addresses are cleared
Diffstat (limited to 'net/netlabel')
-rw-r--r-- | net/netlabel/netlabel_kapi.c | 43 |
1 files changed, 9 insertions, 34 deletions
diff --git a/net/netlabel/netlabel_kapi.c b/net/netlabel/netlabel_kapi.c index f2535e7f2869..b165712aaa70 100644 --- a/net/netlabel/netlabel_kapi.c +++ b/net/netlabel/netlabel_kapi.c | |||
@@ -246,19 +246,18 @@ int netlbl_secattr_catmap_setrng(struct netlbl_lsm_secattr_catmap *catmap, | |||
246 | 246 | ||
247 | /** | 247 | /** |
248 | * netlbl_socket_setattr - Label a socket using the correct protocol | 248 | * netlbl_socket_setattr - Label a socket using the correct protocol |
249 | * @sock: the socket to label | 249 | * @sk: the socket to label |
250 | * @secattr: the security attributes | 250 | * @secattr: the security attributes |
251 | * | 251 | * |
252 | * Description: | 252 | * Description: |
253 | * Attach the correct label to the given socket using the security attributes | 253 | * Attach the correct label to the given socket using the security attributes |
254 | * specified in @secattr. This function requires exclusive access to | 254 | * specified in @secattr. This function requires exclusive access to @sk, |
255 | * @sock->sk, which means it either needs to be in the process of being | 255 | * which means it either needs to be in the process of being created or locked. |
256 | * created or locked via lock_sock(sock->sk). Returns zero on success, | 256 | * Returns zero on success, negative values on failure. |
257 | * negative values on failure. | ||
258 | * | 257 | * |
259 | */ | 258 | */ |
260 | int netlbl_socket_setattr(const struct socket *sock, | 259 | int netlbl_sock_setattr(struct sock *sk, |
261 | const struct netlbl_lsm_secattr *secattr) | 260 | const struct netlbl_lsm_secattr *secattr) |
262 | { | 261 | { |
263 | int ret_val = -ENOENT; | 262 | int ret_val = -ENOENT; |
264 | struct netlbl_dom_map *dom_entry; | 263 | struct netlbl_dom_map *dom_entry; |
@@ -269,9 +268,9 @@ int netlbl_socket_setattr(const struct socket *sock, | |||
269 | goto socket_setattr_return; | 268 | goto socket_setattr_return; |
270 | switch (dom_entry->type) { | 269 | switch (dom_entry->type) { |
271 | case NETLBL_NLTYPE_CIPSOV4: | 270 | case NETLBL_NLTYPE_CIPSOV4: |
272 | ret_val = cipso_v4_socket_setattr(sock, | 271 | ret_val = cipso_v4_sock_setattr(sk, |
273 | dom_entry->type_def.cipsov4, | 272 | dom_entry->type_def.cipsov4, |
274 | secattr); | 273 | secattr); |
275 | break; | 274 | break; |
276 | case NETLBL_NLTYPE_UNLABELED: | 275 | case NETLBL_NLTYPE_UNLABELED: |
277 | ret_val = 0; | 276 | ret_val = 0; |
@@ -309,30 +308,6 @@ int netlbl_sock_getattr(struct sock *sk, struct netlbl_lsm_secattr *secattr) | |||
309 | } | 308 | } |
310 | 309 | ||
311 | /** | 310 | /** |
312 | * netlbl_socket_getattr - Determine the security attributes of a socket | ||
313 | * @sock: the socket | ||
314 | * @secattr: the security attributes | ||
315 | * | ||
316 | * Description: | ||
317 | * Examines the given socket to see any NetLabel style labeling has been | ||
318 | * applied to the socket, if so it parses the socket label and returns the | ||
319 | * security attributes in @secattr. Returns zero on success, negative values | ||
320 | * on failure. | ||
321 | * | ||
322 | */ | ||
323 | int netlbl_socket_getattr(const struct socket *sock, | ||
324 | struct netlbl_lsm_secattr *secattr) | ||
325 | { | ||
326 | int ret_val; | ||
327 | |||
328 | ret_val = cipso_v4_socket_getattr(sock, secattr); | ||
329 | if (ret_val == 0) | ||
330 | return 0; | ||
331 | |||
332 | return netlbl_unlabel_getattr(secattr); | ||
333 | } | ||
334 | |||
335 | /** | ||
336 | * netlbl_skbuff_getattr - Determine the security attributes of a packet | 311 | * netlbl_skbuff_getattr - Determine the security attributes of a packet |
337 | * @skb: the packet | 312 | * @skb: the packet |
338 | * @secattr: the security attributes | 313 | * @secattr: the security attributes |