diff --git a/kernel/watch_queue.c b/kernel/watch_queue.c
index 3990e4df3d7b00eab7539481394de93b9ecf7be2..230038d4f90818843b5ff69274fea1aa14f5d6ac 100644
--- a/kernel/watch_queue.c
+++ b/kernel/watch_queue.c
@@ -370,6 +370,7 @@ static void __put_watch_queue(struct kref *kref)
 
 	for (i = 0; i < wqueue->nr_pages; i++)
 		__free_page(wqueue->notes[i]);
+	kfree(wqueue->notes);
 	bitmap_free(wqueue->notes_bitmap);
 
 	wfilter = rcu_access_pointer(wqueue->filter);