(Adding Geert, who probably wrote most of this
and likely might have forgotten all of it)
On Sat, 2014-06-21 at 15:17 +0200, Rickard Strandqvist wrote:
Adding missing code for managing a memory allocation error that may occur.
This was partly found using a static code analysis program called cppcheck.
skeletonfb.c is not meant to be compiled.
It's a sample driver template.
Those /* goto error path */ lines are for
driver writers that use this to figure out
what to do.
The second return is not correct as it would
not free the first alloc'd block.
quoted hunk ↗ jump to hunk
diff --git a/drivers/video/fbdev/skeletonfb.c b/drivers/video/fbdev/skeletonfb.c
[]
quoted hunk ↗ jump to hunk
@@ -692,6 +692,7 @@ static int xxxfb_probe(struct pci_dev *dev, const struct pci_device_id *ent)
if (!info) {
/* goto error path */
+ return -ENOMEM;
}
par = info->par;@@ -746,6 +747,7 @@ static int xxxfb_probe(struct pci_dev *dev, const struct pci_device_id *ent)
info->pixmap.addr = kmalloc(PIXMAP_SIZE, GFP_KERNEL);
if (!info->pixmap.addr) {
/* goto error */
+ return -ENOMEM;
}
info->pixmap.size = PIXMAP_SIZE;