Re: [PATCHv3 1/1] Documentation: describe how to add a system call

From
Pavel Machek <hidden>
Date
2015-08-05 16:21:37
Also in
lkml
Reply to
David Drysdale, 2015-07-31
Hi!
Add a document describing the process of adding a new system call,
including the need for a flags argument for future compatibility, and
covering 32-bit/64-bit concerns (albeit in an x86-centric way).

Signed-off-by: David Drysdale <redacted>
Reviewed-by: Michael Kerrisk <redacted>
Reviewed-by: Eric B Munson <redacted>
Reviewed-by: Kees Cook <redacted>
Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
---
 Documentation/adding-syscalls.txt | 531 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 531 insertions(+)
 create mode 100644 Documentation/adding-syscalls.txt
We usually align documentation to less than 80 columns, afaict.
quoted hunk ↗ jump to hunk
+call.  To make sure that userspace programs can safely use flags between kernel
+versions, check whether the flags value holds any unknown flags, and reject the
+sycall (with EINVAL) if it does:
syscall?
+New system call proposals, like any change to the kernel's API, should always
+be cc'ed to linux-api@vger.kernel.org
. at and of sentence?
quoted hunk ↗ jump to hunk
+System Calls Returning Elsewhere
+--------------------------------
+
+For most system calls, once the system call is complete the user program
+continues exactly where it left off -- at the next instruction, with the same
+stack and registers as before the system call, and with the same virtual
+memory space.
Umm. Normally we place return value in register. And I'm not sure.. do
syscalls preserve registers that are normally caller-clobbered in the ABI?

Thanks,
									Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Thread (5 messages) 5 messages, 3 authors, last reply 2015-08-10
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help