public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Josh Triplett <josh@joshtriplett.org>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>, "Theodore Ts'o" <tytso@mit.edu>,
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
	"Richard W.M. Jones" <rjones@redhat.com>,
	linux-kernel@vger.kernel.org,
	Thomas Gleixner <tglx@linutronix.de>,
	mingo@redhat.com, Andrew Morton <akpm@linux-foundation.org>,
	luto@kernel.org, viro@zeniv.linux.org.uk, zab <zab@redhat.com>,
	emunson@akamai.com,
	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
	Andrea Arcangeli <aarcange@redhat.com>,
	Pavel Emelyanov <xemul@parallels.com>,
	sfr@canb.auug.org.au, Milosz Tanski <milosz@adfin.com>,
	rostedt <rostedt@goodmis.org>,
	arnd@arndb.de, ebiederm@xmission.com,
	gorcunov <gorcunov@openvz.org>,
	iulia manda21 <iulia.manda21@gmail.com>,
	dave hansen <dave.hansen@linux.intel.com>,
	mguzik <mguzik@redhat.com>,
	adobriyan@gmail.com, Davidlohr Bueso <dave@stgolabs.net>,
	linux-api <linux-api@vger.kernel.org>,
	gorcunov@gmail.com, fw@deneb.enyo.de,
	Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [PATCH v2 0/2] vfs: Define new syscall getumask.
Date: Sun, 17 Apr 2016 19:12:59 -0700	[thread overview]
Message-ID: <20160418021259.GB16600@x> (raw)
In-Reply-To: <20160418010925.GA7800@kroah.com>

On Mon, Apr 18, 2016 at 10:09:25AM +0900, Greg KH wrote:
> On Sun, Apr 17, 2016 at 05:38:24PM -0700, H. Peter Anvin wrote:
> > On 04/13/16 19:13, Theodore Ts'o wrote:
> > > 
> > > One other reason to suggest using a /proc file is that you're not at
> > > the mercy of the glibc folks to wire up a new system call.  (Glibc has
> > > been refusing to wire up getrandom(2), for example.   Grrrr.....)
> > > 
> > 
> > This brings right back up the libinux idea.  There are continued
> > concerns about type compatibility, but saying "oh, use syscall(3)
> > instead" has worse properties than a Linux-kernel-team maintained
> > libinux.  Last I heard the glibc team had (reluctantly?) agreed to do
> > something to deal with linux-specific system calls, but last I heard
> > nothing had happened.  The last discussion I see on the glibc mailing
> > list dates back to November, and that thread seems to have died from
> > bikeshedding, again.
> > 
> > There aren't a *lot* of such system calls, but even in that thread the
> > "oh, only two applications need this, let them use syscall(3)" seems to
> > remain.
> 
> And only 2 applications will continue to use it because no one wants to
> write syscall() wrappers for their individual applications, so it's a
> vicious cycle :(
> 
> I really like the 'libinux' idea, did anyone every hack up a first-pass
> at this?  And I'm guessing we have more syscalls now that would need to
> be added (like getrandom(), but that shouldn't be too difficult.

Personally, I'd suggest that libinux should wire up *all* (non-obsolete)
syscalls, not just those that haven't already been exposed via any
particular libc implementation.  Each such syscall function would have
minimal overhead, since unlike libc these wrappers would not have any
special handling (other than use of the vdso) and would directly map to
the kernel syscall signature.  Given a standard prefix like sys_ or
linux_, that would provide a clear distinction between direct-syscall
functions and libc functions, and avoid any future conflict if libc adds
a function named the same as the syscall.

As a random example, sys_getpid() would *always* call the getpid
syscall, rather than reading a cache within the library.  (And
sys_gettid would call the gettid syscall, rather than failing to exist.)

  parent reply	other threads:[~2016-04-18  2:13 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-13 12:57 [PATCH v2 0/2] vfs: Define new syscall getumask Richard W.M. Jones
2016-04-13 12:57 ` [PATCH v2 1/2] " Richard W.M. Jones
2016-04-13 13:20   ` Cyrill Gorcunov
2016-04-13 13:57     ` Richard W.M. Jones
2016-04-13 14:02       ` Christoph Hellwig
2016-04-13 15:27       ` Mathieu Desnoyers
2016-04-13 12:57 ` [PATCH v2 2/2] x86: Wire up new getumask system call on x86 Richard W.M. Jones
2016-04-13 13:59 ` [PATCH v2 0/2] vfs: Define new syscall getumask Greg KH
2016-04-14  3:47   ` Steven Rostedt
2016-04-14 19:26     ` Greg KH
2016-04-13 15:39 ` Mathieu Desnoyers
2016-04-13 21:01   ` Mathieu Desnoyers
2016-04-14  2:13     ` Theodore Ts'o
2016-04-18  0:38       ` H. Peter Anvin
2016-04-18  1:09         ` Greg KH
2016-04-18  2:02           ` H. Peter Anvin
2016-04-18  2:12           ` Josh Triplett [this message]
2016-04-18  2:15             ` H. Peter Anvin
2016-04-18  2:37               ` Josh Triplett
2016-04-18  3:00                 ` H. Peter Anvin
2016-04-18 11:39                   ` Theodore Ts'o
2016-04-14 17:56     ` Andy Lutomirski
2016-04-13 15:41 ` Colin Walters
2016-04-13 16:03   ` Richard W.M. Jones
2016-04-18  1:42   ` H. Peter Anvin
2016-04-18  1:57     ` Josh Triplett
2016-04-18  9:14       ` Richard W.M. Jones
2016-04-18 10:04         ` H. Peter Anvin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160418021259.GB16600@x \
    --to=josh@joshtriplett.org \
    --cc=aarcange@redhat.com \
    --cc=adobriyan@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=dave.hansen@linux.intel.com \
    --cc=dave@stgolabs.net \
    --cc=ebiederm@xmission.com \
    --cc=emunson@akamai.com \
    --cc=fw@deneb.enyo.de \
    --cc=gorcunov@gmail.com \
    --cc=gorcunov@openvz.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=hpa@zytor.com \
    --cc=iulia.manda21@gmail.com \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@kernel.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mguzik@redhat.com \
    --cc=milosz@adfin.com \
    --cc=mingo@redhat.com \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=rjones@redhat.com \
    --cc=rostedt@goodmis.org \
    --cc=sfr@canb.auug.org.au \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=tytso@mit.edu \
    --cc=viro@zeniv.linux.org.uk \
    --cc=xemul@parallels.com \
    --cc=zab@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox