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: <5c9043d0bd8257c813435e35c2df2f943543d168.camel@gmx.de>
Date:   Tue, 01 Aug 2023 02:33:29 +0200
From:   Mike Galbraith <efault@....de>
To:     Lorenzo Stoakes <lstoakes@...il.com>, Will Deacon <will@...nel.org>
Cc:     lkml <linux-kernel@...r.kernel.org>,
        Mark Rutland <mark.rutland@....com>,
        wangkefeng.wang@...wei.com, catalin.marinas@....com,
        ardb@...nel.org
Subject: Re: arm64: perf test 26 rpi4 oops

On Tue, 2023-08-01 at 01:48 +0200, Mike Galbraith wrote:
> On Tue, 2023-08-01 at 01:27 +0200, Mike Galbraith wrote:
> > On Mon, 2023-07-31 at 22:54 +0100, Lorenzo Stoakes wrote:
> > >
> > > Posted a fix at:-
> > >
> > > https://lore.kernel.org/all/20230731215021.70911-1-lstoakes@gmail.com/
> > >
> > > Please give that a go and indicate whether that resolves the issue.
> >
> > Yup, that fixed the oops issue.
>
> Heh, using Jiri's pick a spot from /proc/kallsyms test...
>
> root@...4:~# cat /proc/kallsyms | grep ksys_read
> ffffffe950baf7f8 T ksys_readahead
> ffffffe950c38708 T ksys_read
> root@...4:~# objdump -d --start-address=0xffffffe950c38708 --stop-address=0xffffffe950c3870a /proc/kcore
>
> /proc/kcore:     file format elf64-littleaarch64
>
>
> Disassembly of section load1:
>
> ffffffe950c38708 <load1+0x238708>:
> ffffffe950c38708:       Address 0xffffffe950c38708 is out of bounds.
>
> objdump: error: /proc/kcore(load2) is too large (0x3de8000000 bytes)
> objdump: Reading section load2 failed because: memory exhausted
> root@...4:~# dmesg|tail -2
> [  979.003019] __vm_enough_memory: pid: 12439, comm: objdump, not enough memory for the allocation
> [  979.003080] __vm_enough_memory: pid: 12439, comm: objdump, not enough memory for the allocation

crash> p ksys_read
ksys_read = $2 =
 {ssize_t (unsigned int, char *, size_t)} 0xffffffe950c38710 <ksys_read>
crash> dis 0xffffffe950c38710 10
0xffffffe950c38710 <ksys_read+8>:       paciasp
0xffffffe950c38714 <ksys_read+12>:      stp     x29, x30, [sp, #-64]!
0xffffffe950c38718 <ksys_read+16>:      mrs     x3, sp_el0
0xffffffe950c3871c <ksys_read+20>:      mov     x29, sp
0xffffffe950c38720 <ksys_read+24>:      stp     x21, x22, [sp, #32]
0xffffffe950c38724 <ksys_read+28>:      mov     x21, x1
0xffffffe950c38728 <ksys_read+32>:      mov     x22, x2
0xffffffe950c3872c <ksys_read+36>:      ldr     x1, [x3, #1320]
0xffffffe950c38730 <ksys_read+40>:      str     x1, [sp, #56]
0xffffffe950c38734 <ksys_read+44>:      mov     x1, #0x0                        // #0
crash>

Ah, so arm64 kallsyms fibs a little.. x64_64 doesn't.

root@...4:~# objdump -d --start-address=0xffffffe950c38710 --stop-address=0xffffffe950c38734 /proc/kcore

/proc/kcore:     file format elf64-littleaarch64


Disassembly of section load1:

ffffffe950c38710 <load1+0x238710>:
ffffffe950c38710:       d503233f        paciasp
ffffffe950c38714:       a9bc7bfd        stp     x29, x30, [sp, #-64]!
ffffffe950c38718:       d5384103        mrs     x3, sp_el0
ffffffe950c3871c:       910003fd        mov     x29, sp
ffffffe950c38720:       a9025bf5        stp     x21, x22, [sp, #32]
ffffffe950c38724:       aa0103f5        mov     x21, x1
ffffffe950c38728:       aa0203f6        mov     x22, x2
ffffffe950c3872c:       f9429461        ldr     x1, [x3, #1320]
ffffffe950c38730:       f9001fe1        str     x1, [sp, #56]
objdump: error: /proc/kcore(load2) is too large (0x3de8000000 bytes)
objdump: Reading section load2 failed because: memory exhausted
root@...4:~#

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ