Re: [PATCH] unshare: Cleanup up the sys_unshare interface before we are committed.

From: Michael Kerrisk
Date: Thu Mar 16 2006 - 18:31:43 EST


[I seem to have had a send problem with the previous version of
this message, so this is a slightly modified resend]

Linus,

> On Thu, 16 Mar 2006, Andrew Morton wrote:
> >
> > iirc there was some discussion about this and it was explicitly decided
> > to keep the CLONE flags.
> >
> > Maybe Janak or Linus can comment?
>
> My personal opinion is that having a different set of flags is more
> confusing

How is it confusing? And who is it confusing for?

It will potentially require kernel developers to think for just
a moment about what is going on. But why care about them --
they don't have to *use* this interface; userland programmers do.

I have tried to argue in the clearest way I can that the current
interface (uschare(CLONE_*) is confusing for *users* of this API.
Do you care about the interface that is inflicted on users?

When you give users an interface with the same name, they
expect it to do the same thing. When their expectations are
broken, they write bugs. There are already precedents,
with much less justification, for defining separate flag names
for different interfaces. For example, poll() uses constants
with names of the form POLL*, while epoll uses constant
with *EXACTLY* the same meanings, but named EPOLL*.

> and likely to result in problems later than having the same
> ones.

What problems do you think can occur? And what happens on the
day when unshare() needs a flag that clone() does not have?

> Regardless, I'm not touching this for 2.6.16 any more,

By which time, the discussion is over. Since "we don't
break userspace", we can't (shouldn't) reverse whatever goes
into 2.6.16.

Cheers,

Michael

--
Michael Kerrisk
maintainer of Linux man pages Sections 2, 3, 4, 5, and 7

Want to help with man page maintenance?
Grab the latest tarball at
ftp://ftp.win.tue.nl/pub/linux-local/manpages/,
read the HOWTOHELP file and grep the source
files for 'FIXME'.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/