[bootlin/training-materials updates] master: kernel-source: Rework the slide about proprietary modules a bit (bdf04db9)
Miquel Raynal
miquel.raynal at bootlin.com
Wed Jan 18 14:27:53 CET 2023
Repository : https://github.com/bootlin/training-materials
On branch : master
Link : https://github.com/bootlin/training-materials/commit/bdf04db90a224089e414a5c469fcb8fe8e2dd7e4
>---------------------------------------------------------------
commit bdf04db90a224089e414a5c469fcb8fe8e2dd7e4
Author: Miquel Raynal <miquel.raynal at bootlin.com>
Date: Wed Jan 18 12:14:09 2023 +0100
kernel-source: Rework the slide about proprietary modules a bit
Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>
>---------------------------------------------------------------
bdf04db90a224089e414a5c469fcb8fe8e2dd7e4
.../kernel-source-code-drivers.tex | 51 +++++++++++++++-------
1 file changed, 36 insertions(+), 15 deletions(-)
diff --git a/slides/kernel-source-code-drivers/kernel-source-code-drivers.tex b/slides/kernel-source-code-drivers/kernel-source-code-drivers.tex
index 347b9185..938a5d03 100644
--- a/slides/kernel-source-code-drivers/kernel-source-code-drivers.tex
+++ b/slides/kernel-source-code-drivers/kernel-source-code-drivers.tex
@@ -165,31 +165,52 @@
\begin{frame}
\frametitle{Proprietary code and the kernel}
- \begin{columns}
- \column{0.75\textwidth}
\begin{itemize}
\item It is illegal to distribute a binary kernel that includes
statically compiled proprietary drivers
- \item The kernel modules are a gray area: are they derived works of
- the kernel or not?
+ \item The kernel modules are a gray area: unclear if they are legal or not
\begin{itemize}
\item The general opinion of the kernel community is that
proprietary modules are bad: \kdochtml{process/kernel-driver-statement}
\item From a legal point of view, each driver is probably a
- different case
- \item Is it really useful to keep your drivers secret?
+ different case:
+ \begin{itemize}
+ \item Are they derived works of the kernel?
+ \item Are they designed to be used with another operating system?
+ \end{itemize}
\end{itemize}
- \item There are some examples of proprietary drivers, like the
- Nvidia graphics drivers
+ \item Is it really useful to keep drivers secret anyway?
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Abusing the kernel licensing constraints}
+ \begin{columns}
+ \column{0.5\textwidth}
\begin{itemize}
- \item They use a wrapper between the driver and the kernel
- \item Unclear whether it makes it legal or not
- \item Pre-compiled drivers work with only one kernel version, kernel
- updates, even minors, might just become impossible.
+ \item There are some examples of proprietary drivers
+ \begin{itemize}
+ \item Nvidia uses a wrapper between their drivers and the kernel
+ \item They claim the drivers could be used with a different OS
+ with another wrapper
+ \item Unclear whether it makes it legal or not
+ \end{itemize}
\end{itemize}
- \end{itemize}
- \column{0.25\textwidth}
- \includegraphics[height=0.85\textheight]{slides/kernel-source-code-drivers/binary-blobs.pdf}
+ \begin{center}
+ \includegraphics[height=0.3\textheight]{slides/kernel-source-code-drivers/binary-blobs.pdf}
+ \end{center}
+ \column{0.5\textwidth}
+ \begin{itemize}
+ \item The current trend is to hide the logic in the firmware or in
+ userspace. The GPL kernel driver is almost empty and either:
+ \begin{itemize}
+ \item Blindly writes an incoming flow of bytes in the hardware
+ \item Exposes a huge MMIO region to userspace through \code{mmap}
+ \end{itemize}
+ \end{itemize}
+ \begin{center}
+ \includegraphics[height=0.3\textheight]{slides/kernel-source-code-drivers/empty-modules.pdf}
+ \end{center}
\end{columns}
\end{frame}
More information about the training-materials-updates
mailing list