[bootlin/training-materials updates] master: slides/kernel-framework: Improve explanations about accessing user pointers (09d55efe)
    Miquel Raynal 
    miquel.raynal at bootlin.com
       
    Fri Mar 24 18:46:37 CET 2023
    
    
  
Repository : https://github.com/bootlin/training-materials
On branch  : master
Link       : https://github.com/bootlin/training-materials/commit/09d55efe4700d9c1fdbbebface9740a7885772ac
>---------------------------------------------------------------
commit 09d55efe4700d9c1fdbbebface9740a7885772ac
Author: Miquel Raynal <miquel.raynal at bootlin.com>
Date:   Tue Mar 21 11:38:25 2023 +0100
    slides/kernel-framework: Improve explanations about accessing user pointers
    
    Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>
>---------------------------------------------------------------
09d55efe4700d9c1fdbbebface9740a7885772ac
 slides/kernel-frameworks/kernel-frameworks.tex | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/slides/kernel-frameworks/kernel-frameworks.tex b/slides/kernel-frameworks/kernel-frameworks.tex
index d4d12ad2..c475664f 100644
--- a/slides/kernel-frameworks/kernel-frameworks.tex
+++ b/slides/kernel-frameworks/kernel-frameworks.tex
@@ -237,13 +237,15 @@ Many more operations exist. All of them are optional.
   \item Kernel code isn't allowed to directly access user space
     memory, using \kfunc{memcpy} or direct pointer dereferencing
     \begin{itemize}
-    \item Doing so does not work on some architectures
+    \item User pointer dereferencing is disabled by default to make it
+      harder to exploit vulnerabilities.
     \item If the address passed by the application was invalid, the
-      application would segfault.
+      kernel could segfault.
     \item {\bf Never} trust user space. A malicious application could
       pass a kernel address which you could overwrite with device data
       (\code{read} case), or which you could dump to the device
       (\code{write} case).
+    \item Doing so does not work on some architectures anyway.
     \end{itemize}
   \item To keep the kernel code portable, secure, and have proper
     error handling, your driver must use special kernel functions
    
    
More information about the training-materials-updates
mailing list