Messages in this thread | | | Subject | Re: [PATCH][next] drm/vmwgfx: Fix memory leak of object fifo on error return | From | Colin Ian King <> | Date | Fri, 14 May 2021 15:32:40 +0100 |
| |
On 14/05/2021 15:30, Dan Carpenter wrote: > On Wed, May 12, 2021 at 08:56:09PM +0100, Colin King wrote: >> From: Colin Ian King <colin.king@canonical.com> >> >> In the case where fifo->static_buffer fails to be allocated the >> error return path neglects to kfree the fifo object. Fix this by >> adding in the missing kfree. >> >> Addresses-Coverity: ("Resource leak") >> Fixes: 2cd80dbd3551 ("drm/vmwgfx: Add basic support for SVGA3") >> Signed-off-by: Colin Ian King <colin.king@canonical.com> >> --- >> drivers/gpu/drm/vmwgfx/vmwgfx_cmd.c | 4 +++- >> 1 file changed, 3 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_cmd.c b/drivers/gpu/drm/vmwgfx/vmwgfx_cmd.c >> index 027d7d504e78..e5fa210f589e 100644 >> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_cmd.c >> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_cmd.c >> @@ -107,8 +107,10 @@ struct vmw_fifo_state *vmw_fifo_create(struct vmw_private *dev_priv) >> fifo = kzalloc(sizeof(*fifo), GFP_KERNEL); > > This needs an: > > if (!fifo) > return -ENOMEM;
Doh, I completely missed that. I'll send a V2. Thanks Dan.
> >> fifo->static_buffer_size = VMWGFX_FIFO_STATIC_SIZE; >> fifo->static_buffer = vmalloc(fifo->static_buffer_size); >> - if (unlikely(fifo->static_buffer == NULL)) >> + if (unlikely(fifo->static_buffer == NULL)) { >> + kfree(fifo); >> return ERR_PTR(-ENOMEM); >> + } > > regards, > dan carpenter >
| |