]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
kclient: check for ENAMETOOLONG in lookup
authorSage Weil <sage@newdream.net>
Mon, 7 Apr 2008 18:31:23 +0000 (11:31 -0700)
committerSage Weil <sage@newdream.net>
Mon, 7 Apr 2008 18:31:23 +0000 (11:31 -0700)
src/kernel/dir.c

index 69e4380de147bdb00429f0bf771b4ab1216a7830..5cac51d7f4ae6de1df972766bdf0ae0a4ffc5eed 100644 (file)
@@ -209,6 +209,9 @@ int ceph_do_lookup(struct super_block *sb, struct dentry *dentry, int mask)
        struct ceph_mds_request_head *rhead;
        int err;
 
+       if (dentry->d_name.len > NAME_MAX)
+               return -ENAMETOOLONG;
+
        dout(10, "do_lookup %p mask %d\n", dentry, CEPH_STAT_MASK_INODE_ALL);
        path = ceph_build_dentry_path(dentry, &pathlen);
        if (IS_ERR(path))