summaryrefslogtreecommitdiffstats
path: root/kernel/module.c
diff options
context:
space:
mode:
authorAlexey Dobriyan <adobriyan@gmail.com>2007-08-06 23:47:45 +0400
committerGreg Kroah-Hartman <gregkh@suse.de>2007-08-22 14:35:35 -0700
commit256e2fdf033f5c8b5093cd817d44cea3a11a4e6f (patch)
tree1bfca5475caac37a87762a48f30c945a4b4b743f /kernel/module.c
parent6cb52147b254373364a2fef5df8b4aa3739c8bb6 (diff)
downloadlinux-256e2fdf033f5c8b5093cd817d44cea3a11a4e6f.tar.bz2
Fix Off-by-one in /sys/module/*/refcnt
sysfs internals were changed to not pin module in question. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Acked-by: Kay Sievers <kay.sievers@vrfy.org> Acked-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'kernel/module.c')
-rw-r--r--kernel/module.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/kernel/module.c b/kernel/module.c
index 33c04ad51175..db0ead0363e2 100644
--- a/kernel/module.c
+++ b/kernel/module.c
@@ -784,8 +784,7 @@ EXPORT_SYMBOL_GPL(symbol_put_addr);
static ssize_t show_refcnt(struct module_attribute *mattr,
struct module *mod, char *buffer)
{
- /* sysfs holds a reference */
- return sprintf(buffer, "%u\n", module_refcount(mod)-1);
+ return sprintf(buffer, "%u\n", module_refcount(mod));
}
static struct module_attribute refcnt = {