drivers/gpu/drm/xe/xe_late_bind_fw.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
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@gmail.com>
---
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 */
--
2.51.0
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@gmail.com>
Reviewed-by: Badal Nilawar <badal.nilawar@intel.com>
> ---
>
> 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 */
-----Original Message-----
From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Nilawar, Badal
Sent: Thursday, September 25, 2025 5:05 AM
To: Colin Ian King <colin.i.king@gmail.com>; De Marchi, Lucas <lucas.demarchi@intel.com>; Thomas Hellström <thomas.hellstrom@linux.intel.com>; Vivi, Rodrigo <rodrigo.vivi@intel.com>; David Airlie <airlied@gmail.com>; Simona Vetter <simona@ffwll.ch>; Ceraolo Spurio, Daniele <daniele.ceraolospurio@intel.com>; intel-xe@lists.freedesktop.org; dri-devel@lists.freedesktop.org
Cc: kernel-janitors@vger.kernel.org; linux-kernel@vger.kernel.org
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@gmail.com>
> Reviewed-by: Badal Nilawar <badal.nilawar@intel.com>
Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
-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 */
>
On Mon, Sep 29, 2025 at 11:49:24AM -0400, Cavitt, Jonathan wrote:
> -----Original Message-----
> From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Nilawar, Badal
> Sent: Thursday, September 25, 2025 5:05 AM
> To: Colin Ian King <colin.i.king@gmail.com>; De Marchi, Lucas <lucas.demarchi@intel.com>; Thomas Hellström <thomas.hellstrom@linux.intel.com>; Vivi, Rodrigo <rodrigo.vivi@intel.com>; David Airlie <airlied@gmail.com>; Simona Vetter <simona@ffwll.ch>; Ceraolo Spurio, Daniele <daniele.ceraolospurio@intel.com>; intel-xe@lists.freedesktop.org; dri-devel@lists.freedesktop.org
> Cc: kernel-janitors@vger.kernel.org; linux-kernel@vger.kernel.org
> 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@gmail.com>
> > Reviewed-by: Badal Nilawar <badal.nilawar@intel.com>
>
> Reviewed-by: Jonathan Cavitt <jonathan.cavitt@intel.com>
pushed to drm-xe-next. Thanks for the patch and reviews.
> -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 */
> >
© 2016 - 2026 Red Hat, Inc.