Varie correzioni, completata revisione capitolo sull'I/O su file
[gapil.git] / procadv.tex
index 35ce32f3ad346837180fc87206d72cb9783d3b9b..7602fe50184bbe3b49508325a40a88a200379ff6 100644 (file)
@@ -6,7 +6,7 @@ dei processi. Inizieremo con le funzioni che attengono alla gestione avanzata
 della sicurezza, passando poi a quelle relative all'analisi ed al controllo
 dell'esecuzione, e alle funzioni per le modalità avanzate di creazione dei
 processi e l'uso dei cosiddetti \textit{namespace}. Infine affronteremo le
-\textit{sytem call} attinenti ad una serie di funzionalità specialistiche come
+\textit{system call} attinenti ad una serie di funzionalità specialistiche come
 la gestione della virgola mobile, le porte di I/O ecc.
 
 \section{La gestione avanzata della sicurezza}
@@ -1318,6 +1318,7 @@ funzione.
 
 
 
+
 \subsection{La gestione del \textit{Secure Computing}.}
 \label{sec:procadv_seccomp}
 
@@ -1869,6 +1870,10 @@ Introdotta a partire dal kernel 2.4.21, solo su PowerPC.
 
 % TODO documentare ARCH_SET_CPUID e ARCH_GET_CPUID, introdotte con il kernel
 % 4.12, vedi https://lwn.net/Articles/721182/
+
+% TODO documentare PR_SPEC_DISABLE_NOEXEC in 5.1, vedi
+% https://lwn.net/Articles/782511/ 
+
 \label{sec:prctl_operation}
 \end{basedescript}
 
@@ -1937,6 +1942,9 @@ si intende creare un \textit{thread}. L'esecuzione del programma creato da
 \func{sys\_clone} riprende, come per \func{fork}, da dopo l'esecuzione della
 stessa.
 
+% TODO trattare anche clone3 (vedi https://lwn.net/Articles/792628/), aggiunta
+% con il kernel 5.3
+
 La necessità di avere uno \textit{stack} alternativo c'è solo quando si
 intende creare un \textit{thread}, in tal caso infatti il nuovo \textit{task}
 vede esattamente la stessa memoria del \textit{task}
@@ -2030,7 +2038,7 @@ utilizzati soltanto se si sono specificati rispettivamente i flag
 \const{CLONE\_CHILD\_SETTID}. 
 
 La funzione ritorna un l'identificatore del nuovo \textit{task}, denominato
-\texttt{Thread ID} (da qui in avanti \ids{TID}) il cui significato è analogo
+\textit{Thread ID} (da qui in avanti \ids{TID}) il cui significato è analogo
 al \ids{PID} dei normali processi e che a questo corrisponde qualora si crei
 un processo ordinario e non un \textit{thread}.
 
@@ -2059,7 +2067,7 @@ elenco, che illustra quelle attualmente disponibili:\footnote{si fa
   padre la \textit{file descriptor table} (vedi sez.~\ref{sec:file_fd}),
   questo significa che ogni \textit{file descriptor} aperto da un processo
   verrà visto anche dall'altro e che ogni chiusura o cambiamento dei
-  \textit{file descriptor flag} di un \textit{file descriptor} verrà per
+  \textit{file descriptor flags} di un \textit{file descriptor} verrà per
   entrambi.
 
   Se non viene impostato il processo figlio eredita una copia della
@@ -2119,6 +2127,9 @@ elenco, che illustra quelle attualmente disponibili:\footnote{si fa
 \item[\constd{CLONE\_PARENT\_SETTID}]
 \item[\constd{CLONE\_PID}]
 
+% TODO trattare CLONE_PIDFD introdotto con il kernel 5.2, vedi
+% https://lwn.net/Articles/787963/ e anche https://lwn.net/Articles/789023/
+  
 \item[\constd{CLONE\_PTRACE}] se questo flag viene impostato ed il processo
   chiamante viene tracciato (vedi sez.~\ref{sec:process_ptrace}) anche il
   figlio viene tracciato. 
@@ -2183,12 +2194,19 @@ degli altri gruppi, che costituisce poi quello che viene chiamato un
 % informazioni su setns qui: http://lwn.net/Articles/532748/
 % http://lwn.net/Articles/531498/
 
-
+% TODO: se si applicano e ci stanno trattare gli argomenti di ioctl_ns
 
 \section{Funzionalità avanzate e specialistiche}
 \label{sec:process_special}
 
 
+% TODO: trattare userfaultfd, introdotta con il 4.23, vedi
+% http://man7.org/linux/man-pages/man2/userfaultfd.2.html 
+
+% 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
+% precedenti tentativi https://lwn.net/Articles/405346/
+
 
 \subsection{La gestione delle operazioni in virgola mobile}
 \label{sec:process_fenv}
@@ -2284,4 +2302,4 @@ Da fare
 %  LocalWords:  libcap lcap obj to text dup clear DIFFERS get ncap caps ssize
 %  LocalWords:  argument length all setpcap from string name proc cat capgetp
 %  LocalWords:  capsetp getcap read sigreturn sysctl protected hardlinks tmp
-%  LocalWords:  dell' symlink symlinks pathname TOCTTOU of
+%  LocalWords:  dell' symlink symlinks pathname TOCTTOU of execve attack kcmp