version: 5.1.5

This commit is contained in:
Haruue Icymoon 2019-05-30 11:14:31 +08:00
parent 7aec03b183
commit 472fff45ef
No known key found for this signature in database
GPG key ID: FDC9CB1235BB124B
5 changed files with 92 additions and 35 deletions

View file

@ -1,24 +1,25 @@
pkgbase = linux-usermode
pkgdesc = User mode Linux kernel and modules
pkgver = 4.20.4
pkgver = 5.1.5
pkgrel = 1
url = http://user-mode-linux.sourceforge.net/
arch = x86_64
license = GPL2
makedepends = bc
makedepends = inetutils
makedepends = gcc7
depends = coreutils
source = http://www.kernel.org/pub/linux/kernel/v4.x/linux-4.20.tar.xz
source = http://www.kernel.org/pub/linux/kernel/v4.x/linux-4.20.tar.sign
source = http://www.kernel.org/pub/linux/kernel/v4.x/patch-4.20.4.xz
source = http://www.kernel.org/pub/linux/kernel/v5.x/linux-5.1.tar.xz
source = http://www.kernel.org/pub/linux/kernel/v5.x/linux-5.1.tar.sign
source = http://www.kernel.org/pub/linux/kernel/v5.x/patch-5.1.5.xz
source = config
source = 001-hide_the_int3_emulate_call_jmp_functions_from_uml.patch
validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886
validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E
sha256sums = ad0823183522e743972382df0aa08fb5ae3077f662b125f1e599b0b2aaa12438
sha256sums = d06a7be6e73f97d1350677ad3bae0ce7daecb79c2c2902aaabe806f7fa94f041
sha256sums = SKIP
sha256sums = 24ee94fbbf9c356ace420e7eedfff4c9d3f2e8645011bc8947c22421dea5a8ba
sha256sums = 0c6ca2df8b072b1fa1c13d290e2c1f0c97d872419f4bf8c2fd813a29e79c5626
sha256sums = def1a382c555454daf28fb768ed2c3e6f339c4bfcd36faa99982e4d31c04efa6
sha256sums = c2741019f57c2c918ad80cbf0fad0d03ef585fadf045078b3117cd73d83e5f2b
sha256sums = f292341bdbc90f27ea6775bf3c709d92fbf8842c7cf7603c71807f06ad1e69a9
pkgname = linux-usermode

View file

@ -0,0 +1,36 @@
From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
User Mode Linux does not have access to the ip or sp fields of the pt_regs,
and accessing them causes UML to fail to build. Hide the int3_emulate_jmp()
and int3_emulate_call() instructions from UML, as it doesn't need them
anyway.
Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
---
arch/x86/include/asm/text-patching.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/arch/x86/include/asm/text-patching.h b/arch/x86/include/asm/text-patching.h
index 05861cc08787..0bbb07eaed6b 100644
--- a/arch/x86/include/asm/text-patching.h
+++ b/arch/x86/include/asm/text-patching.h
@@ -39,6 +39,7 @@ extern int poke_int3_handler(struct pt_regs *regs);
extern void *text_poke_bp(void *addr, const void *opcode, size_t len, void *handler);
extern int after_bootmem;
+#ifndef CONFIG_UML_X86
static inline void int3_emulate_jmp(struct pt_regs *regs, unsigned long ip)
{
regs->ip = ip;
@@ -65,6 +66,7 @@ static inline void int3_emulate_call(struct pt_regs *regs, unsigned long func)
int3_emulate_push(regs, regs->ip - INT3_INSN_SIZE + CALL_INSN_SIZE);
int3_emulate_jmp(regs, func);
}
-#endif
+#endif /* CONFIG_X86_64 */
+#endif /* !CONFIG_UML_X86 */
#endif /* _ASM_X86_TEXT_PATCHING_H */
--
2.20.1

View file

@ -5,25 +5,27 @@ pkgname=linux-usermode
true && pkgname=(linux-usermode linux-usermode-modules)
pkgbase=linux-usermode
_kernelname=-usermodelinux
_srcname=linux-4.20
pkgver=4.20.4
_srcname=linux-5.1
pkgver=5.1.5
pkgrel=1
pkgdesc="User mode Linux kernel and modules"
arch=('x86_64')
license=('GPL2')
url="http://user-mode-linux.sourceforge.net/"
depends=('coreutils')
makedepends=('bc' 'inetutils' 'gcc7')
makedepends=('bc' 'inetutils')
source=(
http://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.{xz,sign}
http://www.kernel.org/pub/linux/kernel/v5.x/${_srcname}.tar.{xz,sign}
# http://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.{xz,sign}
http://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.xz
config)
http://www.kernel.org/pub/linux/kernel/v5.x/patch-${pkgver}.xz
config
001-hide_the_int3_emulate_call_jmp_functions_from_uml.patch)
sha256sums=('ad0823183522e743972382df0aa08fb5ae3077f662b125f1e599b0b2aaa12438'
sha256sums=('d06a7be6e73f97d1350677ad3bae0ce7daecb79c2c2902aaabe806f7fa94f041'
'SKIP'
'24ee94fbbf9c356ace420e7eedfff4c9d3f2e8645011bc8947c22421dea5a8ba'
'0c6ca2df8b072b1fa1c13d290e2c1f0c97d872419f4bf8c2fd813a29e79c5626')
'def1a382c555454daf28fb768ed2c3e6f339c4bfcd36faa99982e4d31c04efa6'
'c2741019f57c2c918ad80cbf0fad0d03ef585fadf045078b3117cd73d83e5f2b'
'f292341bdbc90f27ea6775bf3c709d92fbf8842c7cf7603c71807f06ad1e69a9')
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
@ -36,6 +38,9 @@ prepare() {
# add upstream patch
patch -p1 -i "${srcdir}/patch-${pkgver}"
# https://lkml.org/lkml/2019/5/14/966
patch -Np1 -i "${srcdir}"/001-hide_the_int3_emulate_call_jmp_functions_from_uml.patch
cat ../config - >.config <<END
CONFIG_LOCALVERSION="${_kernelname}"
CONFIG_LOCALVERSION_AUTO=n
@ -52,7 +57,7 @@ build() {
cd "${srcdir}/${_srcname}"
unset LDFLAGS CFLAGS
make ARCH=um CC=gcc-7 vmlinux modules
make ARCH=um vmlinux modules
}
package_linux-usermode() {

47
config
View file

@ -1,14 +1,17 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/um 4.20.4-1 Kernel Configuration
# Linux/um 5.1.5-1 Kernel Configuration
#
#
# Compiler: gcc-7 (GCC) 7.4.1 20181207
# Compiler: gcc (GCC) 8.3.0
#
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=70401
CONFIG_GCC_VERSION=80300
CONFIG_CLANG_VERSION=0
CONFIG_CC_HAS_ASM_GOTO=y
CONFIG_CC_HAS_WARN_MAYBE_UNINITIALIZED=y
CONFIG_CC_DISABLE_WARN_MAYBE_UNINITIALIZED=y
CONFIG_IRQ_WORK=y
#
@ -119,6 +122,7 @@ CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_IO_URING=y
CONFIG_ADVISE_SYSCALLS=y
CONFIG_MEMBARRIER=y
CONFIG_KALLSYMS=y
@ -230,6 +234,7 @@ CONFIG_SECCOMP_FILTER=y
CONFIG_CC_HAS_STACKPROTECTOR_NONE=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_64BIT_TIME=y
CONFIG_ARCH_NO_PREEMPT=y
# CONFIG_REFCOUNT_FULL is not set
@ -271,13 +276,6 @@ CONFIG_EFI_PARTITION=y
#
# IO Schedulers
#
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_DEADLINE=y
CONFIG_IOSCHED_CFQ=m
# CONFIG_CFQ_GROUP_IOSCHED is not set
CONFIG_DEFAULT_DEADLINE=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="deadline"
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
# CONFIG_IOSCHED_BFQ is not set
@ -319,6 +317,7 @@ CONFIG_NEED_PER_CPU_KM=y
# CONFIG_PERCPU_STATS is not set
# CONFIG_GUP_BENCHMARK is not set
CONFIG_NET=y
CONFIG_SKB_EXTENSIONS=y
#
# Networking options
@ -326,6 +325,7 @@ CONFIG_NET=y
CONFIG_PACKET=y
# CONFIG_PACKET_DIAG is not set
CONFIG_UNIX=y
CONFIG_UNIX_SCM=y
# CONFIG_UNIX_DIAG is not set
# CONFIG_TLS is not set
CONFIG_XFRM=y
@ -449,7 +449,6 @@ CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
CONFIG_DST_CACHE=y
CONFIG_GRO_CELLS=y
# CONFIG_NET_DEVLINK is not set
CONFIG_MAY_USE_DEVLINK=y
# CONFIG_FAILOVER is not set
#
@ -539,6 +538,7 @@ CONFIG_BLK_DEV_NBD=m
#
# VOP Bus Driver
#
# CONFIG_VOP_BUS is not set
#
# Intel MIC Host Driver
@ -576,7 +576,10 @@ CONFIG_DUMMY=m
# CONFIG_EQUALIZER is not set
# CONFIG_NET_TEAM is not set
# CONFIG_MACVLAN is not set
# CONFIG_IPVLAN is not set
# CONFIG_VXLAN is not set
# CONFIG_GENEVE is not set
# CONFIG_GTP is not set
# CONFIG_MACSEC is not set
# CONFIG_NETCONSOLE is not set
CONFIG_TUN=m
@ -675,18 +678,19 @@ CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=32
# CONFIG_N_GSM is not set
# CONFIG_TRACE_SINK is not set
CONFIG_LDISC_AUTOLOAD=y
CONFIG_DEVMEM=y
# CONFIG_DEVKMEM is not set
# CONFIG_SERIAL_DEV_BUS is not set
# CONFIG_HW_RANDOM is not set
CONFIG_UML_RANDOM=y
# CONFIG_R3964 is not set
# CONFIG_RAW_DRIVER is not set
#
# I2C support
#
# CONFIG_I2C is not set
# CONFIG_I3C is not set
# CONFIG_SPMI is not set
# CONFIG_HSI is not set
# CONFIG_PPS is not set
@ -814,10 +818,12 @@ CONFIG_ARM_GIC_MAX_NR=1
# CONFIG_FPGA is not set
# CONFIG_SIOX is not set
# CONFIG_SLIMBUS is not set
# CONFIG_INTERCONNECT is not set
#
# File systems
#
CONFIG_VALIDATE_FS_PARSER=y
CONFIG_FS_IOMAP=y
# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
@ -825,7 +831,6 @@ CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
# CONFIG_EXT4_FS_POSIX_ACL is not set
# CONFIG_EXT4_FS_SECURITY is not set
# CONFIG_EXT4_ENCRYPTION is not set
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
@ -988,7 +993,7 @@ CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
# CONFIG_HARDENED_USERCOPY is not set
# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_DEFAULT_SECURITY=""
CONFIG_LSM="yama,loadpin,safesetid,integrity"
CONFIG_CRYPTO=y
#
@ -1049,6 +1054,7 @@ CONFIG_CRYPTO_ECHAINIV=m
# CONFIG_CRYPTO_PCBC is not set
# CONFIG_CRYPTO_XTS is not set
# CONFIG_CRYPTO_KEYWRAP is not set
# CONFIG_CRYPTO_ADIANTUM is not set
#
# Hash modes
@ -1078,6 +1084,7 @@ CONFIG_CRYPTO_SHA256=m
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_SHA3 is not set
# CONFIG_CRYPTO_SM3 is not set
# CONFIG_CRYPTO_STREEBOG is not set
# CONFIG_CRYPTO_TGR192 is not set
# CONFIG_CRYPTO_WP512 is not set
@ -1158,6 +1165,7 @@ CONFIG_CRC32_SLICEBY8=y
# CONFIG_RANDOM32_SELFTEST is not set
# CONFIG_XZ_DEC is not set
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
# CONFIG_DMA_API_DEBUG is not set
CONFIG_SGL_ALLOC=y
CONFIG_DQL=y
CONFIG_NLATTR=y
@ -1175,6 +1183,7 @@ CONFIG_SBITMAP=y
# printk and dmesg options
#
# CONFIG_PRINTK_TIME is not set
# CONFIG_PRINTK_CALLER is not set
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
@ -1193,7 +1202,6 @@ CONFIG_FRAME_WARN=1024
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_READABLE_ASM is not set
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_PAGE_OWNER is not set
# CONFIG_DEBUG_FS is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
@ -1208,6 +1216,7 @@ CONFIG_DEBUG_KERNEL=y
#
# CONFIG_PAGE_EXTENSION is not set
# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_PAGE_OWNER is not set
# CONFIG_PAGE_POISONING is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_DEBUG_SLAB is not set
@ -1216,6 +1225,8 @@ CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_VM is not set
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_CC_HAS_KASAN_GENERIC=y
CONFIG_KASAN_STACK=1
CONFIG_ARCH_HAS_KCOV=y
CONFIG_CC_HAS_SANCOV_TRACE_PC=y
# CONFIG_KCOV is not set
@ -1252,6 +1263,8 @@ CONFIG_LOCK_DEBUGGING_SUPPORT=y
CONFIG_STACKTRACE=y
# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
# CONFIG_DEBUG_KOBJECT is not set
CONFIG_HAVE_DEBUG_BUGVERBOSE=y
CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_PI_LIST is not set
# CONFIG_DEBUG_SG is not set
@ -1284,7 +1297,6 @@ CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_PREEMPTIRQ_DELAY_TEST is not set
# CONFIG_DMA_API_DEBUG is not set
CONFIG_RUNTIME_TESTING_MENU=y
# CONFIG_TEST_LIST_SORT is not set
# CONFIG_TEST_SORT is not set
@ -1306,6 +1318,7 @@ CONFIG_RUNTIME_TESTING_MENU=y
# CONFIG_TEST_HASH is not set
# CONFIG_TEST_IDA is not set
# CONFIG_TEST_LKM is not set
# CONFIG_TEST_VMALLOC is not set
# CONFIG_TEST_USER_COPY is not set
# CONFIG_TEST_BPF is not set
# CONFIG_FIND_BIT_BENCHMARK is not set
@ -1315,9 +1328,11 @@ CONFIG_RUNTIME_TESTING_MENU=y
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_KMOD is not set
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_STACKINIT is not set
# CONFIG_MEMTEST is not set
# CONFIG_BUG_ON_DATA_CORRUPTION is not set
# CONFIG_UBSAN is not set
CONFIG_UBSAN_ALIGNMENT=y
# CONFIG_GPROF is not set
# CONFIG_GCOV is not set
CONFIG_EARLY_PRINTK=y

View file

@ -1,4 +1,4 @@
KERNEL_VERSION=4.20.4-1-usermodelinux
KERNEL_VERSION=5.1.5-1-usermodelinux
post_install() {
echo ">>> Updating module dependencies. Please wait ..."