Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp3358692iob; Mon, 16 May 2022 20:35:13 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwSM0tiU95o6Sm3CVoG9mjMY++COstB9gCYx06FpD8FC2RA1GBuHSV5z4cqclRue9LgYGO0 X-Received: by 2002:a17:907:6d87:b0:6f8:95d2:6814 with SMTP id sb7-20020a1709076d8700b006f895d26814mr18057289ejc.232.1652758512882; Mon, 16 May 2022 20:35:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652758512; cv=none; d=google.com; s=arc-20160816; b=cDdUv0p5ExlZt/G4Yhnph3Y1gwVIVpNJ6T3rRmmKYAqVTXNRZUlZWbPDM7IeMJlHBI 8uNeFYWhTf4VSBb//wVP8ZqueDDuAJnV9fg8R/haMGEZvXr1KUTSfz25yFBvN8A2/iS3 LP/yD+zdnpF8wrWkyS4h8LAjhQIkModjQdIXtLgm+Wjlp5XHTvFsWVgcjt+lPnldJw8l DofiaEpRCj77ireATEmQ3c8/xUBGXqQDUqSA0KNDDdi3St0mhzJe/W7vguQSAtRMyKpq YRutdagRIJfN2Z4LzPe9Oam12EI6HMJdRxlu4CQ0QkQ2XieeYH5eF9KFfhpAsDhf+IHm WdAg== 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=lrawf1RDAhwY2PJl9P2Cp9SvF9s5VIXSYBPrkIjv0Vk=; b=Mz1BS1JQlVFQ4GgUlLxBlO1NPTYr6EJjMyy7IeqDoqMOCl+HIi526ObwD6XDuJiL/1 R3nIzQug5B0suntxnAzxTOtRmqlU8XkoHsy/Sb3nQvGmAPZKg3N0eKLuul5Mo0RWbWCz qnzVy08bb6gDGruXs41ZZ3rMcDDAl51VboNolfdW5e0bODOZ13XLrrjALObCK3Fc3B8m Bc9+mKEo4LlIyYuU1+FUfkxQ5L9fgTJBWdbrvCMBi8D7n407xn+HetgYHRfjitwf1e72 NC1dXzkriN8ThOBkS8Bvqyo76+mlBRFIi+TjzlcB3Rmv+HYtVtLEr+uK1//T0RGGlSYD Aj2A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=1qu3CSdl; 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=linuxfoundation.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b9-20020a056402278900b004282c814a93si13842224ede.68.2022.05.16.20.34.47; Mon, 16 May 2022 20:35:12 -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=@linuxfoundation.org header.s=korg header.b=1qu3CSdl; 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=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1347190AbiEPUZe (ORCPT + 99 others); Mon, 16 May 2022 16:25:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46674 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1348009AbiEPT6T (ORCPT ); Mon, 16 May 2022 15:58:19 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3F63B434A5; Mon, 16 May 2022 12:50:04 -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 ams.source.kernel.org (Postfix) with ESMTPS id 7D536B81614; Mon, 16 May 2022 19:50:02 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C9DE4C385AA; Mon, 16 May 2022 19:50:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1652730601; bh=z1xGkviBQ2FOGy3TPlU9X8IBjkMBTFmQhrxx6TChBBM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=1qu3CSdlcV0CsXOyeEOFGjezTIo23+ZbHMdvP23dzr23DzZz14GcGmWY7ZGM45VVp 6EtKNiMlOZYDIBNDldi/HLSfwxNIWOSouzRvmuFymkr9XNBWjsq+IlTCPosbvMBQvM uHx1VEXkNgE9Q9JBjEymtlsi5Ubr8hY4v2wixzrI= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Mark Brown , Sasha Levin Subject: [PATCH 5.15 048/102] ASoC: max98090: Reject invalid values in custom control put() Date: Mon, 16 May 2022 21:36:22 +0200 Message-Id: <20220516193625.377871050@linuxfoundation.org> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220516193623.989270214@linuxfoundation.org> References: <20220516193623.989270214@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.4 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