From patchwork Thu May 28 23:21:22 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michal Kubecek X-Patchwork-Id: 1300185 X-Patchwork-Delegate: linville@tuxdriver.com Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=suse.cz Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 49Y3cS30kpz9sSp for ; Fri, 29 May 2020 09:21:44 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2437507AbgE1XVm (ORCPT ); Thu, 28 May 2020 19:21:42 -0400 Received: from mx2.suse.de ([195.135.220.15]:49198 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2437492AbgE1XVY (ORCPT ); Thu, 28 May 2020 19:21:24 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 90100AFE5; Thu, 28 May 2020 23:21:22 +0000 (UTC) Received: by unicorn.suse.cz (Postfix, from userid 1000) id B1E40E32D2; Fri, 29 May 2020 01:21:22 +0200 (CEST) Message-Id: <065379b5682ce800f8631bc97bc69b2421d143b7.1590707335.git.mkubecek@suse.cz> In-Reply-To: References: From: Michal Kubecek Subject: [PATCH ethtool 03/21] netlink: fix msgbuff_append() helper To: John Linville , netdev@vger.kernel.org Cc: Andrew Lunn , Oleksij Rempel Date: Fri, 29 May 2020 01:21:22 +0200 (CEST) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org As msgbuff_append() only copies protocol payload, i.e. part of the buffer without netlink and genetlink header, and mnl_nlmsg_get_payload_len() only subtracts netlink header length, we need to subtract genetlink header length manually to get correct length of appended data block. Fixes: 5050607946b6 ("netlink: message buffer and composition helpers") Reported-by: Andrew Lunn Signed-off-by: Michal Kubecek Tested-by: Andrew Lunn --- netlink/msgbuff.c | 1 + 1 file changed, 1 insertion(+) diff --git a/netlink/msgbuff.c b/netlink/msgbuff.c index 74065709ef7d..216f5b946236 100644 --- a/netlink/msgbuff.c +++ b/netlink/msgbuff.c @@ -79,6 +79,7 @@ int msgbuff_append(struct nl_msg_buff *dest, struct nl_msg_buff *src) unsigned int dest_len = MNL_ALIGN(msgbuff_len(dest)); int ret; + src_len -= GENL_HDRLEN; ret = msgbuff_realloc(dest, dest_len + src_len); if (ret < 0) return ret;