[stable request 3.0 3.4] vfs: d_obtain_alias() needs to use "/" as default name.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi.

Please backport upstream commit
b911a6bdeef5848c468597d040e3407e0aee04ce to 3.0 and 3.4. This patch
has already been backported to 3.2, 3.5, and 3.7.

The upstream patch will not build with 3.4 and 3.0 because it needs
QSTR_INIT. Please use or backport similarly as commit
150086ca6bd7493e7753f923a3f55e73701253b3 from linux-3.2.y, which was
the upstream commit backported by Ben Hutchings.

commit b911a6bdeef5848c468597d040e3407e0aee04ce
Author: NeilBrown <neilb@xxxxxxx>
Date:   Thu Nov 8 16:09:37 2012 -0800

    vfs: d_obtain_alias() needs to use "/" as default name.

    NFS appears to use d_obtain_alias() to create the root dentry rather than
    d_make_root.  This can cause 'prepend_path()' to complain that the root
    has a weird name if an NFS filesystem is lazily unmounted.  e.g.  if
    "/mnt" is an NFS mount then

     { cd /mnt; umount -l /mnt ; ls -l /proc/self/cwd; }

    will cause a WARN message like
       WARNING: at /home/git/linux/fs/dcache.c:2624 prepend_path+0x1d7/0x1e0()
       ...
       Root dentry has weird name <>

    to appear in kernel logs.

    So change d_obtain_alias() to use "/" rather than "" as the anonymous
    name.

    Signed-off-by: NeilBrown <neilb@xxxxxxx>
    Cc: Trond Myklebust <Trond.Myklebust@xxxxxxxxxx>
    Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
    Cc: <stable@xxxxxxxxxxxxxxx>
    Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
    Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>

Cheers,
Vinson
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]