[patch] drm/amdgpu: potential NULL dereference on error

Dan Carpenter dan.carpenter at oracle.com
Thu Jun 11 05:20:28 PDT 2015


On Thu, Jun 11, 2015 at 02:03:18PM +0200, walter harms wrote:
> 
> 
> Am 11.06.2015 10:49, schrieb Dan Carpenter:
> > debugfs_create_file() can return an error pointer if debugfs is disabled
> > or it can return NULL on error.
> > 
> > Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
> > 
> > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > index 36be03c..adba2a1 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> > @@ -1980,6 +1980,8 @@ static int amdgpu_debugfs_regs_init(struct amdgpu_device *adev)
> >  				  adev, &amdgpu_debugfs_regs_fops);
> >  	if (IS_ERR(ent))
> >  		return PTR_ERR(ent);
> > +	if (!ent)
> > +		return -ENOMEM;
> >  	i_size_write(ent->d_inode, adev->rmmio_size);
> >  	adev->debugfs_regs = ent;
> 
> 
> 
> would  PTR_ERR_OR_ZERO() by an option ?
> 
> on the other hand,
> why does debugfs_create_file() does not return -ENOMEN instead of NULL ?
> 

Actually if debugfs is disabled then we should probably carry on.  Let
me change it to:

	if (IS_ERR(ent))
		return 0;

	if (!ent)
		return -ENOMEM;

regards,
dan carpenter



More information about the dri-devel mailing list