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 - 2025 Red Hat, Inc.