Message ID | 569E6815.2060806@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
diff --git a/xen/common/xsplice.c b/xen/common/xsplice.c index 9450b2a..799ccb5 100644 --- a/xen/common/xsplice.c +++ b/xen/common/xsplice.c @@ -600,8 +600,9 @@ static int move_module(struct payload *payload, struct xsplice_elf *elf) if ( elf->sec[i].sec->sh_flags & SHF_ALLOC ) { elf->sec[i].load_addr = buf + elf->sec[i].sec->sh_entsize; - memcpy(elf->sec[i].load_addr, elf->sec[i].data, - elf->sec[i].sec->sh_size); + if ( elf->sec[i].sec->sh_type != SHT_NOBITS ) + memcpy(elf->sec[i].load_addr, elf->sec[i].data, + elf->sec[i].sec->sh_size); printk(XENLOG_DEBUG "Loaded %s at 0x%p\n", elf->sec[i].name, elf->sec[i].load_addr);