@@ -408,7 +408,7 @@ int ida_alloc_range(struct ida *ida, unsigned int min, unsigned int max,
goto nospc;
if (bit < BITS_PER_XA_VALUE) {
tmp |= 1UL << bit;
- xas_store(&xas, xa_mk_value(tmp));
+ xas_store_noinit(&xas, xa_mk_value(tmp));
goto out;
}
}
@@ -418,7 +418,7 @@ int ida_alloc_range(struct ida *ida, unsigned int min, unsigned int max,
if (!bitmap)
goto alloc;
bitmap->bitmap[0] = tmp;
- xas_store(&xas, bitmap);
+ xas_store_noinit(&xas, bitmap);
if (xas_error(&xas)) {
bitmap->bitmap[0] = 0;
goto out;
@@ -446,7 +446,7 @@ int ida_alloc_range(struct ida *ida, unsigned int min, unsigned int max,
goto alloc;
__set_bit(bit, bitmap->bitmap);
}
- xas_store(&xas, bitmap);
+ xas_store_noinit(&xas, bitmap);
}
out:
xas_unlock_irqrestore(&xas, flags);
@@ -502,7 +502,7 @@ void ida_free(struct ida *ida, unsigned int id)
v &= ~(1UL << bit);
if (!v)
goto delete;
- xas_store(&xas, xa_mk_value(v));
+ xas_store_noinit(&xas, xa_mk_value(v));
} else {
if (!test_bit(bit, bitmap->bitmap))
goto err;
All remaining users of xas_store() store non-NULL entries so xas_store() and xas_store_noinit() are equivalent. Replace xas_store() with xas_store_noinit(). Signed-off-by: Jan Kara <jack@suse.cz> --- lib/idr.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)