summaryrefslogtreecommitdiffstats
path: root/Documentation/filesystems/configfs/configfs_example.c
diff options
context:
space:
mode:
authorJoel Becker <joel.becker@oracle.com>2006-04-13 03:34:43 +0200
committerMark Fasheh <mark.fasheh@oracle.com>2006-06-29 23:38:53 +0200
commit22dd0e88b70f5faa3a0101081e290431c3439189 (patch)
tree28df8c4f1fd038f63a26561fdd53c33f2cdd4d34 /Documentation/filesystems/configfs/configfs_example.c
parentMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus (diff)
downloadlinux-22dd0e88b70f5faa3a0101081e290431c3439189.tar.xz
linux-22dd0e88b70f5faa3a0101081e290431c3439189.zip
configfs: Release memory in configfs_example.
The configfs_example module was missing a ->release(). Signed-off-by: Joel Becker <joel.becker@oracle.com> Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Diffstat (limited to 'Documentation/filesystems/configfs/configfs_example.c')
-rw-r--r--Documentation/filesystems/configfs/configfs_example.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/Documentation/filesystems/configfs/configfs_example.c b/Documentation/filesystems/configfs/configfs_example.c
index 3d4713a6c207..2d6a14a463e0 100644
--- a/Documentation/filesystems/configfs/configfs_example.c
+++ b/Documentation/filesystems/configfs/configfs_example.c
@@ -264,6 +264,15 @@ static struct config_item_type simple_child_type = {
};
+struct simple_children {
+ struct config_group group;
+};
+
+static inline struct simple_children *to_simple_children(struct config_item *item)
+{
+ return item ? container_of(to_config_group(item), struct simple_children, group) : NULL;
+}
+
static struct config_item *simple_children_make_item(struct config_group *group, const char *name)
{
struct simple_child *simple_child;
@@ -304,7 +313,13 @@ static ssize_t simple_children_attr_show(struct config_item *item,
"items have only one attribute that is readable and writeable.\n");
}
+static void simple_children_release(struct config_item *item)
+{
+ kfree(to_simple_children(item));
+}
+
static struct configfs_item_operations simple_children_item_ops = {
+ .release = simple_children_release,
.show_attribute = simple_children_attr_show,
};
@@ -345,10 +360,6 @@ static struct configfs_subsystem simple_children_subsys = {
* children of its own.
*/
-struct simple_children {
- struct config_group group;
-};
-
static struct config_group *group_children_make_group(struct config_group *group, const char *name)
{
struct simple_children *simple_children;