# 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/powerpc-linux/bin/powerpc-linux-gcc --version # < git log --format=%s --max-count=1 73aca179d78eaa11604ba0783a6d8b2125fbc332 # < make -s -j 120 ARCH=powerpc O=/kisskb/build/powerpc-fixes_mpc86xx_defconfig_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- mpc86xx_defconfig # make -s -j 120 ARCH=powerpc O=/kisskb/build/powerpc-fixes_mpc86xx_defconfig_powerpc CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/powerpc-linux/bin/powerpc-linux- /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/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/base/regmap/regmap.c: In function 'regmap_raw_read': /kisskb/src/drivers/base/regmap/regmap.c:2497:6: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/base/regmap/regmap.c: In function '_regmap_raw_write': /kisskb/src/drivers/base/regmap/regmap.c:1819:6: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/tty/serial/8250/8250_core.c: In function 'univ8250_release_irq': /kisskb/src/drivers/tty/serial/8250/8250_core.c:251:18: warning: 'i' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/tty/serial/8250/8250_core.c:231:19: note: 'i' was declared here arch/powerpc/boot/mvme7100.dtb: Warning (pci_bridge): /pcie@f1008000: missing ranges for PCI bridge (or not a bridge) arch/powerpc/boot/mvme7100.dtb: Warning (pci_bridge): /pcie@f1008000/pcie@0: missing ranges for PCI bridge (or not a bridge) arch/powerpc/boot/mvme7100.dtb: Warning (pci_bridge): /pcie@f1008000/pcie@0: missing bus-range for PCI bridge arch/powerpc/boot/mvme7100.dtb: Warning (pci_bridge): /pcie@f1009000: missing ranges for PCI bridge (or not a bridge) arch/powerpc/boot/mvme7100.dtb: Warning (pci_bridge): /pcie@f1009000/pcie@0: missing ranges for PCI bridge (or not a bridge) arch/powerpc/boot/mvme7100.dtb: Warning (pci_bridge): /pcie@f1009000/pcie@0: missing bus-range for PCI bridge arch/powerpc/boot/mvme7100.dtb: Warning (pci_device_bus_num): Failed prerequisite 'pci_bridge' INFO: Uncompressed kernel (size 0x9a4b48) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0xa00000) Image Name: Linux-4.16.0-g73aca17 Created: Tue Apr 10 00:45:20 2018 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 4716821 Bytes = 4606.27 kB = 4.50 MB Load Address: 00000000 Entry Point: 00000000 Completed OK # rm -rf /kisskb/build/powerpc-fixes_mpc86xx_defconfig_powerpc # Build took: 0:00:57.524180