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]
Date:   Fri, 27 Oct 2023 18:54:11 +0800
From:   Herbert Xu <herbert@...dor.apana.org.au>
To:     Longfang Liu <liulongfang@...wei.com>
Cc:     wangzhou1@...ilicon.com, linux-crypto@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH] crypto: hisilicon/qm - prevent soft lockup in receive
 loop

On Fri, Oct 20, 2023 at 05:35:58PM +0800, Longfang Liu wrote:
> In the scenario where the accelerator business is fully loaded.
> When the workqueue receiving messages and performing callback
> processing, there are a large number of messages that need to be
> received, and there are continuously messages that have been
> processed and need to be received.
> This will cause the receive loop here to be locked for a long time.
> This scenario will cause watchdog timeout problems on OS with kernel
> preemption turned off.
> 
> The error logs:
> watchdog: BUG: soft lockup - CPU#23 stuck for 23s! [kworker/u262:1:1407]
> [ 1461.978428][   C23] Call trace:
> [ 1461.981890][   C23]  complete+0x8c/0xf0
> [ 1461.986031][   C23]  kcryptd_async_done+0x154/0x1f4 [dm_crypt]
> [ 1461.992154][   C23]  sec_skcipher_callback+0x7c/0xf4 [hisi_sec2]
> [ 1461.998446][   C23]  sec_req_cb+0x104/0x1f4 [hisi_sec2]
> [ 1462.003950][   C23]  qm_poll_req_cb+0xcc/0x150 [hisi_qm]
> [ 1462.009531][   C23]  qm_work_process+0x60/0xc0 [hisi_qm]
> [ 1462.015101][   C23]  process_one_work+0x1c4/0x470
> [ 1462.020052][   C23]  worker_thread+0x150/0x3c4
> [ 1462.024735][   C23]  kthread+0x108/0x13c
> [ 1462.028889][   C23]  ret_from_fork+0x10/0x18
> 
> Therefore, it is necessary to add an actively scheduled operation in the
> while loop to prevent this problem.
> After adding it, no matter whether the OS turns on or off the kernel
> preemption function. Neither will cause watchdog timeout issues.
> 
> Signed-off-by: Longfang Liu <liulongfang@...wei.com>
> ---
>  drivers/crypto/hisilicon/qm.c | 2 ++
>  1 file changed, 2 insertions(+)

Patch applied.  Thanks.
-- 
Email: Herbert Xu <herbert@...dor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ