* [PATCH v2] chardev: check return value of kobject_set_name() in __register_chrdev()
@ 2026-08-28 9:27 phucduc.bui
0 siblings, 0 replies; only message in thread
From: phucduc.bui @ 2026-08-28 9:27 UTC (permalink / raw)
To: Alexander Viro, Christian Brauner, Jan Kara
Cc: linux-fsdevel, linux-kernel, bui duc phuc
From: bui duc phuc <phucduc.bui@gmail.com>
The kobject_set_name() function can fail and return -ENOMEM if memory
allocation fails.
While all other functions called inside __register_chrdev() are properly
checked for errors, kobject_set_name() was missing this check. Add the
error check for kobject_set_name() and jump to the 'out' label on failure
to maintain consistency and ensure proper error handling.
Found by manual code inspection.
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: bui duc phuc <phucduc.bui@gmail.com>
---
Changes in v2:
- Add Reviewed-by tag from Jan Kara.
fs/char_dev.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/fs/char_dev.c b/fs/char_dev.c
index 00229e25c10f..5ce5423f6c99 100644
--- a/fs/char_dev.c
+++ b/fs/char_dev.c
@@ -280,7 +280,9 @@ int __register_chrdev(unsigned int major, unsigned int baseminor,
cdev->owner = fops->owner;
cdev->ops = fops;
- kobject_set_name(&cdev->kobj, "%s", name);
+ err = kobject_set_name(&cdev->kobj, "%s", name);
+ if (err)
+ goto out;
err = cdev_add(cdev, MKDEV(cd->major, baseminor), count);
if (err)
--
2.43.0
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-28 9:27 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-28 9:27 [PATCH v2] chardev: check return value of kobject_set_name() in __register_chrdev() phucduc.bui
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®