Update kernel source to v6.4

Update kernel source of master to v6.4, preparing for openEuler-23.09.

Signed-off-by: Wei Li <liwei391@huawei.com>
This commit is contained in:
Wei Li 2023-07-12 16:51:59 +08:00
parent 4f9155bb18
commit b85288b735
6 changed files with 21 additions and 16918 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,53 +0,0 @@
From 6fbc58368796705497c61fd8093cfadb0c35abcd Mon Sep 17 00:00:00 2001
From: Xie XiuQi <xiexiuqi@huawei.com>
Date: Wed, 1 Feb 2023 17:52:52 +0800
Subject: [PATCH] config: disable CONFIG_EFI_ZBOOT by default
CONFIG_EFI_ZBOOT is introduced to openEuler 22.03 LTS SP1 by this
commit for loongarch and enabled by default:
e46780727555("efi/libstub: implement generic EFI zboot").
However, if is enabled, the compiled version cannot be booted on
openEuler 22.03 LTS. So, disable it on this version.
Signed-off-by: Xie XiuQi <xiexiuqi@huawei.com>
Signed-off-by: Zheng Zengkai <zhengzengkai@huawei.com>
---
arch/arm64/configs/openeuler_defconfig | 14 +-------------
1 file changed, 1 insertion(+), 13 deletions(-)
diff --git a/arch/arm64/configs/openeuler_defconfig b/arch/arm64/configs/openeuler_defconfig
index fbb71f7520a8..63f2adbbc778 100644
--- a/arch/arm64/configs/openeuler_defconfig
+++ b/arch/arm64/configs/openeuler_defconfig
@@ -15,18 +15,6 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_BUILD_SALT=""
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_XZ=y
-CONFIG_HAVE_KERNEL_LZO=y
-CONFIG_HAVE_KERNEL_LZ4=y
-CONFIG_HAVE_KERNEL_ZSTD=y
-CONFIG_KERNEL_GZIP=y
-# CONFIG_KERNEL_LZMA is not set
-# CONFIG_KERNEL_XZ is not set
-# CONFIG_KERNEL_LZO is not set
-# CONFIG_KERNEL_LZ4 is not set
-# CONFIG_KERNEL_ZSTD is not set
CONFIG_DEFAULT_INIT=""
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SYSVIPC=y
@@ -2008,7 +1996,7 @@ CONFIG_EFI_SOFT_RESERVE=y
CONFIG_EFI_PARAMS_FROM_FDT=y
CONFIG_EFI_RUNTIME_WRAPPERS=y
CONFIG_EFI_GENERIC_STUB=y
-CONFIG_EFI_ZBOOT=y
+# CONFIG_EFI_ZBOOT is not set
CONFIG_EFI_ARMSTUB_DTB_LOADER=y
CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
# CONFIG_EFI_BOOTLOADER_CONTROL is not set
--
2.25.1

View File

@ -1,114 +0,0 @@
From 986d4fc019dd3cbbc969640fa06a1bd4442b35cf Mon Sep 17 00:00:00 2001
From: Liu Shixin <liushixin2@huawei.com>
Date: Mon, 6 Feb 2023 21:35:56 +0800
Subject: [PATCH] arm64/vmalloc: use module region only for module_alloc() if
CONFIG_RANDOMIZE_BASE is set
hulk inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I6DAD6
--------------------------------
After I add a 10GB pmem device, I got the following error message when
insert module:
insmod: vmalloc error: size 16384, vm_struct allocation failed,
mode:0xcc0(GFP_KERNEL), nodemask=(null),cpuset=/,mems_allowed=0
If CONFIG_RANDOMIZE_BASE is set, the module region can be located in the
vmalloc region entirely. Although module_alloc() can fall back to a 2GB
window if ARM64_MODULE_PLTS is set, the module region is still easily
exhausted because the module region is located at bottom of vmalloc region
and the vmalloc region is allocated from bottom to top.
Skip module region if not calling from module_alloc().
Signed-off-by: Liu Shixin <liushixin2@huawei.com>
Signed-off-by: Zheng Zengkai <zhengzengkai@huawei.com>
---
arch/arm64/include/asm/vmalloc.h | 26 ++++++++++++++++++++++++++
include/linux/vmalloc.h | 9 +++++++++
mm/vmalloc.c | 4 ++++
3 files changed, 39 insertions(+)
diff --git a/arch/arm64/include/asm/vmalloc.h b/arch/arm64/include/asm/vmalloc.h
index 38fafffe699f..4feff546b11b 100644
--- a/arch/arm64/include/asm/vmalloc.h
+++ b/arch/arm64/include/asm/vmalloc.h
@@ -31,4 +31,30 @@ static inline pgprot_t arch_vmap_pgprot_tagged(pgprot_t prot)
return pgprot_tagged(prot);
}
+#ifdef CONFIG_RANDOMIZE_BASE
+extern u64 module_alloc_base;
+#define arch_vmap_skip_module_region arch_vmap_skip_module_region
+static inline void arch_vmap_skip_module_region(unsigned long *addr,
+ unsigned long vstart,
+ unsigned long size,
+ unsigned long align)
+{
+ u64 module_alloc_end = module_alloc_base + MODULES_VSIZE;
+
+ if (vstart == module_alloc_base)
+ return;
+
+ if (IS_ENABLED(CONFIG_KASAN_GENERIC) ||
+ IS_ENABLED(CONFIG_KASAN_SW_TAGS))
+ /* don't exceed the static module region - see module_alloc() */
+ module_alloc_end = MODULES_END;
+
+ if ((module_alloc_base >= *addr + size) ||
+ (module_alloc_end <= *addr))
+ return;
+
+ *addr = ALIGN(module_alloc_end, align);
+}
+#endif
+
#endif /* _ASM_ARM64_VMALLOC_H */
diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h
index 096d48aa3437..55ef97325b84 100644
--- a/include/linux/vmalloc.h
+++ b/include/linux/vmalloc.h
@@ -122,6 +122,15 @@ static inline pgprot_t arch_vmap_pgprot_tagged(pgprot_t prot)
}
#endif
+#ifndef arch_vmap_skip_module_region
+static inline void arch_vmap_skip_module_region(unsigned long *addr,
+ unsigned long vstart,
+ unsigned long size,
+ unsigned long align)
+{
+}
+#endif
+
/*
* Highlevel APIs for driver use
*/
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index ccaa461998f3..929307f8602b 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -1233,6 +1233,8 @@ is_within_this_va(struct vmap_area *va, unsigned long size,
else
nva_start_addr = ALIGN(vstart, align);
+ arch_vmap_skip_module_region(&nva_start_addr, vstart, size, align);
+
/* Can be overflowed due to big size or alignment. */
if (nva_start_addr + size < nva_start_addr ||
nva_start_addr < vstart)
@@ -1520,6 +1522,8 @@ __alloc_vmap_area(struct rb_root *root, struct list_head *head,
else
nva_start_addr = ALIGN(vstart, align);
+ arch_vmap_skip_module_region(&nva_start_addr, vstart, size, align);
+
/* Check the "vend" restriction. */
if (nva_start_addr + size > vend)
return vend;
--
2.25.1

2
SOURCE
View File

@ -1 +1 @@
v6.1.8
6.4.0-1.0.0

View File

@ -8,13 +8,13 @@
%global KernelVer %{version}-%{release}.%{_target_cpu}
%global debuginfodir /usr/lib/debug
%global upstream_version 6.1
%global upstream_sublevel 8
%global devel_release 3
%global upstream_version 6.4
%global upstream_sublevel 0
%global devel_release 1
%global maintenance_release .0.0
%global pkg_release .9
%global pkg_release .1
%define with_debuginfo 0
%define with_debuginfo 1
# Do not recompute the build-id of vmlinux in find-debuginfo.sh
%global _missing_build_ids_terminate_build 1
%global _no_recompute_build_ids 1
@ -56,6 +56,7 @@ Source13: pubring.gpg
%if 0%{?with_kabichk}
Source18: check-kabi
Source20: Module.kabi_aarch64
Source21: Module.kabi_x86_64
%endif
Source200: mkgrub-menu-aarch64.sh
@ -71,10 +72,6 @@ Source9998: patches.tar.bz2
%endif
Patch0001: 0001-kconfig-Add-script-to-update-openeuler_defconfig.patch
Patch0002: 0002-config-add-initial-openeuler_defconfig-for-arm64.patch
Patch0003: 0003-config-add-initial-openeuler_defconfig-for-x86_64.patch
Patch0004: 0004-config-disable-CONFIG_EFI_ZBOOT-by-default.patch
Patch0005: 0005-arm64-vmalloc-use-module-region-only-for-module_allo.patch
#BuildRequires:
BuildRequires: module-init-tools, patch >= 2.5.4, bash >= 2.03, tar
@ -95,11 +92,11 @@ BuildRequires: python-devel
%endif
BuildRequires: elfutils-devel zlib-devel binutils-devel newt-devel perl(ExtUtils::Embed) bison
BuildRequires: audit-libs-devel
BuildRequires: audit-libs-devel libpfm-devel libtraceevent-devel
BuildRequires: pciutils-devel gettext
BuildRequires: rpm-build, elfutils
BuildRequires: numactl-devel python3-devel glibc-static python3-docutils
BuildRequires: perl-generators perl(Carp) libunwind-devel gtk2-devel libbabeltrace-devel java-1.8.0-openjdk perl-devel
BuildRequires: perl-generators perl(Carp) libunwind-devel gtk2-devel libbabeltrace-devel java-1.8.0-openjdk java-1.8.0-openjdk-devel perl-devel
AutoReq: no
AutoProv: yes
@ -300,11 +297,6 @@ Applypatches series.conf %{_builddir}/kernel-%{version}/linux-%{KernelVer}
%endif
%patch0001 -p1
%patch0002 -p1
%patch0003 -p1
%patch0004 -p1
%patch0005 -p1
touch .scmversion
find . \( -name "*.orig" -o -name "*~" \) -exec rm -f {} \; >/dev/null
find . -name .gitignore -exec rm -f {} \; >/dev/null
@ -347,8 +339,7 @@ make ARCH=%{Arch} modules %{?_smp_mflags}
%if 0%{?with_kabichk}
chmod 0755 %{SOURCE18}
if [ -e $RPM_SOURCE_DIR/Module.kabi_%{_target_cpu} ]; then
##%{SOURCE18} -k $RPM_SOURCE_DIR/Module.kabi_%{_target_cpu} -s Module.symvers || exit 1
echo "**** NOTE: now don't check Kabi. ****"
%{SOURCE18} -k $RPM_SOURCE_DIR/Module.kabi_%{_target_cpu} -s Module.symvers || exit 1
else
echo "**** NOTE: Cannot find reference Module.kabi file. ****"
fi
@ -435,7 +426,6 @@ popd
mkdir -p $RPM_BUILD_ROOT/usr/src/
mv linux-%{KernelVer}-source $RPM_BUILD_ROOT/usr/src/linux-%{KernelVer}
cp linux-%{KernelVer}/.config $RPM_BUILD_ROOT/usr/src/linux-%{KernelVer}/
cp linux-%{KernelVer}/.scmversion $RPM_BUILD_ROOT/usr/src/linux-%{KernelVer}/
%endif
cd linux-%{KernelVer}
@ -457,7 +447,9 @@ popd
install -m 644 .config $RPM_BUILD_ROOT/boot/config-%{KernelVer}
install -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-%{KernelVer}
gzip -c9 < Module.symvers > $RPM_BUILD_ROOT/boot/symvers-%{KernelVer}.gz
%if 0%{?with_kabichk}
gzip -c9 < Module.symvers > $RPM_BUILD_ROOT/boot/symvers-%{KernelVer}.gz
%endif
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
install -m 755 %{SOURCE200} $RPM_BUILD_ROOT%{_sbindir}/mkgrub-menu-%{version}-%{devel_release}%{?maintenance_release}%{?pkg_release}.sh
@ -629,9 +621,9 @@ popd
# perf
# perf tool binary and supporting scripts/binaries
%if 0%{?with_python2}
%{perf_make} %{perf_python2} DESTDIR=%{buildroot} lib=%{_lib} install-bin install-traceevent-plugins
%{perf_make} %{perf_python2} DESTDIR=%{buildroot} lib=%{_lib} install-bin
%else
%{perf_make} %{perf_python3} DESTDIR=%{buildroot} lib=%{_lib} install-bin install-traceevent-plugins
%{perf_make} %{perf_python3} DESTDIR=%{buildroot} lib=%{_lib} install-bin
%endif
# remove the 'trace' symlink.
rm -f %{buildroot}%{_bindir}/trace
@ -777,7 +769,9 @@ fi
%ifarch aarch64
/boot/dtb-*
%endif
%if 0%{?with_kabichk}
/boot/symvers-*
%endif
/boot/System.map-*
/boot/vmlinuz-*
%ghost /boot/initramfs-%{KernelVer}.img
@ -803,8 +797,6 @@ fi
%files -n perf
%{_bindir}/perf
%{_libdir}/libperf-jvmti.so
%dir %{_libdir}/traceevent
%{_libdir}/traceevent/plugins/
%{_libexecdir}/perf-core
%{_datadir}/perf-core/
%{_mandir}/man[1-8]/perf*
@ -882,10 +874,12 @@ fi
%defattr(-,root,root)
/usr/src/linux-%{KernelVer}/*
/usr/src/linux-%{KernelVer}/.config
/usr/src/linux-%{KernelVer}/.scmversion
%endif
%changelog
* Wed May 31 2023 Wei Li <liwei391@huawei.com> - 6.4.0-1.0.0.1
- update to 6.4.0-1.0.0.1
* Mon Jul 10 2023 Wei Li <liwei391@huawei.com> - 6.1.8-3.0.0.9
- remove obsoleted kabi files
@ -900,7 +894,7 @@ fi
- update to v6.1.8-2.0.0.6
- config: disable CONFIG_EFI_ZBOOT by default
* Fri Jan 29 2023 Xie XiuQi <xiexiuqi@huawei.com> - 6.1.8-1.0.0.5
* Sun Jan 29 2023 Xie XiuQi <xiexiuqi@huawei.com> - 6.1.8-1.0.0.5
- update to v6.1.8
* Sun Jan 29 2023 Xie XiuQi <xiexiuqi@huawei.com> - 6.1.6-1.0.0.4