diff --git a/.SRCINFO b/.SRCINFO index 2d4b61d65e2a..5daa0eef02c0 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -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 diff --git a/001-hide_the_int3_emulate_call_jmp_functions_from_uml.patch b/001-hide_the_int3_emulate_call_jmp_functions_from_uml.patch new file mode 100644 index 000000000000..d9374cb165cd --- /dev/null +++ b/001-hide_the_int3_emulate_call_jmp_functions_from_uml.patch @@ -0,0 +1,36 @@ +From: "Steven Rostedt (VMware)" + +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 +Signed-off-by: Steven Rostedt (VMware) +--- + 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 diff --git a/PKGBUILD b/PKGBUILD index aa3d9c3940a2..20680a9837bb 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -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 <>> Updating module dependencies. Please wait ..."