diff --git a/kernel/watch_queue.c b/kernel/watch_queue.c
index 9c476d2cbac03948a6141c042607b2bd3ad899de..c12267ccc70e1f30982d4fd8977b7118dfb25761 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]);
+	bitmap_free(wqueue->notes_bitmap);
 
 	wfilter = rcu_access_pointer(wqueue->filter);
 	if (wfilter)