[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <w7idutnucnkf2wodytpp6ozr4dxmm2qgjvbxsdz2pdlm4redhv@gfbtjzseonnw>
Date: Wed, 6 Aug 2025 10:32:45 -0700
From: Bjorn Andersson <andersson@...nel.org>
To: Mukesh Ojha <mukesh.ojha@....qualcomm.com>
Cc: Konrad Dybcio <konradybcio@...nel.org>,
Vikash Garodia <quic_vgarodia@...cinc.com>, Dikshita Agarwal <quic_dikshita@...cinc.com>,
Bryan O'Donoghue <bryan.odonoghue@...aro.org>, Mauro Carvalho Chehab <mchehab@...nel.org>,
Jeff Johnson <jjohnson@...nel.org>, Mathieu Poirier <mathieu.poirier@...aro.org>,
Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>, linux-arm-msm@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-media@...r.kernel.org, linux-wireless@...r.kernel.org, ath12k@...ts.infradead.org,
linux-remoteproc@...r.kernel.org, Bjorn Andersson <bjorn.andersson@....qualcomm.com>
Subject: Re: [PATCH 3/3] soc: qcom: mdt_loader: Fix check mdt_header_valid()
On Mon, Aug 04, 2025 at 06:11:51PM +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.
>
Thanks for the fix, Mukesh.
I posted and now merged
https://lore.kernel.org/all/20250730-mdt-loader-shentsize-zero-v1-1-04f43186229c@oss.qualcomm.com/
for this.
As was mentioned, in the future, when you have a fix and some other
changes, put the fix first in the series (or send it separately when
possible) so that it can conveniently be picked up on its own by the
maintainers.
Regards,
Bjorn
> Fixes: 9f9967fed9d0 ("soc: qcom: mdt_loader: Ensure we don't read past the ELF header")
> Signed-off-by: Mukesh Ojha <mukesh.ojha@....qualcomm.com>
> ---
> 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 7522223835f5..8210fb3dd51a 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
>
Powered by blists - more mailing lists