From patchwork Fri Aug 11 11:56:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 134453 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp1046885vqi; Fri, 11 Aug 2023 05:17:48 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE716Dxo0ovb2grHuaUovODh5rZ1Ypw0wolSFo6EMEjcih85I40lCRS1X+HSFMmoHX5oY6S X-Received: by 2002:a17:902:ec06:b0:1b8:5b13:5958 with SMTP id l6-20020a170902ec0600b001b85b135958mr1238615pld.31.1691756268509; Fri, 11 Aug 2023 05:17:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691756268; cv=none; d=google.com; s=arc-20160816; b=v53PiqfMqeHvqLI9dZZm0Y8P9b6hELf6Z8REyMqzW6MJrCp5v7YZGVFaltKyDEQPIo 81c0Q9fWNqXxa8hprOGT1QGprCCuIi/Oji6cxJA+yoYK4cmi0qq86CIVmJlx9q6nCTml cB1GIpUAypilP7mr1aKjvPfLt7iZ+ADm0y3rwpXu2PRwc8NT550cZzuPsN/g/Wts/j2X S0G+1EBxYlOwFFCm00w3mudhjTR2dAjYy9+z8XEQBMfF4x/bWgy0oyRJMW9w3SYtSGn7 hzGR1bBHRaTKGU3uKumSB10LYipZCAmilkK0WCkxc9RGescG+EQaMOPDQ92O3wwU3tyR rPVg== 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=0KbOGymP7OaffTHBxIipa1qriFrse7ok8bc9+6gM8Bo=; fh=CFwWa/wFi2T7MkQkyT3fgxbew9+oGKG8zaK55FnmIWo=; b=xi1/sCHWOSBPxsUstY3wCJ6IpEYAvItO/XmDD3PAK33Ks/E79TiJhvb0fwUWUIlmjj 9Y9ANRXzCV3SbIYq+QmOKqwtaE6fuB6jEEsO7+oYkZ0mDPHNT7JXqL5EAA7S6g3jF8Pp 65jPO6CNSJhtrAK7XDK/qcWiXcX8WdVlK7oMgntZbJe0sa3ko2WptSSn8dj6F1cafe6+ Kat6scinbY2+GF77ptrRcFBS0eM5loTTLeIqk6BjEJV0IFdrGMj9z9u6JmEsj8ORRTW7 FZMc5Wd20JZ1boA2y9FbARLFuVv3LjlonbCMVsIuWBiDNbUa3jHH0O2X1OoA1zdq3thf lcJA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=SUJDwsnT; 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=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x9-20020a170902a38900b001b7fee7d5f0si3221481pla.25.2023.08.11.05.17.34; Fri, 11 Aug 2023 05:17:48 -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=@linaro.org header.s=google header.b=SUJDwsnT; 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=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235048AbjHKL4y (ORCPT + 99 others); Fri, 11 Aug 2023 07:56:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38074 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233772AbjHKL4w (ORCPT ); Fri, 11 Aug 2023 07:56:52 -0400 Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com [IPv6:2a00:1450:4864:20::62a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9C93F110 for ; Fri, 11 Aug 2023 04:56:51 -0700 (PDT) Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-99c4923195dso263889166b.2 for ; Fri, 11 Aug 2023 04:56:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1691755010; x=1692359810; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=0KbOGymP7OaffTHBxIipa1qriFrse7ok8bc9+6gM8Bo=; b=SUJDwsnTW6pbG7vD+g67dznFE3s3+YgkqWsX1abky6jdEPQM0ziAqQujZfLELDSzP/ Ax+pTse635fKzsGn2yquOaJDMXxbZyYmZyU/IvsKQm8u9BKU5bETs64ahDDIdxHVOGyB Jzrl4Z/7AVi8sKOod30vD6VWIUcYpLXF0Up0zvW/eGGY9ln5hkXVrdo+CYZnh0TzqfWJ mDeFdoGBUQGv7Ee70VGDfU8MqEUeTuJnJ3uwlsrCOHLSyFfZvX1oqtScIjxkjp7784hP vALP9lBBPkqG398pnc6QCRenNkUh07W9ax81SovmDhhN85HxgecUgQ6kAXgLqoKMQQKW zfOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691755010; x=1692359810; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=0KbOGymP7OaffTHBxIipa1qriFrse7ok8bc9+6gM8Bo=; b=LoXD+nB9V9nzAU9KvaY2LNrq3gimd5e6u8tQCUC7KrUvXzhll2x38j8NMWIBcJO5oL QLLb6gVEwZ5YpbNtE8D2xAJN6avYFxkKX+FRJlM+j5nDBegtU3rsjEwLRLYI/yEJS59l tKvg/Lau1LoXYm76WG4JFbfZY7a4vD5ytDK9GDdKpNmckoZ4obPEHIasqrjN2P7K0XUw WFP/N4udke66ghIdk39/KLNLwzCzaLr+NI0peXbmuFAtqLkStwTym+SfvfxZfMQSkVjY A6azDDqAxwRyumYtIn4m0oWRC15Q3shfhz+VB509wAwga0jjhwDOQWny8Tl4ofAMDk4u wZ3w== X-Gm-Message-State: AOJu0YxtYgymyzaBJQh1F0DgcyFduCtLzu8uHQk7VppBVJN0774vXGRY +74ikJ8uxUtOHw49zmi58JaRZg== X-Received: by 2002:a17:906:31c6:b0:994:3207:cddd with SMTP id f6-20020a17090631c600b009943207cdddmr1569351ejf.34.1691755010074; Fri, 11 Aug 2023 04:56:50 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id f16-20020a170906561000b00992076f4a01sm2165395ejq.190.2023.08.11.04.56.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Aug 2023 04:56:49 -0700 (PDT) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Ekansh Gupta , stable , Srinivas Kandagatla Subject: [PATCH 1/3] misc: fastrpc: Fix remote heap allocation request Date: Fri, 11 Aug 2023 12:56:41 +0100 Message-Id: <20230811115643.38578-2-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230811115643.38578-1-srinivas.kandagatla@linaro.org> References: <20230811115643.38578-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773935020770617031 X-GMAIL-MSGID: 1773935020770617031 From: Ekansh Gupta Remote heap is used by DSP audioPD on need basis. This memory is allocated from reserved CMA memory region and is then shared with audioPD to use it for it's functionality. Current implementation of remote heap is not allocating the memory from CMA region, instead it is allocating the memory from SMMU context bank. The arguments passed to scm call for the reassignment of ownership is also not correct. Added changes to allocate CMA memory and have a proper ownership reassignment. Fixes: 532ad70c6d44 ("misc: fastrpc: Add mmap request assigning for static PD pool") Cc: stable Tested-by: Ekansh Gupta Signed-off-by: Ekansh Gupta Signed-off-by: Srinivas Kandagatla --- drivers/misc/fastrpc.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index 9666d28037e1..2faabbd12755 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -1866,7 +1866,11 @@ static int fastrpc_req_mmap(struct fastrpc_user *fl, char __user *argp) return -EINVAL; } - err = fastrpc_buf_alloc(fl, fl->sctx->dev, req.size, &buf); + if (req.flags == ADSP_MMAP_REMOTE_HEAP_ADDR) + err = fastrpc_remote_heap_alloc(fl, dev, req.size, &buf); + else + err = fastrpc_buf_alloc(fl, dev, req.size, &buf); + if (err) { dev_err(dev, "failed to allocate buffer\n"); return err; @@ -1905,12 +1909,8 @@ static int fastrpc_req_mmap(struct fastrpc_user *fl, char __user *argp) /* Add memory to static PD pool, protection thru hypervisor */ if (req.flags == ADSP_MMAP_REMOTE_HEAP_ADDR && fl->cctx->vmcount) { - struct qcom_scm_vmperm perm; - - perm.vmid = QCOM_SCM_VMID_HLOS; - perm.perm = QCOM_SCM_PERM_RWX; - err = qcom_scm_assign_mem(buf->phys, buf->size, - &fl->cctx->perms, &perm, 1); + err = qcom_scm_assign_mem(buf->phys, (u64)buf->size, + &fl->cctx->perms, fl->cctx->vmperms, fl->cctx->vmcount); if (err) { dev_err(fl->sctx->dev, "Failed to assign memory phys 0x%llx size 0x%llx err %d", buf->phys, buf->size, err); From patchwork Fri Aug 11 11:56:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 134460 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp1059539vqi; Fri, 11 Aug 2023 05:37:39 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFlwYDXFdvoWSSA19pZMZWglefAALCvbO4qVExQZQp3zOu2J0XIXOLq0U9avJVwMLUHjolI X-Received: by 2002:a05:6a20:4304:b0:13f:d171:fd6d with SMTP id h4-20020a056a20430400b0013fd171fd6dmr2231923pzk.51.1691757459353; Fri, 11 Aug 2023 05:37:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691757459; cv=none; d=google.com; s=arc-20160816; b=i2UOoqzR8mJunJ3uv4l77baX098sYc0jixEdkkrwbvBZrmKG6sjgqeg9uDHbblu3Fs wS7n8OY24eA46l8xEixG1H1JY+phkXdkkPUR5jjdaIDaIYWk6YmaquPxrRFQkcQTuifD bHMURzd1ejvaNvEkdyJUbcnHBSAge3+yAGqF4AlLYt9j+S1VpryqTsCVkdHrI4Tdschv RHlzyWEvli6fcPJx2U3E3GGYuhP+WEYorhAFsOkWJf9Kc45y4wS/xXUvLqysy32T6sbU 2j4iiPpVTQseA66zZwndMBC0ihTnnaWkwrH9k6ZC7/92OeRaQTkAP3rALBf31iUhwFeB MA2Q== 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=COd39iwzA46hvSxeAdraThBadyCY8RFKXPeA//q6518=; fh=CFwWa/wFi2T7MkQkyT3fgxbew9+oGKG8zaK55FnmIWo=; b=xX2SSKi8FEQm0f/D+LcZ37w73IGLvuc45ORbDPMWXvigWw+xE/x2qmrV6XoDkBH+pB Z2ukWFfEZErR3g8dTCXZrFwPmvCPBdbIF+O5h1GMIbW/R46ciJQcda9iVMvLWZLU2ihv 93qLJ0qrWJQ0lH1Pi4Iq2G6uU4mdvYh+sshcqAbjkmDzAAe7FUvmHjKEKHSU8cSBKvvR l5AKKEGdVcbnHjKz1K5sepAVf9UIBVIoRiu129MXZYJZvwy6+Eiq+kf1+KnNhPx04f6Z c8bOKBSVnnBvfVu9/dRladnov4YoozKq0ctgjFzApEYmSKTICKQ+V0L8w4E+gT2N7iQu xfZA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Dme376pT; 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=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f10-20020a63de0a000000b0055ffed90cc9si861519pgg.609.2023.08.11.05.37.25; Fri, 11 Aug 2023 05:37:39 -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=@linaro.org header.s=google header.b=Dme376pT; 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=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235746AbjHKL45 (ORCPT + 99 others); Fri, 11 Aug 2023 07:56:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38102 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230230AbjHKL4y (ORCPT ); Fri, 11 Aug 2023 07:56:54 -0400 Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com [IPv6:2a00:1450:4864:20::631]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BF8EA11F for ; Fri, 11 Aug 2023 04:56:52 -0700 (PDT) Received: by mail-ej1-x631.google.com with SMTP id a640c23a62f3a-99c3d3c3db9so266269566b.3 for ; Fri, 11 Aug 2023 04:56:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1691755011; x=1692359811; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=COd39iwzA46hvSxeAdraThBadyCY8RFKXPeA//q6518=; b=Dme376pTaFqRA03PokDCOjB2CXKH5mu9JaK7GIixlIh3BzevEYZnHA2Z7vt4fNMJ6r I0TxL5Ueae5b490Wvmb3DmhWJVMri5VAUrOm9BBqIM84Z0xEDp/fKeuh8Xr6+uFOxehU /pob1MhAjHN9D7LegYMYF2p7vD5FqYPAnYawxuz9q+JiLk3wOXgQO30mjR4SF2u+OmPz 7mKSIgmx82EknmLrbub46VpKrruQaMqjLFi/3+3KMpkhyI48hTDQlPejcifZfbhaWpB7 AIfVbWDxzjXK2VgDIMwBgbepulbNkI5FhIEXy3oHNpXKyMNg//wgx7jUSAJyZ2TYrVHt lYgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691755011; x=1692359811; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=COd39iwzA46hvSxeAdraThBadyCY8RFKXPeA//q6518=; b=GCqVejGsLW4LuP82B57AsRZ77SkCGTAHJPJhjmj8lvjQhSpijfCqkfftRpILwRn7v+ ZD789/Xv/2gVSvZ60P4cEnKwhcP/BKjEkol7KC4eHq/Un+R0TEBvBFVbrlAf7YPMhWCd a7rPAffJ7tGCy/6X/b9BCRl33CGL/6kDJx9fCSWjFyYPnPCUwlJxny92rW9Oz8tWy+ld XqExGwWcOIRPADwdCD/JiMFkfj9DkPStW3W5Oy1SjNT+5lhLWNpK4NJa565lT1UDqeXx a6doSu9vaSk5NgcUrE8LguE2pvmWMhYVKQ45QImtVl9nZ4rBjIc5ghodA419Ruti2YFV Cdog== X-Gm-Message-State: AOJu0YyZtfnNMd5uWMOd45cn179RQ6VOOdRhDCUi8IUjbOVqFRSCT5AK X4K1jPV7fAal7ZJKlqpkKHhBiA== X-Received: by 2002:a17:906:314c:b0:99b:64d0:f6c8 with SMTP id e12-20020a170906314c00b0099b64d0f6c8mr1348254eje.50.1691755011100; Fri, 11 Aug 2023 04:56:51 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id f16-20020a170906561000b00992076f4a01sm2165395ejq.190.2023.08.11.04.56.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Aug 2023 04:56:50 -0700 (PDT) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Ekansh Gupta , stable , Srinivas Kandagatla Subject: [PATCH 2/3] misc: fastrpc: Fix incorrect DMA mapping unmap request Date: Fri, 11 Aug 2023 12:56:42 +0100 Message-Id: <20230811115643.38578-3-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230811115643.38578-1-srinivas.kandagatla@linaro.org> References: <20230811115643.38578-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773936269485782649 X-GMAIL-MSGID: 1773936269485782649 From: Ekansh Gupta Scatterlist table is obtained during map create request and the same table is used for DMA mapping unmap. In case there is any failure while getting the sg_table, ERR_PTR is returned instead of sg_table. When the map is getting freed, there is only a non-NULL check of sg_table which will also be true in case failure was returned instead of sg_table. This would result in improper unmap request. Add proper check before setting map table to avoid bad unmap request. Fixes: c68cfb718c8f ("misc: fastrpc: Add support for context Invoke method") Cc: stable Signed-off-by: Ekansh Gupta Signed-off-by: Srinivas Kandagatla --- drivers/misc/fastrpc.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index 2faabbd12755..8183c55283fb 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -756,6 +756,7 @@ static int fastrpc_map_create(struct fastrpc_user *fl, int fd, { struct fastrpc_session_ctx *sess = fl->sctx; struct fastrpc_map *map = NULL; + struct sg_table *table; int err = 0; if (!fastrpc_map_lookup(fl, fd, ppmap, true)) @@ -783,11 +784,12 @@ static int fastrpc_map_create(struct fastrpc_user *fl, int fd, goto attach_err; } - map->table = dma_buf_map_attachment_unlocked(map->attach, DMA_BIDIRECTIONAL); - if (IS_ERR(map->table)) { - err = PTR_ERR(map->table); + table = dma_buf_map_attachment_unlocked(map->attach, DMA_BIDIRECTIONAL); + if (IS_ERR(table)) { + err = PTR_ERR(table); goto map_err; } + map->table = table; if (attr & FASTRPC_ATTR_SECUREMAP) { map->phys = sg_phys(map->table->sgl); From patchwork Fri Aug 11 11:56:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 134467 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:b824:0:b0:3f2:4152:657d with SMTP id z4csp1068694vqi; Fri, 11 Aug 2023 05:53:56 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFcBr/oxZ2JvJiDouRim1icBP856M46W7ZFOD5/Lx33GUs4e9kVbsb69kyZ0CCn6dGL4rq7 X-Received: by 2002:a05:6512:2513:b0:4fb:c740:326 with SMTP id be19-20020a056512251300b004fbc7400326mr1373147lfb.55.1691758436284; Fri, 11 Aug 2023 05:53:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691758436; cv=none; d=google.com; s=arc-20160816; b=X53bd0Uey65Rm0LbRHBWa5NbTU2ODzZ4bRKI/pU6p+NMSCw9wSmb+PF7SgIkVzXaPZ OGbi0QetPZPoPqdV0kyuRB5Oz09CPR8Gta7zB9sjPihuCPYAKEDiTEMc0sExvmvPzutZ +8yDitRz4LB3LepbT1BRPMAH70Q/XgpLpQgwnenZRLft4e2Us0oX8h7KTr4ZRvNgpRH+ PeClTcc32+YEci5fhxcE2GVhAhZlRuN58RGE/IN1B01Cjmj20bIMX30awpBxrUIylc8o OysylSx1nJ4ToFpNfxoJmQBvuM0c7KrJL1zCyoUoefoz9UMruuQKLqUEutuT8k3TKlS/ IjTA== 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=CcPdZ2nGxjXBiRr9VgUDUf+2/h+oYQAJVXrn/kAMSKY=; fh=CFwWa/wFi2T7MkQkyT3fgxbew9+oGKG8zaK55FnmIWo=; b=iU7M8R7IfGcqM17HK1a6eObbqwP2oKG6Thqtt986+L0JrwNZYgsQN9Xmp2dszYCvOO mG8I8zQAWVdFj/N/UpvvoE0fiX6ehKyzLL3NZJnCHUrHKw30cfgPEdmdhmImY4kDpgNQ zJiHUcA3jhi4BuHPdP5pgC7h9cragKCnnp2YQU6GkGrk3k+8OJ3ztsd+CFAjb+r7+k6Y l/ffeYCNCekQNvuQvSikH0UjnYEGlxnch0KBq9WHObKHyPbep1NLBi6P6vsjdyeOyKVW sJ67ieCJPOE4ULeuE3sWZUqLI3pdLrNPvCa6uELFSRFtxxzU20aYL8Hs1ujZ+7WWlFkR Pshw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=mtbWXaTn; 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=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s16-20020aa7c550000000b005236b471170si3236908edr.96.2023.08.11.05.53.32; Fri, 11 Aug 2023 05:53:56 -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=@linaro.org header.s=google header.b=mtbWXaTn; 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=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235991AbjHKL47 (ORCPT + 99 others); Fri, 11 Aug 2023 07:56:59 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38110 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234015AbjHKL4y (ORCPT ); Fri, 11 Aug 2023 07:56:54 -0400 Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com [IPv6:2a00:1450:4864:20::631]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E7928120 for ; Fri, 11 Aug 2023 04:56:53 -0700 (PDT) Received: by mail-ej1-x631.google.com with SMTP id a640c23a62f3a-99bdcade7fbso261479666b.1 for ; Fri, 11 Aug 2023 04:56:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1691755012; x=1692359812; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=CcPdZ2nGxjXBiRr9VgUDUf+2/h+oYQAJVXrn/kAMSKY=; b=mtbWXaTnOWz2UBNDIj7Py9lRxlm59CI8VyQAcyOT4mJ7ucw8tUxqjAbyGpvrEmDYRF fhF6IR20W9KSQZRlExFMEwdA7rfoX1o2PEo+ChUSQDsDQxJ/RFfzzI5ZZb3uY0Yqgh3i oLwfYJ6SppX6/IuzbQloo0bez+S7AnQCA5T92IwiRuqFDSpi+/n1ydumBMdS1e5T/Fvy ODJNch1RBOircYPR9/FGzFnCWvQLsRcE7MJNR1xH12IfqQUXKbOGrxTj0E6x2NWUCSEA ON5OmThwydny6yw4Sf3Ernz+HuyCQK/Jlqi4RYbBzryJ6mZkEwMGw7fgymH4LF4KafU9 L5PQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691755012; x=1692359812; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CcPdZ2nGxjXBiRr9VgUDUf+2/h+oYQAJVXrn/kAMSKY=; b=bmLhBaLfmjKtjrfhd/dTPc5fGRGfr4KNq9yZ2l4rXq+6xZTLk5fh+l5JoSXlL6wZ48 nMPYo9yjOaryYk4HivG1WJqfCh4lklG75VBvdr9BYUmdCVbJWM4rWkQ4PoYTKZfdTXAh 1tq75wsZNGXqgMuDQqWnztwIK791swWyS1W1SrYGk+CGkyMFJxWAXTc7K/Se5Uz25wrv 9IFHmJOWX9Bn8W8XryTOWfxM2QW8YDU9P1aqlLWNgWNfWZOWiQ2kuvThOfXtTy2ROxIT ze6owuhPEciMhS5kjgp4ocWp3xXXEzsHwacgSvLNZ6mn3+YANCkytkwvFrWmMu+DGscO G9jw== X-Gm-Message-State: AOJu0YzvLmxsg3n+EJqTela+/+aw0AKNV6TBGykm0OdWzrdz+IvTaao/ 7aJOx/zPd6wtw7NIYrV+2pxwVw== X-Received: by 2002:a17:906:1db1:b0:997:deb1:ff6a with SMTP id u17-20020a1709061db100b00997deb1ff6amr1450934ejh.22.1691755012496; Fri, 11 Aug 2023 04:56:52 -0700 (PDT) Received: from localhost.localdomain ([5.133.47.210]) by smtp.gmail.com with ESMTPSA id f16-20020a170906561000b00992076f4a01sm2165395ejq.190.2023.08.11.04.56.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Aug 2023 04:56:51 -0700 (PDT) From: Srinivas Kandagatla To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Ekansh Gupta , stable , Srinivas Kandagatla Subject: [PATCH 3/3] misc: fastrpc: Pass proper scm arguments for static process init Date: Fri, 11 Aug 2023 12:56:43 +0100 Message-Id: <20230811115643.38578-4-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20230811115643.38578-1-srinivas.kandagatla@linaro.org> References: <20230811115643.38578-1-srinivas.kandagatla@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1773937294002844282 X-GMAIL-MSGID: 1773937294002844282 From: Ekansh Gupta Memory is allocated for dynamic loading when audio daemon is trying to attach to audioPD on DSP side. This memory is allocated from reserved CMA memory region and needs ownership assignment to new VMID in order to use it from audioPD. In the current implementation, arguments are not correctly passed to the scm call which might result in failure of dynamic loading on audioPD. Added changes to pass correct arguments during daemon attach request. Fixes: 0871561055e6 ("misc: fastrpc: Add support for audiopd") Cc: stable Tested-by: Ekansh Gupta Signed-off-by: Ekansh Gupta Signed-off-by: Srinivas Kandagatla --- drivers/misc/fastrpc.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c index 8183c55283fb..42c4f603ec81 100644 --- a/drivers/misc/fastrpc.c +++ b/drivers/misc/fastrpc.c @@ -1324,13 +1324,18 @@ static int fastrpc_init_create_static_process(struct fastrpc_user *fl, return 0; err_invoke: if (fl->cctx->vmcount) { - struct qcom_scm_vmperm perm; + u64 src_perms = 0; + struct qcom_scm_vmperm dst_perms; + u32 i; - perm.vmid = QCOM_SCM_VMID_HLOS; - perm.perm = QCOM_SCM_PERM_RWX; + for (i = 0; i < fl->cctx->vmcount; i++) + src_perms |= BIT(fl->cctx->vmperms[i].vmid); + + dst_perms.vmid = QCOM_SCM_VMID_HLOS; + dst_perms.perm = QCOM_SCM_PERM_RWX; err = qcom_scm_assign_mem(fl->cctx->remote_heap->phys, (u64)fl->cctx->remote_heap->size, - &fl->cctx->perms, &perm, 1); + &src_perms, &dst_perms, 1); if (err) dev_err(fl->sctx->dev, "Failed to assign memory phys 0x%llx size 0x%llx err %d", fl->cctx->remote_heap->phys, fl->cctx->remote_heap->size, err);