err = -EFAULT;
kfree_skb(skb);
error:
- IP_INC_STATS(IPSTATS_MIB_OUTDISCARDS);
+ IP_INC_STATS(OutDiscards);
return err;
}
}
if (inet->cmsg_flags)
ip_cmsg_recv(msg, skb);
- if (flags & MSG_TRUNC)
- copied = skb->len;
done:
skb_free_datagram(sk, skb);
-out: return err ? err : copied;
+out: return err ? : copied;
}
static int raw_init(struct sock *sk)
struct proto raw_prot = {
.name = "RAW",
.close = raw_close,
- .connect = ip4_datagram_connect,
+ .connect = udp_connect,
.disconnect = udp_disconnect,
.ioctl = raw_ioctl,
.init = raw_init,