Bug#394697: oops in sysfs file open on boot, root mount impossible
Hi,
So far I have tracked the oops to the check_perm() function in
fs/sysfs/file.c. The oops occurs in try_module_get(), when called from
check_perm() in the following snippet.
/* Grab the module reference for this attribute if we have one */
if (!try_module_get(attr->owner)) {
error = -ENODEV;
goto Done;
}
On failing call attr->owner is set to 0x30300000 (obviously a bogus
address). Previous calls to try_module_get() from here are all done
with attr->owner = 0. The complete debugging output just before the
oops looks like that:
on entry inode=f79b018c file=f32d8c20
file->f_dentry=f79e33a0
filename=uevent
file->f_dentry->d_parent=f32941b0
file->f_dentry->d_fsdata=f3245a30
attr=f32b10c0
attr->name=f01ad5c0
attr->name=uevent
attr->owner=30300000
Best regards,
--
Jurij Smakov jurij@wooyd.org
Key: http://www.wooyd.org/pgpkey/ KeyID: C99E03CC
Reply to: