# git rev-parse -q --verify 73aca179d78eaa11604ba0783a6d8b2125fbc332^{commit} 73aca179d78eaa11604ba0783a6d8b2125fbc332 already have revision, skipping fetch # git checkout -q -f -B kisskb 73aca179d78eaa11604ba0783a6d8b2125fbc332 # git clean -qxdf # < git log -1 # commit 73aca179d78eaa11604ba0783a6d8b2125fbc332 # Author: Michael Ellerman # Date: Mon Mar 26 19:27:01 2018 +1100 # # powerpc/modules: Fix crashes by adding CONFIG_RELOCATABLE to vermagic # # If you build the kernel with CONFIG_RELOCATABLE=n, then install the # modules, rebuild the kernel with CONFIG_RELOCATABLE=y and leave the # old modules installed, we crash something like: # # Unable to handle kernel paging request for data at address 0xd000000018d66cef # Faulting instruction address: 0xc0000000021ddd08 # Oops: Kernel access of bad area, sig: 11 [#1] # Modules linked in: x_tables autofs4 # CPU: 2 PID: 1 Comm: systemd Not tainted 4.16.0-rc6-gcc_ubuntu_le-g99fec39 #1 # ... # NIP check_version.isra.22+0x118/0x170 # Call Trace: # __ksymtab_xt_unregister_table+0x58/0xfffffffffffffcb8 [x_tables] (unreliable) # resolve_symbol+0xb4/0x150 # load_module+0x10e8/0x29a0 # SyS_finit_module+0x110/0x140 # system_call+0x58/0x6c # # This happens because since commit 71810db27c1c ("modversions: treat # symbol CRCs as 32 bit quantities"), a relocatable kernel encodes and # handles symbol CRCs differently from a non-relocatable kernel. # # Although it's possible we could try and detect this situation and # handle it, it's much more robust to simply make the state of # CONFIG_RELOCATABLE part of the module vermagic. # # Fixes: 71810db27c1c ("modversions: treat symbol CRCs as 32 bit quantities") # Signed-off-by: Michael Ellerman # < /opt/cross/kisskb/gcc-4.6.3-nolibc/s390x-linux/bin/s390x-linux-gcc --version # < git log --format=%s --max-count=1 73aca179d78eaa11604ba0783a6d8b2125fbc332 # < make -s -j 80 ARCH=s390 O=/kisskb/build/powerpc-fixes_s390-defconfig_s390x CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/s390x-linux/bin/s390x-linux- defconfig # make -s -j 80 ARCH=s390 O=/kisskb/build/powerpc-fixes_s390-defconfig_s390x CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/s390x-linux/bin/s390x-linux- /kisskb/src/kernel/bpf/syscall.c:1229:12: warning: 'bpf_prog_attach_check_attach_type' defined but not used [-Wunused-function] /kisskb/src/kernel/printk/printk.c: In function 'devkmsg_sysctl_set_loglvl': /kisskb/src/kernel/printk/printk.c:182:16: warning: 'old' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/mm/hugetlb.c: In function 'alloc_pool_huge_page': /kisskb/src/mm/hugetlb.c:1433:5: warning: 'page' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/kernel/cgroup/cgroup-v1.c: In function 'cgroup1_mount': /kisskb/src/kernel/cgroup/cgroup-v1.c:1268:20: warning: 'root' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/net/tun.c: In function 'tun_get_user': /kisskb/src/drivers/net/tun.c:1820:30: warning: 'copylen' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/net/tun.c:1730:46: warning: 'linear' may be used uninitialized in this function [-Wuninitialized] Completed OK # rm -rf /kisskb/build/powerpc-fixes_s390-defconfig_s390x # Build took: 0:02:20.419661