]> err.no Git - linux-2.6/commitdiff
[PATCH] sysctl: cdrom: don't set de->owner
authorEric W. Biederman <ebiederm@xmission.com>
Wed, 14 Feb 2007 08:33:35 +0000 (00:33 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Wed, 14 Feb 2007 16:09:56 +0000 (08:09 -0800)
There is no need for open files in /proc/sys/XXX to hold a reference count on
the module that provides the file to prevent module unload races.  While there
is code active in the module p->used in the sysctl_table_header is
incremented, preventing the sysctl from being unregisted.  Once the sysctl is
unregistered it cannot be found.  Open files are also not a problem as they
revalidate the sysctl information and bump p->used before accessing module
code.

So setting de->owner is unnecessary, makes for a bad example and gets in my
way of removing ctl_table->de.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Acked-by: Jens Axboe <jens.axboe@oracle.com>
Acked-by: James Bottomley <James.Bottomley@SteelEye.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/cdrom/cdrom.c

index f0a68017a17589fe25a0822652bd08ea9ccef794..14f72c477accdd17f5b6233d108f857a9a51efa2 100644 (file)
@@ -3554,8 +3554,6 @@ static void cdrom_sysctl_register(void)
                return;
 
        cdrom_sysctl_header = register_sysctl_table(cdrom_root_table, 0);
-       if (cdrom_root_table->ctl_name && cdrom_root_table->child->de)
-               cdrom_root_table->child->de->owner = THIS_MODULE;
 
        /* set the defaults */
        cdrom_sysctl_settings.autoclose = autoclose;