Merge tag 'net-next-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev...
[linux-2.6-microblaze.git] / net / ipv4 / raw.c
index 407956b..7d26e0f 100644 (file)
@@ -260,11 +260,12 @@ static void raw_err(struct sock *sk, struct sk_buff *skb, u32 info)
                err = EHOSTUNREACH;
                if (code > NR_ICMP_UNREACH)
                        break;
-               err = icmp_err_convert[code].errno;
-               harderr = icmp_err_convert[code].fatal;
                if (code == ICMP_FRAG_NEEDED) {
                        harderr = inet->pmtudisc != IP_PMTUDISC_DONT;
                        err = EMSGSIZE;
+               } else {
+                       err = icmp_err_convert[code].errno;
+                       harderr = icmp_err_convert[code].fatal;
                }
        }
 
@@ -478,7 +479,7 @@ static int raw_getfrag(void *from, char *to, int offset, int len, int odd,
                        skb->csum = csum_block_add(
                                skb->csum,
                                csum_partial_copy_nocheck(rfv->hdr.c + offset,
-                                                         to, copy, 0),
+                                                         to, copy),
                                odd);
 
                odd = 0;