[PATCH] kexec jump: fix compiling warning on xchg(&kexec_lock, 0) in kernel_kexec()
Andrew Morton
akpm at linux-foundation.org
Wed Aug 13 05:27:12 EDT 2008
On Wed, 13 Aug 2008 17:12:40 +0800 Huang Ying <ying.huang at intel.com> wrote:
> Fix compiling warning on xchg(&kexec_lock, 0) in kernel_kexec().
>
Would prefer that thi code not use such a peculair idiom. I don't
believe that it needs to.
I guess that's a separate activity.
>
> ---
> kernel/kexec.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> --- a/kernel/kexec.c
> +++ b/kernel/kexec.c
> @@ -1433,6 +1433,7 @@ module_init(crash_save_vmcoreinfo_init)
> int kernel_kexec(void)
> {
> int error = 0;
> + int locked;
>
> if (xchg(&kexec_lock, 1))
> return -EBUSY;
> @@ -1498,7 +1499,8 @@ int kernel_kexec(void)
> #endif
>
> Unlock:
> - xchg(&kexec_lock, 0);
> + locked = xchg(&kexec_lock, 0);
> + BUG_ON(!locked);
>
> return error;
> }
>
Please always quote the compiler output in the changelog when fixing
warnings and build errors.
The patch is titled "kexec jump: ..." whereas this is just a plain old
kexec fix, which is applicable to mainline.
We don't need to create that local. I queued this:
Subject: kexec: fix compilation warning on xchg(&kexec_lock, 0) in kernel_kexec()
From: Huang Ying <ying.huang at intel.com>
kernel/kexec.c: In function 'kernel_kexec':
kernel/kexec.c:1506: warning: value computed is not used
Signed-off-by: Huang Ying <ying.huang at intel.com>
Cc: "Eric W. Biederman" <ebiederm at xmission.com>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
---
kernel/kexec.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff -puN kernel/kexec.c~kexec-jump-fix-compiling-warning-on-xchgkexec_lock-0-in-kernel_kexec kernel/kexec.c
--- a/kernel/kexec.c~kexec-jump-fix-compiling-warning-on-xchgkexec_lock-0-in-kernel_kexec
+++ a/kernel/kexec.c
@@ -1503,7 +1503,8 @@ int kernel_kexec(void)
}
Unlock:
- xchg(&kexec_lock, 0);
+ if (!xchg(&kexec_lock, 0))
+ BUG();
return error;
}
_
More information about the kexec
mailing list