Re: [patch 14/17] s390: introduce struct channel_subsystem.

From: Andrew Morton
Date: Sat Dec 10 2005 - 02:51:54 EST


Martin Schwidefsky <schwidefsky@xxxxxxxxxx> wrote:
>
> + /* Setup css structure. */
> + for (i = 0; i <= __MAX_CSSID; i++) {
> + css[i] = kmalloc(sizeof(struct channel_subsystem), GFP_KERNEL);
> + if (!css[i]) {
> + ret = -ENOMEM;
> + goto out_bus;
> + }
> + setup_css(i);
> + ret = device_register(&css[i]->device);
> + if (ret)
> + goto out_free;
> + }
> css_init_done = 1;
>
> ctl_set_bit(6, 28);
>
> for_each_subchannel(__init_channel_subsystem, NULL);
> return 0;
> +out_free:
> + kfree(css[i]);
> out_bus:
> + while (i > 0) {
> + i--;
> + device_unregister(&css[i]->device);
> + }

I spy a memory leak.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/