Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp6258311iob; Tue, 10 May 2022 14:10:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzCUHYBJv9dQ2T31RbsaE32eDFWwwuCTtCnW/z86ZJOc8E0T6sLkRPRCTyLxG/Ij5Vqqu96 X-Received: by 2002:a17:906:4fd1:b0:6f3:be23:7ad5 with SMTP id i17-20020a1709064fd100b006f3be237ad5mr7818823ejw.264.1652217045215; Tue, 10 May 2022 14:10:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652217045; cv=none; d=google.com; s=arc-20160816; b=YWxkWsNYOCuqPJqnSaWdmJzwlI7Xhr52Er2Fp6qjFcO3Gt3wLk+G1zPBrTN6Arh43R 28hAZmfJbyOaPDOYCWkx1OpgRIo83FViN2T/IN6kNblsaMttxm5qp0hupzntgZkZZ6PP W5ngjXrKOhoOpO2Gga6PRaIKS0uHQs4wEe2T/QcXoQgf0uDG12veOG183P3l//Rqxyfl /HRZlA2GSYoXE7pIUf3uRqhKtRBU0mY248kMMTvJOyg5OH9HDHR/Vvo81K/smtwDKFKh TQ6yRZC6d75wGYRzx6bv4OxAXj+rmFyD/th0XtkTNnbTpiAc+GFRycDQYp12TgDuAVAp TWAA== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=lrawf1RDAhwY2PJl9P2Cp9SvF9s5VIXSYBPrkIjv0Vk=; b=Fk1yl8wMloKzAVW8ql9jtrnp2XhVvM12WXUTIxEhFkhb6M8hrBBWqssAMsuY05ZvVG WvV66yaHAjgXbugnrcMdffDN+6lJt6TchSIGdo5S7tD/n4vnMg/SFC6UjaEAtBB9PTl0 wZQ9bJqAARx+ECUE+qsXptl3N9xZYSdeKJmmLT0vpfHJ5AUS1PbW7lQXu+ng2VWzXO9P 5yY5IIAUGMycpL04xs5F1uJbBXDsHXPNGl1kWAX+T9Yk0+S1ssJCXx/Jb/e+qA+a344B AtT32hyQlGXuysB4e0OtlA1iAuAmWa++WqpOTRWppDlZzfsm71pf0F0M07JCuARoP1JF WZgg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=fvq6lj3a; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g22-20020a056402321600b00423f1342585si215041eda.455.2022.05.10.14.10.21; Tue, 10 May 2022 14:10:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=fvq6lj3a; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1346200AbiEJPtK (ORCPT + 99 others); Tue, 10 May 2022 11:49:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59524 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1346175AbiEJPr7 (ORCPT ); Tue, 10 May 2022 11:47:59 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0201E27BC5B; Tue, 10 May 2022 08:43:53 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 64A34614C0; Tue, 10 May 2022 15:43:53 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CFFC4C385C2; Tue, 10 May 2022 15:43:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1652197432; bh=z1xGkviBQ2FOGy3TPlU9X8IBjkMBTFmQhrxx6TChBBM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fvq6lj3aITJ/bdqJLFJPeAf0VghjPjujvfcBZcDSMN1wpQpEm8U18zkGiFiOwfD4d bTvdinsimeb0mlhmKMAY+ZRN60zqn2NaQXJVmbyjHDfUO38ggan4WLHBufKXnmffQL NBxFYK87qseHJCAm4QPcSwOkqpYMWemu+mYxACq7ruWd6vswOblNB0tl13gdeUpE+3 eiN/zPsUmSeg13Gb7+VEgTYHntRsSukpC/T4Jh0J7gWhKa3RIZ8euStFHBfNNwNGJE S9GFLcZqlxuJb+AdkznBoiAFf9Yxu+ly6QlD8PEcPN60D99VqsmDzP0XtHMsWPrAeK z8whzuVuMcgzw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Mark Brown , Sasha Levin , lgirdwood@gmail.com, perex@perex.cz, tiwai@suse.com, pierre-louis.bossart@linux.intel.com, alsa-devel@alsa-project.org Subject: [PATCH AUTOSEL 5.17 05/21] ASoC: max98090: Reject invalid values in custom control put() Date: Tue, 10 May 2022 11:43:24 -0400 Message-Id: <20220510154340.153400-5-sashal@kernel.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220510154340.153400-1-sashal@kernel.org> References: <20220510154340.153400-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.7 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Mark Brown [ Upstream commit 2fbe467bcbfc760a08f08475eea6bbd4c2874319 ] The max98090 driver has a custom put function for some controls which can only be updated in certain circumstances which makes no effort to validate that input is suitable for the control, allowing out of spec values to be written to the hardware and presented to userspace. Fix this by returning an error when invalid values are written. Signed-off-by: Mark Brown Link: https://lore.kernel.org/r/20220420193454.2647908-1-broonie@kernel.org Signed-off-by: Mark Brown Signed-off-by: Sasha Levin --- sound/soc/codecs/max98090.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sound/soc/codecs/max98090.c b/sound/soc/codecs/max98090.c index b45ec35cd63c..6d9261346842 100644 --- a/sound/soc/codecs/max98090.c +++ b/sound/soc/codecs/max98090.c @@ -413,6 +413,9 @@ static int max98090_put_enab_tlv(struct snd_kcontrol *kcontrol, val = (val >> mc->shift) & mask; + if (sel < 0 || sel > mc->max) + return -EINVAL; + *select = sel; /* Setting a volume is only valid if it is already On */ -- 2.35.1