[syslinux:master] setup_data: check to make sure kernel version >= 0x0209
syslinux-bot for H. Peter Anvin
hpa at linux.intel.com
Fri Jun 29 15:45:03 PDT 2012
Commit-ID: 91937bd1012d913569db7f5a6b6d211e08b9e2f4
Gitweb: http://www.syslinux.org/commit/91937bd1012d913569db7f5a6b6d211e08b9e2f4
Author: H. Peter Anvin <hpa at linux.intel.com>
AuthorDate: Fri, 29 Jun 2012 15:43:20 -0700
Committer: H. Peter Anvin <hpa at linux.intel.com>
CommitDate: Fri, 29 Jun 2012 15:43:20 -0700
setup_data: check to make sure kernel version >= 0x0209
Versions before 2.09 had no setup_data support.
Signed-off-by: H. Peter Anvin <hpa at linux.intel.com>
---
com32/lib/syslinux/load_linux.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/com32/lib/syslinux/load_linux.c b/com32/lib/syslinux/load_linux.c
index 86fc07f..622c2ab 100644
--- a/com32/lib/syslinux/load_linux.c
+++ b/com32/lib/syslinux/load_linux.c
@@ -38,6 +38,7 @@
#include <inttypes.h>
#include <string.h>
#include <minmax.h>
+#include <errno.h>
#include <suffix_number.h>
#include <syslinux/align.h>
#include <syslinux/linux.h>
@@ -461,6 +462,12 @@ int syslinux_boot_linux(void *kernel_buf, size_t kernel_size,
addr_t best_addr = 0;
size_t size = sdp->hdr.len + sizeof(sdp->hdr);
+ if (hdr.version < 0x0209) {
+ /* Setup data not supported */
+ errno = ENXIO; /* Kind of arbitrary... */
+ goto bail;
+ }
+
if (!sdp->data || !sdp->hdr.len)
continue;
More information about the Syslinux-commits
mailing list