<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Looks like it's not needed on it's own, because the other patch that it fixes in the commit message:</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
&quot;Fixes: c68ade41961d4 (&quot;radix-tree: save previous gfp_t tags in radix tree&quot;</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Is marked as dropped in the table.</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
So i guess we can drop this one too.<br>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Konstantin Khorenko &lt;khorenko@virtuozzo.com&gt;<br>
<b>Sent:</b> Monday, June 7, 2021 7:14 PM<br>
<b>To:</b> Valeriy Vdovin &lt;Valeriy.Vdovin@virtuozzo.com&gt;<br>
<b>Cc:</b> devel@openvz.org &lt;devel@openvz.org&gt;<br>
<b>Subject:</b> Re: [VZ8 PATCH] lib/radix-tree: fixup for BUG_ON in __radix_tree_insert()</font>
<div>&nbsp;</div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">Valera, please recheck if we need it in vz8.<br>
i guess - no.<br>
<br>
--<br>
Best regards,<br>
<br>
Konstantin Khorenko,<br>
Virtuozzo Linux Kernel Team<br>
<br>
On 06/04/2021 04:01 PM, Valeriy Vdovin wrote:<br>
&gt; From: Vasily Averin &lt;vvs@virtuozzo.com&gt;<br>
&gt;<br>
&gt; __radix_tree_insert() triggers BUG_ON if root have set any prev tag<br>
&gt; bits. Let's ignore prev tag bits.<br>
&gt;<br>
&gt; Fixes: c68ade41961d4 (&quot;radix-tree: save previous gfp_t tags in radix tree<br>
&gt; for dirty memory accounting&quot;)<br>
&gt;<br>
&gt; <a href="https://jira.sw.ru/browse/PSBM-100579">https://jira.sw.ru/browse/PSBM-100579</a><br>
&gt; Signed-off-by: Vasily Averin &lt;vvs@virtuozzo.com&gt;<br>
&gt; (cherry-picked from 5ddc0f15746712d643895dd4756e330f4a26ffeb)<br>
&gt; <a href="https://jira.sw.ru/browse/PSBM-127849">https://jira.sw.ru/browse/PSBM-127849</a><br>
&gt; Signed-off-by: Valeriy Vdovin &lt;valeriy.vdovin@virtuozzo.com&gt;<br>
&gt; ---<br>
&gt;&nbsp; include/linux/radix-tree.h | 2 ++<br>
&gt;&nbsp; lib/radix-tree.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | 2 +-<br>
&gt;&nbsp; 2 files changed, 3 insertions(+), 1 deletion(-)<br>
&gt;<br>
&gt; diff --git a/include/linux/radix-tree.h b/include/linux/radix-tree.h<br>
&gt; index d9f3cf0a4c4d..fe681dd5c06b 100644<br>
&gt; --- a/include/linux/radix-tree.h<br>
&gt; +++ b/include/linux/radix-tree.h<br>
&gt; @@ -75,6 +75,8 @@ static inline bool radix_tree_is_internal_node(void *ptr)<br>
&gt;&nbsp; #define RADIX_TREE_TAG_LONGS XA_MARK_LONGS<br>
&gt;&nbsp; #endif<br>
&gt;<br>
&gt; +#define RADIX_ROOT_TAG_MASK&nbsp;&nbsp;&nbsp; (((1&lt;&lt;RADIX_TREE_MAX_TAGS)-1) &lt;&lt; __GFP_BITS_SHIFT)<br>
&gt; +<br>
&gt;&nbsp; #define RADIX_TREE_INDEX_BITS&nbsp; (8 /* CHAR_BIT */ * sizeof(unsigned long))<br>
&gt;&nbsp; #define RADIX_TREE_MAX_PATH (DIV_ROUND_UP(RADIX_TREE_INDEX_BITS, \<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RADIX_TREE_MAP_SHIFT))<br>
&gt; diff --git a/lib/radix-tree.c b/lib/radix-tree.c<br>
&gt; index 310e89cc0f92..28591214be53 100644<br>
&gt; --- a/lib/radix-tree.c<br>
&gt; +++ b/lib/radix-tree.c<br>
&gt; @@ -167,7 +167,7 @@ static inline int root_tag_get(const struct radix_tree_root *root, unsigned tag)<br>
&gt;<br>
&gt;&nbsp; static inline unsigned root_tags_get(const struct radix_tree_root *root)<br>
&gt;&nbsp; {<br>
&gt; -&nbsp;&nbsp;&nbsp;&nbsp; return (__force unsigned)root-&gt;xa_flags &gt;&gt; ROOT_TAG_SHIFT;<br>
&gt; +&nbsp;&nbsp;&nbsp;&nbsp; return (__force unsigned)(root-&gt;xa_flags &amp; RADIX_ROOT_TAG_MASK) &gt;&gt; __GFP_BITS_SHIFT;<br>
&gt;&nbsp; }<br>
&gt;<br>
&gt;&nbsp; static inline bool is_idr(const struct radix_tree_root *root)<br>
&gt;<br>
</div>
</span></font></div>
</body>
</html>