xfrm: ifdef setsockopt(UDP_ENCAP_ESPINUDP/UDP_ENCAP_ESPINUDP_NON_IKE)
authorAlexey Dobriyan <adobriyan@gmail.com>
Thu, 3 Oct 2019 21:21:57 +0000 (00:21 +0300)
committerSteffen Klassert <steffen.klassert@secunet.com>
Wed, 9 Oct 2019 04:55:32 +0000 (06:55 +0200)
If IPsec is not configured, there is no reason to delay the inevitable.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
include/net/xfrm.h
net/ipv4/udp.c

index aa08a7a5f6ac5836524dd34115cd57e2675e574d..dda3c025452e0a6666ddf5c837aebd0404411984 100644 (file)
@@ -1613,13 +1613,6 @@ static inline int xfrm_user_policy(struct sock *sk, int optname, u8 __user *optv
 {
        return -ENOPROTOOPT;
 }
-
-static inline int xfrm4_udp_encap_rcv(struct sock *sk, struct sk_buff *skb)
-{
-       /* should not happen */
-       kfree_skb(skb);
-       return 0;
-}
 #endif
 
 struct dst_entry *__xfrm_dst_lookup(struct net *net, int tos, int oif,
index cf755156a684373f92c639c274f0fb4ab62aa211..f1c514cb4e87131e862e3fe5a8200ab03a7fd065 100644 (file)
@@ -2520,9 +2520,11 @@ int udp_lib_setsockopt(struct sock *sk, int level, int optname,
        case UDP_ENCAP:
                switch (val) {
                case 0:
+#ifdef CONFIG_XFRM
                case UDP_ENCAP_ESPINUDP:
                case UDP_ENCAP_ESPINUDP_NON_IKE:
                        up->encap_rcv = xfrm4_udp_encap_rcv;
+#endif
                        /* FALLTHROUGH */
                case UDP_ENCAP_L2TPINUDP:
                        up->encap_type = val;