Valera, please recheck if we need it in vz8.
i guess - no.

--
Best regards,

Konstantin Khorenko,
Virtuozzo Linux Kernel Team

On 06/04/2021 04:01 PM, Valeriy Vdovin wrote:
From: Vasily Averin <[email protected]>

__radix_tree_insert() triggers BUG_ON if root have set any prev tag
bits. Let's ignore prev tag bits.

Fixes: c68ade41961d4 ("radix-tree: save previous gfp_t tags in radix tree
for dirty memory accounting")

https://jira.sw.ru/browse/PSBM-100579
Signed-off-by: Vasily Averin <[email protected]>
(cherry-picked from 5ddc0f15746712d643895dd4756e330f4a26ffeb)
https://jira.sw.ru/browse/PSBM-127849
Signed-off-by: Valeriy Vdovin <[email protected]>
---
 include/linux/radix-tree.h | 2 ++
 lib/radix-tree.c           | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/linux/radix-tree.h b/include/linux/radix-tree.h
index d9f3cf0a4c4d..fe681dd5c06b 100644
--- a/include/linux/radix-tree.h
+++ b/include/linux/radix-tree.h
@@ -75,6 +75,8 @@ static inline bool radix_tree_is_internal_node(void *ptr)
 #define RADIX_TREE_TAG_LONGS   XA_MARK_LONGS
 #endif

+#define RADIX_ROOT_TAG_MASK    (((1<<RADIX_TREE_MAX_TAGS)-1) << 
__GFP_BITS_SHIFT)
+
 #define RADIX_TREE_INDEX_BITS  (8 /* CHAR_BIT */ * sizeof(unsigned long))
 #define RADIX_TREE_MAX_PATH (DIV_ROUND_UP(RADIX_TREE_INDEX_BITS, \
                                          RADIX_TREE_MAP_SHIFT))
diff --git a/lib/radix-tree.c b/lib/radix-tree.c
index 310e89cc0f92..28591214be53 100644
--- a/lib/radix-tree.c
+++ b/lib/radix-tree.c
@@ -167,7 +167,7 @@ static inline int root_tag_get(const struct radix_tree_root 
*root, unsigned tag)

 static inline unsigned root_tags_get(const struct radix_tree_root *root)
 {
-       return (__force unsigned)root->xa_flags >> ROOT_TAG_SHIFT;
+       return (__force unsigned)(root->xa_flags & RADIX_ROOT_TAG_MASK) >> 
__GFP_BITS_SHIFT;
 }

 static inline bool is_idr(const struct radix_tree_root *root)

_______________________________________________
Devel mailing list
[email protected]
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to