<div dir="ltr"><div><span style="font-family:monospace,monospace">From: Radoslaw Burny &lt;<a href="mailto:rburny@google.com">rburny@google.com</a>&gt;                                                                               </span><br></div><div><font face="monospace, monospace">Subject: [PATCH] Fix UB in choose_service_fd_base.</font></div><div><br></div><div><font face="monospace, monospace">Signed-off-by: Radoslaw Burny &lt;<a href="mailto:rburny@google.com">rburny@google.com</a>&gt;<br></font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">---</font></div><div><font face="monospace, monospace"> criu/util.c | 4 ++--</font></div><div><font face="monospace, monospace"> 1 file changed, 2 insertions(+), 2 deletions(-)</font></div><div><font face="monospace, monospace"><br></font></div><div><div><font face="monospace, monospace">diff --git a/criu/util.c b/criu/util.c</font></div><div><font face="monospace, monospace">index b19bf517..48ba09a8 100644</font></div><div><font face="monospace, monospace">--- a/criu/util.c</font></div><div><font face="monospace, monospace">+++ b/criu/util.c</font></div><div><font face="monospace, monospace">@@ -588,9 +588,9 @@ static int choose_service_fd_base(struct pstree_item *me)</font></div><div><font face="monospace, monospace">        nr += 16; /* Safety pad */</font></div><div><font face="monospace, monospace">        real_nr = nr;</font></div><div><font face="monospace, monospace"> </font></div><div><font face="monospace, monospace">-       nr /= (1024 / sizeof(void *));</font></div><div><font face="monospace, monospace">+       /* Align nr to the power of 2 for easier debugging */</font></div><div><font face="monospace, monospace">+       BUG_ON(nr &lt;= 0);</font></div><div><font face="monospace, monospace">        nr = 1 &lt;&lt; (32 - __builtin_clz(nr));</font></div><div><font face="monospace, monospace">-       nr *= (1024 / sizeof(void *));</font></div><div><font face="monospace, monospace"> </font></div><div><font face="monospace, monospace">        if (nr &gt; service_fd_rlim_cur) {</font></div><div><font face="monospace, monospace">                /* Right border is bigger, than rlim. OK, then just aligned value is enough */</font></div><div><font face="monospace, monospace">-- </font></div><div><font face="monospace, monospace">2.17.0.484.g0c8726318c-goog </font></div></div><div><br></div></div>