# git rev-parse -q --verify fad87dbd48156ab940538f052f1820f4b6ed2819^{commit} fad87dbd48156ab940538f052f1820f4b6ed2819 already have revision, skipping fetch # git checkout -q -f -B kisskb fad87dbd48156ab940538f052f1820f4b6ed2819 # git clean -qxdf # < git log -1 # commit fad87dbd48156ab940538f052f1820f4b6ed2819 # Author: Nathan Lynch # Date: Thu Feb 22 16:19:14 2024 -0600 # # powerpc/rtas: use correct function name for resetting TCE tables # # The PAPR spec spells the function name as # # "ibm,reset-pe-dma-windows" # # but in practice firmware uses the singular form: # # "ibm,reset-pe-dma-window" # # in the device tree. Since we have the wrong spelling in the RTAS # function table, reverse lookups (token -> name) fail and warn: # # unexpected failed lookup for token 86 # WARNING: CPU: 1 PID: 545 at arch/powerpc/kernel/rtas.c:659 __do_enter_rtas_trace+0x2a4/0x2b4 # CPU: 1 PID: 545 Comm: systemd-udevd Not tainted 6.8.0-rc4 #30 # Hardware name: IBM,9105-22A POWER10 (raw) 0x800200 0xf000006 of:IBM,FW1060.00 (NL1060_028) hv:phyp pSeries # NIP [c0000000000417f0] __do_enter_rtas_trace+0x2a4/0x2b4 # LR [c0000000000417ec] __do_enter_rtas_trace+0x2a0/0x2b4 # Call Trace: # __do_enter_rtas_trace+0x2a0/0x2b4 (unreliable) # rtas_call+0x1f8/0x3e0 # enable_ddw.constprop.0+0x4d0/0xc84 # dma_iommu_dma_supported+0xe8/0x24c # dma_set_mask+0x5c/0xd8 # mlx5_pci_init.constprop.0+0xf0/0x46c [mlx5_core] # probe_one+0xfc/0x32c [mlx5_core] # local_pci_probe+0x68/0x12c # pci_call_probe+0x68/0x1ec # pci_device_probe+0xbc/0x1a8 # really_probe+0x104/0x570 # __driver_probe_device+0xb8/0x224 # driver_probe_device+0x54/0x130 # __driver_attach+0x158/0x2b0 # bus_for_each_dev+0xa8/0x120 # driver_attach+0x34/0x48 # bus_add_driver+0x174/0x304 # driver_register+0x8c/0x1c4 # __pci_register_driver+0x68/0x7c # mlx5_init+0xb8/0x118 [mlx5_core] # do_one_initcall+0x60/0x388 # do_init_module+0x7c/0x2a4 # init_module_from_file+0xb4/0x108 # idempotent_init_module+0x184/0x34c # sys_finit_module+0x90/0x114 # # And oopses are possible when lockdep is enabled or the RTAS # tracepoints are active, since those paths dereference the result of # the lookup. # # Use the correct spelling to match firmware's behavior, adjusting the # related constants to match. # # Signed-off-by: Nathan Lynch # Fixes: 8252b88294d2 ("powerpc/rtas: improve function information lookups") # Reported-by: Gaurav Batra # Signed-off-by: Michael Ellerman # Link: https://msgid.link/20240222-rtas-fix-ibm-reset-pe-dma-window-v1-1-7aaf235ac63c@linux.ibm.com # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 fad87dbd48156ab940538f052f1820f4b6ed2819 # make -s -j 160 ARCH=powerpc O=/kisskb/build/powerpc-fixes_mpc85xx_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- mpc85xx_defconfig Using /kisskb/src/arch/powerpc/configs/mpc85xx_base.config as base Merging /kisskb/src/arch/powerpc/configs/85xx-32bit.config Merging /kisskb/src/arch/powerpc/configs/85xx-hw.config Merging /kisskb/src/arch/powerpc/configs/fsl-emb-nonhw.config # # merged configuration written to .config (needs make) # # < make -s -j 160 ARCH=powerpc O=/kisskb/build/powerpc-fixes_mpc85xx_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 160 ARCH=powerpc O=/kisskb/build/powerpc-fixes_mpc85xx_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig # make -s -j 160 ARCH=powerpc O=/kisskb/build/powerpc-fixes_mpc85xx_defconfig_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- In file included from /kisskb/src/include/linux/build_bug.h:5:0, from /kisskb/src/include/linux/container_of.h:5, from /kisskb/src/include/linux/list.h:5, from /kisskb/src/include/linux/module.h:12, from /kisskb/src/drivers/net/ethernet/freescale/fs_enet/mac-scc.c:15: /kisskb/src/drivers/net/ethernet/freescale/fs_enet/mac-scc.c: In function 'allocate_bd': /kisskb/src/include/linux/err.h:28:49: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] #define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO) ^ /kisskb/src/include/linux/compiler.h:77:42: note: in definition of macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^ /kisskb/src/drivers/net/ethernet/freescale/fs_enet/mac-scc.c:138:6: note: in expansion of macro 'IS_ERR_VALUE' if (IS_ERR_VALUE(fep->ring_mem_addr)) ^ /kisskb/src/drivers/net/ethernet/freescale/fs_enet/mac-scc.c: At top level: cc1: warning: unrecognized command line option '-Wno-shift-negative-value' Completed OK # rm -rf /kisskb/build/powerpc-fixes_mpc85xx_defconfig_powerpc-gcc5 # Build took: 0:01:38.169372