On Mon, Nov 19, 2018 at 11:32:39AM +0100, Christian Brauner wrote: > > +/** > + * sys_procfd_signal - send a signal to a process through a process file > + * descriptor > + * @fd: the file descriptor of the process > + * @sig: signal to be sent > + * @info: the signal info > + * @flags: future flags to be passed > + */ > +SYSCALL_DEFINE4(procfd_signal, int, fd, int, sig, siginfo_t __user *, info, > + int, flags) > +{ Can I just register an objection here that I think using a syscall just for this is silly? My understanding is that the concern is that some code might do: unknown_fd = recv_fd(); ioctl(unknown_fd, SOME_IOCTL, NULL); // where SOME_IOCTL == PROC_FD_KILL // whoops, unknown_fd was a procfd and we killed a task! In my experience when writing fd sending/receiving code, the sender and receiver are fairly tightly coupled. Has anyone ever actually fixed a bug where they had an fd that they lost track of what "type" it was and screwed up like this? It seems completely theoretical to me. The ioctl() approach has the benefit of being extensible. Adding a syscall means that everyone has to do all the boilerplate for each new pid op in the kernel, arches, libc, strace, etc. Tycho