ucounts: move kfree() out of critical zone protected by ucounts_lock
authorMengEn Sun <mengensun@tencent.com>
Fri, 6 Dec 2024 04:13:47 +0000 (12:13 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 13 Jan 2025 04:21:00 +0000 (20:21 -0800)
commitf49b42d415a32faee6bc08923821f432f64a4e90
tree6a9e611872371390fc7c06d6af8b2a45f7a462c5
parentc7bb5cf9fc4e95dff4a3a34b1d14363a6eebdc84
ucounts: move kfree() out of critical zone protected by ucounts_lock

Although kfree is a non-sleep function, it is possible to enter a long
chain of calls probabilistically, so it looks better to move kfree from
alloc_ucounts() out of the critical zone of ucounts_lock.

Link: https://lkml.kernel.org/r/1733458427-11794-1-git-send-email-mengensun@tencent.com
Signed-off-by: MengEn Sun <mengensun@tencent.com>
Reviewed-by: YueHong Wu <yuehongwu@tencent.com>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Andrei Vagin <avagin@google.com>
Cc: Joel Granados <joel.granados@kernel.org>
Cc: Thomas Weißschuh <linux@weissschuh.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
kernel/ucount.c