|
@@ -3895,6 +3895,7 @@ static int smk_skb_to_addr_ipv6(struct sk_buff *skb, struct sockaddr_in6 *sip)
|
|
|
sip->sin6_port = th->source;
|
|
|
break;
|
|
|
case IPPROTO_UDP:
|
|
|
+ case IPPROTO_UDPLITE:
|
|
|
uh = skb_header_pointer(skb, offset, sizeof(_udph), &_udph);
|
|
|
if (uh != NULL)
|
|
|
sip->sin6_port = uh->source;
|
|
@@ -3985,7 +3986,8 @@ access_check:
|
|
|
#if IS_ENABLED(CONFIG_IPV6)
|
|
|
case PF_INET6:
|
|
|
proto = smk_skb_to_addr_ipv6(skb, &sadd);
|
|
|
- if (proto != IPPROTO_UDP && proto != IPPROTO_TCP)
|
|
|
+ if (proto != IPPROTO_UDP && proto != IPPROTO_UDPLITE &&
|
|
|
+ proto != IPPROTO_TCP && proto != IPPROTO_DCCP)
|
|
|
break;
|
|
|
#ifdef SMACK_IPV6_SECMARK_LABELING
|
|
|
if (skb && skb->secmark != 0)
|