]> Git Repo - J-linux.git/commitdiff
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec
authorJakub Kicinski <[email protected]>
Thu, 2 Jun 2022 00:44:03 +0000 (17:44 -0700)
committerJakub Kicinski <[email protected]>
Thu, 2 Jun 2022 00:44:04 +0000 (17:44 -0700)
Steffen Klassert says:

====================
ipsec 2022-06-01

1) Revert "net: af_key: add check for pfkey_broadcast in function pfkey_process"
   From Michal Kubecek.

2) Don't set IPv4 DF bit when encapsulating IPv6 frames below 1280 bytes.
   From Maciej Żenczykowski.

* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec:
  xfrm: do not set IPv4 DF flag when encapsulating IPv6 frames <= 1280 bytes.
  Revert "net: af_key: add check for pfkey_broadcast in function pfkey_process"
====================

Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
1  2 
net/key/af_key.c

diff --combined net/key/af_key.c
index 11e1a3a3e442f514f49e68966a4848ccd021430a,d93bde65735937804b2722721a1d0c303c1e3279..fb16d7c4e1b8d9b270e918222e23d12c00d109bb
@@@ -2826,10 -2826,12 +2826,12 @@@ static int pfkey_process(struct sock *s
        void *ext_hdrs[SADB_EXT_MAX];
        int err;
  
-       err = pfkey_broadcast(skb_clone(skb, GFP_KERNEL), GFP_KERNEL,
-                             BROADCAST_PROMISC_ONLY, NULL, sock_net(sk));
-       if (err)
-               return err;
+       /* Non-zero return value of pfkey_broadcast() does not always signal
+        * an error and even on an actual error we may still want to process
+        * the message so rather ignore the return value.
+        */
+       pfkey_broadcast(skb_clone(skb, GFP_KERNEL), GFP_KERNEL,
+                       BROADCAST_PROMISC_ONLY, NULL, sock_net(sk));
  
        memset(ext_hdrs, 0, sizeof(ext_hdrs));
        err = parse_exthdrs(skb, hdr, ext_hdrs);
@@@ -3698,7 -3700,7 +3700,7 @@@ static int pfkey_recvmsg(struct socket 
        if (flags & ~(MSG_PEEK|MSG_DONTWAIT|MSG_TRUNC|MSG_CMSG_COMPAT))
                goto out;
  
 -      skb = skb_recv_datagram(sk, flags, flags & MSG_DONTWAIT, &err);
 +      skb = skb_recv_datagram(sk, flags, &err);
        if (skb == NULL)
                goto out;
  
        if (err)
                goto out_free;
  
 -      sock_recv_ts_and_drops(msg, sk, skb);
 +      sock_recv_cmsgs(msg, sk, skb);
  
        err = (flags & MSG_TRUNC) ? skb->len : copied;
  
This page took 0.091622 seconds and 4 git commands to generate.