diff options
Diffstat (limited to 'fs/namespace.c')
-rw-r--r-- | fs/namespace.c | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/fs/namespace.c b/fs/namespace.c index fe376805cf5f..4fc302c2a0e0 100644 --- a/fs/namespace.c +++ b/fs/namespace.c | |||
@@ -1176,17 +1176,6 @@ static int mount_is_safe(struct nameidata *nd) | |||
1176 | #endif | 1176 | #endif |
1177 | } | 1177 | } |
1178 | 1178 | ||
1179 | static int lives_below_in_same_fs(struct dentry *d, struct dentry *dentry) | ||
1180 | { | ||
1181 | while (1) { | ||
1182 | if (d == dentry) | ||
1183 | return 1; | ||
1184 | if (d == NULL || d == d->d_parent) | ||
1185 | return 0; | ||
1186 | d = d->d_parent; | ||
1187 | } | ||
1188 | } | ||
1189 | |||
1190 | struct vfsmount *copy_tree(struct vfsmount *mnt, struct dentry *dentry, | 1179 | struct vfsmount *copy_tree(struct vfsmount *mnt, struct dentry *dentry, |
1191 | int flag) | 1180 | int flag) |
1192 | { | 1181 | { |
@@ -1203,7 +1192,7 @@ struct vfsmount *copy_tree(struct vfsmount *mnt, struct dentry *dentry, | |||
1203 | 1192 | ||
1204 | p = mnt; | 1193 | p = mnt; |
1205 | list_for_each_entry(r, &mnt->mnt_mounts, mnt_child) { | 1194 | list_for_each_entry(r, &mnt->mnt_mounts, mnt_child) { |
1206 | if (!lives_below_in_same_fs(r->mnt_mountpoint, dentry)) | 1195 | if (!is_subdir(r->mnt_mountpoint, dentry)) |
1207 | continue; | 1196 | continue; |
1208 | 1197 | ||
1209 | for (s = r; s; s = next_mnt(s, r)) { | 1198 | for (s = r; s; s = next_mnt(s, r)) { |
@@ -2340,10 +2329,10 @@ void __init mnt_init(void) | |||
2340 | err = sysfs_init(); | 2329 | err = sysfs_init(); |
2341 | if (err) | 2330 | if (err) |
2342 | printk(KERN_WARNING "%s: sysfs_init error: %d\n", | 2331 | printk(KERN_WARNING "%s: sysfs_init error: %d\n", |
2343 | __FUNCTION__, err); | 2332 | __func__, err); |
2344 | fs_kobj = kobject_create_and_add("fs", NULL); | 2333 | fs_kobj = kobject_create_and_add("fs", NULL); |
2345 | if (!fs_kobj) | 2334 | if (!fs_kobj) |
2346 | printk(KERN_WARNING "%s: kobj create error\n", __FUNCTION__); | 2335 | printk(KERN_WARNING "%s: kobj create error\n", __func__); |
2347 | init_rootfs(); | 2336 | init_rootfs(); |
2348 | init_mount_tree(); | 2337 | init_mount_tree(); |
2349 | } | 2338 | } |