+\subsection{La gestione del \textit{Secure Computing}.}
+\label{sec:procadv_seccomp}
+
+\itindbeg{secure~computing~mode}
+
+Il \textit{secure computing mode} è un meccanismo ideato per fornire un
+supporto per l'esecuzione di codice esterno non fidato e non verificabile a
+scopo di calcolo. L'idea era quello di poter vendere la capacità di calcolo
+della propria macchina ad un qualche servizio di calcolo distribuito, senza
+comprometterne la sicurezza eseguendo codice non sotto il proprio controllo.
+
+Nella prima versione del meccanismo, introdotto con il kernel 2.6.23 e
+disponibile solo avendo è abilitato il supporto nel kernel con
+\texttt{CONFIG\_SECCOMP}, questo veniva attovato con \func{prctl} indicando
+l'opzione \const{PR\_SET\_SECCOMP}, che all'epoca supportava soltanto l'uso
+del valore \const{SECCOMP\_MODE\_STRICT} per \param{arg2}.
+
+Una volta abilitato il \textit{secure computing mode} in questa modalità (in
+seguito denominata \textit{strict mode}) il processo o il \textit{thread}
+chiamante potrà utilizzare soltanto un insieme estremamente limitato di
+\textit{system call}: \func{read}, \func{write}, \func{\_exit} e
+\funcm{sigreturn}. Ogni altra \textit{system call} porterà all'emissione di un
+\signal{SIGKILL} (vedi sez.~\ref{sec:sig_termination}). In questa modalità di
+utilizzo i dati vengono letti o scritti grazie ad un socket o una
+\textit{pipe}, creati prima di lanciare il processo che eseguirà il codice non
+fidato, e per evitare problemi di sicurezza non saranno possibili altre
+operazioni se non quelle citate.
+
+
+% TODO a partire dal kernel 3.5 è stato introdotto la possibilità di usare un
+% terzo argomento se il secondo è SECCOMP_MODE_FILTER, vedi
+% Documentation/prctl/seccomp_filter.txt
+% vedi anche http://lwn.net/Articles/600250/
+
+% TODO documentare PR_SET_SECCOMP introdotto a partire dal kernel 3.5. Vedi:
+% * Documentation/prctl/seccomp_filter.txt
+% * http://lwn.net/Articles/475043/
+
+% TODO a partire dal kernel 3.17 è stata introdotta la nuova syscall seccomp,
+% vedi http://lwn.net/Articles/600250/ e http://lwn.net/Articles/603321/
+
+
+\itindend{secure~computing~mode}
+
+\subsection{Altre funzionalità di sicurezza.}
+\label{sec:procadv_security_misc}
+
+Oltre alle funzionalità specifiche esaminite nelle sezioni precedenti, il
+kernel supporta una varietà di ulteriori impostazioni di sicurezza,
+accessibili nelle maniere più varie, che abbiamo raccolto in questa sezione.
+
+Una serie di modalità di sicurezza sono attivabili a richiesta attraverso
+alcune opzioni di controllo attivabili via \func{sysctl} o il filesystem
+\texttt{/proc}, un elenco delle stesse e dei loro effetti è il seguente:
+
+\begin{basedescript}{\desclabelwidth{2.2cm}\desclabelstyle{\nextlinelabel}}
+\item[\sysctlrelfiled{fs}{protected\_hardlinks}] Un valore nullo, il default,
+ mantiene il comportamento standard che non pone restrizioni alla creazione
+ di \textit{hard link}. Se il valore viene posto ad 1 vengono invece attivate
+ una serie di restrizioni, che se non soddisfatte causano il fallimento di
+ \func{link} con un errore di \errval{EPERM}. Perché questo non avvenga
+ almeno una delle seguenti condizioni deve essere soddisfatta:
+ \begin{itemize*}
+ \item il processo chiamante deve avere i privilegi amministrativi (la
+ \textit{capability}) \const{CAP\_FOWNER}); in caso di utilizzo
+ dell'\textit{user namespace} oltre a possedere \const{CAP\_FOWNER} è
+ necessario che l'\ids{UID} del proprietario del file sia mappato nel
+ \textit{namespace}.
+ \item il \textit{filesystem} \ids{UID} del chiamante (normalmente
+ equivalente all'\ids{UID} effettivo) deve corrispondere a quello del
+ proprietario del file a cui si vuole effettuare il collegamento.
+ \item sono soddistatte tutte le seguenti condizioni:
+ \begin{itemize*}
+ \item il file è un file ordinario
+ \item il file non ha il \acr{suid} bit attivo
+ \item il file non ha lo \acr{sgid} bit attivo ed il permesso di esecuzione
+ per il gruppo
+ \item il chiamante ha i permessi di lettura e scrittura sul file
+ \end{itemize*}
+ \end{itemize*}
+\end{basedescript}
+