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@xxxxxxxxxxxxx> >> >> 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@xxxxxxxxxxxxx> >> --- >> 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 >