Commit 72164d5b authored by VanGiang Nguyen's avatar VanGiang Nguyen Committed by Greg Kroah-Hartman
Browse files

padata: use integer wrap around to prevent deadlock on seq_nr overflow



commit 9a22b281 upstream.

When submitting more than 2^32 padata objects to padata_do_serial, the
current sorting implementation incorrectly sorts padata objects with
overflowed seq_nr, causing them to be placed before existing objects in
the reorder list. This leads to a deadlock in the serialization process
as padata_find_next cannot match padata->seq_nr and pd->processed
because the padata instance with overflowed seq_nr will be selected
next.

To fix this, we use an unsigned integer wrap around to correctly sort
padata objects in scenarios with integer overflow.

Fixes: bfde23ce ("padata: unbind parallel jobs from specific CPUs")
Cc: <stable@vger.kernel.org>
Co-developed-by: default avatarChristian Gafert <christian.gafert@rohde-schwarz.com>
Signed-off-by: default avatarChristian Gafert <christian.gafert@rohde-schwarz.com>
Co-developed-by: default avatarMax Ferger <max.ferger@rohde-schwarz.com>
Signed-off-by: default avatarMax Ferger <max.ferger@rohde-schwarz.com>
Signed-off-by: default avatarVan Giang Nguyen <vangiang.nguyen@rohde-schwarz.com>
Acked-by: default avatarDaniel Jordan <daniel.m.jordan@oracle.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c3dfec3c
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment