lkml.org 
[lkml]   [2006]   [Dec]   [17]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateSun, 17 Dec 2006 02:43:35 -0500
FromChuck Ebbert <>
SubjectRe: 2.6.18.5 usb/sysfs bug.
In-Reply-To: <20061216141828.GA23368@redhat.com>

On Sat, 16 Dec 2006 09:18:28 -0500, Dave Jones wrote:

>  > That's strange.  Remove_files called sysfs_hash_and_remove()
>  > with dir==0xfffffff3 (-13 decimal.)
> 
> Hmm, That's -EACCESS.  Something not checking a return code at a lower
> level maybe ?

In fs/sysfs/group.c:

void sysfs_remove_group(struct kobject * kobj,
                        const struct attribute_group * grp)
{
        struct dentry * dir;
        if (grp->name)
                dir = lookup_one_len(grp->name, kobj->dentry,
                                strlen(grp->name));
        else
                dir = dget(kobj->dentry);
        remove_files(dir,grp);
        if (grp->name)
                sysfs_remove_subdir(dir);
        /* release the ref. taken in this routine */
        dput(dir);
}
'dir' is being used without checking whether lookup_one_len()
succeeded.

> It's odd that something disconnects during boot, as nothing gets plugged.

Sometimes notebooks have USB devices built-in and they get treated
as if they were hotplugged.

-- 
MBTI: IXTP

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-12-17 08:51    [from the cache]
©2003-2008