Tested-by: Marvin Liu <yong....@intel.com>

> -----Original Message-----
> From: Burakov, Anatoly
> Sent: Thursday, May 03, 2018 6:11 PM
> To: dev@dpdk.org
> Cc: Liu, Yong <yong....@intel.com>; Burakov, Anatoly
> <anatoly.bura...@intel.com>
> Subject: [PATCH 1/3] mem: fix index for unmapping segments on failure
> 
> Segment index was calculated incorrectly, causing free_seg to
> attempt to free segments that do not exist.
> 
> Fixes: a5ff05d60fc5 ("mem: support unmapping pages at runtime")
> Cc: anatoly.bura...@intel.com
> 
> Signed-off-by: Anatoly Burakov <anatoly.bura...@intel.com>
> ---
>  lib/librte_eal/linuxapp/eal/eal_memalloc.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/lib/librte_eal/linuxapp/eal/eal_memalloc.c
> b/lib/librte_eal/linuxapp/eal/eal_memalloc.c
> index 360d8f7..c441c89 100644
> --- a/lib/librte_eal/linuxapp/eal/eal_memalloc.c
> +++ b/lib/librte_eal/linuxapp/eal/eal_memalloc.c
> @@ -735,8 +735,7 @@ alloc_seg_walk(const struct rte_memseg_list *msl, void
> *arg)
>                                               &cur_msl->memseg_arr;
> 
>                               tmp = rte_fbarray_get(arr, j);
> -                             if (free_seg(tmp, wa->hi, msl_idx,
> -                                             start_idx + j)) {
> +                             if (free_seg(tmp, wa->hi, msl_idx, j)) {
>                                       RTE_LOG(ERR, EAL, "Cannot free page\n");
>                                       continue;
>                               }
> --
> 2.7.4

Reply via email to