On Tue, 6 Nov 2007, Thomas Maier wrote:
Hello,
have not tested it yet, but i quess, the code mentioned by Peter
is in pkt_new_dev() that is called by pkt_setup_dev():
/* This is safe, since we have a reference from open(). */
__module_get(THIS_MODULE);
So, now, there must be checks in every sysfs operation in the module code,
to ensure that the module is still loaded?
I haven't tested it either yet. What I don't understand is this: If the
__module_get() is not safe because the module code could have already been
unloaded, how can it possibly be made safe by adding more code to the
pktcdvd module? If the module is unloaded, trying to execute its code
can't be a good thing no matter what the code does.
BTW: the bug report says:
Steps to reproduce:
modprobe pktcdvd
echo 22:0 >/sys/class/pktcdvd/add
Is there any module unload??? Why is the module not available after the
modprobe, but the sysfs entries, generated by the module? Confused ;)
I think the purpose of the BUG_ON in __module_get() is to catch cases that
are unsafe, even if the call would have happened to work in this
particular case.
--
Peter Osterlund - [email protected]
http://web.telia.com/~u89404340
-
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]