Received: by 2002:a17:90a:9103:0:0:0:0 with SMTP id k3csp11797362pjo; Thu, 2 Jan 2020 14:27:07 -0800 (PST) X-Google-Smtp-Source: APXvYqzcmySksqs+4dpAFanvrYcb/kuVnj7J+FMmAa3D2LPZKlcxORlneBksCnbwdrj6m9usRyln X-Received: by 2002:a9d:69ce:: with SMTP id v14mr97632774oto.248.1578004027167; Thu, 02 Jan 2020 14:27:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1578004027; cv=none; d=google.com; s=arc-20160816; b=MI/Zd9E4X9NWaQXvXE7kuJznkuouS89LlMHHIDOk5e7xobq3ggclyG4NijVXWxs3A7 53vSR9G7QEGQiKPbb+0Mx8fEyQM9HgEezxYHPiFWP3pbQkDR2NnqJos6x46I2diltsev 5uDwChHfUAfTjDXvbkJgIowH5qt2RCwaXQmk1/16DpHlwb5mpSQjNXb4YCRSLUYRomgy vyBB8wi0mzGLDtxq7nrvMMI5P34hQlDFNo82xYyArQUa/HDMha7bgNp+eN5Ri2XUH9WP UWxMcXKdY5qX3Y4wGcKW1yOE0jdY5/+YnlzXczH1WbtXBW5v/IVERbzjrRyQf/IVui01 0K2g== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=FTHHkXRce63Zm1LQa4DZKN0V4ahEi5vAWGHtKFBubCE=; b=swVfJT7viyOBIMh6hzQyV82PPjda987cQhEUzbXprCk/qV67Qg0ExWX6Xqr6sa5tOX SDzidAqGyl+YbwUJpTYHdpWEZegHqtFC7/pZkKbsUGfBxCwpUjUBFFkeW45vMlAXau3b OfI/CQHyqS88TC+PsudR6jJCHOWeX34rI+uAOYwrlbnY0qiYCUbEfMMBxpmRtH+Q8eQW yhunoabP/+C3HN9vkqNfEUV4vwRyyJNzvF8JVEdxOxAMMVXCRy0vC8lhHNNddDhkQ4mm iJ3OAyFtuy34Tvc63B1o6Mqt/Z4SoeUkgFA2nGTaUEOiQOy6QfjZlDpR83vkTKtD8CSI +F3w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=qPaiezKp; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g17si27997064otk.252.2020.01.02.14.26.55; Thu, 02 Jan 2020 14:27:07 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=qPaiezKp; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728278AbgABW0Q (ORCPT + 99 others); Thu, 2 Jan 2020 17:26:16 -0500 Received: from mail.kernel.org ([198.145.29.99]:53090 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729618AbgABW0L (ORCPT ); Thu, 2 Jan 2020 17:26:11 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 90D2A21835; Thu, 2 Jan 2020 22:26:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1578003971; bh=JB+DYKIwsZBH1KvlL773j+Eii/K1XDeuwoVDewlsQYk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qPaiezKp9ZZGrHWV4gEr2CuXnJyErZpisk2jrQV13xQj0vi8TV/WqwWOCytTeylin y2s1djTprXWQN06EH0daCRWq1mwSZz+JvUj7mmmGcb8HVg7BbWF0VvU2cOsu2qXMh4 dMqp/8OiodZ9XqXyEPHaIdgkLYSDs0bynAt9yG5A= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Vladyslav Tarasiuk , Aya Levin , Leon Romanovsky , Ido Schimmel , "David S. Miller" Subject: [PATCH 4.14 75/91] net/mlxfw: Fix out-of-memory error in mfa2 flash burning Date: Thu, 2 Jan 2020 23:07:57 +0100 Message-Id: <20200102220447.901323997@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200102220356.856162165@linuxfoundation.org> References: <20200102220356.856162165@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Vladyslav Tarasiuk [ Upstream commit a5bcd72e054aabb93ddc51ed8cde36a5bfc50271 ] The burning process requires to perform internal allocations of large chunks of memory. This memory doesn't need to be contiguous and can be safely allocated by vzalloc() instead of kzalloc(). This patch changes such allocation to avoid possible out-of-memory failure. Fixes: 410ed13cae39 ("Add the mlxfw module for Mellanox firmware flash process") Signed-off-by: Vladyslav Tarasiuk Reviewed-by: Aya Levin Signed-off-by: Leon Romanovsky Tested-by: Ido Schimmel Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- drivers/net/ethernet/mellanox/mlxfw/mlxfw_mfa2.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) --- a/drivers/net/ethernet/mellanox/mlxfw/mlxfw_mfa2.c +++ b/drivers/net/ethernet/mellanox/mlxfw/mlxfw_mfa2.c @@ -37,6 +37,7 @@ #include #include #include +#include #include #include "mlxfw_mfa2.h" #include "mlxfw_mfa2_file.h" @@ -579,7 +580,7 @@ mlxfw_mfa2_file_component_get(const stru comp_size = be32_to_cpu(comp->size); comp_buf_size = comp_size + mlxfw_mfa2_comp_magic_len; - comp_data = kmalloc(sizeof(*comp_data) + comp_buf_size, GFP_KERNEL); + comp_data = vzalloc(sizeof(*comp_data) + comp_buf_size); if (!comp_data) return ERR_PTR(-ENOMEM); comp_data->comp.data_size = comp_size; @@ -601,7 +602,7 @@ mlxfw_mfa2_file_component_get(const stru comp_data->comp.data = comp_data->buff + mlxfw_mfa2_comp_magic_len; return &comp_data->comp; err_out: - kfree(comp_data); + vfree(comp_data); return ERR_PTR(err); } @@ -610,7 +611,7 @@ void mlxfw_mfa2_file_component_put(struc const struct mlxfw_mfa2_comp_data *comp_data; comp_data = container_of(comp, struct mlxfw_mfa2_comp_data, comp); - kfree(comp_data); + vfree(comp_data); } void mlxfw_mfa2_file_fini(struct mlxfw_mfa2_file *mfa2_file)