The patch fails to check if new_inode is not null. The if line of the
patch should read:
if (new_inode && (IS_APPEND(new_inode) || IS_IMMUTABLE(new_inode)))
goto end_rename;
So the patch should be:
-------- cut --------
diff -u --recursive linux-orig/fs/ext2/namei.c linux/fs/ext2/namei.c
--- linux-orig/fs/ext2/namei.c Sat Nov 30 05:21:20 1996
+++ linux/fs/ext2/namei.c Tue Jun 10 11:57:52 1997
@@ -1019,6 +1019,8 @@
current->fsuid != new_inode->i_uid &&
current->fsuid != new_dir->i_uid && !fsuser())
goto end_rename;
+ if (new_inode && (IS_APPEND(new_inode) || IS_IMMUTABLE(new_inode)))
+ goto end_rename;
if (S_ISDIR(old_inode->i_mode)) {
retval = -ENOTDIR;
if (new_inode && !S_ISDIR(new_inode->i_mode))
-------- cut --------
Strange that I myself haven't seen this yet, since I've been using it for
over a month now. Please let me know if this doesn't fix it.
- Steve
.------------------------------------------------. # * # # # # # #
| Steve Baker | Barely Working | # ## # # # # #
| ice@mama.indstate.edu | System Administrator | # # # # # # # #
| Red-Hat Rulz! | Will work for hardware | # # # ## # # # #
`-- SYS-ADMIN FOR HIRE, HAVE UNIX, WILL TRAVEL --' #### # # # ## # #