diff options
Diffstat (limited to 'security/selinux/netlabel.c')
-rw-r--r-- | security/selinux/netlabel.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/security/selinux/netlabel.c b/security/selinux/netlabel.c index 186e727b737b..6fd9954e1c08 100644 --- a/security/selinux/netlabel.c +++ b/security/selinux/netlabel.c | |||
@@ -288,11 +288,8 @@ int selinux_netlbl_sctp_assoc_request(struct sctp_endpoint *ep, | |||
288 | int rc; | 288 | int rc; |
289 | struct netlbl_lsm_secattr secattr; | 289 | struct netlbl_lsm_secattr secattr; |
290 | struct sk_security_struct *sksec = ep->base.sk->sk_security; | 290 | struct sk_security_struct *sksec = ep->base.sk->sk_security; |
291 | struct sockaddr *addr; | ||
292 | struct sockaddr_in addr4; | 291 | struct sockaddr_in addr4; |
293 | #if IS_ENABLED(CONFIG_IPV6) | ||
294 | struct sockaddr_in6 addr6; | 292 | struct sockaddr_in6 addr6; |
295 | #endif | ||
296 | 293 | ||
297 | if (ep->base.sk->sk_family != PF_INET && | 294 | if (ep->base.sk->sk_family != PF_INET && |
298 | ep->base.sk->sk_family != PF_INET6) | 295 | ep->base.sk->sk_family != PF_INET6) |
@@ -310,16 +307,15 @@ int selinux_netlbl_sctp_assoc_request(struct sctp_endpoint *ep, | |||
310 | if (ip_hdr(skb)->version == 4) { | 307 | if (ip_hdr(skb)->version == 4) { |
311 | addr4.sin_family = AF_INET; | 308 | addr4.sin_family = AF_INET; |
312 | addr4.sin_addr.s_addr = ip_hdr(skb)->saddr; | 309 | addr4.sin_addr.s_addr = ip_hdr(skb)->saddr; |
313 | addr = (struct sockaddr *)&addr4; | 310 | rc = netlbl_conn_setattr(ep->base.sk, (void *)&addr4, &secattr); |
314 | #if IS_ENABLED(CONFIG_IPV6) | 311 | } else if (IS_ENABLED(CONFIG_IPV6) && ip_hdr(skb)->version == 6) { |
315 | } else { | ||
316 | addr6.sin6_family = AF_INET6; | 312 | addr6.sin6_family = AF_INET6; |
317 | addr6.sin6_addr = ipv6_hdr(skb)->saddr; | 313 | addr6.sin6_addr = ipv6_hdr(skb)->saddr; |
318 | addr = (struct sockaddr *)&addr6; | 314 | rc = netlbl_conn_setattr(ep->base.sk, (void *)&addr6, &secattr); |
319 | #endif | 315 | } else { |
316 | rc = -EAFNOSUPPORT; | ||
320 | } | 317 | } |
321 | 318 | ||
322 | rc = netlbl_conn_setattr(ep->base.sk, addr, &secattr); | ||
323 | if (rc == 0) | 319 | if (rc == 0) |
324 | sksec->nlbl_state = NLBL_LABELED; | 320 | sksec->nlbl_state = NLBL_LABELED; |
325 | 321 | ||