Lines Matching refs:new

4 This document describes what's involved in adding a new system call to the
12 The first thing to consider when adding a new system call is whether one of
19 object, it may make more sense to create a new filesystem or device. This
20 also makes it easier to encapsulate the new functionality in a kernel module
22 - If the new functionality involves operations where the kernel notifies
23 userspace that something has happened, then returning a new file
29 - If you're just exposing runtime system information, a new node in sysfs
38 this option is best for when the new function is closely analogous to
39 existing fcntl(2) functionality, or the new functionality is very simple
51 A new system call forms part of the API of the kernel, and has to be supported
102 If your new system call allows userspace to refer to a kernel object, it
104 new type of userspace object handle when the kernel already has mechanisms and
107 If your new xyzzy(2) system call does return a new file descriptor, then the
109 on the new FD. This makes it possible for userspace to close the timing
116 If your system call returns a new file descriptor, you should also consider
122 If your new xyzzy(2) system call involves a filename argument:
141 If your new xyzzy(2) system call involves a parameter describing an offset
145 If your new xyzzy(2) system call involves privileged functionality, it needs
151 particular, avoid adding new uses of the already overly-general CAP_SYS_ADMIN
154 If your new xyzzy(2) system call manipulates a process other than the calling
169 To make new system calls easy to review, it's best to divide up the patchset
175 - Wiring up of the new system call for one particular architecture, usually
177 - A demonstration of the use of the new system call in userspace via a
179 - A draft man-page for the new system call, either as plain text in the
189 The main entry point for your new xyzzy(2) system call will be called
194 this macro allows metadata about the new system call to be made available for
197 The new entry point also needs a corresponding function prototype, in
205 new system call to the generic list by adding an entry to the list in
212 note that if multiple new system calls are added in the same merge window,
213 your new syscall number may get adjusted to resolve conflicts.
216 call, returning -ENOSYS. Add your new system call here too:
220 Your new kernel functionality, and the system call that controls it, should
222 it. As usual for new CONFIG options:
224 - Include a description of the new functionality and system call controlled
227 - Make any new source files implementing the function dependent on the CONFIG
229 - Double check that the kernel still builds with the new CONFIG option turned
234 - CONFIG option for the new function, normally in init/Kconfig
244 To wire up your new system call for x86 platforms, you need to update the
245 master syscall tables. Assuming your new system call isn't special in some
357 the new system call. There's a choice here: the layout of the arguments
436 multiplexor (socketcall) operations. If your new system call is analogous to
440 new system call, it's worth doing a kernel-wide grep for the existing system
447 A new system call should obviously be tested; it is also useful to provide
450 program in a new directory under tools/testing/selftests/.
452 For a new system call, there will obviously be no libc wrapper function and so
454 involves a new userspace-visible structure, the corresponding header will need
461 For more extensive and thorough testing of new functionality, you should also
471 All new system calls should come with a complete man page, ideally using groff
499 - LWN article from Michael Kerrisk on avoiding new uses of CAP_SYS_ADMIN:
501 - Recommendation from Andrew Morton that all related information for a new
504 - Recommendation from Michael Kerrisk that a new system call should come with
508 - Suggestion from Greg Kroah-Hartman that it's good for new system calls to
510 - Discussion from Michael Kerrisk of new system call vs. prctl(2) extension: