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, |