Re: sysfs-related oops during module unload (2.6.16-rc2)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Greg KH wrote:
> On Sat, Feb 11, 2006 at 04:03:53PM -0600, Nathan Lynch wrote:
> > If the refcnt attribute of a module is open when the module is
> > unloaded, we get an oops when the file is closed.  I used ide_cd for
> > this report but I don't think the oops is caused by the driver itself.
> > This bug seems to be restricted to the /sys/module hierarchy; it
> > doesn't happen with /sys/class etc.
> > 
> > I suspect it's an extra put or a missing get somewhere, but the fix
> > isn't obvious to me after looking at it for a little while, so I'm
> > punting.
> > 
> > I'm pretty sure this happens with 2.6.15; I can double-check if
> > needed.
> 
> Ugh, we aren't setting the owner of these fields properly, good catch.
> 
> Does the patch below (built tested only), solve this for you?

Thanks, but no, I get the same oops.  The refcnt attribute isn't part
of the modinfo_attrs array.


>  kernel/module.c |    4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> --- gregkh-2.6.orig/kernel/module.c	2006-01-17 08:27:49.000000000 -0800
> +++ gregkh-2.6/kernel/module.c	2006-02-11 14:44:19.000000000 -0800
> @@ -1085,8 +1085,10 @@
>  
>  	for (i = 0; (attr = modinfo_attrs[i]) && !error; i++) {
>  		if (!attr->test ||
> -		    (attr->test && attr->test(mod)))
> +		    (attr->test && attr->test(mod))) {
> +			attr->attr.owner = mod;
>  			error = sysfs_create_file(&mod->mkobj.kobj,&attr->attr);
> +		}
>  	}
>  	return error;
>  }
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux