git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[media] DVB: improve documentation for satellite delivery systems
[pandora-kernel.git]
/
kernel
/
sysctl.c
diff --git
a/kernel/sysctl.c
b/kernel/sysctl.c
index
f175d98
..
11d65b5
100644
(file)
--- a/
kernel/sysctl.c
+++ b/
kernel/sysctl.c
@@
-1590,16
+1590,11
@@
void sysctl_head_get(struct ctl_table_header *head)
spin_unlock(&sysctl_lock);
}
spin_unlock(&sysctl_lock);
}
-static void free_head(struct rcu_head *rcu)
-{
- kfree(container_of(rcu, struct ctl_table_header, rcu));
-}
-
void sysctl_head_put(struct ctl_table_header *head)
{
spin_lock(&sysctl_lock);
if (!--head->count)
void sysctl_head_put(struct ctl_table_header *head)
{
spin_lock(&sysctl_lock);
if (!--head->count)
-
call_rcu(&head->rcu, free_head
);
+
kfree_rcu(head, rcu
);
spin_unlock(&sysctl_lock);
}
spin_unlock(&sysctl_lock);
}
@@
-1971,10
+1966,10
@@
void unregister_sysctl_table(struct ctl_table_header * header)
start_unregistering(header);
if (!--header->parent->count) {
WARN_ON(1);
start_unregistering(header);
if (!--header->parent->count) {
WARN_ON(1);
-
call_rcu(&header->parent->rcu, free_head
);
+
kfree_rcu(header->parent, rcu
);
}
if (!--header->count)
}
if (!--header->count)
-
call_rcu(&header->rcu, free_head
);
+
kfree_rcu(header, rcu
);
spin_unlock(&sysctl_lock);
}
spin_unlock(&sysctl_lock);
}