From: David Marchand <david.marchand@redhat.com> To: Stephen Hemminger <stephen@networkplumber.org> Cc: dev <dev@dpdk.org>, "Burakov, Anatoly" <anatoly.burakov@intel.com>, dpdk stable <stable@dpdk.org> Subject: Re: [dpdk-stable] [PATCH] mem: fix incorrect munmap in error unwind Date: Tue, 7 Jan 2020 09:43:17 +0100 Message-ID: <CAJFAV8wrYNJu+-hDMBZ=2K68f7NnaboqR6vQUDtcu88P1jskqQ@mail.gmail.com> (raw) In-Reply-To: <20200106205553.3696-1-stephen@networkplumber.org> On Mon, Jan 6, 2020 at 9:56 PM Stephen Hemminger <stephen@networkplumber.org> wrote: > > The loop to unwind existing mmaps was only unmapping the > first segment. > > Also, remove obvious redundant assignment. > > Fixes: 66cc45e293ed ("mem: replace memseg with memseg lists") > Cc: anatoly.burakov@intel.com > Cc: stable@dpdk.org > Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> > --- > lib/librte_eal/linux/eal/eal_memory.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/lib/librte_eal/linux/eal/eal_memory.c b/lib/librte_eal/linux/eal/eal_memory.c > index 43e4ffc757bd..cf5b2433614b 100644 > --- a/lib/librte_eal/linux/eal/eal_memory.c > +++ b/lib/librte_eal/linux/eal/eal_memory.c > @@ -1967,9 +1967,8 @@ eal_legacy_hugepage_attach(void) > close(fd); > error: > /* map all segments into memory to make sure we get the addrs */ This looks like a copy of the same loop from a few lines before in the same function. The comment can be removed. > - cur_seg = 0; > for (cur_seg = 0; cur_seg < i; cur_seg++) { > - struct hugepage_file *hf = &hp[i]; > + struct hugepage_file *hf = &hp[cur_seg]; > size_t map_sz = hf->size; > void *map_addr = hf->final_va; > map_addr and map_sz are unnecessary. We should be safe with dereferencing hp if i != 0, but still how about: error: if (hp != NULL && hp != MAP_FAILED) { unsigned int cur_seg; for (cur_seg = 0; cur_seg < i; cur_seg++) munmap(hp[cur_seg].final_va, hp[cur_seg].size); munmap(hp, size); } if (fd_hugepage >= 0) close(fd_hugepage); return -1; -- David Marchand
next prev parent reply other threads:[~2020-01-07 8:43 UTC|newest] Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-01-06 20:55 Stephen Hemminger 2020-01-07 8:43 ` David Marchand [this message] 2020-01-07 16:15 ` Burakov, Anatoly 2020-01-22 17:06 ` [dpdk-stable] [PATCH v2] " Stephen Hemminger 2020-02-06 14:17 ` Thomas Monjalon
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='CAJFAV8wrYNJu+-hDMBZ=2K68f7NnaboqR6vQUDtcu88P1jskqQ@mail.gmail.com' \ --to=david.marchand@redhat.com \ --cc=anatoly.burakov@intel.com \ --cc=dev@dpdk.org \ --cc=stable@dpdk.org \ --cc=stephen@networkplumber.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
patches for DPDK stable branches This inbox may be cloned and mirrored by anyone: git clone --mirror https://inbox.dpdk.org/stable/0 stable/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 stable stable/ https://inbox.dpdk.org/stable \ stable@dpdk.org public-inbox-index stable Example config snippet for mirrors. Newsgroup available over NNTP: nntp://inbox.dpdk.org/inbox.dpdk.stable AGPL code for this site: git clone https://public-inbox.org/public-inbox.git