Explicitely clear marks (and set XA_MARK_FREE) in ida_destroy() by calling xas_erase() instead of relying on xas_store() on implicitely doing this. Signed-off-by: Jan Kara <jack@xxxxxxx> --- lib/idr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/idr.c b/lib/idr.c index c2cf2c52bbde..fd4877fef06d 100644 --- a/lib/idr.c +++ b/lib/idr.c @@ -543,7 +543,7 @@ void ida_destroy(struct ida *ida) xas_for_each(&xas, bitmap, ULONG_MAX) { if (!xa_is_value(bitmap)) kfree(bitmap); - xas_store(&xas, NULL); + xas_erase(&xas); } xas_unlock_irqrestore(&xas, flags); } -- 2.16.4