From: bui duc phuc 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. Signed-off-by: bui duc phuc --- 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