[Devel,RHEL7,COMMIT] tcache: Fix original page invalidation

Submitted by Konstantin Khorenko on Aug. 11, 2017, 1:21 p.m.

Details

Message ID 201708111321.v7BDLVJx004753@finist_cl7.x64_64.work.ct
State New
Series "tcache: Fix original page invalidation"
Headers show

Commit Message

Konstantin Khorenko Aug. 11, 2017, 1:21 p.m.
The commit is pushed to "branch-rh7-3.10.0-514.26.1.vz7.35.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh7-3.10.0-514.26.1.vz7.35.3
------>
commit 67e02be01c9e2b9c43e508a38604ac81cc3b4656
Author: Kirill Tkhai <ktkhai@virtuozzo.com>
Date:   Fri Aug 11 17:21:30 2017 +0400

    tcache: Fix original page invalidation
    
    This branch is for the cases, when tcache_attach_page()
    fails. If so, it's need to free just allocated tcache
    page, because we are not going to use it anymore. But
    original page is freed instead, that is wrong. Fix that.
    
    https://jira.sw.ru/browse/PSBM-69852
    
    Fixes: ba2ea161f25b "mm/tcache: use lockless lookups in tcache's page tree"
    Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
---
 mm/tcache.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Patch hide | download patch | download mbox

diff --git a/mm/tcache.c b/mm/tcache.c
index a03ed66..458d3c4 100644
--- a/mm/tcache.c
+++ b/mm/tcache.c
@@ -1192,7 +1192,7 @@  static int tcache_cleancache_put_page(int pool_id,
 			copy_highpage(cache_page, page);
 			if (tcache_attach_page(node, index, cache_page)) {
 				if (put_page_testzero(cache_page))
-					tcache_put_page(page);
+					tcache_put_page(cache_page);
 			} else
 				ret = 1;
 		}

Comments

Konstantin Khorenko Aug. 11, 2017, 1:22 p.m.
Please consider to create a ReadyKernel patch for it.

https://readykernel.com/

--
Best regards,

Konstantin Khorenko,
Virtuozzo Linux Kernel Team

On 08/11/2017 04:21 PM, Konstantin Khorenko wrote:
> The commit is pushed to "branch-rh7-3.10.0-514.26.1.vz7.35.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
> after rh7-3.10.0-514.26.1.vz7.35.3
> ------>
> commit 67e02be01c9e2b9c43e508a38604ac81cc3b4656
> Author: Kirill Tkhai <ktkhai@virtuozzo.com>
> Date:   Fri Aug 11 17:21:30 2017 +0400
>
>     tcache: Fix original page invalidation
>
>     This branch is for the cases, when tcache_attach_page()
>     fails. If so, it's need to free just allocated tcache
>     page, because we are not going to use it anymore. But
>     original page is freed instead, that is wrong. Fix that.
>
>     https://jira.sw.ru/browse/PSBM-69852
>
>     Fixes: ba2ea161f25b "mm/tcache: use lockless lookups in tcache's page tree"
>     Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
> ---
>  mm/tcache.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/tcache.c b/mm/tcache.c
> index a03ed66..458d3c4 100644
> --- a/mm/tcache.c
> +++ b/mm/tcache.c
> @@ -1192,7 +1192,7 @@ static int tcache_cleancache_put_page(int pool_id,
>  			copy_highpage(cache_page, page);
>  			if (tcache_attach_page(node, index, cache_page)) {
>  				if (put_page_testzero(cache_page))
> -					tcache_put_page(page);
> +					tcache_put_page(cache_page);
>  			} else
>  				ret = 1;
>  		}
> .
>