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