All of lore.kernel.org
 help / color / mirror / Atom feed
* [bug report] ppdev: fix memory leak
@ 2016-12-15 21:08 Dan Carpenter
  2016-12-15 21:13 ` Sudip Mukherjee
  0 siblings, 1 reply; 2+ messages in thread
From: Dan Carpenter @ 2016-12-15 21:08 UTC (permalink / raw)
  To: kernel-janitors

Hello Sudip Mukherjee,

The patch 2bd362d5f45c: "ppdev: fix memory leak" from Nov 10, 2016,
leads to the following static checker warning:

	drivers/char/ppdev.c:314 register_device()
	warn: passing freed memory 'name'

drivers/char/ppdev.c
   287  static int register_device(int minor, struct pp_struct *pp)
   288  {
   289          struct parport *port;
   290          struct pardevice *pdev = NULL;
   291          char *name;
   292          struct pardev_cb ppdev_cb;
   293  
   294          name = kasprintf(GFP_KERNEL, CHRDEV "%x", minor);
   295          if (name = NULL)
   296                  return -ENOMEM;
   297  
   298          port = parport_find_number(minor);
   299          if (!port) {
   300                  pr_warn("%s: no associated port!\n", name);
   301                  kfree(name);
   302                  return -ENXIO;
   303          }
   304  
   305          memset(&ppdev_cb, 0, sizeof(ppdev_cb));
   306          ppdev_cb.irq_func = pp_irq;
   307          ppdev_cb.flags = (pp->flags & PP_EXCL) ? PARPORT_FLAG_EXCL : 0;
   308          ppdev_cb.private = pp;
   309          pdev = parport_register_dev_model(port, name, &ppdev_cb, minor);
   310          parport_put_port(port);
   311          kfree(name);
                      ^^^^
Free.

   312  
   313          if (!pdev) {
   314                  pr_warn("%s: failed to register device!\n", name);
                                                                    ^^^^
Use after free.

   315                  return -ENXIO;
   316          }
   317  
   318          pp->pdev = pdev;
   319          dev_dbg(&pdev->dev, "registered pardevice\n");
   320          return 0;
   321  }

regards,
dan carpenter

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [bug report] ppdev: fix memory leak
  2016-12-15 21:08 [bug report] ppdev: fix memory leak Dan Carpenter
@ 2016-12-15 21:13 ` Sudip Mukherjee
  0 siblings, 0 replies; 2+ messages in thread
From: Sudip Mukherjee @ 2016-12-15 21:13 UTC (permalink / raw)
  To: kernel-janitors

On Thursday 15 December 2016 09:08 PM, Dan Carpenter wrote:
> Hello Sudip Mukherjee,
>
> The patch 2bd362d5f45c: "ppdev: fix memory leak" from Nov 10, 2016,
> leads to the following static checker warning:
>
> 	drivers/char/ppdev.c:314 register_device()
> 	warn: passing freed memory 'name'

It is already done.
https://lkml.org/lkml/2016/12/2/400


--
Regards
Sudip

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-12-15 21:13 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-15 21:08 [bug report] ppdev: fix memory leak Dan Carpenter
2016-12-15 21:13 ` Sudip Mukherjee

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.