Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp13333151ybl; Sun, 29 Dec 2019 09:30:40 -0800 (PST) X-Google-Smtp-Source: APXvYqyrGGjGYVeP97F1PBenzCdhiFfMTniypeoj8yyfDmCMt0WMo2WWMY21upqTqEwxi24Kwn5V X-Received: by 2002:a9d:7e8c:: with SMTP id m12mr71578284otp.346.1577640640559; Sun, 29 Dec 2019 09:30:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1577640640; cv=none; d=google.com; s=arc-20160816; b=NUfqG98XW0fMhrNN4lSWWQQ9ZVg6ydJgThuaRmEbORJ7eItoOEZGK6bIyR2cwLUQRy xwUvGN8gZw6K4G7rnMMjmaR+ajbvnp4WehaCM4grs+8koKHtpXHFyn6NkbpZLqNegSs7 dobZK69GWZDc+gYeBtw/Tc9Bp0f/lXjjz2Pue+HgjYs/fVcPoWMazcc6LsbBtn4Ezkuu iFK/KDg/86TAbmgukGg1b7U0myoz+knGT2UR7avK7oUuRF0ndN+mjxh3EaVDSE2FhZXm RbgabKp7uiWY9RREPppNH1LU7WNtGDmVaXvI1c3Nznwj2WDG8/RyhX67OpycEmJWiY7g S6HQ== 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=BWevPwHngXWyFOlApvub4XL/+hlP4uxhmIcl7OUzQNM=; b=Haq8c/qswpadhyKCC4kCfuaytthDYoRFvUHdwbYAWyQ+KCA5CzdIOblDeG/A9n5azS skpR5J6ukQHdX/m9Gi2IHHA9mLDwuUpez80E+2lsTppCnZ21wWCO50a8CdlKB3yuBH0z bsuG58ji9vsYe1TU613nMpQaWzZYBvcAAAkVyvr/kVAYN7nDywZ3gatLAWnEhSiTrqSs RB/rFGWoYV1VD05YgqJHATnxmyX31Iz7Q7jIxHxo45andhMix+yU865vML8Kxyp1zL+a +UdjNhcdk3Lz35/r8ZAm7hZ4EIPV8IqEw9vxBNO0NxZ586QRACkLHvQygBbD1orNKyyG krjw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=MREgH+Qy; 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 a64si20336237oif.256.2019.12.29.09.30.28; Sun, 29 Dec 2019 09:30: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=MREgH+Qy; 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 S1728600AbfL2R2a (ORCPT + 99 others); Sun, 29 Dec 2019 12:28:30 -0500 Received: from mail.kernel.org ([198.145.29.99]:51848 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728585AbfL2R20 (ORCPT ); Sun, 29 Dec 2019 12:28:26 -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 DD3B020409; Sun, 29 Dec 2019 17:28:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1577640505; bh=neOlvLW/4c6bylgVZVuYDZ4IB8wQc7oI5lVC+tAgjTA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MREgH+QyfiBE64+uLjBE7WC9v4yvrNpGTW4cGBDn0paKyonNxetjnlVy0Wf9lJSBZ CwRQ4nWekFpbUpYLwS/Z+wCQNJDqgAIP81NhFoX6PwT/j5X5JZ4xG7lxeWTpf0nzyR xas+eN214aer1waJg3/iSZr7YgtD4FGLwlMkZtb4= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Lionel Koenig , Takashi Iwai Subject: [PATCH 4.19 023/219] ALSA: pcm: Avoid possible info leaks from PCM stream buffers Date: Sun, 29 Dec 2019 18:17:05 +0100 Message-Id: <20191229162512.445230690@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20191229162508.458551679@linuxfoundation.org> References: <20191229162508.458551679@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: Takashi Iwai commit add9d56d7b3781532208afbff5509d7382fb6efe upstream. The current PCM code doesn't initialize explicitly the buffers allocated for PCM streams, hence it might leak some uninitialized kernel data or previous stream contents by mmapping or reading the buffer before actually starting the stream. Since this is a common problem, this patch simply adds the clearance of the buffer data at hw_params callback. Although this does only zero-clear no matter which format is used, which doesn't mean the silence for some formats, but it should be OK because the intention is just to clear the previous data on the buffer. Reported-by: Lionel Koenig Cc: Link: https://lore.kernel.org/r/20191211155742.3213-1-tiwai@suse.de Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman --- sound/core/pcm_native.c | 4 ++++ 1 file changed, 4 insertions(+) --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c @@ -752,6 +752,10 @@ static int snd_pcm_hw_params(struct snd_ while (runtime->boundary * 2 <= LONG_MAX - runtime->buffer_size) runtime->boundary *= 2; + /* clear the buffer for avoiding possible kernel info leaks */ + if (runtime->dma_area && !substream->ops->copy_user) + memset(runtime->dma_area, 0, runtime->dma_bytes); + snd_pcm_timer_resolution_change(substream); snd_pcm_set_state(substream, SNDRV_PCM_STATE_SETUP);