Received: by 2002:a05:6520:1682:b0:147:d1a0:b502 with SMTP id ck2csp5597213lkb; Mon, 11 Oct 2021 09:39:47 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw5wi4MsxeslIMj6Siz8n5t6RJDsr4gwaeEPT981d7hnro/E0UXbku4iVABJy0fnoDA99Gy X-Received: by 2002:a17:906:7c86:: with SMTP id w6mr26446684ejo.283.1633970387227; Mon, 11 Oct 2021 09:39:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633970387; cv=none; d=google.com; s=arc-20160816; b=MJ16yjX1+3rgNon4m/WktntkdhEgvLaQ+vZhewRGF/MMnzj9h5aJ4Kgxh/pOlo0iDb zbHgUIeSRxvsBvmZVxsUVKcEndG1mE37MhIdxKS6dCFOC5Bmq6XMWyzEW1gxVFweABgS jTjOvVUubJ1U6FEEbm0dWh5vpHuR2zYJ9ZVaCHKQgDGe+Fij+O+Lrl6dRZWbIlcDtCE6 4AJDQnj7xeHHZDP6NUsaES0jrGF9o1mLXHgAU4ABaJB6EsPJymJ2s6lxpy/LdZ/bYvGo Qj8BfPcdNOchxpwJpbf8+WFvKS+gmoPNAH4wdnnDUVNsUj7TVFxPi8+iaeWF5AhKUqh7 w3Tg== 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=afFEkRFUCqaYQW2HjD6h9xkynPi/lCP7jdft3RLiqR0=; b=eQ7F9MEEbVR+XkXi8UiTGObaM/ofZkZ/3nE96NNXzR0U+Bukp7LPUbGONXvBKRUat6 5M99DnvVLlb/aQzURywtsR2EZTSOdpIbJK3H7DqbDJvV5NNKufxvaJIxaAOGEZHblj3w FPAy3v1j6Zhiw1ne668r+OyQ5D67hO2nJ3uAxdpI/dOT118T3sFdrZso0PPRj0SY+7o2 WYGM5+QyY/2B77Dmy/L6/4gI9d0wdgRiM2FyNloao5CUgE+82d5v9BPH+tBug/avr0AM psnI5epSNvO04ie1zczVr6G8eEHJEadbu44KsMH0i8zDtpdArLrbFrhwaRyHW81cimnr TLdA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=UkLaw5QP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-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 b19si12072742edj.273.2021.10.11.09.39.23; Mon, 11 Oct 2021 09:39:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-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=UkLaw5QP; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-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 S244692AbhJKOSN (ORCPT + 99 others); Mon, 11 Oct 2021 10:18:13 -0400 Received: from mail.kernel.org ([198.145.29.99]:38738 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244394AbhJKOPb (ORCPT ); Mon, 11 Oct 2021 10:15:31 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 1F48E6135A; Mon, 11 Oct 2021 14:05:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1633961121; bh=670TjurDcEU5M/I1uMhLiuLmgmXJiTzK4Np0a9rCzvo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UkLaw5QPzKbHgqyJHsDCoUj6jtUJCJK68YuuWs02R5amBp0NUNnHn/EjiED1omnBY XAb1osRizDqqm3hJJbUM1uoxGMP5qOPs4saIPjahTh+7AnpKJuMxjC7RXsQskxfRmK RqK6nAAZsCHGidV+3eCZqlVY3jMpg9hOrXKYvlD8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Eric Dumazet , Roopa Prabhu , "David S. Miller" , Sasha Levin Subject: [PATCH 4.19 23/28] rtnetlink: fix if_nlmsg_stats_size() under estimation Date: Mon, 11 Oct 2021 15:47:13 +0200 Message-Id: <20211011134641.466976541@linuxfoundation.org> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20211011134640.711218469@linuxfoundation.org> References: <20211011134640.711218469@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Eric Dumazet [ Upstream commit d34367991933d28bd7331f67a759be9a8c474014 ] rtnl_fill_statsinfo() is filling skb with one mandatory if_stats_msg structure. nlmsg_put(skb, pid, seq, type, sizeof(struct if_stats_msg), flags); But if_nlmsg_stats_size() never considered the needed storage. This bug did not show up because alloc_skb(X) allocates skb with extra tailroom, because of added alignments. This could very well be changed in the future to have deterministic behavior. Fixes: 10c9ead9f3c6 ("rtnetlink: add new RTM_GETSTATS message to dump link stats") Signed-off-by: Eric Dumazet Cc: Roopa Prabhu Acked-by: Roopa Prabhu Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- net/core/rtnetlink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index 055fd09ac111..83de32e34bb5 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c @@ -4512,7 +4512,7 @@ nla_put_failure: static size_t if_nlmsg_stats_size(const struct net_device *dev, u32 filter_mask) { - size_t size = 0; + size_t size = NLMSG_ALIGN(sizeof(struct if_stats_msg)); if (stats_attr_valid(filter_mask, IFLA_STATS_LINK_64, 0)) size += nla_total_size_64bit(sizeof(struct rtnl_link_stats64)); -- 2.33.0