Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp1675803ybt; Thu, 9 Jul 2020 12:37:00 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxYhgqMZWm3IkLasNEGfz7Vgo9+x1C3vOdULvq8OvnsxV5CdqSWyDRxoPuzG6OpjQ0eBezd X-Received: by 2002:a50:d49e:: with SMTP id s30mr687736edi.228.1594323420783; Thu, 09 Jul 2020 12:37:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594323420; cv=none; d=google.com; s=arc-20160816; b=B230NI63k54wnAp9Iqag/NR9Jq14IVGTw15wQKABd9MtVccVwLw0ZBQAu4D9u/8wfI EDC7cpCU6Qx50oJoAM9BWG0es7sA+Pb5ZWO83exoz/rfijFxaGugfwKV+879ScP2x9Nz lZSHZvtFSTwU3kYhziVvakZrXeHccqvOkETllEQ28gGHotM1e7clYIZIHszfyuBrcEpJ TIzshMt5Ksn+6UvN+HrWOSV+VdM2suNHNW9UzcvNi4fhGmkK5LWg7zqTj5fD+Fhu17Uk ojf31Gv3DYIhPvp6yYF/GJO1TcZ8LcPFqSm+j0TnOPY7nHbPRPpYujqt+tNe4V/Ko0HC 6EQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:from:subject:cc:to:message-id:date; bh=Ipog7qEHAS/TLgAqr8P9t6urg7JAusEPxe/MRN4VY/Y=; b=lt6ijq4nqIm57LbU2CvDqc7usbvQHlXn8U17FgCrwndyhqySCgUopnRAaBG3NLeI03 gvdmWs2Jgldj9Ay/1hkXcK15NkZFs90bQgAAr12S64/NToxsc2taZkjiNl9zT2j5D/ar 8dyXw31i4rH7If3pk5Y1CgGTBjRpdcUlsc4NK+ORxxvY2bCanZgo2SQIysgiYxu2LfVY 39noTQ9ntp5gm/fj/yGLY7lexC4XK+68/OqPtTSIQ5Vro941wzcQJA/Dsv+tuXtPR7aF B1+lPQiFlUlBf96fRMpMUTRkOy4Ga9rof3nNZ//M1UY5iSBJYZsR4G+B6Lwn+3kA1Gpn 0yrQ== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y2si2789687edt.252.2020.07.09.12.36.38; Thu, 09 Jul 2020 12:37:00 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726347AbgGITg1 (ORCPT + 99 others); Thu, 9 Jul 2020 15:36:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38004 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726213AbgGITg1 (ORCPT ); Thu, 9 Jul 2020 15:36:27 -0400 Received: from shards.monkeyblade.net (shards.monkeyblade.net [IPv6:2620:137:e000::1:9]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 800EEC08C5CE; Thu, 9 Jul 2020 12:36:27 -0700 (PDT) Received: from localhost (unknown [IPv6:2601:601:9f00:477::3d5]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) (Authenticated sender: davem-davemloft) by shards.monkeyblade.net (Postfix) with ESMTPSA id 3B92112794C20; Thu, 9 Jul 2020 12:36:27 -0700 (PDT) Date: Thu, 09 Jul 2020 12:36:26 -0700 (PDT) Message-Id: <20200709.123626.261284515556787924.davem@davemloft.net> To: mkubecek@suse.cz Cc: kuba@kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH net] ethtool: fix genlmsg_put() failure handling in ethnl_default_dumpit() From: David Miller In-Reply-To: <20200709101150.65DBB60567@lion.mk-sys.cz> References: <20200709101150.65DBB60567@lion.mk-sys.cz> X-Mailer: Mew version 6.8 on Emacs 26.3 Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Thu, 09 Jul 2020 12:36:27 -0700 (PDT) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Michal Kubecek Date: Thu, 9 Jul 2020 12:11:50 +0200 (CEST) > If the genlmsg_put() call in ethnl_default_dumpit() fails, we bail out > without checking if we already have some messages in current skb like we do > with ethnl_default_dump_one() failure later. Therefore if existing messages > almost fill up the buffer so that there is not enough space even for > netlink and genetlink header, we lose all prepared messages and return and > error. > > Rather than duplicating the skb->len check, move the genlmsg_put(), > genlmsg_cancel() and genlmsg_end() calls into ethnl_default_dump_one(). > This is also more logical as all message composition will be in > ethnl_default_dump_one() and only iteration logic will be left in > ethnl_default_dumpit(). > > Fixes: 728480f12442 ("ethtool: default handlers for GET requests") > Reported-by: Jakub Kicinski > Signed-off-by: Michal Kubecek Applied and queued up for -stable, thanks.