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] [day] [month] [year] [list]
Message-ID: <20200705094811.GB4064@alpha.franken.de>
Date:   Sun, 5 Jul 2020 11:48:11 +0200
From:   Thomas Bogendoerfer <tsbogend@...ha.franken.de>
To:     Xingxing Su <suxingxing@...ngson.cn>
Cc:     Huacai Chen <chenhc@...ote.com>,
        Jiaxun Yang <jiaxun.yang@...goat.com>,
        linux-mips@...r.kernel.org, linux-kernel@...r.kernel.org,
        Xuefeng Li <lixuefeng@...ngson.cn>,
        Tiezhu Yang <yangtiezhu@...ngson.cn>
Subject: Re: [PATCH] MIPS: Do not use smp_processor_id() in preemptible code

On Fri, Jul 03, 2020 at 12:11:58PM +0800, Xingxing Su wrote:
> Use preempt_disable() to fix the following bug under CONFIG_DEBUG_PREEMPT.
> 
> [   21.915305] BUG: using smp_processor_id() in preemptible [00000000] code: qemu-system-mip/1056
> [   21.923996] caller is do_ri+0x1d4/0x690
> [   21.927921] CPU: 0 PID: 1056 Comm: qemu-system-mip Not tainted 5.8.0-rc2 #3
> [   21.934913] Stack : 0000000000000001 ffffffff81370000 ffffffff8071cd60 a80f926d5ac95694
> [   21.942984]         a80f926d5ac95694 0000000000000000 98000007f0043c88 ffffffff80f2fe40
> [   21.951054]         0000000000000000 0000000000000000 0000000000000001 0000000000000000
> [   21.959123]         ffffffff802d60cc 98000007f0043dd8 ffffffff81f4b1e8 ffffffff81f60000
> [   21.967192]         ffffffff81f60000 ffffffff80fe0000 ffff000000000000 0000000000000000
> [   21.975261]         fffffffff500cce1 0000000000000001 0000000000000002 0000000000000000
> [   21.983331]         ffffffff80fe1a40 0000000000000006 ffffffff8077f940 0000000000000000
> [   21.991401]         ffffffff81460000 98000007f0040000 98000007f0043c80 000000fffba8cf20
> [   21.999471]         ffffffff8071cd60 0000000000000000 0000000000000000 0000000000000000
> [   22.007541]         0000000000000000 0000000000000000 ffffffff80212ab4 a80f926d5ac95694
> [   22.015610]         ...
> [   22.018086] Call Trace:
> [   22.020562] [<ffffffff80212ab4>] show_stack+0xa4/0x138
> [   22.025732] [<ffffffff8071cd60>] dump_stack+0xf0/0x150
> [   22.030903] [<ffffffff80c73f5c>] check_preemption_disabled+0xf4/0x100
> [   22.037375] [<ffffffff80213b84>] do_ri+0x1d4/0x690
> [   22.042198] [<ffffffff8020b828>] handle_ri_int+0x44/0x5c
> [   24.359386] BUG: using smp_processor_id() in preemptible [00000000] code: qemu-system-mip/1072
> [   24.368204] caller is do_ri+0x1a8/0x690
> [   24.372169] CPU: 4 PID: 1072 Comm: qemu-system-mip Not tainted 5.8.0-rc2 #3
> [   24.379170] Stack : 0000000000000001 ffffffff81370000 ffffffff8071cd60 a80f926d5ac95694
> [   24.387246]         a80f926d5ac95694 0000000000000000 98001007ef06bc88 ffffffff80f2fe40
> [   24.395318]         0000000000000000 0000000000000000 0000000000000001 0000000000000000
> [   24.403389]         ffffffff802d60cc 98001007ef06bdd8 ffffffff81f4b818 ffffffff81f60000
> [   24.411461]         ffffffff81f60000 ffffffff80fe0000 ffff000000000000 0000000000000000
> [   24.419533]         fffffffff500cce1 0000000000000001 0000000000000002 0000000000000000
> [   24.427603]         ffffffff80fe0000 0000000000000006 ffffffff8077f940 0000000000000020
> [   24.435673]         ffffffff81460020 98001007ef068000 98001007ef06bc80 000000fffbbbb370
> [   24.443745]         ffffffff8071cd60 0000000000000000 0000000000000000 0000000000000000
> [   24.451816]         0000000000000000 0000000000000000 ffffffff80212ab4 a80f926d5ac95694
> [   24.459887]         ...
> [   24.462367] Call Trace:
> [   24.464846] [<ffffffff80212ab4>] show_stack+0xa4/0x138
> [   24.470029] [<ffffffff8071cd60>] dump_stack+0xf0/0x150
> [   24.475208] [<ffffffff80c73f5c>] check_preemption_disabled+0xf4/0x100
> [   24.481682] [<ffffffff80213b58>] do_ri+0x1a8/0x690
> [   24.486509] [<ffffffff8020b828>] handle_ri_int+0x44/0x5c
> 
> Signed-off-by: Xingxing Su <suxingxing@...ngson.cn>
> ---
>  arch/mips/kernel/traps.c | 8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)

applied to mips-fixes.

Thomas.

-- 
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea.                                                [ RFC1925, 2.3 ]

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ