2022-06-06 09:10:10

by Baoquan He

[permalink] [raw]
Subject: [PATCH 2/5] mm/vmalloc: remove the redundant boundary check

In function find_va_links(), when traversing the vmap_area tree, the
comparing to check if the passed in 'va' is above or below 'tmp_va'
is redundant, assuming both 'va' and 'tmp_va' has ->va_start <= ->va_end.

Here, to simplify the checking as code change.

Signed-off-by: Baoquan He <[email protected]>
---
mm/vmalloc.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index b7a138ab7b79..c7e1634ff2b9 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -874,11 +874,9 @@ find_va_links(struct vmap_area *va,
* Trigger the BUG() if there are sides(left/right)
* or full overlaps.
*/
- if (va->va_start < tmp_va->va_end &&
- va->va_end <= tmp_va->va_start)
+ if (va->va_end <= tmp_va->va_start)
link = &(*link)->rb_left;
- else if (va->va_end > tmp_va->va_start &&
- va->va_start >= tmp_va->va_end)
+ else if (va->va_start >= tmp_va->va_end)
link = &(*link)->rb_right;
else {
WARN(1, "vmalloc bug: 0x%lx-0x%lx overlaps with 0x%lx-0x%lx\n",
--
2.34.1


2022-06-07 12:29:05

by Uladzislau Rezki

[permalink] [raw]
Subject: Re: [PATCH 2/5] mm/vmalloc: remove the redundant boundary check

On Mon, Jun 06, 2022 at 04:39:06PM +0800, Baoquan He wrote:
> In function find_va_links(), when traversing the vmap_area tree, the
> comparing to check if the passed in 'va' is above or below 'tmp_va'
> is redundant, assuming both 'va' and 'tmp_va' has ->va_start <= ->va_end.
>
> Here, to simplify the checking as code change.
>
> Signed-off-by: Baoquan He <[email protected]>
> ---
> mm/vmalloc.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/mm/vmalloc.c b/mm/vmalloc.c
> index b7a138ab7b79..c7e1634ff2b9 100644
> --- a/mm/vmalloc.c
> +++ b/mm/vmalloc.c
> @@ -874,11 +874,9 @@ find_va_links(struct vmap_area *va,
> * Trigger the BUG() if there are sides(left/right)
> * or full overlaps.
> */
> - if (va->va_start < tmp_va->va_end &&
> - va->va_end <= tmp_va->va_start)
> + if (va->va_end <= tmp_va->va_start)
> link = &(*link)->rb_left;
> - else if (va->va_end > tmp_va->va_start &&
> - va->va_start >= tmp_va->va_end)
> + else if (va->va_start >= tmp_va->va_end)
> link = &(*link)->rb_right;
> else {
> WARN(1, "vmalloc bug: 0x%lx-0x%lx overlaps with 0x%lx-0x%lx\n",
> --
> 2.34.1
>
Make sense to me: Reviewed-by: Uladzislau Rezki (Sony) <[email protected]>

--
Uladzislau Rezki