Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp871264ybl; Wed, 11 Dec 2019 08:46:40 -0800 (PST) X-Google-Smtp-Source: APXvYqys81aUwPBG6hvmUte63c/YT1WhrRzd9NTMvOeDx9Hc/25YSVlgt59yNmlk9Q+tFDlGXT1U X-Received: by 2002:aca:4183:: with SMTP id o125mr3350225oia.125.1576082800402; Wed, 11 Dec 2019 08:46:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1576082800; cv=none; d=google.com; s=arc-20160816; b=eam+O5gltDr1Oby0TFOPzsO9X9G0RvoDv4GG3ElegaTBykCg/dFiuHrlpVZ5VRa9kv EgFLMZrQMj/Jod17FmWNRLVa9aCjMZibRgRsANifsAkAmstl85Zubg+rG9AowYqxOJxM tuEd726HmGedUmtwuCMwb4faDPUpH+gbyDYyb3AnEcfwYuD8b5zWZwFezNmYLjfUuho9 I96Kg8sibiu/zGIM+2wv6ybC/TFCuAG+UdBSfDQeyYePwdaz3KE5AIxX48WAf4OnWJop V8PJlfvGu/CXDRQZu5PR/n5ohSv91KbsKEwxXWjrvnP/lsWrr2lzJV0B3+/E8xr3ICdy yjhg== 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=2LzcIcvyOZ6+2Y+iDLmy5Dw5xB6Ga8Iz0rNRsrOG3s4=; b=PmJ/1mLpg88P3dLkSy1CghGjscHtnxD0EO2Cm6kDL7M21IQonobEFw94xL8i3rCLo3 Zg04+i8hoti8w+lprdnhn2A8XImDBxdCbElFTTLlvg0j2uEO9Uz8W6oKlU/qxoFcr4EY fVZynBLd6ms8oZYeCCSegzT827xylLuvW3+XEAjRzOa+Z9EslxmQdrjU25AAY9FPQgiC 3cay+eicszSDY6er1AOvMLZh3kDaMYasV7gJTIRF9WiPwUXz76M5gzFiQdFd+noocvq2 JMpNPOu8jH/PZoHlIwnNaDqtIFt7SSNv91STv5UmP38lrzUzp59+FUO10f/5WgYJGRn+ M+nQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=N+RKRJi3; 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 l5si1436141otr.255.2019.12.11.08.46.18; Wed, 11 Dec 2019 08:46:40 -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=N+RKRJi3; 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 S2387987AbfLKPry (ORCPT + 99 others); Wed, 11 Dec 2019 10:47:54 -0500 Received: from mail.kernel.org ([198.145.29.99]:58822 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732428AbfLKP0A (ORCPT ); Wed, 11 Dec 2019 10:26:00 -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 C265E2465B; Wed, 11 Dec 2019 15:25:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1576077960; bh=r6rTuum/u6whwrwq7YkGjJVDqAyHaKrjT/cT/T7Bjbw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=N+RKRJi3e3xTTyZl7TQYGRhvChX0GBHPLWFQOLee506lg/mSmoLugxE8/M2RLYbNV 9s65eb5iBQsVk8vPHKCErucP6GGHkNOKMjj3e77KgZtA/bcnw1mqWfa4amJw9DxWyF MAnxtZ2qm7NJyQVeqNNm+qxKW0JQjlDmkDW47x44= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Christian Lamparter , Herbert Xu Subject: [PATCH 4.19 229/243] crypto: crypto4xx - fix double-free in crypto4xx_destroy_sdr Date: Wed, 11 Dec 2019 16:06:31 +0100 Message-Id: <20191211150354.793310029@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20191211150339.185439726@linuxfoundation.org> References: <20191211150339.185439726@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: Christian Lamparter commit 746c908c4d72e49068ab216c3926d2720d71a90d upstream. This patch fixes a crash that can happen during probe when the available dma memory is not enough (this can happen if the crypto4xx is built as a module). The descriptor window mapping would end up being free'd twice, once in crypto4xx_build_pdr() and the second time in crypto4xx_destroy_sdr(). Fixes: 5d59ad6eea82 ("crypto: crypto4xx - fix crypto4xx_build_pdr, crypto4xx_build_sdr leak") Cc: Signed-off-by: Christian Lamparter Signed-off-by: Herbert Xu Signed-off-by: Greg Kroah-Hartman --- drivers/crypto/amcc/crypto4xx_core.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) --- a/drivers/crypto/amcc/crypto4xx_core.c +++ b/drivers/crypto/amcc/crypto4xx_core.c @@ -373,12 +373,8 @@ static u32 crypto4xx_build_sdr(struct cr dma_alloc_coherent(dev->core_dev->device, PPC4XX_SD_BUFFER_SIZE * PPC4XX_NUM_SD, &dev->scatter_buffer_pa, GFP_ATOMIC); - if (!dev->scatter_buffer_va) { - dma_free_coherent(dev->core_dev->device, - sizeof(struct ce_sd) * PPC4XX_NUM_SD, - dev->sdr, dev->sdr_pa); + if (!dev->scatter_buffer_va) return -ENOMEM; - } for (i = 0; i < PPC4XX_NUM_SD; i++) { dev->sdr[i].ptr = dev->scatter_buffer_pa +