X-Git-Url: http://git.cascardo.info/?a=blobdiff_plain;f=mm%2Fpercpu.c;h=083e7c91e5f62b10ec0b85eaa2f307a1bb2921df;hb=e8cf981346b78ee50c2bfce83be9ee55704b3d4f;hp=442010cc91c6c82eb8489e64d21500baa52b5911;hpb=292be57e152ef6881089a62298c6ec885ed46f0e;p=cascardo%2Flinux.git diff --git a/mm/percpu.c b/mm/percpu.c index 442010cc91c6..083e7c91e5f6 100644 --- a/mm/percpu.c +++ b/mm/percpu.c @@ -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);