Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-11-29 09:07:29 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-11-29 09:30:25 +0100
commit0d7c1e4be6d8e4615486c8846d74e1145a2a17d8 (patch)
tree443eefd9ad960cc2adb6d097e6cdb2a27660da71
parent01bc6b5c550378f943720a628f1b0809ecc0969a (diff)
Revert "sock: Reset dst when changing sk_mark via setsockopt"
This reverts commit 4c5ce7ca90e00164f954d727215fc227addc467c which is commit 50254256f382c56bde87d970f3d0d02fdb76ec70 upstream. It breaks a number of runtime Android networking tests, so something is wrong with the backport, or something else also needed to be backported at the same time. So I'm dropping this from the tree as regressions are not good. Cc: David Barmann <david.barmann@stackpath.com> Cc: Eric Dumazet <edumazet@google.com> Cc: David S. Miller <davem@davemloft.net> Cc: Sasha Levin <sashal@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--net/core/sock.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/net/core/sock.c b/net/core/sock.c
index 92d5f6232ec7..8aa4a5f89572 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -951,12 +951,10 @@ set_rcvbuf:
clear_bit(SOCK_PASSSEC, &sock->flags);
break;
case SO_MARK:
- if (!ns_capable(sock_net(sk)->user_ns, CAP_NET_ADMIN)) {
+ if (!ns_capable(sock_net(sk)->user_ns, CAP_NET_ADMIN))
ret = -EPERM;
- } else if (val != sk->sk_mark) {
+ else
sk->sk_mark = val;
- sk_dst_reset(sk);
- }
break;
case SO_RXQ_OVFL: