[PATCH 0/9 V2] idr: fix & cleanup

From: Lai Jiangshan
Date: Sat Apr 19 2014 - 07:34:49 EST


Patch1 fix a bug caused by overflow.
Patch2,3 add checks for unallocated_id.
Patch4 changes to returned error code
Patch5-9 cleanup.


Lai Jiangshan (9):
idr: fix overflow bug during maximum ID calculation at maximum height
idr: fix unexpected ID-removal when idr_remove(unallocated_id)
**^^also consider ida_remove()
idr: fix NULL pointer dereference when ida_remove(unallocated_id)
idr: fix idr_replace()'s returned error code
idr: covert BUG_ON() to WARN_ON_ONCE() if the argument is invalid.
**^^move the test into ida_remove() as tj suggested.
idr: avoid ping-pong
idr: don't need to shink the free list when idr_remove()
**^^split
idr: reduce the unneeded check in free_layer()
idr: remove useless C-PreProcessor branch
**^^new

lib/idr.c | 66 +++++++++++++++++++++---------------------------------------
1 files changed, 23 insertions(+), 43 deletions(-)

--
1.7.4.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/