|
@@ -310,14 +310,14 @@ static int split_block(unsigned int i, unsigned short size)
|
|
|
{
|
|
|
/* Reallocation required? */
|
|
|
if (pcpu_num_used + 1 > pcpu_num_allocated) {
|
|
|
- int *new = kmalloc(sizeof(new[0]) * pcpu_num_allocated*2,
|
|
|
- GFP_KERNEL);
|
|
|
+ int *new;
|
|
|
+
|
|
|
+ new = krealloc(pcpu_size, sizeof(new[0])*pcpu_num_allocated*2,
|
|
|
+ GFP_KERNEL);
|
|
|
if (!new)
|
|
|
return 0;
|
|
|
|
|
|
- memcpy(new, pcpu_size, sizeof(new[0])*pcpu_num_allocated);
|
|
|
pcpu_num_allocated *= 2;
|
|
|
- kfree(pcpu_size);
|
|
|
pcpu_size = new;
|
|
|
}
|
|
|
|