> @@ -1097,6 +1174,22 @@ static int ocfs2_rename(struct inode *ol
>                       goto bail;
>               }
>               rename_lock = 1;
> +
> +             /* here we cannot guarantee the inodes haven't just been
> +              * changed, so check if they are nested again */
> +             status = ocfs2_check_if_ancestor(osb, new_dir->i_ino,
> +                             old_inode->i_ino);
> +             if (status < 0) {
> +                     mlog_errno(status);
> +                     goto bail;
> +             } else if (status == 1) {
> +                     status = -EPERM;
> +                     mlog(ML_ERROR, "src inode %llu should not be ancestor "
> +                             "of new dir inode %llu\n",
> +                             (unsigned long long)old_inode->i_ino,
> +                             (unsigned long long)new_dir->i_ino);

Is it possible for the user to trigger this mlog(ML_ERROR, "....") print at
will? If so we need to make it a debug print otherwise we risk blowing up
systemlog when someone abuses rename().
        --Mark

--
Mark Fasheh

_______________________________________________
Ocfs2-devel mailing list
[email protected]
https://oss.oracle.com/mailman/listinfo/ocfs2-devel

Reply via email to