|
|
|
@ -36,13 +36,9 @@
|
|
|
|
|
%global _binary_payload w3T.xzdio
|
|
|
|
|
|
|
|
|
|
%ifarch x86_64
|
|
|
|
|
%define _kasan 1
|
|
|
|
|
%define _kmsan 1
|
|
|
|
|
%define _kmemleak 1
|
|
|
|
|
%else
|
|
|
|
|
%define _kasan 0
|
|
|
|
|
%define _kmsan 0
|
|
|
|
|
%define _kmemleak 0
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
# Define the version of the Linux Kernel Archive tarball.
|
|
|
|
@ -61,7 +57,7 @@
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
# Set pkg_release.
|
|
|
|
|
%global pkg_release 5%{?buildid}.%{?lvc}%{?dist}.inferit.fuzzing
|
|
|
|
|
%global pkg_release 5%{?buildid}.%{?lvc}%{?dist}.inferit.fuzzing.kmsan
|
|
|
|
|
|
|
|
|
|
# Architectures upon which we can sign the kernel
|
|
|
|
|
# for secure boot authentication.
|
|
|
|
@ -275,9 +271,7 @@ Source0: https://git.linuxtesting.ru/pub/scm/linux/kernel/git/lvc/linux-stable.g
|
|
|
|
|
|
|
|
|
|
Source2: config-%{version}-x86_64
|
|
|
|
|
Source4: config-%{version}-aarch64
|
|
|
|
|
Source6: config-%{version}-x86_64-kasan
|
|
|
|
|
Source8: config-%{version}-x86_64-kmsan
|
|
|
|
|
Source10: config-%{version}-x86_64-kmemleak
|
|
|
|
|
|
|
|
|
|
Source20: mod-denylist.sh
|
|
|
|
|
Source21: mod-sign.sh
|
|
|
|
@ -572,20 +566,10 @@ functions of the operating system: memory allocation, process allocation,
|
|
|
|
|
device input and output, etc.
|
|
|
|
|
|
|
|
|
|
%ifarch x86_64
|
|
|
|
|
%define variant_summary The Linux kernel.
|
|
|
|
|
%kernel_lt_variant_package kasan
|
|
|
|
|
%description kasan-core
|
|
|
|
|
Package contains the Linux kernel with KASAN support.
|
|
|
|
|
|
|
|
|
|
%define variant_summary The Linux kernel.
|
|
|
|
|
%kernel_lt_variant_package kmsan
|
|
|
|
|
%description kmsan-core
|
|
|
|
|
Package contains the Linux kernel with KMSAN support.
|
|
|
|
|
|
|
|
|
|
%define variant_summary The Linux kernel.
|
|
|
|
|
%kernel_lt_variant_package kmemleak
|
|
|
|
|
%description kmemleak-core
|
|
|
|
|
Package contains the Linux kernel with KMEMLEAK support.
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
# Disable the building of the debug package(s).
|
|
|
|
@ -647,9 +631,7 @@ cd configs
|
|
|
|
|
|
|
|
|
|
cp %{SOURCE2} config-%{version}-x86_64.config
|
|
|
|
|
cp %{SOURCE4} config-%{version}-aarch64.config
|
|
|
|
|
cp %{SOURCE6} config-%{version}-x86_64-kasan.config
|
|
|
|
|
cp %{SOURCE8} config-%{version}-x86_64-kmsan.config
|
|
|
|
|
cp %{SOURCE10} config-%{version}-x86_64-kmemleak.config
|
|
|
|
|
|
|
|
|
|
cd ..
|
|
|
|
|
|
|
|
|
@ -661,9 +643,7 @@ sed -i "s@^EXTRAVERSION.*@EXTRAVERSION = -%{release}.%{_target_cpu}@" Makefile
|
|
|
|
|
%ifarch x86_64
|
|
|
|
|
declare -a config_files=(
|
|
|
|
|
"configs/config-%{version}-x86_64.config"
|
|
|
|
|
"configs/config-%{version}-x86_64-kasan.config"
|
|
|
|
|
"configs/config-%{version}-x86_64-kmsan.config"
|
|
|
|
|
"configs/config-%{version}-x86_64-kmemleak.config"
|
|
|
|
|
)
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
@ -1105,21 +1085,11 @@ BuildKernel() {
|
|
|
|
|
%{SOURCE20} $RPM_BUILD_ROOT lib/modules/$KernelVer %{SOURCE26}
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "$Variant" = "kasan" ]; then
|
|
|
|
|
# Identify modules in the kernel-rt-kvm package
|
|
|
|
|
%{SOURCE20} $RPM_BUILD_ROOT lib/modules/$KernelVer %{SOURCE26} kasan
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "$Variant" = "kmsan" ]; then
|
|
|
|
|
# Identify modules in the kernel-rt-kvm package
|
|
|
|
|
%{SOURCE20} $RPM_BUILD_ROOT lib/modules/$KernelVer %{SOURCE26} kmsan
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "$Variant" = "kmemleak" ]; then
|
|
|
|
|
# Identify modules in the kernel-rt-kvm package
|
|
|
|
|
%{SOURCE20} $RPM_BUILD_ROOT lib/modules/$KernelVer %{SOURCE26} kmemleak
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
cp System.map $RPM_BUILD_ROOT/
|
|
|
|
|
|
|
|
|
|
pushd $RPM_BUILD_ROOT > /dev/null
|
|
|
|
@ -1255,18 +1225,10 @@ mkdir -p $RPM_BUILD_ROOT%{_libexecdir}
|
|
|
|
|
|
|
|
|
|
cd linux-%{KVERREL}
|
|
|
|
|
|
|
|
|
|
%ifarch x86_64
|
|
|
|
|
BuildKernel %make_target %kernel_image %{_use_vdso} kasan
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%ifarch x86_64
|
|
|
|
|
BuildKernel %make_target %kernel_image %{_use_vdso} kmsan
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%ifarch x86_64
|
|
|
|
|
BuildKernel %make_target %kernel_image %{_use_vdso} kmemleak
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%ifarch x86_64 aarch64
|
|
|
|
|
BuildKernel %make_target %kernel_image %{_use_vdso}
|
|
|
|
|
%endif
|
|
|
|
@ -1350,15 +1312,9 @@ if [ "%{signmodules}" -eq "1" ]; then \
|
|
|
|
|
if [ "%{with_std}" -ne "0" ]; then \
|
|
|
|
|
%{SOURCE21} linux-%{version}-%{release}.%{_build_arch}/certs/signing_key.pem.sign linux-%{version}-%{release}.%{_build_arch}/certs/signing_key.x509.sign $RPM_BUILD_ROOT/lib/modules/%{KVERREL}/ \
|
|
|
|
|
fi \
|
|
|
|
|
if [ "%{_kasan}" -ne "0" ]; then \
|
|
|
|
|
%{SOURCE21} linux-%{version}-%{release}.%{_build_arch}-kasan/certs/signing_key.pem.sign+kasan linux-%{version}-%{release}.%{_build_arch}-kasan/certs/signing_key.x509.sign+kasan $RPM_BUILD_ROOT/lib/modules/%{KVERREL}+kasan/ \
|
|
|
|
|
fi \
|
|
|
|
|
if [ "%{_kmsan}" -ne "0" ]; then \
|
|
|
|
|
%{SOURCE21} linux-%{version}-%{release}.%{_build_arch}-kmsan/certs/signing_key.pem.sign+kmsan linux-%{version}-%{release}.%{_build_arch}-kmsan/certs/signing_key.x509.sign+kmsan $RPM_BUILD_ROOT/lib/modules/%{KVERREL}+kmsan/ \
|
|
|
|
|
fi \
|
|
|
|
|
if [ "%{_kmemleak}" -ne "0" ]; then \
|
|
|
|
|
%{SOURCE21} linux-%{version}-%{release}.%{_build_arch}-kmemleak/certs/signing_key.pem.sign+kmemleak linux-%{version}-%{release}.%{_build_arch}-kmemleak/certs/signing_key.x509.sign+kmemleak $RPM_BUILD_ROOT/lib/modules/%{KVERREL}+kmemleak/ \
|
|
|
|
|
fi \
|
|
|
|
|
fi \
|
|
|
|
|
if [ "%{zipmodules}" -eq "1" ]; then \
|
|
|
|
|
find $RPM_BUILD_ROOT/lib/modules/ -name '*.ko' -type f | xargs --no-run-if-empty -P%{zcpu} xz \
|
|
|
|
@ -1614,15 +1570,8 @@ fi\
|
|
|
|
|
%kernel_lt_variant_post -r kernel-smp
|
|
|
|
|
|
|
|
|
|
%ifarch x86_64
|
|
|
|
|
%kernel_lt_variant_preun kasan
|
|
|
|
|
%kernel_lt_variant_post -v kasan
|
|
|
|
|
|
|
|
|
|
%kernel_lt_variant_preun kmsan
|
|
|
|
|
%kernel_lt_variant_post -v kmsan
|
|
|
|
|
|
|
|
|
|
%kernel_lt_variant_preun kmemleak
|
|
|
|
|
%kernel_lt_variant_post -v kmemleak
|
|
|
|
|
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
if [ -x /sbin/ldconfig ]
|
|
|
|
@ -1783,12 +1732,13 @@ fi
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%ifarch x86_64
|
|
|
|
|
%kernel_lt_variant_files %{_use_vdso} %{with_std} kasan
|
|
|
|
|
%kernel_lt_variant_files %{_use_vdso} %{with_std} kmsan
|
|
|
|
|
%kernel_lt_variant_files %{_use_vdso} %{with_std} kmemleak
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
* Wed Feb 12 2025 Eduard Basov <ebasov@msvsphere-os.ru> - 6.1.124-5.lvc13.inferit.fuzzing.kmsan
|
|
|
|
|
- Disable build KASAN, KMEMLEAK
|
|
|
|
|
|
|
|
|
|
* Mon Feb 10 2025 Eduard Basov <ebasov@msvsphere-os.ru> - 6.1.124-5.lvc13.inferit.fuzzing
|
|
|
|
|
- Change macros
|
|
|
|
|
|
|
|
|
|