|
@@ -1271,7 +1271,7 @@ static void pcpu_reclaim(struct work_struct *work)
|
|
|
*/
|
|
|
void free_percpu(void *ptr)
|
|
|
{
|
|
|
- void *addr = __pcpu_ptr_to_addr(ptr);
|
|
|
+ void *addr;
|
|
|
struct pcpu_chunk *chunk;
|
|
|
unsigned long flags;
|
|
|
int off;
|
|
@@ -1279,6 +1279,8 @@ void free_percpu(void *ptr)
|
|
|
if (!ptr)
|
|
|
return;
|
|
|
|
|
|
+ addr = __pcpu_ptr_to_addr(ptr);
|
|
|
+
|
|
|
spin_lock_irqsave(&pcpu_lock, flags);
|
|
|
|
|
|
chunk = pcpu_chunk_addr_search(addr);
|