lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e7cede34-3469-4711-9440-62be22fb66f5@linaro.org>
Date: Wed, 3 Sep 2025 15:21:37 +0100
From: Bryan O'Donoghue <bryan.odonoghue@...aro.org>
To: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
Cc: Konrad Dybcio <konrad.dybcio@....qualcomm.com>,
 Bjorn Andersson <andersson@...nel.org>,
 Konrad Dybcio <konradybcio@...nel.org>,
 Vikash Garodia <quic_vgarodia@...cinc.com>,
 Dikshita Agarwal <quic_dikshita@...cinc.com>,
 Mauro Carvalho Chehab <mchehab@...nel.org>,
 Mathieu Poirier <mathieu.poirier@...aro.org>,
 Abhinav Kumar <abhinav.kumar@...ux.dev>, linux-kernel@...r.kernel.org,
 linux-arm-msm@...r.kernel.org, linux-media@...r.kernel.org,
 linux-remoteproc@...r.kernel.org
Subject: Re: [PATCH v2 00/11] Peripheral Image Loader support for Qualcomm
 SoCs running Linux host at EL2

On 03/09/2025 15:13, Bryan O'Donoghue wrote:
> On 03/09/2025 15:02, Dmitry Baryshkov wrote:
>> On Wed, Sep 03, 2025 at 02:31:55PM +0100, Bryan O'Donoghue wrote:
>>> On 03/09/2025 12:56, Konrad Dybcio wrote:
>>>>> Can you try with this next-20250814 tag ?
>>>> You sent it on the 19th, so it's in your best interest to run a quick
>>>>
>>>> git rebase --onto linux-next/master $(git describe --abbrev=0)
>>>>
>>>> and giving the series a prompt re-test before sending, because there 
>>>> might have
>>>> been incompatible changes, whether ones that would prevent applying, 
>>>> or break
>>>> things functionally
>>>
>>> I can't even find that tag next-20250814 closets thing is
>>
>> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/ 
>> tag/?h=next-20250814
>>
>>>
>>> | * \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \   00062ea01d35e - Merge 
>>> tag
>>> 'drm-xe-fixes-2025-08-14' of https://gitlab.freedesktop.org/drm/xe/ 
>>> kernel
>>> into drm-fixes (3 weeks ago)
>>>
>>> but patch #9 in this series stubbornly won't apply to any SHA I've 
>>> tried.
>>>
>>> meh
>>>
>>> ---
>>> bod
>>
> 
> Unfortunately that's not the right SHA though
> 
> git checkout -b next-20250814-test next-20250814
> Switched to a new branch 'next-20250814-test'
> 
> b4 shazam 20250812-qcom-tee-using-tee-ss-without-mem-obj-v7-7- 
> ce7a1a774803@....qualcomm.com
> Grabbing thread from lore.kernel.org/all/20250812-qcom-tee-using-tee-ss- 
> without-mem-obj-v7-7-ce7a1a774803@....qualcomm.com/t.mbox.gz
> Checking for newer revisions
> Grabbing search results from lore.kernel.org
>    Added from v8: 12 patches
>    Added from v9: 12 patches
> Analyzing 60 messages in the thread
> Analyzing 163 code-review messages
> Will use the latest revision: v9
> You can pick other revisions using the -vN flag
> Checking attestation on all messages, may take a moment...
> ---
>    ✓ [PATCH v9 1/11] tee: allow a driver to allocate a tee_device 
> without a pool
>    ✓ [PATCH v9 2/11] tee: add close_context to TEE driver operation
>    ✓ [PATCH v9 3/11] tee: add TEE_IOCTL_PARAM_ATTR_TYPE_UBUF
>    ✓ [PATCH v9 4/11] tee: add TEE_IOCTL_PARAM_ATTR_TYPE_OBJREF
>    ✓ [PATCH v9 5/11] tee: increase TEE_MAX_ARG_SIZE to 4096
>    ✓ [PATCH v9 6/11] firmware: qcom: scm: add support for object invocation
>    ✓ [PATCH v9 7/11] firmware: qcom: tzmem: export shm_bridge create/delete
>    ✓ [PATCH v9 8/11] tee: add Qualcomm TEE driver
>    ✓ [PATCH v9 9/11] tee: qcom: add primordial object
>    ✓ [PATCH v9 10/11] tee: qcom: enable TEE_IOC_SHM_ALLOC ioctl
>    ✓ [PATCH v9 11/11] Documentation: tee: Add Qualcomm TEE driver
>    ---
>    ✓ Signed: DKIM/qualcomm.com (From: amirreza.zarrabi@....qualcomm.com)
> ---
> Total patches: 11
> ---
>   Base: using specified base-commit 
> 33bcf93b9a6b028758105680f8b538a31bc563cf
> Applying: tee: allow a driver to allocate a tee_device without a pool
> Applying: tee: add close_context to TEE driver operation
> Applying: tee: add TEE_IOCTL_PARAM_ATTR_TYPE_UBUF
> Applying: tee: add TEE_IOCTL_PARAM_ATTR_TYPE_OBJREF
> Applying: tee: increase TEE_MAX_ARG_SIZE to 4096
> Applying: firmware: qcom: scm: add support for object invocation
> Applying: firmware: qcom: tzmem: export shm_bridge create/delete
> Applying: tee: add Qualcomm TEE driver
> Applying: tee: qcom: add primordial object
> Applying: tee: qcom: enable TEE_IOC_SHM_ALLOC ioctl
> Applying: Documentation: tee: Add Qualcomm TEE driver
> 
> b4 shazam 20250819165447.4149674-1-mukesh.ojha@....qualcomm.com
> Grabbing thread from lore.kernel.org/all/20250819165447.4149674-1- 
> mukesh.ojha@....qualcomm.com/t.mbox.gz
> Checking for newer revisions
> Grabbing search results from lore.kernel.org
> Analyzing 70 messages in the thread
> Looking for additional code-review trailers on lore.kernel.org
> Analyzing 0 code-review messages
> Checking attestation on all messages, may take a moment...
> ---
>    ✓ [PATCH v2 1/11] firmware: qcom_scm: Introduce PAS context 
> initialization helper
>    ✓ [PATCH v2 2/11] soc: qcom: mdtloader: Add context aware 
> qcom_mdt_pas_load() helper
>    ✓ [PATCH v2 3/11] firmware: qcom_scm: Add a prep version of 
> auth_and_reset function
>    ✓ [PATCH v2 4/11] firmware: qcom_scm: Simplify qcom_scm_pas_init_image()
>      + Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@...aro.org> (✗ 
> DKIM/linaro.org)
>    ✓ [PATCH v2 5/11] firmware: qcom_scm: Add shmbridge support to 
> pas_init/release function
>    ✓ [PATCH v2 6/11] remoteproc: Move resource table data structure to 
> its own header
>    ✓ [PATCH v2 7/11] firmware: qcom_scm: Add 
> qcom_scm_pas_get_rsc_table() to get resource table
>    ✓ [PATCH v2 8/11] soc: qcom: mdt_loader: Add helper functions to map 
> and unmap resources
>    ✓ [PATCH v2 9/11] remoteproc: pas: Extend parse_fw callback to parse 
> resource table
>    ✓ [PATCH v2 10/11] remoteproc: qcom: pas: Enable Secure PAS support 
> with IOMMU managed by Linux
>    ✓ [PATCH v2 11/11] media: iris: Enable Secure PAS support with IOMMU 
> managed by Linux
>    ---
>    ✓ Signed: DKIM/qualcomm.com (From: mukesh.ojha@....qualcomm.com)
> ---
> Total patches: 11
> ---
> Applying: firmware: qcom_scm: Introduce PAS context initialization helper
> Applying: soc: qcom: mdtloader: Add context aware qcom_mdt_pas_load() 
> helper
> Applying: firmware: qcom_scm: Add a prep version of auth_and_reset function
> Applying: firmware: qcom_scm: Simplify qcom_scm_pas_init_image()
> Applying: firmware: qcom_scm: Add shmbridge support to pas_init/release 
> function
> Applying: remoteproc: Move resource table data structure to its own header
> Applying: firmware: qcom_scm: Add qcom_scm_pas_get_rsc_table() to get 
> resource table
> Applying: soc: qcom: mdt_loader: Add helper functions to map and unmap 
> resources
> Applying: remoteproc: pas: Extend parse_fw callback to parse resource table
> Patch failed at 0009 remoteproc: pas: Extend parse_fw callback to parse 
> resource table
> error: patch failed: drivers/soc/qcom/mdt_loader.c:22
> error: drivers/soc/qcom/mdt_loader.c: patch does not apply
> hint: Use 'git am --show-current-patch=diff' to see the failed patch
> hint: When you have resolved this problem, run "git am --continue".
> hint: If you prefer to skip this patch, run "git am --skip" instead.
> hint: To restore the original branch and stop patching, run "git am -- 
> abort".
> hint: Disable this message with "git config set advice.mergeConflict false"
> 

Its also possible to apply it manually ...

diff --git a/drivers/remoteproc/qcom_q6v5_pas.c 
b/drivers/remoteproc/qcom_q6v5_pas.c
index 09cada92dfd56..1e0f09bf1ef29 100644
--- a/drivers/remoteproc/qcom_q6v5_pas.c
+++ b/drivers/remoteproc/qcom_q6v5_pas.c
@@ -408,6 +408,35 @@ static void *qcom_pas_da_to_va(struct rproc *rproc, 
u64 da, size_t len, bool *is
         return pas->mem_region + offset;
  }

+static int qcom_pas_parse_firmware(struct rproc *rproc, const struct 
firmware *fw)
+{
+       struct qcom_pas *pas = rproc->priv;
+       size_t output_rt_size = MAX_RSCTABLE_SIZE;
+       void *output_rt;
+       int ret;
+
+       ret = qcom_register_dump_segments(rproc, fw);
+       if (ret) {
+               dev_err(pas->dev, "Error in registering dump segments\n");
+               return ret;
+       }
+
+       if (!rproc->has_iommu)
+               return ret;
+
+       ret = qcom_scm_pas_get_rsc_table(pas->pas_id, NULL, 0, 
&output_rt, &output_rt_size);
+       if (ret) {
+               dev_err(pas->dev, "error %d getting resource_table\n", ret);
+               return ret;
+       }
+
+       rproc->cached_table = output_rt;
+       rproc->table_ptr = rproc->cached_table;
+       rproc->table_sz = output_rt_size;
+
+       return ret;
+}
+
  static unsigned long qcom_pas_panic(struct rproc *rproc)
  {
         struct qcom_pas *pas = rproc->priv;
@@ -420,7 +449,7 @@ static const struct rproc_ops qcom_pas_ops = {
         .start = qcom_pas_start,
         .stop = qcom_pas_stop,
         .da_to_va = qcom_pas_da_to_va,
-       .parse_fw = qcom_register_dump_segments,
+       .parse_fw = qcom_pas_parse_firmware,
         .load = qcom_pas_load,
         .panic = qcom_pas_panic,
  };
@@ -430,7 +459,7 @@ static const struct rproc_ops qcom_pas_minidump_ops = {
         .start = qcom_pas_start,
         .stop = qcom_pas_stop,
         .da_to_va = qcom_pas_da_to_va,
-       .parse_fw = qcom_register_dump_segments,
+       .parse_fw = qcom_pas_parse_firmware,
         .load = qcom_pas_load,
         .panic = qcom_pas_panic,
         .coredump = qcom_pas_minidump,
diff --git a/drivers/soc/qcom/mdt_loader.c b/drivers/soc/qcom/mdt_loader.c
index 3ac19e85d71df..a754e513cd541 100644
--- a/drivers/soc/qcom/mdt_loader.c
+++ b/drivers/soc/qcom/mdt_loader.c
@@ -22,7 +22,6 @@
  #include <linux/slab.h>
  #include <linux/soc/qcom/mdt_loader.h>

-#define MAX_RSCTABLE_SIZE      SZ_16K
  #define RSC_TABLE_HASH_BITS         5  // 32 buckets

  DEFINE_HASHTABLE(qcom_pas_rsc_table_map, RSC_TABLE_HASH_BITS);
diff --git a/include/linux/soc/qcom/mdt_loader.h 
b/include/linux/soc/qcom/mdt_loader.h
index 38475fd528d62..8fb3309d2a71a 100644
--- a/include/linux/soc/qcom/mdt_loader.h
+++ b/include/linux/soc/qcom/mdt_loader.h
@@ -8,6 +8,8 @@
  #define QCOM_MDT_TYPE_HASH     (2 << 24)
  #define QCOM_MDT_RELOCATABLE   BIT(27)

+#define MAX_RSCTABLE_SIZE      SZ_16K
+
  struct device;
  struct firmware;
  struct qcom_scm_pas_ctx;


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ