mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 04:33:26 +02:00
XArray: Mark xa_insert and xa_reserve as must_check
If the user doesn't care about the return value from xa_insert(), then they should be using xa_store() instead. The point of xa_reserve() is to get the return value early before taking another lock, so this should also be __must_check. Signed-off-by: Matthew Wilcox <willy@infradead.org>
This commit is contained in:
@@ -364,21 +364,21 @@ static noinline void check_reserve(struct xarray *xa)
|
||||
|
||||
/* An array with a reserved entry is not empty */
|
||||
XA_BUG_ON(xa, !xa_empty(xa));
|
||||
xa_reserve(xa, 12345678, GFP_KERNEL);
|
||||
XA_BUG_ON(xa, xa_reserve(xa, 12345678, GFP_KERNEL) != 0);
|
||||
XA_BUG_ON(xa, xa_empty(xa));
|
||||
XA_BUG_ON(xa, xa_load(xa, 12345678));
|
||||
xa_release(xa, 12345678);
|
||||
XA_BUG_ON(xa, !xa_empty(xa));
|
||||
|
||||
/* Releasing a used entry does nothing */
|
||||
xa_reserve(xa, 12345678, GFP_KERNEL);
|
||||
XA_BUG_ON(xa, xa_reserve(xa, 12345678, GFP_KERNEL) != 0);
|
||||
XA_BUG_ON(xa, xa_store_index(xa, 12345678, GFP_NOWAIT) != NULL);
|
||||
xa_release(xa, 12345678);
|
||||
xa_erase_index(xa, 12345678);
|
||||
XA_BUG_ON(xa, !xa_empty(xa));
|
||||
|
||||
/* cmpxchg sees a reserved entry as NULL */
|
||||
xa_reserve(xa, 12345678, GFP_KERNEL);
|
||||
XA_BUG_ON(xa, xa_reserve(xa, 12345678, GFP_KERNEL) != 0);
|
||||
XA_BUG_ON(xa, xa_cmpxchg(xa, 12345678, NULL, xa_mk_value(12345678),
|
||||
GFP_NOWAIT) != NULL);
|
||||
xa_release(xa, 12345678);
|
||||
@@ -386,7 +386,7 @@ static noinline void check_reserve(struct xarray *xa)
|
||||
XA_BUG_ON(xa, !xa_empty(xa));
|
||||
|
||||
/* But xa_insert does not */
|
||||
xa_reserve(xa, 12345678, GFP_KERNEL);
|
||||
XA_BUG_ON(xa, xa_reserve(xa, 12345678, GFP_KERNEL) != 0);
|
||||
XA_BUG_ON(xa, xa_insert(xa, 12345678, xa_mk_value(12345678), 0) !=
|
||||
-EBUSY);
|
||||
XA_BUG_ON(xa, xa_empty(xa));
|
||||
@@ -395,7 +395,7 @@ static noinline void check_reserve(struct xarray *xa)
|
||||
|
||||
/* Can iterate through a reserved entry */
|
||||
xa_store_index(xa, 5, GFP_KERNEL);
|
||||
xa_reserve(xa, 6, GFP_KERNEL);
|
||||
XA_BUG_ON(xa, xa_reserve(xa, 6, GFP_KERNEL) != 0);
|
||||
xa_store_index(xa, 7, GFP_KERNEL);
|
||||
|
||||
xa_for_each(xa, index, entry) {
|
||||
|
Reference in New Issue
Block a user