X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=kernel%2Fkexec.c;h=60bafbed06abd7a7b2defd0c031ca18b7287a37e;hb=59bf6c3c6c1e8463234015ae7690f5cdd991dffe;hp=9c970167e4025f01be6bd696499eec2504c72ef7;hpb=5a0abe30bebae3e73bf7808f55b2cd0309fa101d;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git diff --git a/kernel/kexec.c b/kernel/kexec.c index 9c97016..60bafbe 100644 --- a/kernel/kexec.c +++ b/kernel/kexec.c @@ -932,6 +932,7 @@ static int kimage_load_segment(struct kimage *image, */ struct kimage *kexec_image; struct kimage *kexec_crash_image; +int kexec_load_disabled; static DEFINE_MUTEX(kexec_mutex); @@ -942,7 +943,7 @@ SYSCALL_DEFINE4(kexec_load, unsigned long, entry, unsigned long, nr_segments, int result; /* We only trust the superuser with rebooting the system. */ - if (!capable(CAP_SYS_BOOT)) + if (!capable(CAP_SYS_BOOT) || kexec_load_disabled) return -EPERM; /* @@ -1536,7 +1537,7 @@ void vmcoreinfo_append_str(const char *fmt, ...) size_t r; va_start(args, fmt); - r = vsnprintf(buf, sizeof(buf), fmt, args); + r = vscnprintf(buf, sizeof(buf), fmt, args); va_end(args); r = min(r, vmcoreinfo_max_size - vmcoreinfo_size);