Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp348461pxu; Thu, 7 Jan 2021 06:39:55 -0800 (PST) X-Google-Smtp-Source: ABdhPJw1I6d35t8mnx2mX9ti1GHZiGcA+hGALXzYhOW1xzSBg9JM1tR5XSwMoryN/FaZ6w4oWnBO X-Received: by 2002:a05:6402:ca2:: with SMTP id cn2mr1906501edb.137.1610030395142; Thu, 07 Jan 2021 06:39:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1610030395; cv=none; d=google.com; s=arc-20160816; b=pAatBLjQ30OAZbwBc+RpuOddl1djv69WKTHJdmGjL6n9SewS4xLwi4yyjTU+oJlML7 gYr1/ikcnHbwDXe+nV0TPVne+7LrtMPeK6VOj/3Q96slSsqDo1cNFDfvAKhfzJLFKQV3 Q7o3XJNsrYZ67gnuSWVI/A9QRst19OzdtNSy64p0c+2Kv8RLFmfJ9Le3miZ7dfnMC81L Y/Egj8gjsohaoHX2BgX/Z9xhrFj9Pa6EhdDHg8aNoIsb4uoGSR+npEIo2YNQDU/SVllH A16c/JO7ut4QwdNLZQh6PQPGCYuUkTf1D9MDMWwYyFt10kU/fowH7LpbaleDL+ZLbDzv XbrA== 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=CzNha55zKqQCBGJPEFiyknXdPXk+Ne0dv3J4/FuU1So=; b=IleAAx7gWdSdMHmYxTY+KFnmuY8Qdi8AnJmiTV/OwxQr62utqbxwggpg5GFe2S5ep8 ABpao8MNUE4H0BGcfYgOWZ8zAu+jxaIK84+kPzH6v8pHen9Q0XrLJpkzMJpDRhaQFnDs wWvchm3KYqA0WjARAnWnEj8tpIcmOlmvDff2j5iW9NiUgo/ZWfb6ehDAEYvZ1/iOdRTZ KlxwejLt0cVe1JVvtaKgdWrBIXEgLSo84jGcc+OJpT8PXhlKBP2h1H1vFfqg6Oqmem9+ ohRcErFPD6T+kQGbPQwy+dnVXtb+MduTgwwpiJWX4Y9Bn6isEkYKRWrz3pV+lDb0cScK MTmw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=iu4IHMDc; 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 e7si2413607edq.202.2021.01.07.06.39.31; Thu, 07 Jan 2021 06:39:55 -0800 (PST) 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=iu4IHMDc; 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 S1729171AbhAGOcF (ORCPT + 99 others); Thu, 7 Jan 2021 09:32:05 -0500 Received: from mail.kernel.org ([198.145.29.99]:45832 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729144AbhAGOcC (ORCPT ); Thu, 7 Jan 2021 09:32:02 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 9217E23340; Thu, 7 Jan 2021 14:31:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1610029884; bh=0kSchLY9ai+cWrRhAzU1RAPj7dkBox3EXYv3kQH2Ohc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iu4IHMDcxkQX7YhtCIu4I/gAlkWNn/4MsZBLeNApynIlFqFyHNWnMJhNVXeekOteb ivQ5UmJiBZymfsN1XmJo3ljae2PS4NDXxfcvxPAOjWToQjLxYbWd7OBa3+eGW1hHc4 FgFDVe88i0Veyd50DomARSQWN07oVQf9VWjWb+E4= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Johan Hovold , Takashi Iwai , Sudip Mukherjee Subject: [PATCH 4.14 05/29] ALSA: usb-audio: fix sync-ep altsetting sanity check Date: Thu, 7 Jan 2021 15:31:20 +0100 Message-Id: <20210107143053.679074086@linuxfoundation.org> X-Mailer: git-send-email 2.30.0 In-Reply-To: <20210107143052.973437064@linuxfoundation.org> References: <20210107143052.973437064@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: Johan Hovold commit 5d1b71226dc4d44b4b65766fa9d74492f9d4587b upstream The altsetting sanity check in set_sync_ep_implicit_fb_quirk() was checking for there to be at least one altsetting but then went on to access the second one, which may not exist. This could lead to random slab data being used to initialise the sync endpoint in snd_usb_add_endpoint(). Fixes: c75a8a7ae565 ("ALSA: snd-usb: add support for implicit feedback") Fixes: ca10a7ebdff1 ("ALSA: usb-audio: FT C400 sync playback EP to capture EP") Fixes: 5e35dc0338d8 ("ALSA: usb-audio: add implicit fb quirk for Behringer UFX1204") Fixes: 17f08b0d9aaf ("ALSA: usb-audio: add implicit fb quirk for Axe-Fx II") Fixes: 103e9625647a ("ALSA: usb-audio: simplify set_sync_ep_implicit_fb_quirk") Cc: stable # 3.5 Signed-off-by: Johan Hovold Link: https://lore.kernel.org/r/20200114083953.1106-1-johan@kernel.org Signed-off-by: Takashi Iwai Signed-off-by: Sudip Mukherjee Signed-off-by: Greg Kroah-Hartman --- sound/usb/pcm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/sound/usb/pcm.c +++ b/sound/usb/pcm.c @@ -369,7 +369,7 @@ static int set_sync_ep_implicit_fb_quirk add_sync_ep_from_ifnum: iface = usb_ifnum_to_if(dev, ifnum); - if (!iface || iface->num_altsetting == 0) + if (!iface || iface->num_altsetting < 2) return -EINVAL; alts = &iface->altsetting[1];