2008-08-11 09:26:01

by Rakib Mullick

[permalink] [raw]
Subject: [PATCH] cgroup.c: remove goto statement from cgroup_init.

Hello everyone, following patch removes the use of goto statement.
Actually, we don't need it. Beacuse, if "err < 0", then it will never
be TRUE. So, we can skip the goto statement and can just return.
Thanks.

Signed-off-by: Rakib Mullick ([email protected])

--- linux-2.6.27-rc2.orig/kernel/cgroup.c 2008-08-11 15:16:49.000000000 +0600
+++ linux-2.6.27-rc2/kernel/cgroup.c 2008-08-11 15:16:26.000000000 +0600
@@ -2562,11 +2562,10 @@ int __init cgroup_init(void)

err = register_filesystem(&cgroup_fs_type);
if (err < 0)
- goto out;
+ return err;

proc_create("cgroups", 0, NULL, &proc_cgroupstats_operations);

-out:
if (err)
bdi_destroy(&cgroup_backing_dev_info);


2008-08-11 09:32:17

by Andreas Schwab

[permalink] [raw]
Subject: Re: [PATCH] cgroup.c: remove goto statement from cgroup_init.

"Rakib Mullick" <[email protected]> writes:

> Hello everyone, following patch removes the use of goto statement.
> Actually, we don't need it. Beacuse, if "err < 0", then it will never
> be TRUE.

What is "it"?

> --- linux-2.6.27-rc2.orig/kernel/cgroup.c 2008-08-11 15:16:49.000000000 +0600
> +++ linux-2.6.27-rc2/kernel/cgroup.c 2008-08-11 15:16:26.000000000 +0600
> @@ -2562,11 +2562,10 @@ int __init cgroup_init(void)
>
> err = register_filesystem(&cgroup_fs_type);
> if (err < 0)
> - goto out;
> + return err;
>
> proc_create("cgroups", 0, NULL, &proc_cgroupstats_operations);
>
> -out:
> if (err)
> bdi_destroy(&cgroup_backing_dev_info);

Doesn't this create a resource leak?

Andreas.

--
Andreas Schwab, SuSE Labs, [email protected]
SuSE Linux Products GmbH, Maxfeldstra?e 5, 90409 N?rnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."

2008-08-11 09:35:37

by Paul Menage

[permalink] [raw]
Subject: Re: [PATCH] cgroup.c: remove goto statement from cgroup_init.

On Mon, Aug 11, 2008 at 2:25 AM, Rakib Mullick <[email protected]> wrote:
> Hello everyone, following patch removes the use of goto statement.
> Actually, we don't need it. Beacuse, if "err < 0", then it will never
> be TRUE.

"err" will be regarded by the compiler as true if it's anything other
than 0. So this patch introduces breakage.

Paul

> So, we can skip the goto statement and can just return.
> Thanks.
>
> Signed-off-by: Rakib Mullick ([email protected])
>
> --- linux-2.6.27-rc2.orig/kernel/cgroup.c 2008-08-11 15:16:49.000000000 +0600
> +++ linux-2.6.27-rc2/kernel/cgroup.c 2008-08-11 15:16:26.000000000 +0600
> @@ -2562,11 +2562,10 @@ int __init cgroup_init(void)
>
> err = register_filesystem(&cgroup_fs_type);
> if (err < 0)
> - goto out;
> + return err;
>
> proc_create("cgroups", 0, NULL, &proc_cgroupstats_operations);
>
> -out:
> if (err)
> bdi_destroy(&cgroup_backing_dev_info);
>