diff options
author | David S. Miller <davem@davemloft.net> | 2011-03-02 17:31:35 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-03-02 17:31:35 -0500 |
commit | b23dd4fe42b455af5c6e20966b7d6959fa8352ea (patch) | |
tree | bf97323eae9a8d084170e573ff2c0c40bc72c3cd /drivers/net/cnic.c | |
parent | 452edd598f60522c11f7f88fdbab27eb36509d1a (diff) |
ipv4: Make output route lookup return rtable directly.
Instead of on the stack.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/cnic.c')
-rw-r--r-- | drivers/net/cnic.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/cnic.c b/drivers/net/cnic.c index 5274de3e1bb9..25f08880ae0f 100644 --- a/drivers/net/cnic.c +++ b/drivers/net/cnic.c | |||
@@ -3397,9 +3397,12 @@ static int cnic_get_v4_route(struct sockaddr_in *dst_addr, | |||
3397 | memset(&fl, 0, sizeof(fl)); | 3397 | memset(&fl, 0, sizeof(fl)); |
3398 | fl.nl_u.ip4_u.daddr = dst_addr->sin_addr.s_addr; | 3398 | fl.nl_u.ip4_u.daddr = dst_addr->sin_addr.s_addr; |
3399 | 3399 | ||
3400 | err = ip_route_output_key(&init_net, &rt, &fl); | 3400 | rt = ip_route_output_key(&init_net, &fl); |
3401 | if (!err) | 3401 | err = 0; |
3402 | if (!IS_ERR(rt)) | ||
3402 | *dst = &rt->dst; | 3403 | *dst = &rt->dst; |
3404 | else | ||
3405 | err = PTR_ERR(rt); | ||
3403 | return err; | 3406 | return err; |
3404 | #else | 3407 | #else |
3405 | return -ENETUNREACH; | 3408 | return -ENETUNREACH; |