Thread (4 messages) 4 messages, 3 authors, 2014-06-21

Re: [PATCH] video: fbdev: skeletonfb.c: Adding code to managing allocation error

From: Joe Perches <joe@perches.com>
Date: 2014-06-21 13:58:42
Also in: lkml

(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;
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help