summaryrefslogtreecommitdiff
path: root/drivers/char/misc.c
diff options
context:
space:
mode:
authorXion Wang <xion.wang@mediatek.com>2025-08-27 10:41:00 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-09-06 19:41:07 +0200
commitceda408c0d1d41094ad125332c6fb1d488e61c0c (patch)
tree69551c50eb17eb0430e17b50a8d83a7fbca41de4 /drivers/char/misc.c
parent20f2044bae1187f58863c7aa3d07dfc6ba50afec (diff)
misc: remove ineffective WARN_ON() check from misc_deregister()
The WARN_ON(list_empty(&misc->list)) in misc_deregister() does not catch any practical error conditions: - For statically allocated miscdevice structures, the list pointers are zero-initialized, so list_empty() returns false, not true. - After list_del(), the pointers are set to LIST_POISON1 and LIST_POISON2, so repeated deregistration also fails to trigger the check. Signed-off-by: Xion Wang <xion.wang@mediatek.com> Link: https://lore.kernel.org/r/20250827024201.21407-2-xion.wang@mediatek.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/char/misc.c')
-rw-r--r--drivers/char/misc.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/drivers/char/misc.c b/drivers/char/misc.c
index a0aae0fc7926..69e8ce02e099 100644
--- a/drivers/char/misc.c
+++ b/drivers/char/misc.c
@@ -283,9 +283,6 @@ EXPORT_SYMBOL(misc_register);
void misc_deregister(struct miscdevice *misc)
{
- if (WARN_ON(list_empty(&misc->list)))
- return;
-
mutex_lock(&misc_mtx);
list_del(&misc->list);
device_destroy(&misc_class, MKDEV(MISC_MAJOR, misc->minor));