Eric W. Biederman wrote: >> /* Find the first parent which has valid dentry. >> */ >> dentry = NULL; >> cur = sd; >> while (!(dentry = __sysfs_get_dentry(sb, cur))) { >> if (cur->s_flags & SYSFS_FLAG_REMOVED) { >> dentry = ERR_PTR(-ENOENT); >> break; >> } >> cur = cur->s_parent; >> } > > Here we depend on the fact that sysfs_root is pointed to > by sb->s_root so we know it will always have a dentry. Hmmm... dentry could be ERR_PTR(-ENOENT) here if the REMOVED flag test succeeded, right? >> /* from the found dentry, look up depth times */ >> while (dentry->d_fsdata != sd) { And then dereferenced. The REMOVED test should never succeed there, so we're probably in the clear but still the code looks a bit scary. -- tejun - 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/
- Follow-Ups:
- Re: [PATCH 20/25] sysfs: Rename Support multiple superblocks
- From: [email protected] (Eric W. Biederman)
- Re: [PATCH 20/25] sysfs: Rename Support multiple superblocks
- References:
- [PATCH 11/25] sysfs: Remove s_dentry
- From: [email protected] (Eric W. Biederman)
- [PATCH 12/25] sysfs: Introduce sysfs_rename_mutex
- From: [email protected] (Eric W. Biederman)
- [PATCH 13/25] sysfs: Simply sysfs_get_dentry
- From: [email protected] (Eric W. Biederman)
- [PATCH 14/25] sysfs: Don't use lookup_one_len_kern
- From: [email protected] (Eric W. Biederman)
- [PATCH 15/25] vfs: Remove lookup_one_len_kern
- From: [email protected] (Eric W. Biederman)
- [PATCH 16/25] sysfs: Support for preventing unmounts.
- From: [email protected] (Eric W. Biederman)
- [PATCH 17/25] sysfs: Rewrite rename in terms of sysfs dirents
- From: [email protected] (Eric W. Biederman)
- [PATCH 18/25] sysfs: Rewrite sysfs_move_dir in terms of sysfs dirents
- From: [email protected] (Eric W. Biederman)
- [PATCH 19/25] sysfs: sysfs_get_dentry add a sb parameter
- From: [email protected] (Eric W. Biederman)
- [PATCH 20/25] sysfs: Rename Support multiple superblocks
- From: [email protected] (Eric W. Biederman)
- Re: [PATCH 20/25] sysfs: Rename Support multiple superblocks
- From: Tejun Heo <[email protected]>
- Re: [PATCH 20/25] sysfs: Rename Support multiple superblocks
- From: [email protected] (Eric W. Biederman)
- Re: [PATCH 20/25] sysfs: Rename Support multiple superblocks
- From: Tejun Heo <[email protected]>
- Re: [PATCH 20/25] sysfs: Rename Support multiple superblocks
- From: [email protected] (Eric W. Biederman)
- [PATCH 11/25] sysfs: Remove s_dentry
- Prev by Date: Re: LogFS take five
- Next by Date: Re: [PATCH 0/25] Sysfs cleanups & tagged directory support
- Previous by thread: Re: [PATCH 20/25] sysfs: Rename Support multiple superblocks
- Next by thread: Re: [PATCH 20/25] sysfs: Rename Support multiple superblocks
- Index(es):