From e4dc2aeca7d0b870313f68917d36171c1039c374 Mon Sep 17 00:00:00 2001 From: Heiko Carstens Date: Wed, 19 Jun 2013 09:16:54 +0200 Subject: [PATCH] --- yaml --- r: 377339 b: refs/heads/master c: 35b03aec919c952e67b0b093638e0d79b468f9bc h: refs/heads/master i: 377337: dd9def9d73b3a1f1a0982696acc7dc09eeb8954e 377335: bafee1ebaa8701d35cc30c6e93482c7556c1fd0c v: v3 --- [refs] | 2 +- trunk/arch/s390/mm/mem_detect.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 7c13b6cd08fd..6bab30aa5871 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4026099a3118a1e038c48f3f85203a674938025b +refs/heads/master: 35b03aec919c952e67b0b093638e0d79b468f9bc diff --git a/trunk/arch/s390/mm/mem_detect.c b/trunk/arch/s390/mm/mem_detect.c index 3cbd3b8bf311..cca388253a39 100644 --- a/trunk/arch/s390/mm/mem_detect.c +++ b/trunk/arch/s390/mm/mem_detect.c @@ -123,7 +123,8 @@ void create_mem_hole(struct mem_chunk mem_chunk[], unsigned long addr, continue; } else if ((addr <= chunk->addr) && (addr + size >= chunk->addr + chunk->size)) { - memset(chunk, 0 , sizeof(*chunk)); + memmove(chunk, chunk + 1, (MEMORY_CHUNKS-i-1) * sizeof(*chunk)); + memset(&mem_chunk[MEMORY_CHUNKS-1], 0, sizeof(*chunk)); } else if (addr + size < chunk->addr + chunk->size) { chunk->size = chunk->addr + chunk->size - addr - size; chunk->addr = addr + size;