From: Greg KH <greg@kroah.com>
To: linux-kernel@vger.kernel.org
Cc: Cornelia Huck <cornelia.huck@de.ibm.com>,
Greg Kroah-Hartman <gregkh@suse.de>
Subject: [PATCH 10/16] driver core fixes: device_add() cleanup on error
Date: Wed, 18 Oct 2006 13:09:01 -0700 [thread overview]
Message-ID: <11612021771048-git-send-email-greg@kroah.com> (raw)
In-Reply-To: <11612021733101-git-send-email-greg@kroah.com>
From: Cornelia Huck <cornelia.huck@de.ibm.com>
Check for return code of device_create_file() and correct cleanup in
the error case in device_add().
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
drivers/base/core.c | 10 +++++++---
1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/base/core.c b/drivers/base/core.c
index aee3743..365f709 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -433,14 +433,16 @@ int device_add(struct device *dev)
if (dev->driver)
dev->uevent_attr.attr.owner = dev->driver->owner;
dev->uevent_attr.store = store_uevent;
- device_create_file(dev, &dev->uevent_attr);
+ error = device_create_file(dev, &dev->uevent_attr);
+ if (error)
+ goto attrError;
if (MAJOR(dev->devt)) {
struct device_attribute *attr;
attr = kzalloc(sizeof(*attr), GFP_KERNEL);
if (!attr) {
error = -ENOMEM;
- goto PMError;
+ goto ueventattrError;
}
attr->attr.name = "dev";
attr->attr.mode = S_IRUGO;
@@ -450,7 +452,7 @@ int device_add(struct device *dev)
error = device_create_file(dev, attr);
if (error) {
kfree(attr);
- goto attrError;
+ goto ueventattrError;
}
dev->devt_attr = attr;
@@ -507,6 +509,8 @@ int device_add(struct device *dev)
device_remove_file(dev, dev->devt_attr);
kfree(dev->devt_attr);
}
+ ueventattrError:
+ device_remove_file(dev, &dev->uevent_attr);
attrError:
kobject_uevent(&dev->kobj, KOBJ_REMOVE);
kobject_del(&dev->kobj);
--
1.4.2.4
next prev parent reply other threads:[~2006-10-18 20:09 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-18 19:58 [GIT PATCH] Driver Core fixes for 2.6.19-rc2 Greg KH
2006-10-18 20:08 ` [PATCH 1/16] Documentation: feature-removal-schedule typo Greg KH
2006-10-18 20:08 ` [PATCH 2/16] Driver core: plug device probe memory leak Greg KH
2006-10-18 20:08 ` [PATCH 3/16] Fix dev_printk() is now GPL-only Greg KH
2006-10-18 20:08 ` [PATCH 4/16] HOWTO: bug report addition Greg KH
2006-10-18 20:08 ` [PATCH 5/16] sysfs: remove duplicated dput in sysfs_update_file Greg KH
2006-10-18 20:08 ` [PATCH 6/16] sysfs: update obsolete comment " Greg KH
2006-10-18 20:08 ` [PATCH 7/16] driver core fixes: sysfs_create_link() retval check in class.c Greg KH
2006-10-18 20:08 ` [PATCH 8/16] driver core fixes: bus_add_attrs() retval check Greg KH
2006-10-18 20:09 ` [PATCH 9/16] driver core fixes: bus_add_device() cleanup on error Greg KH
2006-10-18 20:09 ` Greg KH [this message]
2006-10-18 20:09 ` [PATCH 11/16] driver core fixes: device_create_file() retval check in dmapool.c Greg KH
2006-10-18 20:09 ` [PATCH 12/16] driver core fixes: sysfs_create_group() retval in topology.c Greg KH
2006-10-18 20:09 ` [PATCH 13/16] Driver core: Don't leak 'old_class_name' in drivers/base/core.c::device_rename() Greg KH
2006-10-18 20:09 ` [PATCH 14/16] Driver core: Don't ignore error returns from probing Greg KH
2006-10-18 20:09 ` [PATCH 15/16] Driver core: bus: remove indentation level Greg KH
2006-10-18 20:09 ` [PATCH 16/16] driver core: kmalloc() failure check in driver_probe_device Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=11612021771048-git-send-email-greg@kroah.com \
--to=greg@kroah.com \
--cc=cornelia.huck@de.ibm.com \
--cc=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.