From 50cb83b3eca389e435527390884aa7d6cbf15929 Mon Sep 17 00:00:00 2001 From: Simone Piccardi Date: Thu, 15 Oct 2020 10:48:03 +0200 Subject: [PATCH 1/1] =?utf8?q?TODO=20e=20novit=C3=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- fileadv.tex | 9 ++++++++- fileio.tex | 6 ++++++ procadv.tex | 10 ++++++++-- signal.tex | 8 ++++---- 4 files changed, 26 insertions(+), 7 deletions(-) diff --git a/fileadv.tex b/fileadv.tex index c3300a6..9f4d6de 100644 --- a/fileadv.tex +++ b/fileadv.tex @@ -2788,6 +2788,9 @@ definita la macro \macro{\_GNU\_SOURCE} prima di includere \headfile{fcntl.h}. \itindbeg{file~lease} +% TODO: questa funzionalità potrebbe essere estesa vedi: +% https://lwn.net/Articles/796000/ + La prima di queste funzionalità è quella del cosiddetto \textit{file lease}; questo è un meccanismo che consente ad un processo, detto \textit{lease holder}, di essere notificato quando un altro processo, chiamato a sua volta @@ -4721,7 +4724,11 @@ caching dei dati. % TODO aggiunta MADV_WIPEONFORK dal kernel 4.14 that causes the affected memory % region to appear to be full of zeros in the child process after a fork. It % differs from the existing MADV_DONTFORK in that the address range will -% remain valid in the child (dalla notizia in https://lwn.net/Articles/733256/). +% remain valid in the child (dalla notizia in +% https://lwn.net/Articles/733256/). +% TODO aggiunte MADV_COLD e MADV_PAGEOUT dal kernel 5.4, vedi +% https://git.kernel.org/linus/9c276cc65a58 e +% https://git.kernel.org/linus/1a4e58cce84e \footnotetext{a partire dal kernel 2.6.32 è stato introdotto un meccanismo che identifica pagine di memoria identiche e le accorpa in una unica pagina diff --git a/fileio.tex b/fileio.tex index 6639ac3..8657720 100644 --- a/fileio.tex +++ b/fileio.tex @@ -1847,6 +1847,9 @@ riferimento ad una directory, tranne il caso in cui si sia specificato un \textit{pathname} assoluto, nel qual caso, come detto, il valore di \param{dirfd} sarà completamente ignorato. +% TODO: trattare openat2, introdotta con il kernel 5.6, vedi +% https://lwn.net/Articles/796868/ e https://git.kernel.org/linus/b55eef872a96 + \begin{table}[htb] \centering \footnotesize @@ -1969,6 +1972,9 @@ perché non avrebbe molto senso cambiare i permessi di un link simbolico) e pertanto l'uso della funzione è analogo a quello delle altre funzioni che non hanno l'argomento \param{flags} (e non la tratteremo esplicitamente). +% TODO: documentare l'introduzione di fchmodat4() se e quando ci sarà, vedi +% https://lwn.net/Articles/792628/ + L'altro flag comune è \const{AT\_EMPTY\_PATH}, utilizzabile a partire dal kernel 2.6.39, che consente di usare per \param{dirfd} un file descriptor associato ad un file qualunque e non necessariamente ad una directory; in diff --git a/procadv.tex b/procadv.tex index fbae613..006a844 100644 --- a/procadv.tex +++ b/procadv.tex @@ -1495,7 +1495,8 @@ alcune opzioni di controllo attivabili via \func{sysctl} o il filesystem % TODO documentare la syscall getrandom, introdotta con il kernel 3.17, vedi % http://lwn.net/Articles/606141/, ed introdotta con le glibc solo con la -% versione 2.25, vedi https://lwn.net/Articles/711013/ +% versione 2.25 con getentropy, vedi https://lwn.net/Articles/711013/ ed i +% problemi successivi vedi https://lwn.net/Articles/800509/ %\subsection{La gestione delle chiavi crittografiche} %\label{sec:keyctl_management} @@ -1888,6 +1889,9 @@ Introdotta a partire dal kernel 2.4.21, solo su PowerPC. % TODO documentare PR_SPEC_DISABLE_NOEXEC in 5.1, vedi % https://lwn.net/Articles/782511/ +% TODO documentare PR_SET_IO_FLUSHER in 5.6, vedi +% https://lwn.net/Articles/811230/ + \label{sec:prctl_operation} \end{basedescript} @@ -2220,7 +2224,9 @@ degli altri gruppi, che costituisce poi quello che viene chiamato un % TODO: trattare userfaultfd, introdotta con il 4.23, vedi -% http://man7.org/linux/man-pages/man2/userfaultfd.2.html +% http://man7.org/linux/man-pages/man2/userfaultfd.2.html, +% https://lwn.net/Articles/787308/, https://git.kernel.org/linus/57e5d4f278b9 + % TODO: trattare process_vm_readv/process_vm_writev introdotte con il kernel % 3.2, vedi http://man7.org/linux/man-pages/man2/process_vm_readv.2.html e i diff --git a/signal.tex b/signal.tex index 30fe617..0cdf0ab 100644 --- a/signal.tex +++ b/signal.tex @@ -3835,10 +3835,10 @@ tipo \type{sigjmp\_buf}, è assolutamente identica a \func{longjmp}. \label{sec:sig_pid_fd} -% TODO: trattare (qui?) pidfd_send_signal() introdotta con il kernel 5.1 vedi +% TODO: trattare (qui? oppure sopra in "Ulteriori funzioni di gestione?) +% pidfd_send_signal() introdotta con il kernel 5.1 vedi % https://lwn.net/Articles/784831/, https://lwn.net/Articles/773459/ e -% https://lwn.net/Articles/801319/ -% oppure sopra in "Ulteriori funzioni di gestione" +% https://lwn.net/Articles/801319/ % TODO: Nuova subsection sui pidfd, e le funzioni correlate, in particolare: % trattare pidfd_send_signal, aggiunta con il kernel 5.1 (vedi @@ -3848,7 +3848,7 @@ tipo \type{sigjmp\_buf}, è assolutamente identica a \func{longjmp}. % trattare pure pidfd_open() (vedi https://lwn.net/Articles/789023/) per % ottere un pid fd pollabile aggiunta con il kernel 5.3 % man pidfd_send_signal su le versioni più recenti della man pages - +% trattare pidfd_getfd aggiunta con il kernel 5.6 -- 2.30.2