Message ID | 20220105090943.2434040-1-jiasheng@iscas.ac.cn (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/amdkfd: Check for null pointer after calling kmemdup | expand |
Am 2022-01-05 um 4:09 a.m. schrieb Jiasheng Jiang: > As the possible failure of the allocation, kmemdup() may return NULL > pointer. > Therefore, it should be better to check the 'props2' in order to prevent > the dereference of NULL pointer. > > Fixes: 3a87177eb141 ("drm/amdkfd: Add topology support for dGPUs") > Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn> Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com> > --- > drivers/gpu/drm/amd/amdkfd/kfd_crat.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c > index c60e82697385..d15380c65c6d 100644 > --- a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c > @@ -410,6 +410,9 @@ static int kfd_parse_subtype_iolink(struct crat_subtype_iolink *iolink, > return -ENODEV; > /* same everything but the other direction */ > props2 = kmemdup(props, sizeof(*props2), GFP_KERNEL); > + if (!props2) > + return -ENOMEM; > + > props2->node_from = id_to; > props2->node_to = id_from; > props2->kobj = NULL;
On 2022-01-05 10:56 a.m., Felix Kuehling wrote: > Am 2022-01-05 um 4:09 a.m. schrieb Jiasheng Jiang: >> As the possible failure of the allocation, kmemdup() may return NULL >> pointer. >> Therefore, it should be better to check the 'props2' in order to prevent >> the dereference of NULL pointer. >> >> Fixes: 3a87177eb141 ("drm/amdkfd: Add topology support for dGPUs") >> Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn> > Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com> I applied the patch to amd-staging-drm-next. Regards, Felix > >> --- >> drivers/gpu/drm/amd/amdkfd/kfd_crat.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c >> index c60e82697385..d15380c65c6d 100644 >> --- a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c >> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c >> @@ -410,6 +410,9 @@ static int kfd_parse_subtype_iolink(struct crat_subtype_iolink *iolink, >> return -ENODEV; >> /* same everything but the other direction */ >> props2 = kmemdup(props, sizeof(*props2), GFP_KERNEL); >> + if (!props2) >> + return -ENOMEM; >> + >> props2->node_from = id_to; >> props2->node_to = id_from; >> props2->kobj = NULL;
diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c index c60e82697385..d15380c65c6d 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c @@ -410,6 +410,9 @@ static int kfd_parse_subtype_iolink(struct crat_subtype_iolink *iolink, return -ENODEV; /* same everything but the other direction */ props2 = kmemdup(props, sizeof(*props2), GFP_KERNEL); + if (!props2) + return -ENOMEM; + props2->node_from = id_to; props2->node_to = id_from; props2->kobj = NULL;
As the possible failure of the allocation, kmemdup() may return NULL pointer. Therefore, it should be better to check the 'props2' in order to prevent the dereference of NULL pointer. Fixes: 3a87177eb141 ("drm/amdkfd: Add topology support for dGPUs") Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn> --- drivers/gpu/drm/amd/amdkfd/kfd_crat.c | 3 +++ 1 file changed, 3 insertions(+)