diff options
Diffstat (limited to 'net/netlabel/netlabel_kapi.c')
-rw-r--r-- | net/netlabel/netlabel_kapi.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/net/netlabel/netlabel_kapi.c b/net/netlabel/netlabel_kapi.c index 7d8ecea93914..8b820dc98060 100644 --- a/net/netlabel/netlabel_kapi.c +++ b/net/netlabel/netlabel_kapi.c | |||
@@ -419,7 +419,9 @@ int netlbl_enabled(void) | |||
419 | * Attach the correct label to the given socket using the security attributes | 419 | * Attach the correct label to the given socket using the security attributes |
420 | * specified in @secattr. This function requires exclusive access to @sk, | 420 | * specified in @secattr. This function requires exclusive access to @sk, |
421 | * which means it either needs to be in the process of being created or locked. | 421 | * which means it either needs to be in the process of being created or locked. |
422 | * Returns zero on success, negative values on failure. | 422 | * Returns zero on success, -EDESTADDRREQ if the domain is configured to use |
423 | * network address selectors (can't blindly label the socket), and negative | ||
424 | * values on all other failures. | ||
423 | * | 425 | * |
424 | */ | 426 | */ |
425 | int netlbl_sock_setattr(struct sock *sk, | 427 | int netlbl_sock_setattr(struct sock *sk, |
@@ -433,6 +435,9 @@ int netlbl_sock_setattr(struct sock *sk, | |||
433 | if (dom_entry == NULL) | 435 | if (dom_entry == NULL) |
434 | goto socket_setattr_return; | 436 | goto socket_setattr_return; |
435 | switch (dom_entry->type) { | 437 | switch (dom_entry->type) { |
438 | case NETLBL_NLTYPE_ADDRSELECT: | ||
439 | ret_val = -EDESTADDRREQ; | ||
440 | break; | ||
436 | case NETLBL_NLTYPE_CIPSOV4: | 441 | case NETLBL_NLTYPE_CIPSOV4: |
437 | ret_val = cipso_v4_sock_setattr(sk, | 442 | ret_val = cipso_v4_sock_setattr(sk, |
438 | dom_entry->type_def.cipsov4, | 443 | dom_entry->type_def.cipsov4, |