From 920b4d5114f2bf4597f65c5d9bee10d7d4179fe1 Mon Sep 17 00:00:00 2001 From: Eugene Syromyatnikov <evgsyr@gmail.com> Date: Thu, 20 Oct 2016 06:44:06 +0300 Subject: [PATCH] kexec: fix zeroing of higher bits of flags parameter in kexec_load * kexec.c (SYS_FUNC(kexec_load)): Perform type conversion before negation in order to properly negate higher bits of KEXEC_ARCH_MASK. --- kexec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kexec.c b/kexec.c index 9ced0157..d27bfe1c 100644 --- a/kexec.c +++ b/kexec.c @@ -91,7 +91,7 @@ SYS_FUNC(kexec_load) /* flags */ unsigned long n = tcp->u_arg[3]; printxval_long(kexec_arch_values, n & KEXEC_ARCH_MASK, "KEXEC_ARCH_???"); - n &= ~KEXEC_ARCH_MASK; + n &= ~(unsigned long) KEXEC_ARCH_MASK; if (n) { tprints("|"); printflags_long(kexec_load_flags, n, "KEXEC_???"); -- 2.40.0