Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp3697566pxv; Mon, 26 Jul 2021 09:38:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJx1IvL8lwARHPeoTLbs6V8vJGfJrsKMR8v9F0HiuSpI4J4iaoJI+70Pj+BBiL1gLCnK2MPA X-Received: by 2002:a17:906:d961:: with SMTP id rp1mr18322279ejb.68.1627317507419; Mon, 26 Jul 2021 09:38:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1627317507; cv=none; d=google.com; s=arc-20160816; b=vKZGAA8PsYAkprxnFygnwYVmSAQLxbx0uQDNS7S9qwc0P2c9LxE2pzqi8IXy6dr/iw Bte8/82F34piLTmPLu5fqKvhS5YeS1TlU48e+oK2pfx1DCdngOVVzOp0JWi6Csp5DibX pugr+mZUIIKVCbNrEZM+2MipdCrANyRTX1PD1m7BXcpmqQhOyz8h+aVE8zrKq2X8ajFs 81W7M1DNYJ1D6Ni9gdSzSX4OPONSIG3+O2aOmL+zK/efM/h7ddD9h+8YW7iHjsDdHnkZ fREou4MsUVMiZypB4A31X/ekxn74NAI893o3sAQPc9lHS5gD7f+jBkgjrHqtJCdH1ZG1 Bzeg== 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=NmOSiMwfjSO4pHNkgvCthBOwYhFVpR12xmrPCy3FQOU=; b=LB3LrSnjsp9NSKTI+1nivjmI85+6S5aaFkeTjy+ifRWh4BiBRnTYA58Hlj75o2MwKG iup2wPpnpPBtz+fm9P55/tTiU6L6Sbw6hxePqpO/iYq9+6+73/oFhicghQCnVa6fNDXp 8NKSimi/r8I1eQqQ5t0yeXKj3RIPoSp9gB2g32ac/xQJwrlD1nmEGCxHtRn3NmSxt4oZ 5Qiq2pCzqitcjihLGM1as2y6aG84rtKCwVFuakpT87vPwvXddQuWbppWsR0HupA0FYx7 JaUdkJXj/SRT83Vo+E9xDFEbre4RTG+79B8tJ7m7K1PKGMqn/CwLUClqN9YXmgr03yVr z8eQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=Cna3C5Nn; 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 s25si427444edy.21.2021.07.26.09.38.05; Mon, 26 Jul 2021 09:38:27 -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=Cna3C5Nn; 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 S239744AbhGZPyV (ORCPT + 99 others); Mon, 26 Jul 2021 11:54:21 -0400 Received: from mail.kernel.org ([198.145.29.99]:49816 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233817AbhGZPdE (ORCPT ); Mon, 26 Jul 2021 11:33:04 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 75E9C60C41; Mon, 26 Jul 2021 16:13:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1627316012; bh=PotnVkL00huzlpfb7Bttwp0Mm9WjWG5f4iNsJZpXGoM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Cna3C5NnOoRC2UtpxEUFXZ0PzXiQMLhnH7piJPt71MlDSHq0GqY7iEQy3dkTHJsnL O6NdoA3SS++orewMwW91o6fnLxgb8CarbGUlAdifyWVAoKX727hNM9g4j+JPu/wopp jrvcVoWsqPkRuH4xADvsDKefOorc7dWyDh6ZLK2k= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Takashi Iwai Subject: [PATCH 5.13 154/223] ALSA: pcm: Fix mmap capability check Date: Mon, 26 Jul 2021 17:39:06 +0200 Message-Id: <20210726153851.261625287@linuxfoundation.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20210726153846.245305071@linuxfoundation.org> References: <20210726153846.245305071@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: Takashi Iwai commit c4824ae7db418aee6f50f308a20b832e58e997fd upstream. The hw_support_mmap() doesn't cover all memory allocation types and might use a wrong device pointer for checking the capability. Check the all memory allocation types more completely. Cc: Link: https://lore.kernel.org/r/20210720092640.12338-1-tiwai@suse.de Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman --- sound/core/pcm_native.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c @@ -246,12 +246,18 @@ static bool hw_support_mmap(struct snd_p if (!(substream->runtime->hw.info & SNDRV_PCM_INFO_MMAP)) return false; - if (substream->ops->mmap || - (substream->dma_buffer.dev.type != SNDRV_DMA_TYPE_DEV && - substream->dma_buffer.dev.type != SNDRV_DMA_TYPE_DEV_UC)) + if (substream->ops->mmap) return true; - return dma_can_mmap(substream->dma_buffer.dev.dev); + switch (substream->dma_buffer.dev.type) { + case SNDRV_DMA_TYPE_UNKNOWN: + return false; + case SNDRV_DMA_TYPE_CONTINUOUS: + case SNDRV_DMA_TYPE_VMALLOC: + return true; + default: + return dma_can_mmap(substream->dma_buffer.dev.dev); + } } static int constrain_mask_params(struct snd_pcm_substream *substream,