Lines Matching refs:that
23 userspace that something has happened, then returning a new file
25 poll/select/epoll to receive that notification.
26 - However, operations that don't map to read(2)/write(2)-like operations
31 more appropriate. However, access to these mechanisms requires that the
37 fcntl(2) is a multiplexing system call that hides a lot of complexity, so
61 For simpler system calls that only take a couple of arguments, the preferred
63 system call. To make sure that userspace programs can safely use flags
70 (If no flags values are used yet, check that the flags argument is zero.)
72 For more sophisticated system calls that involve a larger number of arguments,
74 that is passed in by pointer. Such a structure can cope with future extension
84 As long as any subsequently added field, say param_4, is designed so that a
89 code should check that any memory beyond the size of the structure that it
90 expects is zero (effectively checking that param_4 == 0).
103 should use a file descriptor as the handle for that object -- don't invent a
108 flags argument should include a value that is equivalent to setting O_CLOEXEC
114 numbering space of O_* flags that is fairly full.)
117 what it means to use the poll(2) family of system calls on that file
119 normal way for the kernel to indicate to userspace that an event has
142 within a file, make its type loff_t so that 64-bit offsets can be supported
148 capability bit that governs related functionality, but try to avoid combining
155 process, it should be restricted (using a call to ptrace_may_access()) so that
159 Finally, be aware that some non-x86 architectures have an easier time if
160 system call parameters that are explicitly 64-bit fall on odd-numbered
163 structure that's passed in by pointer.)
198 include/linux/syscalls.h, marked as asmlinkage to match the way that system
212 note that if multiple new system calls are added in the same merge window,
220 Your new kernel functionality, and the system call that controls it, should
229 - Double check that the kernel still builds with the new CONFIG option turned
232 To summarize, you need a commit that includes:
270 so needs to parse areas of (__user) memory that could hold either 32-bit or
279 The second situation that requires a compatibility layer is if one of the
280 system call's arguments has a type that is explicitly 64-bit even on a 32-bit
281 architecture, for example loff_t or __u64. In this case, a value that arrives
285 (Note that a system call argument that's a pointer to an explicit 64-bit type
298 include/linux/compat.h, marked as asmlinkage to match the way that system
303 If the system call involves a structure that is laid out differently on 32-bit
307 type that corresponds to the type in struct xyzzy_args. The
351 column to indicate that a 32-bit userspace program running on a 64-bit kernel
362 arch/x86/entry/syscalls/syscall_64.tbl is split so that x32 programs hit the
373 In either case, you should check that the types involved in your argument
395 that save/restore additional registers and invoke the real system call entry
415 table will also need to invoke a stub that calls on to the compat_sys_
418 For completeness, it's also nice to set up a mapping so that user-mode Linux
431 occasional exception that may need updating for your particular system call.
434 functions that classify some special types of system call -- specifically
439 More generally, if there is an existing system call that is analogous to your
458 example, check that it works when compiled as an x86_64 (-m64), x86_32 (-m32)
488 - Pair of LWN articles from David Drysdale that describe the system call
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
506 - Suggestion from Thomas Gleixner that x86 wire-up should be in a separate
508 - Suggestion from Greg Kroah-Hartman that it's good for new system calls to
512 - Suggestion from Ingo Molnar that system calls that involve multiple
523 - Recommendation from Greg Kroah-Hartman that unknown flags should be
525 - Recommendation from Linus Torvalds that x32 system calls should prefer