From e50aa1654b1a383db0848169d423fed0d2075395 Mon Sep 17 00:00:00 2001 From: liangbotong <2285836142@qq.com> Date: Mon, 13 Feb 2023 11:54:19 +0800 Subject: [PATCH] =?UTF-8?q?newip=E9=9D=99=E6=80=81=E6=A3=80=E6=9F=A5?= =?UTF-8?q?=E5=91=8A=E8=AD=A6=E6=B8=85=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liangbotong --- src/linux/net/newip/devninet.c | 2 +- src/linux/net/newip/nip_addrconf.c | 5 ++--- src/linux/net/newip/nip_output.c | 7 +++---- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/linux/net/newip/devninet.c b/src/linux/net/newip/devninet.c index e234498..272cf05 100644 --- a/src/linux/net/newip/devninet.c +++ b/src/linux/net/newip/devninet.c @@ -51,7 +51,7 @@ int ninet_gifconf(struct net_device *dev, char __user *buf, int len, int size) done = -EFAULT; break; } - len -= size; + len -= size; done += size; } out: diff --git a/src/linux/net/newip/nip_addrconf.c b/src/linux/net/newip/nip_addrconf.c index 135d46e..654f491 100644 --- a/src/linux/net/newip/nip_addrconf.c +++ b/src/linux/net/newip/nip_addrconf.c @@ -787,9 +787,8 @@ static int ninet_addr_get(const struct net_device *dev, struct ninet_ifaddr *ifa struct nip_addr addr; err = nip_get_firstaddr(dev, &addr); - if (err) - return err; - ifa->addr = addr; + if (!err) + ifa->addr = addr; return err; } diff --git a/src/linux/net/newip/nip_output.c b/src/linux/net/newip/nip_output.c index 627b389..adafaac 100644 --- a/src/linux/net/newip/nip_output.c +++ b/src/linux/net/newip/nip_output.c @@ -360,7 +360,7 @@ struct dst_entry *nip_sk_dst_lookup_flow(struct sock *sk, struct flow_nip *fln) int tcp_nip_queue_xmit(struct sock *sk, struct sk_buff *skb, struct flowi *fl) { - int err = -EFAULT; + int err; struct net *net = sock_net(sk); struct nip_addr *saddr, *daddr; struct dst_entry *dst; @@ -389,13 +389,12 @@ int tcp_nip_queue_xmit(struct sock *sk, struct sk_buff *skb, struct flowi *fl) if (!dst) { nip_dbg("no dst cache for sk, search newip rt"); dst = nip_route_output(net, sk, &fln); - err = dst->error; - if (err) - goto out_err_release; if (!dst) { nip_dbg("cannot find dst"); goto out; } + if (dst->error) + goto out_err_release; sk_dst_set(sk, dst); } skb_dst_set_noref(skb, dst); -- Gitee