projects
/
deliverable
/
linux.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[deliverable/linux.git]
/
kernel
/
kexec_file.c
diff --git
a/kernel/kexec_file.c
b/kernel/kexec_file.c
index c72d2ff5896e9f37e21c789d45d7b2cc058be9f0..503bc2d348e59aa2f866a4ad5b79d913419e862b 100644
(file)
--- a/
kernel/kexec_file.c
+++ b/
kernel/kexec_file.c
@@
-274,8
+274,11
@@
SYSCALL_DEFINE5(kexec_file_load, int, kernel_fd, int, initrd_fd,
return -EBUSY;
dest_image = &kexec_image;
return -EBUSY;
dest_image = &kexec_image;
- if (flags & KEXEC_FILE_ON_CRASH)
+ if (flags & KEXEC_FILE_ON_CRASH)
{
dest_image = &kexec_crash_image;
dest_image = &kexec_crash_image;
+ if (kexec_crash_image)
+ arch_kexec_unprotect_crashkres();
+ }
if (flags & KEXEC_FILE_UNLOAD)
goto exchange;
if (flags & KEXEC_FILE_UNLOAD)
goto exchange;
@@
-324,6
+327,9
@@
SYSCALL_DEFINE5(kexec_file_load, int, kernel_fd, int, initrd_fd,
exchange:
image = xchg(dest_image, image);
out:
exchange:
image = xchg(dest_image, image);
out:
+ if ((flags & KEXEC_FILE_ON_CRASH) && kexec_crash_image)
+ arch_kexec_protect_crashkres();
+
mutex_unlock(&kexec_mutex);
kimage_free(image);
return ret;
mutex_unlock(&kexec_mutex);
kimage_free(image);
return ret;
This page took
0.027454 seconds
and
5
git commands to generate.