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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Yl0bNhQwwnclGKKX@shell.armlinux.org.uk>
Date:   Mon, 18 Apr 2022 09:03:02 +0100
From:   "Russell King (Oracle)" <linux@...linux.org.uk>
To:     Yuanzheng Song <songyuanzheng@...wei.com>
Cc:     ardb@...nel.org, arnd@...db.de, linus.walleij@...aro.org,
        akpm@...ux-foundation.org, ebiederm@...ssion.com,
        wangkefeng.wang@...wei.com, linux-arm-kernel@...ts.infradead.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH] ARM: fix the incorrect value of sp in __die()

On Mon, Apr 18, 2022 at 03:45:16AM +0000, Yuanzheng Song wrote:
> The dump_mem() will output useless content that exceed the stack
> in __die(), because sp will exceed the top of stack when the
> CONFIG_VMAP_STACK=y.

However, regs->ARM_sp _is_ the value of the stack pointer of the parent
context when the exception was taken, and is the correct value to start
printing the stack from.

If the first few prints are unreadable, then that's useful information.

> Insufficient stack space to handle exception!
> Task stack:     [0xf09dc000..0xf09de000]
> IRQ stack:      [0xf0800000..0xf0802000]
> Overflow stack: [0xc210e000..0xc210f000]
> Internal error: kernel stack overflow: 0 [#1] SMP ARM
> Modules linked in:
> CPU: 0 PID: 81 Comm: sh Not tainted 5.18.0-rc3 #4
> Hardware name: ARM-Versatile Express
> PC is at mmioset+0x20/0xa8
> LR is at recursive_loop+0x34/0x9c
> pc : [<c0777080>]    lr : [<c0a90c6c>]    psr: 20000013
> sp : f09dbf48  ip : f09dbf4c  fp : 00219644
> ...
> Stack: (0xf09dbf48 to 0xf09de000)
> bf40:                   ???????? ???????? ???????? ???????? ???????? ????????
> bf60: ???????? ???????? ???????? ???????? ???????? ???????? ???????? ????????
> bf80: ???????? ???????? ???????? ???????? ???????? ???????? ???????? ????????
> bfa0: ???????? ???????? ???????? ???????? ???????? ???????? ???????? ????????
> bfc0: ???????? ???????? ???????? ???????? ???????? ???????? ???????? ????????
> bfe0: ???????? ???????? ???????? ???????? ???????? ???????? ???????? ????????
> c000: 57ac6e9d 00000000 00000000 00000000 00000000 00000000 00000000 00000000

The above is useful information - it tells us that 0xf09dbf48 to
0xf09dc000 fault when accessed.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ