|
@@ -1203,11 +1203,10 @@ static int blkif_recover(struct blkfront_info *info)
|
|
|
int j;
|
|
|
|
|
|
/* Stage 1: Make a safe copy of the shadow state. */
|
|
|
- copy = kmalloc(sizeof(info->shadow),
|
|
|
+ copy = kmemdup(info->shadow, sizeof(info->shadow),
|
|
|
GFP_NOIO | __GFP_REPEAT | __GFP_HIGH);
|
|
|
if (!copy)
|
|
|
return -ENOMEM;
|
|
|
- memcpy(copy, info->shadow, sizeof(info->shadow));
|
|
|
|
|
|
/* Stage 2: Set up free list. */
|
|
|
memset(&info->shadow, 0, sizeof(info->shadow));
|