diff --git a/net/core/sock.c b/net/core/sock.c index af65d17517b8e5..f36f123b10ae39 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -918,8 +918,10 @@ int sock_setsockopt(struct socket *sock, int level, int optname, case SO_MARK: if (!ns_capable(sock_net(sk)->user_ns, CAP_NET_ADMIN)) ret = -EPERM; - else + else { sk->sk_mark = val; + sk_dst_reset(sk); + } break; /* We implement the SO_SNDLOWAT etc to