From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AH8x224nw9EHYyg1F6wl8n2jVftpnE0BC58uk9m7Sr5XMs3S9IGJl6lSAISGhqMapsvixVcZMKv5 ARC-Seal: i=1; a=rsa-sha256; t=1517256806; cv=none; d=google.com; s=arc-20160816; b=UI2BJdzg0Pu5ge134gBMdXWWXj0yatyjED/hnnztqXp0mZBD6ZOFOOCDyAX4JeBXeo IolnU2xqkMWH/ncedPMXOT99TjlRMZ8HMymejPz9duSKoU7N49FlQRuZLqTG0iRxCrCs mCadKJWdQ4AGe7NaLv23pEFzH7CpY7eUvSXnY2j87MCWcRB7yGzg7mUjhjRBjgNyY/1D OJBjL+9FdKbbXyVkGQFr68eM3YWnJmcphft9PF/Y+Hd332RVOWU3crbsXSdXF7AuVE0E Xfd6Zuz9/hegVCljWt++Xcf8ulMBXPhWg2m+vQOLkDuvTj1qghLIt5sIm+IcD0OiWxW5 dq5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:user-agent:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=9+enPllsChDobChGF6MXID5vRM84efTvPvirwGz9NV8=; b=mY0hBqNcWkzBA8DyuWlaCttj3WKepL97zzFyNWIt6oHcWcHucf/1oqGMN7fb6vmkm2 lq8kYqNvfTQ8f9P269YGcHYfUoDH6zaRov3LzRQo+F3zJQSDFZf9Ig5f9bDbj4oUA6aE 2p+IEoYT3OPfaU8NtzhI7nJKmFoIaATeqtILTlH6O8ILEFFa6p+OiYX5tNR0Dbtx6aRa HiewRieGHypqjQLJ7r3PWZPpIvzGtYXtZRSV2ep+N96GLURmnivEaJ/QnZH/90ii1agJ xWZqP6OB0necBnJDgLkk2Lzn101sjdBuC5D51zu9YisEqPh57cVRNcdxCn5HfKno3qqE oPcg== ARC-Authentication-Results: i=1; mx.google.com; spf=softfail (google.com: domain of transitioning gregkh@linuxfoundation.org does not designate 90.92.71.90 as permitted sender) smtp.mailfrom=gregkh@linuxfoundation.org Authentication-Results: mx.google.com; spf=softfail (google.com: domain of transitioning gregkh@linuxfoundation.org does not designate 90.92.71.90 as permitted sender) smtp.mailfrom=gregkh@linuxfoundation.org From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Lorenzo Colitti , Pau Espin Pedrol , Pablo Neira Ayuso , Michal Kubecek Subject: [PATCH 4.4 37/74] netfilter: use fwmark_reflect in nf_send_reset Date: Mon, 29 Jan 2018 13:56:42 +0100 Message-Id: <20180129123849.261585273@linuxfoundation.org> X-Mailer: git-send-email 2.16.1 In-Reply-To: <20180129123847.507563674@linuxfoundation.org> References: <20180129123847.507563674@linuxfoundation.org> User-Agent: quilt/0.65 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-LABELS: =?utf-8?b?IlxcU2VudCI=?= X-GMAIL-THRID: =?utf-8?q?1590959073116094542?= X-GMAIL-MSGID: =?utf-8?q?1590959073116094542?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: 4.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: Pau Espin Pedrol commit cc31d43b4154ad5a7d8aa5543255a93b7e89edc2 upstream. Otherwise, RST packets generated by ipt_REJECT always have mark 0 when the routing is checked later in the same code path. Fixes: e110861f8609 ("net: add a sysctl to reflect the fwmark on replies") Cc: Lorenzo Colitti Signed-off-by: Pau Espin Pedrol Signed-off-by: Pablo Neira Ayuso Acked-by: Michal Kubecek Signed-off-by: Greg Kroah-Hartman --- net/ipv4/netfilter/nf_reject_ipv4.c | 2 ++ net/ipv6/netfilter/nf_reject_ipv6.c | 3 +++ 2 files changed, 5 insertions(+) --- a/net/ipv4/netfilter/nf_reject_ipv4.c +++ b/net/ipv4/netfilter/nf_reject_ipv4.c @@ -124,6 +124,8 @@ void nf_send_reset(struct net *net, stru /* ip_route_me_harder expects skb->dst to be set */ skb_dst_set_noref(nskb, skb_dst(oldskb)); + nskb->mark = IP4_REPLY_MARK(net, oldskb->mark); + skb_reserve(nskb, LL_MAX_HEADER); niph = nf_reject_iphdr_put(nskb, oldskb, IPPROTO_TCP, ip4_dst_hoplimit(skb_dst(nskb))); --- a/net/ipv6/netfilter/nf_reject_ipv6.c +++ b/net/ipv6/netfilter/nf_reject_ipv6.c @@ -157,6 +157,7 @@ void nf_send_reset6(struct net *net, str fl6.daddr = oip6h->saddr; fl6.fl6_sport = otcph->dest; fl6.fl6_dport = otcph->source; + fl6.flowi6_mark = IP6_REPLY_MARK(net, oldskb->mark); security_skb_classify_flow(oldskb, flowi6_to_flowi(&fl6)); dst = ip6_route_output(net, NULL, &fl6); if (dst == NULL || dst->error) { @@ -180,6 +181,8 @@ void nf_send_reset6(struct net *net, str skb_dst_set(nskb, dst); + nskb->mark = fl6.flowi6_mark; + skb_reserve(nskb, hh_len + dst->header_len); ip6h = nf_reject_ip6hdr_put(nskb, oldskb, IPPROTO_TCP, ip6_dst_hoplimit(dst));