RE: [PATCH][next][V2] drm/xe/xe_late_bind_fw: Fix missing initialization of variable offset

From: Cavitt, Jonathan

Date: Mon Sep 29 2025 - 11:49:29 EST


-----Original Message-----
From: Intel-xe <intel-xe-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Nilawar, Badal
Sent: Thursday, September 25, 2025 5:05 AM
To: Colin Ian King <colin.i.king@xxxxxxxxx>; De Marchi, Lucas <lucas.demarchi@xxxxxxxxx>; Thomas Hellström <thomas.hellstrom@xxxxxxxxxxxxxxx>; Vivi, Rodrigo <rodrigo.vivi@xxxxxxxxx>; David Airlie <airlied@xxxxxxxxx>; Simona Vetter <simona@xxxxxxxx>; Ceraolo Spurio, Daniele <daniele.ceraolospurio@xxxxxxxxx>; intel-xe@xxxxxxxxxxxxxxxxxxxxx; dri-devel@xxxxxxxxxxxxxxxxxxxxx
Cc: kernel-janitors@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH][next][V2] drm/xe/xe_late_bind_fw: Fix missing initialization of variable offset
>
> On 24-09-2025 15:52, Colin Ian King wrote:
> > The variable offset is not being initialized, and it is only set inside
> > a for-loop if entry->name is the same as manifest_entry. In the case
> > where it is not initialized a non-zero check on offset is potentialy checking
> > a bogus uninitalized value. Fix this by initializing offset to zero.
> >
> > Fixes: efa29317a553 ("drm/xe/xe_late_bind_fw: Extract and print version info")
> > Signed-off-by: Colin Ian King <colin.i.king@xxxxxxxxx>
> Reviewed-by: Badal Nilawar <badal.nilawar@xxxxxxxxx>

Reviewed-by: Jonathan Cavitt <jonathan.cavitt@xxxxxxxxx>
-Jonathan Cavitt

> > ---
> >
> > V2: Fix identical issue in parse_lb_layout that I ommitted in the first
> > patch
> >
> > ---
> > drivers/gpu/drm/xe/xe_late_bind_fw.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/xe/xe_late_bind_fw.c b/drivers/gpu/drm/xe/xe_late_bind_fw.c
> > index 38f3feb2aecd..8f5082e689dc 100644
> > --- a/drivers/gpu/drm/xe/xe_late_bind_fw.c
> > +++ b/drivers/gpu/drm/xe/xe_late_bind_fw.c
> > @@ -60,7 +60,7 @@ static int parse_cpd_header(struct xe_late_bind_fw *lb_fw,
> > const struct gsc_manifest_header *manifest;
> > const struct gsc_cpd_entry *entry;
> > size_t min_size = sizeof(*header);
> > - u32 offset;
> > + u32 offset = 0;
> > int i;
> >
> > /* manifest_entry is mandatory */
> > @@ -116,7 +116,7 @@ static int parse_lb_layout(struct xe_late_bind_fw *lb_fw,
> > const struct csc_fpt_header *header = data;
> > const struct csc_fpt_entry *entry;
> > size_t min_size = sizeof(*header);
> > - u32 offset;
> > + u32 offset = 0;
> > int i;
> >
> > /* fpt_entry is mandatory */
>