[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Zqlc6V0ZE6u9IgOu@slm.duckdns.org>
Date: Tue, 30 Jul 2024 11:36:41 -1000
From: Tejun Heo <tj@...nel.org>
To: Will Deacon <will@...nel.org>
Cc: linux-kernel@...r.kernel.org, Lai Jiangshan <jiangshanlai@...il.com>
Subject: Re: [PATCH] workqueue: Fix UBSAN 'subtraction overflow' error in
shift_and_mask()
On Tue, Jul 30, 2024 at 12:44:31PM +0100, Will Deacon wrote:
...
> This is due to shift_and_mask() using a signed immediate to construct
> the mask and being called with a shift of 31 (WORK_OFFQ_POOL_SHIFT) so
> that it ends up decrementing from INT_MIN.
>
> Use an unsigned constant '1U' to generate the mask in shift_and_mask().
>
> Cc: Tejun Heo <tj@...nel.org>
> Cc: Lai Jiangshan <jiangshanlai@...il.com>
> Fixes: 1211f3b21c2a ("workqueue: Preserve OFFQ bits in cancel[_sync] paths")
> Signed-off-by: Will Deacon <will@...nel.org>
Applied to wq/for-6.11-fixes.
Thanks.
--
tejun
Powered by blists - more mailing lists