Race condition in tdb_runtime_check_for_robust_mutexes()
Ralph Boehme
slow at samba.org
Tue Mar 29 19:29:15 UTC 2016
On Tue, Mar 29, 2016 at 10:07:11PM +0300, Uri Simchoni wrote:
> On 03/29/2016 03:05 PM, Ralph Boehme wrote:
> > On Tue, Mar 29, 2016 at 01:43:08PM +0300, Uri Simchoni wrote:
> >> On 03/29/2016 01:41 PM, Ralph Boehme wrote:
> >>> On Tue, Mar 29, 2016 at 01:22:35PM +0300, Uri Simchoni wrote:
> >>>> On 03/29/2016 01:03 PM, Uri Simchoni wrote:
> >>>>> On 03/29/2016 12:52 PM, Uri Simchoni wrote:
> >>>>>> Pushed with my RB+
> >>>>>
> >>>>> ..once again with the removed unused status :)
> >>>>>
> >>>>>
> >>>> OK this is becoming embarrassing.
> >>>>
> >>>> Please review the attached - jumping to cleanup_m instead of cleanup_ma
> >>>> after pthread_sigmask().
> >>>
> >>> thanks for spotting this! Pushed.
> >>>
> >>> I was already seriously considering adding a second patch that changes
> >>> the cleanup logic to use state flags instead of gotos, eg
> >>>
> >>> bool cleanup_mutex = false;
> >>>
> >>> ret = pthread_mutex_init(...);
> >>> if (ret != 0) {
> >>> goto cleanup;
> >>> }
> >>> cleanup_mutex = true;
> >>>
> >>> ...
> >>>
> >>> cleanup:
> >>> if (cleanup_mutex) {
> >>> ...cleanup mutex...
> >>> }
> >>>
> >>> Cheerio!
> >>> -slow
> >>
> >> Seems like the thing we should do, considering the empirical evidence...
> >
> > attached. Not sure if we really want this.
> >
> > Cheerio!
> > -slow
> >
>
> I share the concern about the cost of the flags - here's a patch that
> reduces the number of flags to 2. What do you think?
interesting. :) I'll give it a closer look tomorrow.
metze aborted the autobuild of the tdb version bump so we can push
both patches together once we have a version we're happy with.
Cheerio!
-slow
More information about the samba-technical
mailing list