kexec: fix zImage probe
Add upstream patch to fix probe of zImage kernels. Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
3a0776b9d6
commit
a423ec1519
@ -0,0 +1,41 @@
|
||||
From 507e210daf047a5ef98de680151ace745297d82e Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <507e210daf047a5ef98de680151ace745297d82e.1392728124.git.baruch@tkos.co.il>
|
||||
From: Dave Young <dyoung@redhat.com>
|
||||
Date: Thu, 6 Feb 2014 14:30:44 +0800
|
||||
Subject: [PATCH] kernel image probe function return value checking fix
|
||||
|
||||
Currently kexec will use the kernel image type when probe function return
|
||||
value >=0. It looks odd, but previously it works. Since commit bf06cf2095
|
||||
it does not work anymore.
|
||||
|
||||
During my testing for arm zImage, in 2nd kernel the atags pointer and the
|
||||
machine_id are not valid, I did a lot of debugging in kernel, finally I found
|
||||
this is caused by a kexec tools bug instead.
|
||||
|
||||
Because uImage will be probed before zImage, also the uImage probe return 1
|
||||
instead of -1 since bf06cf2095, thus kexec will mistakenly think it is uImage.
|
||||
|
||||
Fix this issue by regarding it's valid only when probe return 0.
|
||||
|
||||
Signed-off-by: Dave Young <dyoung@redhat.com>
|
||||
Signed-off-by: Simon Horman <horms@verge.net.au>
|
||||
---
|
||||
kexec/kexec.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/kexec/kexec.c b/kexec/kexec.c
|
||||
index f13e5124aacc..703d524836b4 100644
|
||||
--- a/kexec/kexec.c
|
||||
+++ b/kexec/kexec.c
|
||||
@@ -691,7 +691,7 @@ static int my_load(const char *type, int fileind, int argc, char **argv,
|
||||
}
|
||||
if (!type || guess_only) {
|
||||
for (i = 0; i < file_types; i++) {
|
||||
- if (file_type[i].probe(kernel_buf, kernel_size) >= 0)
|
||||
+ if (file_type[i].probe(kernel_buf, kernel_size) == 0)
|
||||
break;
|
||||
}
|
||||
if (i == file_types) {
|
||||
--
|
||||
1.8.5.3
|
||||
|
Loading…
Reference in New Issue
Block a user