> -----Original Message-----
> From: David Marchand <[email protected]>
> Sent: Wednesday, March 11, 2020 4:16 PM
> To: Van Haaren, Harry <[email protected]>
> Cc: dev <[email protected]>; Aaron Conole <[email protected]>; dpdk stable
> <[email protected]>
> Subject: Re: [PATCH v2] eal/service: fix exit by resetting service lcores
>
> On Wed, Mar 11, 2020 at 3:39 PM Harry van Haaren
> <[email protected]> wrote:
> >
> > This commit releases all service cores from their role,
> > returning them to ROLE_RTE on rte_service_finalize().
> >
> > This may fix an issue relating to the service cores causing
>
> You don't seem convinced.
Apologies - kept from v1 of commit message, should have removed "may" for v2.
Issue was that service cores can remain running while main thread
has freed service-core memory, later racy return of service lcore
then causes use-after-free.
This commit fixes it by
A) resetting all service cores to return
B) waiting for them to return
C) freeing memory
I am confident in the fix.
> > a race-condition on eal_cleanup(), where the service core
> > could still be executing while the main thread has already
> > free-d the service memory, leading to a segfault.
> >
> > Fixes: 21698354c832 ("service: introduce service cores concept")
> > Cc: [email protected]
> >
> > Reported-by: David Marchand <[email protected]>
> > Reported-by: Aaron Conole <[email protected]>
> > Signed-off-by: David Marchand <[email protected]>
> > Signed-off-by: Harry van Haaren <[email protected]>
> > Acked-by: Aaron Conole <[email protected]>
>
> I am okay with merging this so that we stop getting random failures of the
> ut. I will let this patch on the ml and apply on Friday at worse.
>
> Please take the time to reply to my question.
> Thanks.
Thanks, -Harry