diff --git a/.gitignore b/.gitignore index 1830d55..59fe138 100644 --- a/.gitignore +++ b/.gitignore @@ -16,4 +16,8 @@ updpkgsums.sh *.save *.out # nogit directory, ignore: -nogit/ \ No newline at end of file +nogit/ +# tar and patch files +*.tar.sign +*.tar.xz +*.patch.zst* diff --git a/PKGBUILD b/PKGBUILD index 756fb3f..f34207a 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -2,21 +2,20 @@ # copied from Jan Alexander Steffens (heftig) pkgbase=linux-tom -pkgver=6.4.11.arch1 +pkgver=6.5.7.arch1 pkgrel=1 pkgdesc='Linux' -_srctag=v${pkgver%.*}-${pkgver##*.} -url="https://github.com/archlinux/linux/commits/$_srctag" +url='https://github.com/archlinux/linux' arch=(x86_64) license=(GPL2) makedepends=( bc cpio gettext - git libelf pahole perl + python tar xz @@ -25,46 +24,48 @@ makedepends=( imagemagick python-sphinx texlive-latexextra - xmlto ) options=('!strip') -_srcname=archlinux-linux +_srcname=linux-${pkgver%.*} +_srctag=v${pkgver%.*}-${pkgver##*.} source=( - "$_srcname::git+https://github.com/archlinux/linux?signed#tag=$_srctag" + https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.{xz,sign} + $url/releases/download/$_srctag/linux-$_srctag.patch.zst{,.sig} config # the main kernel config file ) validpgpkeys=( ABAF11C65A2970B130ABE3C479BE3E4300411886 # Linus Torvalds 647F28654894E3BD457199BE38DBBDC86092693E # Greg Kroah-Hartman A2FF3A36AAA56654109064AB19802F8B0D70FC30 # Jan Alexander Steffens (heftig) - C7E7849466FE2358343588377258734B41C31549 # David Runge ) -b2sums=('SKIP' - 'SKIP') +# https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc +sha256sums=('0d09ea448005c9cfe5383e4c72a872b39188b928f8c44e146b03b1b7851fbb8c' + 'SKIP' + 'ee42d07323d762e4bed241ad89ec75b345ae25932cdc1d64cc59939cc5ea370d' + 'SKIP' + '5aff0f8584e01165dc20cd107df338f57a13ce7f0da14e07f4c9097cd748469f') +b2sums=('a9bed9907bf4b22c08df8a8beaaf923648e4f0f1a4b00c11012871094e7c06a127e54bc1935edb8afc92999456c01ebabd04bc542a0e2fa16de0852a5f4be681' + 'SKIP' + '0921441d77d2de3bb89613830136e141120b420bcd7a76bcf16676b97f1d81d17f71a888f63181396d1081e19bc5ccf8d22b69b0cc9bd7f6ea9d6652ebdec4da' + 'SKIP' + '1445dc90cf8bd3f2b9493e9e48eb76247bd37de412bdb247b132694e047ec260c25203836888ce6c1c864f46dab80b453b3f47d8b3a92f1f9dffc5589d7bc320') export KBUILD_BUILD_HOST=archlinux export KBUILD_BUILD_USER=$pkgbase export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" -_make() { - test -s version - make KERNELRELEASE="$( localversion.10-pkgrel echo "${pkgbase#linux}" > localversion.20-pkgname - make defconfig - make -s kernelrelease > version - make mrproper local src for src in "${source[@]}"; do src="${src%%::*}" src="${src##*/}" + src="${src%.zst}" [[ $src = *.patch ]] || continue echo "Applying patch $src..." patch -Np1 < "../$src" @@ -72,16 +73,18 @@ prepare() { echo "Setting config..." cp ../config .config - _make olddefconfig +# make olddefconfig + make menuconfig diff -u ../config .config || : - + make -s kernelrelease > version echo "Prepared $pkgbase version $(}} Berkeley Packet Filter, Firewall-Filtertechnik im Kernel -\subsubsection{} +\subsubsection{Enable bpf() system call} +CONFIG\_BPF\_SYSCALL [=y] \textbf{[Y]}\\ +Aktivieren Sie den Systemaufruf bpf(), der es ermöglicht, +BPF-Programme und -Maps über Dateideskriptoren zu manipulieren. + +\subsubsection{Enable BPF Just In Time compiler} +CONFIG\_BPF\_JIT [=y] \textbf{[Y]}\\ +BPF-Programme werden normalerweise von einem BPF-Interpreter verarbeitet. +Diese Option ermöglicht es dem Kernel, nativen Code zu erzeugen, +wenn ein Programm in den Kernel geladen wird. Dadurch wird die Verarbeitung +von BPF-Programmen erheblich beschleunigt.\\ +Beachten Sie, dass ein Administrator diese Funktion durch Ändern aktivieren sollte:\\[0.5em] +\indent\texttt{/proc/sys/net/core/bpf\_jit\_enable} \\ +\indent\texttt{/proc/sys/net/core/bpf\_jit\_harden (optional)} \\ +\indent\texttt{/proc/sys/net/core/bpf\_jit\_kallsyms (optional)} +\paragraph{Permanently enable BPF JIT and remove BPF interpreter\\} +CONFIG\_BPF\_JIT\_ALWAYS\_ON [=y] \textbf{[Y]}\\ +Aktiviert BPF JIT und entfernt den BPF-Interpreter um spekulative Ausführungen +von BPF-Anweisungen durch den Interpreter zu verhindern.\\ +Wenn CONFIG\_BPF\_JIT\_ALWAYS\_ON eingeschaltet ist, dann wird +\texttt{/proc/sys/net/core/bpf\_jit\_enable} permanent auf 1 gesetzt, alle +Versuche diese Einstellung auf andere Werte zu legen wird mit einem Fehler +zurückgewiesen. +\subsubsection{Disable unprivileged BPF by default} +CONFIG\_BPF\_UNPRIV\_DEFAULT\_OFF [=y] \textbf{[Y]}\\ +Deaktiviert die unprivilegierte BPF standardmäßig, indem der entsprechende Eintrag\\ +\texttt{/proc/sys/kernel/unprivileged\_bpf\_disabled} auf 2 gesetzt wird. +Ein Administrator kann sie immer noch wieder aktivieren, + indem er sie später auf 0 setzt, oder sie dauerhaft deaktiviert, indem +er sie auf 1 setzt (von wo aus kein weiterer Übergang auf 0 mehr möglich ist).\\ +Unprivilegierte BPF könnte verwendet werden, um bestimmte potenzielle Seitenkanalschwachstellen für spekulative Ausführung auf nicht gemilderter betroffener Hardware auszunutzen. +Wenn Sie unsicher sind, wie Sie diese Frage beantworten sollen, antworten Sie mit Y. +\subsubsection{Preload BPF file system with kernel specific program + and map iterators \texorpdfstring{$\rightarrow$}{->}} +BPF\_PRELOAD [=n] \textbf{[N]}\\ +Dadurch wird ein Kernelmodul mit mehreren eingebetteten BPF-Programmen erstellt, +die als für den Menschen lesbare Dateien in den BPF-FS-Einhängepunkt +eingefügt werden, was bei der Fehlersuche und der Untersuchung von BPF-Programmen +und -Maps nützlich ist. +\paragraph{bpf\_preload kernel module} +CONFIG\_BPF\_PRELOAD\_UMD [=m] \textbf{[]}\\ +Dadurch wird ein Kernelmodul mit mehreren eingebetteten BPF-Programmen +erstellt, die als für den Menschen lesbare Dateien in den BPF-FS-Einhängepunkt eingefügt werden, was bei der Fehlersuche und der Untersuchung von BPF-Programmen und -Maps nützlich ist. +\subsubsection{Enable BPF LSM Instrumentation} +CONFIG\_BPF\_LSM [=y] \textbf{[Y]}\\ +Ermöglicht die Instrumentierung der Sicherheitshaken mit BPF-Programmen zur Implementierung dynamischer +MAC- und Prüfungsrichtlinien. Wenn Sie unsicher sind, wie Sie diese Frage beantworten +sollten, antworten Sie mit N. +\subsection{Preemption Model (Preemptible Kernel (Low-Latency Desktop)) \texorpdfstring{$\rightarrow$}{->}} + \end{document}