lkml.org 
[lkml]   [2008]   [Nov]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [TOMOYO #12 (2.6.28-rc2-mm1) 04/11] Introduce d_realpath().
    Andrew Morton wrote:
    > On Tue, 04 Nov 2008 15:08:51 +0900
    > Kentaro Takeda <takedakn@nttdata.co.jp> wrote:
    >
    >> + /*
    >> + * Exception: Use /proc/self/ rather than /proc/\$/
    >> + * for current process.
    >> + */
    >> + name = dentry->d_name.name;
    >> + name_len = dentry->d_name.len;
    >> + if (IS_ROOT(parent) &&
    >> + parent->d_sb->s_magic == PROC_SUPER_MAGIC &&
    >> + !strict_strtoul(name, 10, &pid)) {
    >
    > Well that looks like rather a hack.
    >
    > It would still be a hack, but a better implementation might be to save
    > the procfs superblock's address in a global then do
    >
    >
    > #ifdef CONFIG_PROCFS
    > static inline bool is_procfs_sb(struct super_block *sb)
    > {
    > return sb == saved_procfs_sb;
    > }
    > #else
    > static inline bool is_procfs_sb(struct super_block *sb)
    > {
    > return false;
    > }
    > #endif
    It seems to me that the procfs superblock's address is not a single value
    because proc_get_sb() in fs/proc/root.c could be called for multiple times.
    Thus, I'd like to continue using "parent->d_sb->s_magic == PROC_SUPER_MAGIC"
    rather than "is_procfs_sb(parent->d_sb)".

    I think I've replied to most of your comments.
    Is there anything we can do before reposting TOMOYO #13 ?

    Regards,




    \
     
     \ /
      Last update: 2008-11-17 07:55    [W:0.026 / U:0.428 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site