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

Commit ff6b8090 authored by Sudip Mukherjee's avatar Sudip Mukherjee Committed by Markus Pargmann
Browse files

nbd: fix possible memory leak



we have already allocated memory for nbd_dev, but we were not
releasing that memory and just returning the error value.

Signed-off-by: default avatarSudip Mukherjee <sudip@vectorindia.org>
Acked-by: default avatarPaul Clements <Paul.Clements@SteelEye.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: default avatarMarkus Pargmann <mpa@pengutronix.de>
parent c517d838
Loading
Loading
Loading
Loading
+4 −4
Original line number Original line Diff line number Diff line
@@ -803,10 +803,6 @@ static int __init nbd_init(void)
		return -EINVAL;
		return -EINVAL;
	}
	}


	nbd_dev = kcalloc(nbds_max, sizeof(*nbd_dev), GFP_KERNEL);
	if (!nbd_dev)
		return -ENOMEM;

	part_shift = 0;
	part_shift = 0;
	if (max_part > 0) {
	if (max_part > 0) {
		part_shift = fls(max_part);
		part_shift = fls(max_part);
@@ -828,6 +824,10 @@ static int __init nbd_init(void)
	if (nbds_max > 1UL << (MINORBITS - part_shift))
	if (nbds_max > 1UL << (MINORBITS - part_shift))
		return -EINVAL;
		return -EINVAL;


	nbd_dev = kcalloc(nbds_max, sizeof(*nbd_dev), GFP_KERNEL);
	if (!nbd_dev)
		return -ENOMEM;

	for (i = 0; i < nbds_max; i++) {
	for (i = 0; i < nbds_max; i++) {
		struct gendisk *disk = alloc_disk(1 << part_shift);
		struct gendisk *disk = alloc_disk(1 << part_shift);
		if (!disk)
		if (!disk)