Patches for https://bugzilla.samba.org/show_bug.cgi?id=11182

Michael Adam obnox at samba.org
Wed May 6 13:29:00 MDT 2015


On 2015-05-06 at 12:15 -0700, Jeremy Allison wrote:
> On Wed, May 06, 2015 at 08:53:38PM +0200, Michael Adam wrote:
> > 
> > Now I feel kind of stupid having spent my afternoon
> > reviewing the patches... ;) When I thought I was done,
> > Ira brought up one potential issue, the discussion of
> > which kept me busy until dinner time, which is why I
> > can only follow up now:
> 
> Don't feel bad. Metze specifically asked me to
> look at it, as I was the one who created the
> original tag_state_session_ptr() horror :-).

It's all well. I just needed to say it. ;)

> > In the session_shutdown helpers mentioned above,
> > compounded requests are excluded from sending
> > cancels. Ira points out that when there is a
> > compounded request in progress, the last of which
> > is a notify, and we are just at one of the earlier
> > requests when the shutdown_send is called, isn't
> > there a chance that we block indefinitely waiting
> > for the notify to vanish from the queue since it
> > in the compound and we don't send a cancel?
> 
> Let me look closely at this. Sounds right,
> but I need to study the code more.

Right.

Metze's argument (I briefly discussed with him) is that
it was this way before. And since only the last in a
compound (except for oplock breaking create) can go async
and is taken out of the compound then, we are not in danger.

But the concern is this: doesn't the introduction of the
Queue introduce a new potential for blocking (by prevent
the session from being freed waiting for the notify to disappear)?
(Which is arguably still better than crashing because
of use after free... :)

> > Attached find my reviewed version of the patchset:
> > - The session_shutdown helper is flagged with a Q(...)
> > - I have added some refactoring of an obvious code
> >   duplication added by the patches.
> >   (the removal of the code duplication is still there
> >    as separate patches for squashing with metze's original patches)
> > - I have done minor changes to some commit messages:
> >   - few typo fixes
> >   - added explanation of the session_shutdown helpers
> >   - added bug references where missing
> 
> If my autobuild goes through just add your
> fixes on top !

Ah it's in AB already - ok.
Will propose the refactoring again on top.
The commit msg fixes are not that important.

Cheers - Michael
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20150506/bcd400b8/attachment.pgp>


More information about the samba-technical mailing list