Quoting Samuel Thibault (2016-02-23 23:04:25)
> Samuel Thibault, on Tue 23 Feb 2016 22:22:02 +0100, wrote:
> > Thomas Schwinge, on Tue 23 Feb 2016 12:02:36 +0100, wrote:
> > > > I couldn't figure out any pattern from looking at the diffs between the
> > > > respective Hurd packages' sources.
> > 
> > I've digged a bit, the difference that matters between -2 and -3
> > is about the protected payload optimization. -2 used to disable it
> > because we had issues with pflocal. -3 fixed the pflocal issue and thus
> > re-enabled the optimization.
> > 
> > So apparently there is at least another issue with it.
> 
> I have thus disabled it again at least in the Debian package, for now.

You should also be able to disable it in the kernel, just ignore
mach_port_set_protected_payload requests by making them return early.

> I'm wondering: what is supposed to happen if some translator didn't set
> an INTRAN_PAYLOAD?

You cannot specify an in-translation without also specifying the
payload version.  Though I must admit I don't know how or if that is
enforced.

The worst thing that can happen (and that happened in the pflocal case
iirc) is that some server function expected a receiver of type
mach_port_t and got a payload instead, and the compiler didn't notice
because the file implementing the server function didn't include the
generated header file.  It then went on to lookup the payload in the
hash table mapping port names to objects, which failed.

Justus

Reply via email to