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@xxxxxxxxx> 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; } _