lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4d498c7d1808e5e9090c43822e7c79447e11bbce.camel@linux.ibm.com>
Date:   Thu, 16 Feb 2023 16:56:40 +1100
From:   Benjamin Gray <bgray@...ux.ibm.com>
To:     "Erhard F." <erhard_f@...lbox.org>, linuxppc-dev@...ts.ozlabs.org
Cc:     linux-kernel@...r.kernel.org
Subject: Re: 6.2-rc7 fails building on Talos II: memory.c:(.text+0x2e14):
 undefined reference to `hash__tlb_flush'

On Thu, 2023-02-16 at 00:55 +0100, Erhard F. wrote:
> Just noticed a build failure on 6.2-rc7 for my Talos 2 (.config
> attached):
> 
>  # make
>   CALL    scripts/checksyscalls.sh
>   UPD     include/generated/utsversion.h
>   CC      init/version-timestamp.o
>   LD      .tmp_vmlinux.kallsyms1
> ld: ld: DWARF error: could not find abbrev number 6
> mm/memory.o: in function `unmap_page_range':
> memory.c:(.text+0x2e14): undefined reference to `hash__tlb_flush'
> ld: memory.c:(.text+0x2f8c): undefined reference to `hash__tlb_flush'
> ld: ld: DWARF error: could not find abbrev number 3117
> mm/mmu_gather.o: in function `tlb_remove_table':
> mmu_gather.c:(.text+0x584): undefined reference to `hash__tlb_flush'
> ld: mmu_gather.c:(.text+0x6c4): undefined reference to
> `hash__tlb_flush'
> ld: mm/mmu_gather.o: in function `tlb_flush_mmu':
> mmu_gather.c:(.text+0x80c): undefined reference to `hash__tlb_flush'
> ld: mm/mmu_gather.o:mmu_gather.c:(.text+0xbe0): more undefined
> references to `hash__tlb_flush' follow
> make[1]: *** [scripts/Makefile.vmlinux:35: vmlinux] Fehler 1
> make: *** [Makefile:1264: vmlinux] Error 2
> 
> As 6.2-rc6 was good on this machine I did a quick bisect which
> revealed this commit:
> 
>  # git bisect bad
> 1665c027afb225882a5a0b014c45e84290b826c2 is the first bad commit
> commit 1665c027afb225882a5a0b014c45e84290b826c2
> Author: Michael Ellerman <mpe@...erman.id.au>
> Date:   Tue Jan 31 22:14:07 2023 +1100
> 
>     powerpc/64s: Reconnect tlb_flush() to hash__tlb_flush()
>     
>     Commit baf1ed24b27d ("powerpc/mm: Remove empty hash__ functions")
>     removed some empty hash MMU flushing routines, but got a bit
> overeager
>     and also removed the call to hash__tlb_flush() from tlb_flush().
>     
>     In regular use this doesn't lead to any noticable breakage, which
> is a
>     little concerning. Presumably there are flushes happening via
> other
>     paths such as arch_leave_lazy_mmu_mode(), and/or a bit of luck.
>     
>     Fix it by reinstating the call to hash__tlb_flush().
>     
>     Fixes: baf1ed24b27d ("powerpc/mm: Remove empty hash__ functions")
>     Signed-off-by: Michael Ellerman <mpe@...erman.id.au>
>     Link:
> https://lore.kernel.org/r/20230131111407.806770-1-mpe@ellerman.id.au
> 
>  arch/powerpc/include/asm/book3s/64/tlbflush.h | 2 ++
>  1 file changed, 2 insertions(+)
> 
> 
> Regards,
> Erhard

Looks like the `return` on the radix version wasn't added back, so it
falls through to the hash call too.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ