Received: by 2002:a05:6358:1087:b0:cb:c9d3:cd90 with SMTP id j7csp3926853rwi; Sat, 22 Oct 2022 02:21:11 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5EP0KEo+cLlhnmOWrpIsim7E0tZV1eGrdtLiynP6uqEPUDnWvcbA9RNoIXBFX0rYZdhYBp X-Received: by 2002:a62:1482:0:b0:55f:eb9a:38b2 with SMTP id 124-20020a621482000000b0055feb9a38b2mr23116008pfu.29.1666430470776; Sat, 22 Oct 2022 02:21:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666430470; cv=none; d=google.com; s=arc-20160816; b=QZy48rRf0+CDdd44wGh2gPOZzRH/WjZeYbL7es4o0I9vfXZJPZAK22ZdF1FhOu7wmu 0ldI0/a//nMpflYfUS0ffTbyOgUFlIUAIi0SPhNjbpE9gGFpv3svD/BbyQLKmc24JSds ZQ+TKUn2FLh/YDA3dlQiGZA6nLULgs9ApDSQMR5L01o2iDUfP2/QSCACcGAkFxmhdMye fWVvB6Nl0OYvOaSYmu0AN2DmvwDLudBjWuWxjpLjO4rvUPSxoFiWXSgQcUiN5N0uKwxT KtVGPN+bixPfQ9z8aCwICxQdBwYGARalL5ea9SnPkT7LnfcBBM9oo6AIUf53M1yN3/ac sJhQ== 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=SdgYdefcGCbU65olKFZB7iZPHeAGecHJXR2fG4geXHM=; b=vHIZzybsgNGHDXkPulgX+ckI7RE8XC0HpSuyPqUPG7jAsKq+ZzU0NaqfmRF93/FQNZ 4Nzdct0jwTljf5rdjpzywXH9Mxp5VbRKXMJfYx2v9jjTVCJZPHqHcFtm6M5MX9Zq0Q34 HcQTgvyATtsGQF+LuBAZ8YHG732GtTYInLieUMCMdxKILxJuMVgocluAIl+RUHCfTxoE QyUc0Rgebr5hlHFeYqwbDO2ycABmOaPb3HI6TuKE1i02MVN6DtRTSZg+lSBQa9vHu/ly VJ3itYfav3V1LMrDS4OK5UcP99eyMWRjQVj4cnTM1tHjTCG4RXWj1htQd0QAgOCo4mRy +C7g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=0LvcuYE9; 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 j3-20020a625503000000b00542c772d478si26628149pfb.247.2022.10.22.02.20.58; Sat, 22 Oct 2022 02:21:10 -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=0LvcuYE9; 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 S234138AbiJVIrn (ORCPT + 99 others); Sat, 22 Oct 2022 04:47:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52128 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234859AbiJVInt (ORCPT ); Sat, 22 Oct 2022 04:43:49 -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 CDAA42EA28A; Sat, 22 Oct 2022 01:07:24 -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 67F0BB82E42; Sat, 22 Oct 2022 08:05:47 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D98AFC433C1; Sat, 22 Oct 2022 08:05:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1666425946; bh=VZBw5DsUX6oh/4FnMOXMdw0076F1lklCffGNz1UYs/M=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=0LvcuYE9o+/SC8IFH0eWsm4sq+3oy1vspom2ZeYrRuFPw/CQhGglClGHI+2pZRBM7 ZwJaPWmG7CU4BzK38zxHKbAQOIazrHV+zn3iUPRBzNQVPokXvnF7fGwSykvCgKm7WL 6Y7Er7yzYIIU533ytROSZwgJw8Wlv9wAVFE8C/lc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Richard Fitzgerald , Pierre-Louis Bossart , Vinod Koul , Sasha Levin Subject: [PATCH 5.19 668/717] soundwire: cadence: Dont overwrite msg->buf during write commands Date: Sat, 22 Oct 2022 09:29:07 +0200 Message-Id: <20221022072527.960194151@linuxfoundation.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221022072415.034382448@linuxfoundation.org> References: <20221022072415.034382448@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-7.3 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 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: Richard Fitzgerald [ Upstream commit ba05b39d265bdd16913f7684600d9d41e2796745 ] The buf passed in struct sdw_msg must only be written for a READ, in that case the RDATA part of the response is the data value of the register. For a write command there is no RDATA, and buf should be assumed to be const and unmodifable. The original caller should not expect its data buffer to be corrupted by an sdw_nwrite(). Signed-off-by: Richard Fitzgerald Reviewed-by: Pierre-Louis Bossart Link: https://lore.kernel.org/r/20220916103505.1562210-1-rf@opensource.cirrus.com Signed-off-by: Vinod Koul Signed-off-by: Sasha Levin --- drivers/soundwire/cadence_master.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/soundwire/cadence_master.c b/drivers/soundwire/cadence_master.c index 4fbb19557f5e..42c5fae80efb 100644 --- a/drivers/soundwire/cadence_master.c +++ b/drivers/soundwire/cadence_master.c @@ -544,9 +544,12 @@ cdns_fill_msg_resp(struct sdw_cdns *cdns, return SDW_CMD_IGNORED; } - /* fill response */ - for (i = 0; i < count; i++) - msg->buf[i + offset] = FIELD_GET(CDNS_MCP_RESP_RDATA, cdns->response_buf[i]); + if (msg->flags == SDW_MSG_FLAG_READ) { + /* fill response */ + for (i = 0; i < count; i++) + msg->buf[i + offset] = FIELD_GET(CDNS_MCP_RESP_RDATA, + cdns->response_buf[i]); + } return SDW_CMD_OK; } -- 2.35.1