Not every use of deferqueue will have a destructor function so
we need to check it before calling it.

Signed-off-by: Matt Helsley <[email protected]>
---
 kernel/deferqueue.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/kernel/deferqueue.c b/kernel/deferqueue.c
index 3fb388b..1204c8b 100644
--- a/kernel/deferqueue.c
+++ b/kernel/deferqueue.c
@@ -53,7 +53,8 @@ void deferqueue_destroy(struct deferqueue_head *h)
 
                pr_debug("%s: freeing non-empty queue\n", __func__);
                list_for_each_entry_safe(dq, n, &h->list, list) {
-                       dq->destructor(dq->data);
+                       if (dq->destructor)
+                               dq->destructor(dq->data);
                        list_del(&dq->list);
                        kfree(dq);
                }
-- 
1.5.6.3


_______________________________________________
Containers mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
[email protected]
https://openvz.org/mailman/listinfo/devel

Reply via email to