diff options
Diffstat (limited to 'net/ipv4/udp.c')
| -rw-r--r-- | net/ipv4/udp.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index ebaaa7f973d7..6ec6a8a4a224 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c | |||
| @@ -696,6 +696,7 @@ int udp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, | |||
| 696 | 696 | ||
| 697 | if (rt == NULL) { | 697 | if (rt == NULL) { |
| 698 | struct flowi fl = { .oif = ipc.oif, | 698 | struct flowi fl = { .oif = ipc.oif, |
| 699 | .mark = sk->sk_mark, | ||
| 699 | .nl_u = { .ip4_u = | 700 | .nl_u = { .ip4_u = |
| 700 | { .daddr = faddr, | 701 | { .daddr = faddr, |
| 701 | .saddr = saddr, | 702 | .saddr = saddr, |
| @@ -1359,7 +1360,7 @@ void udp_destroy_sock(struct sock *sk) | |||
| 1359 | * Socket option code for UDP | 1360 | * Socket option code for UDP |
| 1360 | */ | 1361 | */ |
| 1361 | int udp_lib_setsockopt(struct sock *sk, int level, int optname, | 1362 | int udp_lib_setsockopt(struct sock *sk, int level, int optname, |
| 1362 | char __user *optval, int optlen, | 1363 | char __user *optval, unsigned int optlen, |
| 1363 | int (*push_pending_frames)(struct sock *)) | 1364 | int (*push_pending_frames)(struct sock *)) |
| 1364 | { | 1365 | { |
| 1365 | struct udp_sock *up = udp_sk(sk); | 1366 | struct udp_sock *up = udp_sk(sk); |
| @@ -1441,7 +1442,7 @@ int udp_lib_setsockopt(struct sock *sk, int level, int optname, | |||
| 1441 | EXPORT_SYMBOL(udp_lib_setsockopt); | 1442 | EXPORT_SYMBOL(udp_lib_setsockopt); |
| 1442 | 1443 | ||
| 1443 | int udp_setsockopt(struct sock *sk, int level, int optname, | 1444 | int udp_setsockopt(struct sock *sk, int level, int optname, |
| 1444 | char __user *optval, int optlen) | 1445 | char __user *optval, unsigned int optlen) |
| 1445 | { | 1446 | { |
| 1446 | if (level == SOL_UDP || level == SOL_UDPLITE) | 1447 | if (level == SOL_UDP || level == SOL_UDPLITE) |
| 1447 | return udp_lib_setsockopt(sk, level, optname, optval, optlen, | 1448 | return udp_lib_setsockopt(sk, level, optname, optval, optlen, |
| @@ -1451,7 +1452,7 @@ int udp_setsockopt(struct sock *sk, int level, int optname, | |||
| 1451 | 1452 | ||
| 1452 | #ifdef CONFIG_COMPAT | 1453 | #ifdef CONFIG_COMPAT |
| 1453 | int compat_udp_setsockopt(struct sock *sk, int level, int optname, | 1454 | int compat_udp_setsockopt(struct sock *sk, int level, int optname, |
| 1454 | char __user *optval, int optlen) | 1455 | char __user *optval, unsigned int optlen) |
| 1455 | { | 1456 | { |
| 1456 | if (level == SOL_UDP || level == SOL_UDPLITE) | 1457 | if (level == SOL_UDP || level == SOL_UDPLITE) |
| 1457 | return udp_lib_setsockopt(sk, level, optname, optval, optlen, | 1458 | return udp_lib_setsockopt(sk, level, optname, optval, optlen, |
