On Fri, 10 Jul 2015 11:14:06 +0200 Michael Holzheu <holzheu at linux.vnet.ibm.com> wrote: > On Fri, 10 Jul 2015 17:03:22 +0800 > Minfei Huang <mnfhuang at gmail.com> wrote: [snip] > +static int __kexec_load(unsigned long entry, unsigned long nr_segments, > + struct kexec_segment __user *segments, > + unsigned long flags) > +{ > + struct kimage **dest_image, *image; > + unsigned long i; > + int result; > + > + if (flags & KEXEC_ON_CRASH) > + dest_image = &kexec_crash_image; > + else > + dest_image = &kexec_image; > + > + if (nr_segments == 0) { > + /* Uninstall image */ > + kfree(xchg(dest_image, NULL)); Sorry, too fast today... Should be of course not kfree, but: kimage_free(dest_image, NULL)); Michael