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; > 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