From patchwork Mon Mar 1 16:14:05 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 388659 Delivered-To: patch@linaro.org Received: by 2002:a02:290e:0:0:0:0:0 with SMTP id p14csp3518091jap; Mon, 1 Mar 2021 09:01:02 -0800 (PST) X-Google-Smtp-Source: ABdhPJyRJ3dBboKrYhHZUJIcUVAV/KUATEzzrjkDQBEc0GsUVfb3EBQtXxbq5tuocLwMKEaELm9D X-Received: by 2002:adf:fdd2:: with SMTP id i18mr18599111wrs.382.1614618061995; Mon, 01 Mar 2021 09:01:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614618061; cv=none; d=google.com; s=arc-20160816; b=s4Wv1Woo1T4k8NJe8zf1FbwUvv9sJvyAEi4abVLYUH6kafG3uQCe74wM5uYufvsp7y galEsTcKLjnBox80yNE1l9JJ5oWOQoh5kndBbLCtNwvnehPnghgdLtmctGbwjqjhAY+k uAKRX5pbB4hyYsw1PV1nOcC05cN3vbbvGYICAsi3x9vJYoUcBxY7BeuqbwwaSjGtFXvJ 9YgkjdipYB8DI/c+51XivUbGIEmSyZiTB+XF/l6aDmBdBTcIOMlFa++CkEdrRyIi5dcl DgGHUYNSxzCCWz+WGe00FjOT7Drl7NKu1a11Qj7+whUxdV5xhH+S/SaGjuBenSNTr0N0 W/Uw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=2I5X+So0bra59Yaau781PhsOHMlDRALnO/xj0DRskLc=; b=Ae/cDcfhZ4mzl3jrXhNGRLPN2gfsQLeZ2O781rft9dZ6X2dKw74Ce/e5bbQtBrUHj/ lN9X7Pyrzr/GMpiNPjqOYk/Mx2exP23CQ9XT/kPlf9gIE4ixQ9hZhByBmJnTwo3BmqEy Ll17GQq4rHTo1AFit8FC5khJFP/Hy/igzOuJ5GLLNDwiXFl7i+bUsiE8xd2Bg3Apwd7G zvEtbigrlmJs/e4/fIo7eJrqKB4zpqzQ8syr8dD4LvxNPeqYE0q/fULE3ubqcmLGavfl zYh3YBFzMvUQ6ltQhDJJ3mygZtvGvwsuhNdCr50QvQJ0nuu59W00U4dUfJZ9nCQnZH9h 9KFw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=k5ZvGSBz; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id t3si11764443eds.511.2021.03.01.09.01.01; Mon, 01 Mar 2021 09:01:01 -0800 (PST) Received-SPF: pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=k5ZvGSBz; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236450AbhCARAg (ORCPT + 13 others); Mon, 1 Mar 2021 12:00:36 -0500 Received: from mail.kernel.org ([198.145.29.99]:54172 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236405AbhCAQyF (ORCPT ); Mon, 1 Mar 2021 11:54:05 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 0183664FC2; Mon, 1 Mar 2021 16:34:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1614616496; bh=Dc0V88mP9vN9B8FGTHdosOrupTOqRmd+la+jOgweKGk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=k5ZvGSBz5B29XYyiXUWdkNLXfxWhu6bUGHtp0pwfA22RlsjfphpfJU6OlwOw89qxZ XNjFBzrAqAF+ZIXIEbkNZ5p49ijR2aoeTXLaNhmvwK/lRVY4qNcm9FnNChU7raIQSb jlt0ohJM9ocshqasxJ9fK1X7rsmPRJR82TBHzR/E= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, "Jason A. Donenfeld" , Shannon Nelson , "David S. Miller" Subject: [PATCH 4.14 172/176] sunvnet: use icmp_ndo_send helper Date: Mon, 1 Mar 2021 17:14:05 +0100 Message-Id: <20210301161029.575840597@linuxfoundation.org> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210301161020.931630716@linuxfoundation.org> References: <20210301161020.931630716@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Jason A. Donenfeld commit 67c9a7e1e3ac491b5df018803639addc36f154ba upstream. Because sunvnet is calling icmp from network device context, it should use the ndo helper so that the rate limiting applies correctly. While we're at it, doing the additional route lookup before calling icmp_ndo_send is superfluous, since this is the job of the icmp code in the first place. Signed-off-by: Jason A. Donenfeld Cc: Shannon Nelson Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/sun/sunvnet_common.c | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) --- a/drivers/net/ethernet/sun/sunvnet_common.c +++ b/drivers/net/ethernet/sun/sunvnet_common.c @@ -1352,27 +1352,12 @@ sunvnet_start_xmit_common(struct sk_buff if (vio_version_after_eq(&port->vio, 1, 3)) localmtu -= VLAN_HLEN; - if (skb->protocol == htons(ETH_P_IP)) { - struct flowi4 fl4; - struct rtable *rt = NULL; - - memset(&fl4, 0, sizeof(fl4)); - fl4.flowi4_oif = dev->ifindex; - fl4.flowi4_tos = RT_TOS(ip_hdr(skb)->tos); - fl4.daddr = ip_hdr(skb)->daddr; - fl4.saddr = ip_hdr(skb)->saddr; - - rt = ip_route_output_key(dev_net(dev), &fl4); - if (!IS_ERR(rt)) { - skb_dst_set(skb, &rt->dst); - icmp_send(skb, ICMP_DEST_UNREACH, - ICMP_FRAG_NEEDED, - htonl(localmtu)); - } - } + if (skb->protocol == htons(ETH_P_IP)) + icmp_ndo_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED, + htonl(localmtu)); #if IS_ENABLED(CONFIG_IPV6) else if (skb->protocol == htons(ETH_P_IPV6)) - icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, localmtu); + icmpv6_ndo_send(skb, ICMPV6_PKT_TOOBIG, 0, localmtu); #endif goto out_dropped; }