* [PATCH v2 1/4] soc: qcom: mdt_loader: Fix check mdt_header_valid()
@ 2025-08-06 17:25 Mukesh Ojha
2025-08-06 17:25 ` [PATCH v2 2/4] soc: qcom: mdt_loader: Remove unused parameter Mukesh Ojha
` (3 more replies)
0 siblings, 4 replies; 9+ messages in thread
From: Mukesh Ojha @ 2025-08-06 17:25 UTC (permalink / raw)
To: Vikash Garodia, Dikshita Agarwal, Mauro Carvalho Chehab,
Jeff Johnson, Bjorn Andersson, Mathieu Poirier, Konrad Dybcio,
Dmitry Baryshkov
Cc: Bryan O'Donoghue, Bjorn Andersson, linux-media, linux-arm-msm,
linux-kernel, linux-wireless, ath12k, linux-remoteproc,
Mukesh Ojha
Firmware binaries may lack section headers, in which case
the e_shentsize field in the ELF header can be zero.
Update mdt_header_valid() to correctly handle this scenario
by adjusting the validation logic accordingly.
Fixes: 9f9967fed9d0 ("soc: qcom: mdt_loader: Ensure we don't read past the ELF header")
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
Changes in v2:
- Make this patch as first patch of the series.
- Added R-b tag
drivers/soc/qcom/mdt_loader.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/soc/qcom/mdt_loader.c b/drivers/soc/qcom/mdt_loader.c
index 0ca268bdf1f8..2a14ba9b0fb6 100644
--- a/drivers/soc/qcom/mdt_loader.c
+++ b/drivers/soc/qcom/mdt_loader.c
@@ -39,7 +39,7 @@ static bool mdt_header_valid(const struct firmware *fw)
if (phend > fw->size)
return false;
- if (ehdr->e_shentsize != sizeof(struct elf32_shdr))
+ if (ehdr->e_shentsize && ehdr->e_shentsize != sizeof(struct elf32_shdr))
return false;
shend = size_add(size_mul(sizeof(struct elf32_shdr), ehdr->e_shnum), ehdr->e_shoff);
--
2.50.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 2/4] soc: qcom: mdt_loader: Remove unused parameter
2025-08-06 17:25 [PATCH v2 1/4] soc: qcom: mdt_loader: Fix check mdt_header_valid() Mukesh Ojha
@ 2025-08-06 17:25 ` Mukesh Ojha
2025-08-06 17:25 ` [PATCH v2 3/4] soc: qcom: mdt_loader: Remove pas id parameter Mukesh Ojha
` (2 subsequent siblings)
3 siblings, 0 replies; 9+ messages in thread
From: Mukesh Ojha @ 2025-08-06 17:25 UTC (permalink / raw)
To: Vikash Garodia, Dikshita Agarwal, Mauro Carvalho Chehab,
Jeff Johnson, Bjorn Andersson, Mathieu Poirier, Konrad Dybcio,
Dmitry Baryshkov
Cc: Bryan O'Donoghue, Bjorn Andersson, linux-media, linux-arm-msm,
linux-kernel, linux-wireless, ath12k, linux-remoteproc,
Mukesh Ojha, Konrad Dybcio
commit f4e526ff7e38e ("soc: qcom: mdt_loader: Extract PAS
operations") move pas specific code from __qcom_mdt_load()
to a separate function qcom_mdt_pas_init() after which the
pas_init variable became unused in __qcom_mdt_load().
Remove pas_init argument from __qcom_mdt_load().
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
Changes in v2:
- Added R-b tag and its order in the series.
drivers/soc/qcom/mdt_loader.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/soc/qcom/mdt_loader.c b/drivers/soc/qcom/mdt_loader.c
index 2a14ba9b0fb6..63af3e97c93b 100644
--- a/drivers/soc/qcom/mdt_loader.c
+++ b/drivers/soc/qcom/mdt_loader.c
@@ -333,7 +333,7 @@ static bool qcom_mdt_bins_are_split(const struct firmware *fw, const char *fw_na
static int __qcom_mdt_load(struct device *dev, const struct firmware *fw,
const char *fw_name, int pas_id, void *mem_region,
phys_addr_t mem_phys, size_t mem_size,
- phys_addr_t *reloc_base, bool pas_init)
+ phys_addr_t *reloc_base)
{
const struct elf32_phdr *phdrs;
const struct elf32_phdr *phdr;
@@ -459,7 +459,7 @@ int qcom_mdt_load(struct device *dev, const struct firmware *fw,
return ret;
return __qcom_mdt_load(dev, fw, firmware, pas_id, mem_region, mem_phys,
- mem_size, reloc_base, true);
+ mem_size, reloc_base);
}
EXPORT_SYMBOL_GPL(qcom_mdt_load);
@@ -482,7 +482,7 @@ int qcom_mdt_load_no_init(struct device *dev, const struct firmware *fw,
size_t mem_size, phys_addr_t *reloc_base)
{
return __qcom_mdt_load(dev, fw, firmware, pas_id, mem_region, mem_phys,
- mem_size, reloc_base, false);
+ mem_size, reloc_base);
}
EXPORT_SYMBOL_GPL(qcom_mdt_load_no_init);
--
2.50.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 3/4] soc: qcom: mdt_loader: Remove pas id parameter
2025-08-06 17:25 [PATCH v2 1/4] soc: qcom: mdt_loader: Fix check mdt_header_valid() Mukesh Ojha
2025-08-06 17:25 ` [PATCH v2 2/4] soc: qcom: mdt_loader: Remove unused parameter Mukesh Ojha
@ 2025-08-06 17:25 ` Mukesh Ojha
2025-08-06 19:07 ` Jeff Johnson
2025-08-06 17:25 ` [PATCH v2 4/4] soc: qcom: mdt_loader: Remove unused parameter Mukesh Ojha
2025-08-06 22:01 ` [PATCH v2 1/4] soc: qcom: mdt_loader: Fix check mdt_header_valid() Bjorn Andersson
3 siblings, 1 reply; 9+ messages in thread
From: Mukesh Ojha @ 2025-08-06 17:25 UTC (permalink / raw)
To: Vikash Garodia, Dikshita Agarwal, Mauro Carvalho Chehab,
Jeff Johnson, Bjorn Andersson, Mathieu Poirier, Konrad Dybcio,
Dmitry Baryshkov
Cc: Bryan O'Donoghue, Bjorn Andersson, linux-media, linux-arm-msm,
linux-kernel, linux-wireless, ath12k, linux-remoteproc,
Mukesh Ojha
pas id is not used in qcom_mdt_load_no_init() and it should not
be used as it is non-PAS specific function and has no relation
to PAS specific mechanism.
Reviewed-by: Dikshita Agarwal <quic_dikshita@quicinc.com>
Acked-by: Jeff Johnson <jjohnson@kernel.org> # drivers/net/wireless/ath/ath12k/ahb.c
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
Changes in v2:
- Added Acked-b and R-b tag and its order in the series.
drivers/media/platform/qcom/venus/firmware.c | 4 ++--
drivers/net/wireless/ath/ath12k/ahb.c | 2 +-
drivers/remoteproc/qcom_q6v5_adsp.c | 2 +-
drivers/remoteproc/qcom_q6v5_pas.c | 7 +++----
drivers/remoteproc/qcom_q6v5_wcss.c | 2 +-
drivers/soc/qcom/mdt_loader.c | 12 +++++-------
include/linux/soc/qcom/mdt_loader.h | 7 +++----
7 files changed, 16 insertions(+), 20 deletions(-)
diff --git a/drivers/media/platform/qcom/venus/firmware.c b/drivers/media/platform/qcom/venus/firmware.c
index 66a18830e66d..862d0718f694 100644
--- a/drivers/media/platform/qcom/venus/firmware.c
+++ b/drivers/media/platform/qcom/venus/firmware.c
@@ -136,8 +136,8 @@ static int venus_load_fw(struct venus_core *core, const char *fwname,
ret = qcom_mdt_load(dev, mdt, fwname, VENUS_PAS_ID,
mem_va, *mem_phys, *mem_size, NULL);
else
- ret = qcom_mdt_load_no_init(dev, mdt, fwname, VENUS_PAS_ID,
- mem_va, *mem_phys, *mem_size, NULL);
+ ret = qcom_mdt_load_no_init(dev, mdt, fwname, mem_va,
+ *mem_phys, *mem_size, NULL);
memunmap(mem_va);
err_release_fw:
diff --git a/drivers/net/wireless/ath/ath12k/ahb.c b/drivers/net/wireless/ath/ath12k/ahb.c
index 3b983f4e3268..b30527c402f6 100644
--- a/drivers/net/wireless/ath/ath12k/ahb.c
+++ b/drivers/net/wireless/ath/ath12k/ahb.c
@@ -414,7 +414,7 @@ static int ath12k_ahb_power_up(struct ath12k_base *ab)
goto err_fw2;
}
- ret = qcom_mdt_load_no_init(dev, fw2, fw2_name, pasid, mem_region, mem_phys,
+ ret = qcom_mdt_load_no_init(dev, fw2, fw2_name, mem_region, mem_phys,
mem_size, &mem_phys);
if (ret) {
ath12k_err(ab, "Failed to load MDT segments: %d\n", ret);
diff --git a/drivers/remoteproc/qcom_q6v5_adsp.c b/drivers/remoteproc/qcom_q6v5_adsp.c
index 94af77baa7a1..e98b7e03162c 100644
--- a/drivers/remoteproc/qcom_q6v5_adsp.c
+++ b/drivers/remoteproc/qcom_q6v5_adsp.c
@@ -317,7 +317,7 @@ static int adsp_load(struct rproc *rproc, const struct firmware *fw)
struct qcom_adsp *adsp = rproc->priv;
int ret;
- ret = qcom_mdt_load_no_init(adsp->dev, fw, rproc->firmware, 0,
+ ret = qcom_mdt_load_no_init(adsp->dev, fw, rproc->firmware,
adsp->mem_region, adsp->mem_phys,
adsp->mem_size, &adsp->mem_reloc);
if (ret)
diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c
index 02e29171cbbe..55a7da801183 100644
--- a/drivers/remoteproc/qcom_q6v5_pas.c
+++ b/drivers/remoteproc/qcom_q6v5_pas.c
@@ -242,9 +242,8 @@ static int qcom_pas_load(struct rproc *rproc, const struct firmware *fw)
goto release_dtb_firmware;
ret = qcom_mdt_load_no_init(pas->dev, pas->dtb_firmware, pas->dtb_firmware_name,
- pas->dtb_pas_id, pas->dtb_mem_region,
- pas->dtb_mem_phys, pas->dtb_mem_size,
- &pas->dtb_mem_reloc);
+ pas->dtb_mem_region, pas->dtb_mem_phys,
+ pas->dtb_mem_size, &pas->dtb_mem_reloc);
if (ret)
goto release_dtb_metadata;
}
@@ -307,7 +306,7 @@ static int qcom_pas_start(struct rproc *rproc)
if (ret)
goto disable_px_supply;
- ret = qcom_mdt_load_no_init(pas->dev, pas->firmware, rproc->firmware, pas->pas_id,
+ ret = qcom_mdt_load_no_init(pas->dev, pas->firmware, rproc->firmware,
pas->mem_region, pas->mem_phys, pas->mem_size,
&pas->mem_reloc);
if (ret)
diff --git a/drivers/remoteproc/qcom_q6v5_wcss.c b/drivers/remoteproc/qcom_q6v5_wcss.c
index 93648734a2f2..07c88623f597 100644
--- a/drivers/remoteproc/qcom_q6v5_wcss.c
+++ b/drivers/remoteproc/qcom_q6v5_wcss.c
@@ -757,7 +757,7 @@ static int q6v5_wcss_load(struct rproc *rproc, const struct firmware *fw)
int ret;
ret = qcom_mdt_load_no_init(wcss->dev, fw, rproc->firmware,
- 0, wcss->mem_region, wcss->mem_phys,
+ wcss->mem_region, wcss->mem_phys,
wcss->mem_size, &wcss->mem_reloc);
if (ret)
return ret;
diff --git a/drivers/soc/qcom/mdt_loader.c b/drivers/soc/qcom/mdt_loader.c
index 63af3e97c93b..145bd1374f07 100644
--- a/drivers/soc/qcom/mdt_loader.c
+++ b/drivers/soc/qcom/mdt_loader.c
@@ -331,7 +331,7 @@ static bool qcom_mdt_bins_are_split(const struct firmware *fw, const char *fw_na
}
static int __qcom_mdt_load(struct device *dev, const struct firmware *fw,
- const char *fw_name, int pas_id, void *mem_region,
+ const char *fw_name, void *mem_region,
phys_addr_t mem_phys, size_t mem_size,
phys_addr_t *reloc_base)
{
@@ -353,7 +353,7 @@ static int __qcom_mdt_load(struct device *dev, const struct firmware *fw,
if (!mdt_header_valid(fw))
return -EINVAL;
- is_split = qcom_mdt_bins_are_split(fw, fw_name);
+ is_split = qcom_mdt_bins_are_split(fw);
ehdr = (struct elf32_hdr *)fw->data;
phdrs = (struct elf32_phdr *)(fw->data + ehdr->e_phoff);
@@ -458,7 +458,7 @@ int qcom_mdt_load(struct device *dev, const struct firmware *fw,
if (ret)
return ret;
- return __qcom_mdt_load(dev, fw, firmware, pas_id, mem_region, mem_phys,
+ return __qcom_mdt_load(dev, fw, firmware, mem_region, mem_phys,
mem_size, reloc_base);
}
EXPORT_SYMBOL_GPL(qcom_mdt_load);
@@ -468,7 +468,6 @@ EXPORT_SYMBOL_GPL(qcom_mdt_load);
* @dev: device handle to associate resources with
* @fw: firmware object for the mdt file
* @firmware: name of the firmware, for construction of segment file names
- * @pas_id: PAS identifier
* @mem_region: allocated memory region to load firmware into
* @mem_phys: physical address of allocated memory region
* @mem_size: size of the allocated memory region
@@ -477,11 +476,10 @@ EXPORT_SYMBOL_GPL(qcom_mdt_load);
* Returns 0 on success, negative errno otherwise.
*/
int qcom_mdt_load_no_init(struct device *dev, const struct firmware *fw,
- const char *firmware, int pas_id,
- void *mem_region, phys_addr_t mem_phys,
+ const char *firmware, void *mem_region, phys_addr_t mem_phys,
size_t mem_size, phys_addr_t *reloc_base)
{
- return __qcom_mdt_load(dev, fw, firmware, pas_id, mem_region, mem_phys,
+ return __qcom_mdt_load(dev, fw, firmware, mem_region, mem_phys,
mem_size, reloc_base);
}
EXPORT_SYMBOL_GPL(qcom_mdt_load_no_init);
diff --git a/include/linux/soc/qcom/mdt_loader.h b/include/linux/soc/qcom/mdt_loader.h
index 9e8e60421192..8ea8230579a2 100644
--- a/include/linux/soc/qcom/mdt_loader.h
+++ b/include/linux/soc/qcom/mdt_loader.h
@@ -24,7 +24,7 @@ int qcom_mdt_load(struct device *dev, const struct firmware *fw,
phys_addr_t *reloc_base);
int qcom_mdt_load_no_init(struct device *dev, const struct firmware *fw,
- const char *fw_name, int pas_id, void *mem_region,
+ const char *fw_name, void *mem_region,
phys_addr_t mem_phys, size_t mem_size,
phys_addr_t *reloc_base);
void *qcom_mdt_read_metadata(const struct firmware *fw, size_t *data_len,
@@ -54,9 +54,8 @@ static inline int qcom_mdt_load(struct device *dev, const struct firmware *fw,
static inline int qcom_mdt_load_no_init(struct device *dev,
const struct firmware *fw,
- const char *fw_name, int pas_id,
- void *mem_region, phys_addr_t mem_phys,
- size_t mem_size,
+ const char *fw_name, void *mem_region,
+ phys_addr_t mem_phys, size_t mem_size,
phys_addr_t *reloc_base)
{
return -ENODEV;
--
2.50.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 4/4] soc: qcom: mdt_loader: Remove unused parameter
2025-08-06 17:25 [PATCH v2 1/4] soc: qcom: mdt_loader: Fix check mdt_header_valid() Mukesh Ojha
2025-08-06 17:25 ` [PATCH v2 2/4] soc: qcom: mdt_loader: Remove unused parameter Mukesh Ojha
2025-08-06 17:25 ` [PATCH v2 3/4] soc: qcom: mdt_loader: Remove pas id parameter Mukesh Ojha
@ 2025-08-06 17:25 ` Mukesh Ojha
2025-08-06 22:01 ` [PATCH v2 1/4] soc: qcom: mdt_loader: Fix check mdt_header_valid() Bjorn Andersson
3 siblings, 0 replies; 9+ messages in thread
From: Mukesh Ojha @ 2025-08-06 17:25 UTC (permalink / raw)
To: Vikash Garodia, Dikshita Agarwal, Mauro Carvalho Chehab,
Jeff Johnson, Bjorn Andersson, Mathieu Poirier, Konrad Dybcio,
Dmitry Baryshkov
Cc: Bryan O'Donoghue, Bjorn Andersson, linux-media, linux-arm-msm,
linux-kernel, linux-wireless, ath12k, linux-remoteproc,
Mukesh Ojha
fw_name in qcom_mdt_bins_are_split() seems unused now, it may have
used in the past for logging it but due to code refactor this parameter
is unused now.
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
---
Changes in v2:
- made this as separate patch.
drivers/soc/qcom/mdt_loader.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/soc/qcom/mdt_loader.c b/drivers/soc/qcom/mdt_loader.c
index 145bd1374f07..8210fb3dd51a 100644
--- a/drivers/soc/qcom/mdt_loader.c
+++ b/drivers/soc/qcom/mdt_loader.c
@@ -302,7 +302,7 @@ int qcom_mdt_pas_init(struct device *dev, const struct firmware *fw,
}
EXPORT_SYMBOL_GPL(qcom_mdt_pas_init);
-static bool qcom_mdt_bins_are_split(const struct firmware *fw, const char *fw_name)
+static bool qcom_mdt_bins_are_split(const struct firmware *fw)
{
const struct elf32_phdr *phdrs;
const struct elf32_hdr *ehdr;
--
2.50.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v2 3/4] soc: qcom: mdt_loader: Remove pas id parameter
2025-08-06 17:25 ` [PATCH v2 3/4] soc: qcom: mdt_loader: Remove pas id parameter Mukesh Ojha
@ 2025-08-06 19:07 ` Jeff Johnson
2025-08-07 5:36 ` Mukesh Ojha
0 siblings, 1 reply; 9+ messages in thread
From: Jeff Johnson @ 2025-08-06 19:07 UTC (permalink / raw)
To: Mukesh Ojha, Vikash Garodia, Dikshita Agarwal,
Mauro Carvalho Chehab, Jeff Johnson, Bjorn Andersson,
Mathieu Poirier, Konrad Dybcio, Dmitry Baryshkov
Cc: Bryan O'Donoghue, Bjorn Andersson, linux-media, linux-arm-msm,
linux-kernel, linux-wireless, ath12k, linux-remoteproc
On 8/6/2025 10:25 AM, Mukesh Ojha wrote:
> pas id is not used in qcom_mdt_load_no_init() and it should not
> be used as it is non-PAS specific function and has no relation
> to PAS specific mechanism.
...> @@ -353,7 +353,7 @@ static int __qcom_mdt_load(struct device *dev, const
struct firmware *fw,
> if (!mdt_header_valid(fw))
> return -EINVAL;
>
> - is_split = qcom_mdt_bins_are_split(fw, fw_name);
> + is_split = qcom_mdt_bins_are_split(fw);
this should be in the 4/4 patch
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/4] soc: qcom: mdt_loader: Fix check mdt_header_valid()
2025-08-06 17:25 [PATCH v2 1/4] soc: qcom: mdt_loader: Fix check mdt_header_valid() Mukesh Ojha
` (2 preceding siblings ...)
2025-08-06 17:25 ` [PATCH v2 4/4] soc: qcom: mdt_loader: Remove unused parameter Mukesh Ojha
@ 2025-08-06 22:01 ` Bjorn Andersson
2025-08-07 5:09 ` Mukesh Ojha
3 siblings, 1 reply; 9+ messages in thread
From: Bjorn Andersson @ 2025-08-06 22:01 UTC (permalink / raw)
To: Mukesh Ojha
Cc: Vikash Garodia, Dikshita Agarwal, Mauro Carvalho Chehab,
Jeff Johnson, Mathieu Poirier, Konrad Dybcio, Dmitry Baryshkov,
Bryan O'Donoghue, Bjorn Andersson, linux-media, linux-arm-msm,
linux-kernel, linux-wireless, ath12k, linux-remoteproc
On Wed, Aug 06, 2025 at 10:55:28PM +0530, Mukesh Ojha wrote:
> Firmware binaries may lack section headers, in which case
> the e_shentsize field in the ELF header can be zero.
>
> Update mdt_header_valid() to correctly handle this scenario
> by adjusting the validation logic accordingly.
>
As I replied earlier today on v1 (probably after you sent this), I've
applied the patch I sent out earlier for this problem.
Thanks,
Bjorn
> Fixes: 9f9967fed9d0 ("soc: qcom: mdt_loader: Ensure we don't read past the ELF header")
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
> Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
> ---
> Changes in v2:
> - Make this patch as first patch of the series.
> - Added R-b tag
>
> drivers/soc/qcom/mdt_loader.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/soc/qcom/mdt_loader.c b/drivers/soc/qcom/mdt_loader.c
> index 0ca268bdf1f8..2a14ba9b0fb6 100644
> --- a/drivers/soc/qcom/mdt_loader.c
> +++ b/drivers/soc/qcom/mdt_loader.c
> @@ -39,7 +39,7 @@ static bool mdt_header_valid(const struct firmware *fw)
> if (phend > fw->size)
> return false;
>
> - if (ehdr->e_shentsize != sizeof(struct elf32_shdr))
> + if (ehdr->e_shentsize && ehdr->e_shentsize != sizeof(struct elf32_shdr))
> return false;
>
> shend = size_add(size_mul(sizeof(struct elf32_shdr), ehdr->e_shnum), ehdr->e_shoff);
> --
> 2.50.1
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/4] soc: qcom: mdt_loader: Fix check mdt_header_valid()
2025-08-06 22:01 ` [PATCH v2 1/4] soc: qcom: mdt_loader: Fix check mdt_header_valid() Bjorn Andersson
@ 2025-08-07 5:09 ` Mukesh Ojha
0 siblings, 0 replies; 9+ messages in thread
From: Mukesh Ojha @ 2025-08-07 5:09 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Vikash Garodia, Dikshita Agarwal, Mauro Carvalho Chehab,
Jeff Johnson, Mathieu Poirier, Konrad Dybcio, Dmitry Baryshkov,
Bryan O'Donoghue, Bjorn Andersson, linux-media, linux-arm-msm,
linux-kernel, linux-wireless, ath12k, linux-remoteproc
On Wed, Aug 06, 2025 at 03:01:45PM -0700, Bjorn Andersson wrote:
> On Wed, Aug 06, 2025 at 10:55:28PM +0530, Mukesh Ojha wrote:
> > Firmware binaries may lack section headers, in which case
> > the e_shentsize field in the ELF header can be zero.
> >
> > Update mdt_header_valid() to correctly handle this scenario
> > by adjusting the validation logic accordingly.
> >
>
> As I replied earlier today on v1 (probably after you sent this), I've
> applied the patch I sent out earlier for this problem.
Sure, thank you.
-Mukesh
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 3/4] soc: qcom: mdt_loader: Remove pas id parameter
2025-08-06 19:07 ` Jeff Johnson
@ 2025-08-07 5:36 ` Mukesh Ojha
2025-08-07 16:50 ` Bjorn Andersson
0 siblings, 1 reply; 9+ messages in thread
From: Mukesh Ojha @ 2025-08-07 5:36 UTC (permalink / raw)
To: Jeff Johnson
Cc: Vikash Garodia, Dikshita Agarwal, Mauro Carvalho Chehab,
Jeff Johnson, Bjorn Andersson, Mathieu Poirier, Konrad Dybcio,
Dmitry Baryshkov, Bryan O'Donoghue, Bjorn Andersson,
linux-media, linux-arm-msm, linux-kernel, linux-wireless, ath12k,
linux-remoteproc
On Wed, Aug 06, 2025 at 12:07:05PM -0700, Jeff Johnson wrote:
> On 8/6/2025 10:25 AM, Mukesh Ojha wrote:
> > pas id is not used in qcom_mdt_load_no_init() and it should not
> > be used as it is non-PAS specific function and has no relation
> > to PAS specific mechanism.
> ...> @@ -353,7 +353,7 @@ static int __qcom_mdt_load(struct device *dev, const
> struct firmware *fw,
> > if (!mdt_header_valid(fw))
> > return -EINVAL;
> >
> > - is_split = qcom_mdt_bins_are_split(fw, fw_name);
> > + is_split = qcom_mdt_bins_are_split(fw);
>
> this should be in the 4/4 patch
>
Rush to send patches!!
--
-Mukesh
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 3/4] soc: qcom: mdt_loader: Remove pas id parameter
2025-08-07 5:36 ` Mukesh Ojha
@ 2025-08-07 16:50 ` Bjorn Andersson
0 siblings, 0 replies; 9+ messages in thread
From: Bjorn Andersson @ 2025-08-07 16:50 UTC (permalink / raw)
To: Jeff Johnson, Vikash Garodia, Dikshita Agarwal,
Mauro Carvalho Chehab, Jeff Johnson, Mathieu Poirier,
Konrad Dybcio, Dmitry Baryshkov, Bryan O'Donoghue,
Bjorn Andersson, linux-media, linux-arm-msm, linux-kernel,
linux-wireless, ath12k, linux-remoteproc
On Thu, Aug 07, 2025 at 11:06:10AM +0530, Mukesh Ojha wrote:
> On Wed, Aug 06, 2025 at 12:07:05PM -0700, Jeff Johnson wrote:
> > On 8/6/2025 10:25 AM, Mukesh Ojha wrote:
> > > pas id is not used in qcom_mdt_load_no_init() and it should not
> > > be used as it is non-PAS specific function and has no relation
> > > to PAS specific mechanism.
> > ...> @@ -353,7 +353,7 @@ static int __qcom_mdt_load(struct device *dev, const
> > struct firmware *fw,
> > > if (!mdt_header_valid(fw))
> > > return -EINVAL;
> > >
> > > - is_split = qcom_mdt_bins_are_split(fw, fw_name);
> > > + is_split = qcom_mdt_bins_are_split(fw);
> >
> > this should be in the 4/4 patch
> >
>
> Rush to send patches!!
>
Please don't!
Also remember that this isn't a regression fix and we're in the merge
window, so we're not going to pick these changes this week anyways.
Regards,
Bjorn
> --
> -Mukesh
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2025-08-07 16:50 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-06 17:25 [PATCH v2 1/4] soc: qcom: mdt_loader: Fix check mdt_header_valid() Mukesh Ojha
2025-08-06 17:25 ` [PATCH v2 2/4] soc: qcom: mdt_loader: Remove unused parameter Mukesh Ojha
2025-08-06 17:25 ` [PATCH v2 3/4] soc: qcom: mdt_loader: Remove pas id parameter Mukesh Ojha
2025-08-06 19:07 ` Jeff Johnson
2025-08-07 5:36 ` Mukesh Ojha
2025-08-07 16:50 ` Bjorn Andersson
2025-08-06 17:25 ` [PATCH v2 4/4] soc: qcom: mdt_loader: Remove unused parameter Mukesh Ojha
2025-08-06 22:01 ` [PATCH v2 1/4] soc: qcom: mdt_loader: Fix check mdt_header_valid() Bjorn Andersson
2025-08-07 5:09 ` Mukesh Ojha
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).