Received: by 2002:a6b:500f:0:0:0:0:0 with SMTP id e15csp3582930iob; Tue, 17 May 2022 03:13:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJynXBtvh4txAnCJJzAlcLOqJVfhkmkx+vjya85FOUetK2nR8rzPDmpEmZZs+BuJkQrCABab X-Received: by 2002:a05:6402:1941:b0:413:2555:53e3 with SMTP id f1-20020a056402194100b00413255553e3mr18293801edz.164.1652782385421; Tue, 17 May 2022 03:13:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1652782385; cv=none; d=google.com; s=arc-20160816; b=JVusJmmYE2VbJ8SEfTSY+cZlCdH0ZDJYQjUOjtpFZ4GqkmtSf4GWWUvAp282xll1nW q3L6PVhl8EWDDAkr8fHvowYHaBI7vzVRLKMPz/c7ltb+/ZllczLhdYzcPdMNxkpmrM4o zWMLT4feb44dHLWTdLG6S7VVXDXJjD0Vdti8tEiH8fQVbpoZcgwTMHqj39lBFLjr9tRQ g+4cDR8uVmuzHm2n8O4Bwou5VrWqlyEGU+UgBVxStxH+Cyhd+jTXT4TGp9m4LlnGh9Bs +kago/ZUtmtK5TajUzgVR+ERrqWbl6aEwrDm1U+r57pdKYumStte50aCpk28idvuEmb4 loag== 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=KiAIgkj23DZoHPPq+Fd/erM2e9l5Ngko5dP7MqOU7F8=; b=sQ991hXlQO44zb37Z6BMv8DHAF+Gv9OAowvQtPC+JRPts5QsJMpiNoY0g4rxANOwQC xghR84aBvaehZP6SqHZisMaUk3teplcsgE/OmgY8kZTn9T4Chn2a6RbLkBUMGxqXBCxd ZZT8ksYrr9odBqs5z4xOimy1cIJk8zm99ItaE0oCcZlrpaVOulw3LkOemaGrptKTJU8N Ee3wKIS/Haf4iKwjRi66hdn+q4Fzeb3BBbrd7HhQivM5ablySl8ASa0+Ygq9wIkhKVoH jytG9OX6btlF9x054Kz8VfKhfTGphHnuhqS51skpAAImisPs7+a2SLeZzGxMjoxjpwx7 foew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=NqpYXqXd; 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 he34-20020a1709073da200b006fdeef08e53si3310721ejc.380.2022.05.17.03.12.39; Tue, 17 May 2022 03:13:05 -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=NqpYXqXd; 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 S1345545AbiEPTjj (ORCPT + 99 others); Mon, 16 May 2022 15:39:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45756 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345537AbiEPTj0 (ORCPT ); Mon, 16 May 2022 15:39:26 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2D2D53EF09; Mon, 16 May 2022 12:38:55 -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 A629761518; Mon, 16 May 2022 19:38:54 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9A673C385AA; Mon, 16 May 2022 19:38:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1652729934; bh=ISZcK/ZX9IJ8RTUAaEuQ43PU7CydBS6RpFZ6oCpcNbc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NqpYXqXdgOX5jvhl9An1rnPjttFOp2ZB5Ym7qchjbxfVzKEhsNfFJTy8vwxkABLRh D4NY7umqWX1qG6GUBqxgmTda+UVDKAqkxXvluVMkGujiEd7IvmIne9vcjNTOkINi7c oCrjW5iTDVuO+Ta/o17tQoGN24gCiLwIFEapAMV8= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Mark Brown , Sasha Levin Subject: [PATCH 4.9 10/19] ASoC: max98090: Reject invalid values in custom control put() Date: Mon, 16 May 2022 21:36:23 +0200 Message-Id: <20220516193613.806343797@linuxfoundation.org> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220516193613.497233635@linuxfoundation.org> References: <20220516193613.497233635@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 e7aef841f87d..4aefb13900c2 100644 --- a/sound/soc/codecs/max98090.c +++ b/sound/soc/codecs/max98090.c @@ -419,6 +419,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