Received: by 2002:a05:6358:1087:b0:cb:c9d3:cd90 with SMTP id j7csp7395834rwi; Mon, 24 Oct 2022 14:06:43 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6kk+0YVvStGO36jMcSaUohRZW5dtTluGCKkcIkApVUKv6kx/qtxPf4jKHxJeDw4ws6woFb X-Received: by 2002:a17:906:db0a:b0:781:f24:a782 with SMTP id xj10-20020a170906db0a00b007810f24a782mr28943152ejb.399.1666645603399; Mon, 24 Oct 2022 14:06:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666645603; cv=none; d=google.com; s=arc-20160816; b=CsrtD1MneVP4VbGQkD+2BucuVVgp4FrdcLrku6j9HHtRhISVly5nv9YLorQobqDuLJ W+gAeVbmnLxbOLMqy7mn5CLon3kg8SBcI4xIv+5zj8cin78nvprsUAC7rHbHrEypfDgC gaNgIb+JO8Tpo3l1TclXA3wbhyVCExKEEv1UYD0DsaHthJ31umNNVINo2xeLvtbOYTjW 0a1AJnSLKiHdbLRmDC6sD3en4HH/d0OF9OUSgSkopFzJvsMeZn6cVN101D6rf/+chUPD 8gbEFnHFC3nmxeP3YzyKo7nwcvjU2VByUn8pJ6K9lqjBeET7eiXgGHNZPPB9XINBtuT8 O/+w== 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=8iyr7jSz8slE9qQwkctPPsNkTJJTtTgOeNujlGLQ10I=; b=rvRqmjnchCV1xp+g5wK3g0Tk6pSXMvxaTpZiyKyMryZXpotbsdX+lUyFuQbz6FcZoH njYvXiBPGvfnOCJb+oIuWZ+gHoUZ79t6HSGfcnPb6nB/OUa7qMD0gM4xP0ja72E0qdEt ELLfOkIix15MufaCcmB1K9CVRlh1LunB6SCZZxomhn3QlekFJiRoENMQfi9CquYKxcVN fn7oRJwIgk+5mZCsnC1ps1TMlDaIQ+vlJwiz3euyme6BcS84CtzY3NSIBIIGYHeZY0m9 nYIlgcMNCT+GJbm21TEVm+mfyCN5/yZ8AeeefD15AVvduYY2I5bL7eVWqOIIGwjkNbzR wVmw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=MgfN6R8p; 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 bn3-20020a170906c0c300b0078306c5c48asi705788ejb.250.2022.10.24.14.06.18; Mon, 24 Oct 2022 14:06:43 -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=MgfN6R8p; 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 S234025AbiJXUOz (ORCPT + 99 others); Mon, 24 Oct 2022 16:14:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37726 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234021AbiJXUNx (ORCPT ); Mon, 24 Oct 2022 16:13:53 -0400 Received: from sin.source.kernel.org (sin.source.kernel.org [IPv6:2604:1380:40e1:4800::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7CFBE550AB; Mon, 24 Oct 2022 11:32:01 -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 sin.source.kernel.org (Postfix) with ESMTPS id A1DC0CE16D8; Mon, 24 Oct 2022 12:54:39 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id BDECCC433B5; Mon, 24 Oct 2022 12:54:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1666616078; bh=wLeGD5lVu1lsgq/jvNvxiLz5HP1zA+sY5Dwb1dXSLoo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MgfN6R8pOuxWWDoLePqYXWVS0UM8FZfChbcsad7/d+q+83KnRFVTi55e+FYTgTbvg Wt4wf44hikqrcq9e1dq0+NHqTKiRgK1rObLry1kvNcyydPBCAE9Tj9VQM6FUeF3p1B Tb42H9y2HuRdl/mMiFXRpnU4WuxybTEeEY4Av4lw= 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.15 491/530] soundwire: cadence: Dont overwrite msg->buf during write commands Date: Mon, 24 Oct 2022 13:33:55 +0200 Message-Id: <20221024113107.280535494@linuxfoundation.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221024113044.976326639@linuxfoundation.org> References: <20221024113044.976326639@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.6 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 4fcc3ba93004..18d2f9b3e201 100644 --- a/drivers/soundwire/cadence_master.c +++ b/drivers/soundwire/cadence_master.c @@ -545,9 +545,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