]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
test_maple_tree: add more testing for mas_empty_area()
authorLiam R. Howlett <Liam.Howlett@oracle.com>
Tue, 7 Mar 2023 18:02:47 +0000 (13:02 -0500)
committerRoxana Nicolescu <roxana.nicolescu@canonical.com>
Wed, 17 May 2023 11:33:39 +0000 (13:33 +0200)
commit2c5be091151b3ed34a1eb4155df7901fedc1c569
tree9f0315f8de30f600cff32967ebba99c141bc938a
parente90e48fc8d701cbf51a03dbc4674d97a8a137892
test_maple_tree: add more testing for mas_empty_area()

BugLink: https://bugs.launchpad.net/bugs/2016877
commit 4bd6dded6318dc8e2514d74868c1f8fb38b61a60 upstream.

Test robust filling of an entire area of the tree, then test one beyond.
This is to test the walking back up the tree at the end of nodes and error
condition.  Test inspired by the reproducer code provided by Snild Dolkow.

The last test in the function tests for the case of a corrupted maple
state caused by the incorrect limits set during mas_skip_node().  There
needs to be a gap in the second last child and last child, but the search
must rule out the second last child's gap.  This would avoid correcting
the maple state to the correct max limit and return an error.

Link: https://lkml.kernel.org/r/20230307180247.2220303-3-Liam.Howlett@oracle.com
Cc: Snild Dolkow <snild@sony.com>
Link: https://lore.kernel.org/linux-mm/cb8dc31a-fef2-1d09-f133-e9f7b9f9e77a@sony.com/
Fixes: e15e06a83923 ("lib/test_maple_tree: add testing for maple tree")
Signed-off-by: Liam R. Howlett <Liam.Howlett@oracle.com>
Cc: Peng Zhang <zhangpeng.00@bytedance.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
lib/test_maple_tree.c