Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f2912a12 authored by Jesper Juhl's avatar Jesper Juhl Committed by Linus Torvalds
Browse files

cciss: fix memory leak



There's a memory leak in the cciss driver.

in alloc_cciss_hba() we may leak sizeof(ctlr_info_t) bytes if a
call to alloc_disk(1 << NWD_SHIFT) fails.
This patch should fix the issue.

Spotted by the Coverity checker.

Signed-off-by: default avatarJesper Juhl <jesper.juhl@gmail.com>
Acked-by: default avatarMike Miller <mike.miller@hp.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent ff0cfc66
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -3227,12 +3227,15 @@ static int alloc_cciss_hba(void)
	for (i = 0; i < MAX_CTLR; i++) {
		if (!hba[i]) {
			ctlr_info_t *p;

			p = kzalloc(sizeof(ctlr_info_t), GFP_KERNEL);
			if (!p)
				goto Enomem;
			p->gendisk[0] = alloc_disk(1 << NWD_SHIFT);
			if (!p->gendisk[0])
			if (!p->gendisk[0]) {
				kfree(p);
				goto Enomem;
			}
			hba[i] = p;
			return i;
		}