Fix: unregister cpu hotplug notifier on buffer alloc error
authorJonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Thu, 1 Sep 2016 21:52:09 +0000 (17:52 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 1 Sep 2016 22:15:33 +0000 (18:15 -0400)
The cpu hotplug notifier needs to be unregistered in the error path of
buffer allocation, else it eventually causes kernel OOPS when the kernel
accesses freed memory of the notifier block.

Fixes #1031

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
lib/ringbuffer/ring_buffer_backend.c

index 5417648af78c446637623dcf5d0e4a9e446d6d42..ad7611361b56aaad7805d8e579d5f1a2dc700df0 100644 (file)
@@ -421,6 +421,7 @@ free_bufs:
                }
 #ifdef CONFIG_HOTPLUG_CPU
                put_online_cpus();
+               unregister_hotcpu_notifier(&chanb->cpu_hp_notifier);
 #endif
                free_percpu(chanb->buf);
        } else
This page took 0.027237 seconds and 4 git commands to generate.