[dpdk-dev] [PATCH 1/3] mem: fix index for unmapping segments on failure

Liu, Yong yong.liu at intel.com
Fri May 4 10:13:01 CEST 2018


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

> -----Original Message-----
> From: Burakov, Anatoly
> Sent: Thursday, May 03, 2018 6:11 PM
> To: dev at dpdk.org
> Cc: Liu, Yong <yong.liu at intel.com>; Burakov, Anatoly
> <anatoly.burakov at 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.burakov at intel.com
> 
> Signed-off-by: Anatoly Burakov <anatoly.burakov at 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


More information about the dev mailing list