mq on kqueue broken after upgrade to FreeBSD 11
Alexander Kabaev
kabaev at gmail.com
Fri Sep 30 22:44:27 UTC 2016
On Fri, 30 Sep 2016 18:20:06 +0300
Konstantin Belousov <kostikbel at gmail.com> wrote:
> On Fri, Sep 30, 2016 at 06:52:52AM -0500, Lewis Donzis wrote:
> >
> > > On Sep 30, 2016, at 4:45 AM, Konstantin Belousov
> > > <kostikbel at gmail.com> wrote: Where was a discussion about the
> > > function presence being the mistake ?
> >
> > I think it was here:
> > https://lists.freebsd.org/pipermail/freebsd-current/2015-November/058706.html
> >
> > which was just about a year ago. Perhaps I???m reading it wrong,
> > but it seems like the implication is that removing the symbol from
> > being exported was a "fix", where DE says "Why do the tests in
> > tests/sys/mqueue/ try to use non-public APIs?" and then later,
> > "symbol versioning for librt was broken and leaking symbols that
> > shouldn't have been leaked."
> I added Daniel to Cc:. I think that the issue you referenced is
> somewhat different. The r291439 commit restored symbol versioning,
> i.e. before it, all symbols were accessible. Right now we are
> discussing the merits of making one symbol accessible, which was
> removed from the export table as a side effect of the fix. In other
> words, if at the time of r291439 the symbol was present in the public
> export list, your code would not note the fix.
>
> >
> > > In r291439, symbol versioning for librt was fixed, and apparently
> > > __mq_oshandle() is not present in the global symbols list for
> > > librt. I suspect that this is an erronous ommission, since the
> > > function' declaration is present in the mqueue.h header and it is
> > > used by some mqueue tests.
> > >
> > > As such, I believe that exporting it is the intended option there.
> > > The following patch should fix the problem for you.
> >
> > That makes sense, and appreciate the patch, but
> > just to be clear, does your change get committed so that we won???t
> > have to re-apply it after future updates/upgrades?
> As I stated, my opinion is that this symbol can be usefully exported.
> Its name is in implementation-private namespace, and there are uses
> where access to the mqueue fd (or to the timer id) gives more
> flexibility and significantly reduces the amount of code.
>
> Unless there appear strong objections against the export, I will
> commit the patch, sure.
No objection, but possible suggestion: if the primary use of this
symbol is for tests and nothing else, maybe it does belong in
FBSDprivate_1.0 FBSDprivate_1.0 section instead?
--
Alexander Kabaev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 949 bytes
Desc: ЦиÑÑÐ¾Ð²Ð°Ñ Ð¿Ð¾Ð´Ð¿Ð¸ÑÑ OpenPGP
URL: <http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20160930/f507b933/attachment.sig>
More information about the freebsd-arch
mailing list