Merge tag 'docs-5.3' of git://git.lwn.net/linux
[linux-2.6-block.git] / arch / x86 / kernel / kexec-bzimage64.c
index b07e7069b09e5508e1150741f6df4473a4de0f7b..5ebcd02cbca712110b8baa999060f625eb5b0a2e 100644 (file)
@@ -1,12 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0-only
 /*
  * Kexec bzImage loader
  *
  * Copyright (C) 2014 Red Hat Inc.
  * Authors:
  *      Vivek Goyal <vgoyal@redhat.com>
- *
- * This source code is licensed under the GNU General Public License,
- * Version 2.  See the file COPYING for more details.
  */
 
 #define pr_fmt(fmt)    "kexec-bzImage64: " fmt
@@ -321,6 +319,11 @@ static int bzImage64_probe(const char *buf, unsigned long len)
                return ret;
        }
 
+       if (!(header->xloadflags & XLF_5LEVEL) && pgtable_l5_enabled()) {
+               pr_err("bzImage cannot handle 5-level paging mode.\n");
+               return ret;
+       }
+
        /* I've got a bzImage */
        pr_debug("It's a relocatable bzImage64\n");
        ret = 0;