# 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-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld --version # < git log --format=%s --max-count=1 fad87dbd48156ab940538f052f1820f4b6ed2819 # make -s -j 160 ARCH=sparc64 O=/kisskb/build/powerpc-fixes_defconfig_sparc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux- defconfig # < make -s -j 160 ARCH=sparc64 O=/kisskb/build/powerpc-fixes_defconfig_sparc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux- help # make -s -j 160 ARCH=sparc64 O=/kisskb/build/powerpc-fixes_defconfig_sparc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux- olddefconfig # make -s -j 160 ARCH=sparc64 O=/kisskb/build/powerpc-fixes_defconfig_sparc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux- :1519:2: warning: #warning syscall clone3 not implemented [-Wcpp] /kisskb/src/arch/sparc/kernel/traps_64.c:253:6: warning: no previous prototype for 'is_no_fault_exception' [-Wmissing-prototypes] 253 | bool is_no_fault_exception(struct pt_regs *regs) | ^~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vma.c:246:12: warning: no previous prototype for 'init_vdso_image' [-Wmissing-prototypes] 246 | int __init init_vdso_image(const struct vdso_image *image, | ^~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/kernel/traps_64.c:2035:6: warning: no previous prototype for 'do_mcd_err' [-Wmissing-prototypes] 2035 | void do_mcd_err(struct pt_regs *regs, struct sun4v_error_entry ent) | ^~~~~~~~~~ /kisskb/src/arch/sparc/kernel/traps_64.c:2153:6: warning: no previous prototype for 'sun4v_nonresum_error_user_handled' [-Wmissing-prototypes] 2153 | bool sun4v_nonresum_error_user_handled(struct pt_regs *regs, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/mm/init_64.c:2644:6: warning: no previous prototype for 'vmemmap_free' [-Wmissing-prototypes] 2644 | void vmemmap_free(unsigned long start, unsigned long end, | ^~~~~~~~~~~~ /kisskb/src/arch/sparc/kernel/setup_64.c:602:13: warning: no previous prototype for 'alloc_irqstack_bootmem' [-Wmissing-prototypes] 602 | void __init alloc_irqstack_bootmem(void) | ^~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/kernel/time_64.c:880:20: warning: no previous prototype for 'sched_clock' [-Wmissing-prototypes] 880 | unsigned long long sched_clock(void) | ^~~~~~~~~~~ /kisskb/src/arch/sparc/prom/misc_64.c:165:5: warning: no previous prototype for 'prom_get_mmu_ihandle' [-Wmissing-prototypes] 165 | int prom_get_mmu_ihandle(void) | ^~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/prom/p1275.c:52:6: warning: no previous prototype for 'prom_cif_init' [-Wmissing-prototypes] 52 | void prom_cif_init(void *cif_handler, void *cif_stack) | ^~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vclock_gettime.c:254:1: warning: no previous prototype for '__vdso_clock_gettime' [-Wmissing-prototypes] 254 | __vdso_clock_gettime(clockid_t clock, struct __kernel_old_timespec *ts) | ^~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vclock_gettime.c:282:1: warning: no previous prototype for '__vdso_clock_gettime_stick' [-Wmissing-prototypes] 282 | __vdso_clock_gettime_stick(clockid_t clock, struct __kernel_old_timespec *ts) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vclock_gettime.c:307:1: warning: no previous prototype for '__vdso_gettimeofday' [-Wmissing-prototypes] 307 | __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vclock_gettime.c:343:1: warning: no previous prototype for '__vdso_gettimeofday_stick' [-Wmissing-prototypes] 343 | __vdso_gettimeofday_stick(struct __kernel_old_timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /kisskb/src/arch/sparc/vdso/vdso32/vclock_gettime.c:22: /kisskb/src/arch/sparc/vdso/vdso32/../vclock_gettime.c:254:1: warning: no previous prototype for '__vdso_clock_gettime' [-Wmissing-prototypes] 254 | __vdso_clock_gettime(clockid_t clock, struct __kernel_old_timespec *ts) | ^~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vdso32/../vclock_gettime.c:282:1: warning: no previous prototype for '__vdso_clock_gettime_stick' [-Wmissing-prototypes] 282 | __vdso_clock_gettime_stick(clockid_t clock, struct __kernel_old_timespec *ts) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vdso32/../vclock_gettime.c:307:1: warning: no previous prototype for '__vdso_gettimeofday' [-Wmissing-prototypes] 307 | __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/vdso/vdso32/../vclock_gettime.c:343:1: warning: no previous prototype for '__vdso_gettimeofday_stick' [-Wmissing-prototypes] 343 | __vdso_gettimeofday_stick(struct __kernel_old_timeval *tv, struct timezone *tz) | ^~~~~~~~~~~~~~~~~~~~~~~~~ /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld: warning: arch/sparc/vdso/vdso-note.o: missing .note.GNU-stack section implies executable stack /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld: warning: arch/sparc/vdso/vdso32/vdso-note.o: missing .note.GNU-stack section implies executable stack /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/sparc64-linux/bin/sparc64-linux-ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker /kisskb/src/arch/sparc/kernel/adi_64.c:124:21: warning: no previous prototype for 'find_tag_store' [-Wmissing-prototypes] 124 | tag_storage_desc_t *find_tag_store(struct mm_struct *mm, | ^~~~~~~~~~~~~~ /kisskb/src/arch/sparc/kernel/adi_64.c:156:21: warning: no previous prototype for 'alloc_tag_store' [-Wmissing-prototypes] 156 | tag_storage_desc_t *alloc_tag_store(struct mm_struct *mm, | ^~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/kernel/adi_64.c:299:6: warning: no previous prototype for 'del_tag_store' [-Wmissing-prototypes] 299 | void del_tag_store(tag_storage_desc_t *tag_desc, struct mm_struct *mm) | ^~~~~~~~~~~~~ /kisskb/src/arch/sparc/kernel/pci_sun4v.c:259:15: warning: no previous prototype for 'dma_4v_iotsb_bind' [-Wmissing-prototypes] 259 | unsigned long dma_4v_iotsb_bind(unsigned long devhandle, | ^~~~~~~~~~~~~~~~~ /kisskb/src/arch/sparc/kernel/uprobes.c:237:17: warning: no previous prototype for 'uprobe_trap' [-Wmissing-prototypes] 237 | asmlinkage void uprobe_trap(struct pt_regs *regs, | ^~~~~~~~~~~ WARNING: modpost: EXPORT symbol "_mcount" [vmlinux] version generation failed, symbol will not be versioned. Is "_mcount" prototyped in ? Completed OK # rm -rf /kisskb/build/powerpc-fixes_defconfig_sparc64-gcc13 # Build took: 0:03:01.517396