Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp3764808pxv; Mon, 19 Jul 2021 08:13:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxeIwU5waYan1ZVHhqIe1HFJ7ndZufM089maZKrE1MGEJTPVXtCkDJw9vv9zgBcszXZRilS X-Received: by 2002:a05:6402:4cb:: with SMTP id n11mr34672539edw.292.1626707617991; Mon, 19 Jul 2021 08:13:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626707617; cv=none; d=google.com; s=arc-20160816; b=TOZUDqkqLOW1Tx8jMeohrIvEWlYwYykxRpGhgXqpL1v6VjLXamOlUfw575ql6ZKzT9 CCZrhXwqeLx6+Cv//dYmBiKWnxzHf/rjQQnJ0qkYvJfb+KJwIDbhOCDQ2SsAMqvdk6T6 RUnSeHr8VC0doBui6MKmga64WqSRcz75zX4+BTUOTEMQ8XtB59eI93ikXkBMIn6pwifJ o2A4JpSI+Ofp5DFT92D9VLT+dhGoMu9BauVf51IuwLvbVqMi+ftChvwLJP6lSYcRG+Hf ocjf8m4sNmhTDmnWlr/pWEKveolcZTfckOtY86C/V1UTc99L0lKpdDOflCoJ1Q4aW+q1 9XbA== 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=+UER/snHWKlpuri/I4ooJq1l6f/sUCydm/mg1wb5DY8=; b=cy4ZhifDzPHyJ7YXjDqZZ+knKx2vEJWRwJBkAgBBx0gV3sZAyigsu3FpkzWsXUxWWT gLAhq5BlZtdoIui2yA0DEfEXNMXjGjXd0lmZ23+nGF+N4HI7Y085XTc0Akud2HqpvDsD TJMxqWa033HRVuzs3DQegaxy+BLNNfCfQyKsiLzpa/SMeMBdmkfgH1SkZ7nI1Saz3Sxb xkeWGte4Rp+dHxhpIsOgZf203Box0O7qDCqVSIHQmZ0LiKepUVpig7mQSJKg/s3+a842 EAKN1uxuf5D3pJVd+OyqaAs2yqq7uVeVbark3wpXqXu+dR4z1AUcv4bqzAfLHdD8810F BYVw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=YWOGgwFD; 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 d18si22010845edy.362.2021.07.19.08.13.15; Mon, 19 Jul 2021 08:13:37 -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=YWOGgwFD; 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 S244744AbhGSObD (ORCPT + 99 others); Mon, 19 Jul 2021 10:31:03 -0400 Received: from mail.kernel.org ([198.145.29.99]:38582 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242817AbhGSOZf (ORCPT ); Mon, 19 Jul 2021 10:25:35 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id D20976113E; Mon, 19 Jul 2021 15:06:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1626707174; bh=J4p7LzVQQchdgunuqTzd4zWgz3g8h/zu+BG8D/ucd8I=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YWOGgwFDgO0iH9Kqy73kFqjnxTflzOIia16JNRTdkXmuFembfb2yrie1jF4rUUR6x 1kN5SIY8BitEIBG4LncdzWOe7BBMY5WOkPagb7qUcj+e7+D4EaUYuR2RNXwjqSZVlT M7d5/jXC7qNdU1/qzm+PnaBOFXEXdTuCzmS0HXuA= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Jay Fang , Mark Brown , Sasha Levin Subject: [PATCH 4.9 030/245] spi: spi-topcliff-pch: Fix potential double free in pch_spi_process_messages() Date: Mon, 19 Jul 2021 16:49:32 +0200 Message-Id: <20210719144941.378713238@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210719144940.288257948@linuxfoundation.org> References: <20210719144940.288257948@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: Jay Fang [ Upstream commit 026a1dc1af52742c5897e64a3431445371a71871 ] pch_spi_set_tx() frees data->pkt_tx_buff on failure of kzalloc() for data->pkt_rx_buff, but its caller, pch_spi_process_messages(), will free data->pkt_tx_buff again. Set data->pkt_tx_buff to NULL after kfree() to avoid double free. Signed-off-by: Jay Fang Link: https://lore.kernel.org/r/1620284888-65215-1-git-send-email-f.fangjian@huawei.com Signed-off-by: Mark Brown Signed-off-by: Sasha Levin --- drivers/spi/spi-topcliff-pch.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/spi/spi-topcliff-pch.c b/drivers/spi/spi-topcliff-pch.c index fe707440f8c3..9b24ebbba346 100644 --- a/drivers/spi/spi-topcliff-pch.c +++ b/drivers/spi/spi-topcliff-pch.c @@ -585,8 +585,10 @@ static void pch_spi_set_tx(struct pch_spi_data *data, int *bpw) data->pkt_tx_buff = kzalloc(size, GFP_KERNEL); if (data->pkt_tx_buff != NULL) { data->pkt_rx_buff = kzalloc(size, GFP_KERNEL); - if (!data->pkt_rx_buff) + if (!data->pkt_rx_buff) { kfree(data->pkt_tx_buff); + data->pkt_tx_buff = NULL; + } } if (!data->pkt_rx_buff) { -- 2.30.2