projects
/
linux-2.6-microblaze.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
889a904
)
maple_tree: should get pivots boundary by type
author
Wei Yang
<richard.weiyang@gmail.com>
Sat, 12 Nov 2022 23:43:08 +0000
(23:43 +0000)
committer
Andrew Morton
<akpm@linux-foundation.org>
Wed, 1 Feb 2023 00:44:08 +0000
(16:44 -0800)
We should get pivots boundary by type. Fixes a potential overindexing of
mt_pivots[].
Link:
https://lkml.kernel.org/r/20221112234308.23823-1-richard.weiyang@gmail.com
Fixes:
54a611b60590
("Maple Tree: add new data structure")
Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
Reviewed-by: Liam R. Howlett <Liam.Howlett@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
lib/maple_tree.c
patch
|
blob
|
history
diff --git
a/lib/maple_tree.c
b/lib/maple_tree.c
index
b990cce
..
5a97639
100644
(file)
--- a/
lib/maple_tree.c
+++ b/
lib/maple_tree.c
@@
-670,12
+670,13
@@
static inline unsigned long mte_pivot(const struct maple_enode *mn,
unsigned char piv)
{
struct maple_node *node = mte_to_node(mn);
+ enum maple_type type = mte_node_type(mn);
- if (piv >= mt_pivots[
piv
]) {
+ if (piv >= mt_pivots[
type
]) {
WARN_ON(1);
return 0;
}
- switch (
mte_node_type(mn)
) {
+ switch (
type
) {
case maple_arange_64:
return node->ma64.pivot[piv];
case maple_range_64: