aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/raw.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4/raw.c')
-rw-r--r--net/ipv4/raw.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c
index d7a2d1eaec09..467d570d087a 100644
--- a/net/ipv4/raw.c
+++ b/net/ipv4/raw.c
@@ -564,10 +564,12 @@ static int raw_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
564 } 564 }
565 565
566 security_sk_classify_flow(sk, &fl); 566 security_sk_classify_flow(sk, &fl);
567 err = ip_route_output_flow(sock_net(sk), &rt, &fl, sk); 567 rt = ip_route_output_flow(sock_net(sk), &fl, sk);
568 if (IS_ERR(rt)) {
569 err = PTR_ERR(rt);
570 goto done;
571 }
568 } 572 }
569 if (err)
570 goto done;
571 573
572 err = -EACCES; 574 err = -EACCES;
573 if (rt->rt_flags & RTCF_BROADCAST && !sock_flag(sk, SOCK_BROADCAST)) 575 if (rt->rt_flags & RTCF_BROADCAST && !sock_flag(sk, SOCK_BROADCAST))