Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1730091 > unrolled thread

[PATCH] x86: Fix off-by-one error in loop termination.

Started bySean Fu <fxinrong@gmail.com>
First post2017-09-11 02:40 +0200
Last post2017-09-25 12:20 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] x86: Fix off-by-one error in loop termination. Sean Fu <fxinrong@gmail.com> - 2017-09-11 02:40 +0200
    Re: [PATCH] x86: Fix off-by-one error in loop termination. Sean Fu <fxinrong@gmail.com> - 2017-09-11 03:00 +0200
    [tip:x86/urgent] x86/sysfs: Fix off-by-one error in loop  termination tip-bot for Sean Fu <tipbot@zytor.com> - 2017-09-25 12:20 +0200

#1730091 — [PATCH] x86: Fix off-by-one error in loop termination.

FromSean Fu <fxinrong@gmail.com>
Date2017-09-11 02:40 +0200
Subject[PATCH] x86: Fix off-by-one error in loop termination.
Message-ID<uokVA-3kc-9@gated-at.bofh.it>
An off-by-one error in loop terminantion conditions in
create_setup_data_nodes will lead to memory leak when
create_setup_data_node return error.

Signed-off-by: Sean Fu <fxinrong@gmail.com>
---
 arch/x86/kernel/ksysfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/ksysfs.c b/arch/x86/kernel/ksysfs.c
index 4afc67f..cfde6c0 100644
--- a/arch/x86/kernel/ksysfs.c
+++ b/arch/x86/kernel/ksysfs.c
@@ -299,7 +299,7 @@ static int __init create_setup_data_nodes(struct kobject *parent)
 	return 0;
 
 out_clean_nodes:
-	for (j = i - 1; j > 0; j--)
+	for (j = i - 1; j >= 0; j--)
 		cleanup_setup_data_node(*(kobjp + j));
 	kfree(kobjp);
 out_setup_data_kobj:
-- 
2.6.2

[toc] | [next] | [standalone]


#1730097

FromSean Fu <fxinrong@gmail.com>
Date2017-09-11 03:00 +0200
Message-ID<uoleV-3tu-13@gated-at.bofh.it>
In reply to#1730091
On Mon, Sep 11, 2017 at 08:33:21AM +0800, Sean Fu wrote:
> An off-by-one error in loop terminantion conditions in
> create_setup_data_nodes will lead to memory leak when
> create_setup_data_node return error.
> 
> Signed-off-by: Sean Fu <fxinrong@gmail.com>
> ---
>  arch/x86/kernel/ksysfs.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/x86/kernel/ksysfs.c b/arch/x86/kernel/ksysfs.c
> index 4afc67f..cfde6c0 100644
> --- a/arch/x86/kernel/ksysfs.c
> +++ b/arch/x86/kernel/ksysfs.c
> @@ -299,7 +299,7 @@ static int __init create_setup_data_nodes(struct kobject *parent)
>  	return 0;
>  
>  out_clean_nodes:
> -	for (j = i - 1; j > 0; j--)
> +	for (j = i - 1; j >= 0; j--)
>  		cleanup_setup_data_node(*(kobjp + j));
>  	kfree(kobjp);
>  out_setup_data_kobj:
> -- 
> 2.6.2
>
Appologize for the wrong subject prefix in previous email.
Resent the patch right now.

Could you please review this patch?

Thanks

[toc] | [prev] | [next] | [standalone]


#1738890 — [tip:x86/urgent] x86/sysfs: Fix off-by-one error in loop termination

Fromtip-bot for Sean Fu <tipbot@zytor.com>
Date2017-09-25 12:20 +0200
Subject[tip:x86/urgent] x86/sysfs: Fix off-by-one error in loop termination
Message-ID<utyEy-4YG-23@gated-at.bofh.it>
In reply to#1730091
Commit-ID:  7d7099433d9eaaa5a989a55f1fa354c16a3ad297
Gitweb:     http://git.kernel.org/tip/7d7099433d9eaaa5a989a55f1fa354c16a3ad297
Author:     Sean Fu <fxinrong@gmail.com>
AuthorDate: Mon, 11 Sep 2017 08:33:21 +0800
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Mon, 25 Sep 2017 09:36:16 +0200

x86/sysfs: Fix off-by-one error in loop termination

An off-by-one error in loop terminantion conditions in
create_setup_data_nodes() will lead to memory leak when
create_setup_data_node() failed.

Signed-off-by: Sean Fu <fxinrong@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/1505090001-1157-1-git-send-email-fxinrong@gmail.com

---
 arch/x86/kernel/ksysfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/ksysfs.c b/arch/x86/kernel/ksysfs.c
index 4b0592c..8c1cc08 100644
--- a/arch/x86/kernel/ksysfs.c
+++ b/arch/x86/kernel/ksysfs.c
@@ -299,7 +299,7 @@ static int __init create_setup_data_nodes(struct kobject *parent)
 	return 0;
 
 out_clean_nodes:
-	for (j = i - 1; j > 0; j--)
+	for (j = i - 1; j >= 0; j--)
 		cleanup_setup_data_node(*(kobjp + j));
 	kfree(kobjp);
 out_setup_data_kobj:

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web